如何将string连接到xsl:value-of select =“…?

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

有什么办法可以捕获另一个string

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

除了报表属性值之外,我还需要将一些文本传递给href属性

您可以在这里使用名为concat的相当明智的名为xpath的函数

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

当然,这里不一定要是文本,它可以是另一个xpathexpression式来select一个元素或属性。 在concatexpression式中可以有任意数量的参数。

请注意,您可以使用属性值模板(由花括号表示)来简化expression式

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

三个答案:

简单:

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

使用'concat':

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

由@TimCbuild议的属性快捷方式

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

用途

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

将静态文本string连接到选定值的最简单方法是使用 元件。

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

连接多个string并添加新string

 <xsl:value-of select="concat(//PersonalDetails/@Title,' ',//PersonalDetails/@Surname,',')"/> 

最简单的方法是

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

当XML结构是

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