0

给定 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,找到了','):

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

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

4

1 回答 1

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>
于 2016-06-25T09:03:43.103 回答