it-swarm.com.de

Wie kann man einen String mit xsl verbinden: value-of select = "...?

<a>
    <xsl:attribute name="href"> 
     <xsl:value-of select="/*/properties/property[@name='report']/@value" />
    </xsl:attribute>
</a>    

Gibt es eine Möglichkeit, eine andere Zeichenfolge zu cancat

<xsl:value-of select="/*/properties/property[@name='report']/@value"  />

Ich muss zusätzlich zum Berichtseigenschaftswert Text an das Attribut href übergeben

87
Hanumanth

Sie können hier die ziemlich vernünftig benannte xpath-Funktion concat verwenden

<a>
   <xsl:attribute name="href">
      <xsl:value-of select="concat('myText:', /*/properties/property[@name='report']/@value)" />
   </xsl:attribute>
</a>  

Natürlich muss es hier kein Text sein, es kann sich auch um einen anderen xpath-Ausdruck handeln, um ein Element oder Attribut auszuwählen. Der concat-Ausdruck kann eine beliebige Anzahl von Argumenten enthalten.

Beachten Sie, dass Sie hier Attribute Value Templates (dargestellt durch geschweifte Klammern) verwenden können, um Ihren Ausdruck zu vereinfachen

<a href="{concat('myText:', /*/properties/property[@name='report']/@value)}"></a>
137
Tim C

Drei Antworten:

Einfach:

<img>
    <xsl:attribute name="src">
        <xsl:value-of select="//your/xquery/path"/>
        <xsl:value-of select="'vmLogo.gif'"/>
    </xsl:attribute>
</img>

Verwendung von 'concat':

<img>
    <xsl:attribute name="src">
        <xsl:value-of select="concat(//your/xquery/path,'vmLogo.gif')"/>                    
    </xsl:attribute>
</img>

Attributverknüpfung wie von @TimC vorgeschlagen

<img src="{concat(//your/xquery/path,'vmLogo.gif')}" />
26
Nnoel

Verwenden:

<a href="wantedText{/*/properties/property[@name='report']/@value)}"></a>
16

Die einfachste Möglichkeit, eine statische Textzeichenfolge mit einem ausgewählten Wert zu verknüpfen, ist die Verwendung von element.

<a>
  <xsl:attribute name="href"> 
    <xsl:value-of select="/*/properties/property[@name='report']/@value" />
    <xsl:text>staticIconExample.png</xsl:text>
  </xsl:attribute>
</a>
5
DaviideSnow

Die einfachste Methode ist

  <TD>
    <xsl:value-of select="concat(//author/first-name,' ',//author/last-name)"/>
  </TD>

wenn die XML-Struktur ist

<title>The Confidence Man</title>
<author>
  <first-name>Herman</first-name>
  <last-name>Melville</last-name>
</author>
<price>11.99</price>
1
Marshall

Nicht die am besten lesbare Lösung, aber Sie können das Ergebnis aus einem Wert von mit einfachem Text mischen:

<a>
  <xsl:attribute name="href"> 
    Text<xsl:value-of select="/*/properties/property[@name='report']/@value"/>Text
  </xsl:attribute>
</a>
0
Khin