如何将xsl:value-of与separator连接起来

时间:2016-06-25 01:47:59

标签: xslt concatenation separator value-of

鉴于XML:

<issueDate day="30" month="09" year="2015"/>

我想构建一个输出的字符串:2015-09-30

这有效:

<xsl:variable name="issueDate" as="xs:string">
    <xsl:value-of select="concat(//issueDate/@year,'-',//issueDate/@month,'-',//issueDate/@day)" />
</xsl:variable>

...

<xsl:value-of select="$issueDate"/>

但这引发了一个错误(预期的EOF,发现&#39;,&#39;):

<xsl:value-of select="//issueDate/@year,//issueDate/@month,//issueDate/@day" separator="-" />

使用分隔符属性选择多个值的语法是什么?

1 个答案:

答案 0 :(得分:0)

如果您可以使用XPath-2.0 / XSLT-2.0,则可以使用string-join

<xsl:for-each select="//issueDate">
  <xsl:value-of select="string-join( (@year, @month, @day), '-')" />
  <xsl:text>&#10;</xsl:text>   <!-- just for pretty output -->
</xsl:for-each>