【发布时间】:2016-06-25 01:47:58
【问题描述】:
给定 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="-" />
使用分隔符属性选择多个值的语法是什么?
【问题讨论】:
-
您确定您使用的是 XSLT 2.0 处理器,例如 Saxon 9、XmlPrime 或 AltovaXML?
xsl:value-of的separator属性和序列运算符,是 XSLT/XPath 2.0 的一部分,不受 XSLT 1.0 处理器的支持。 -
我用的是Antenna House,可能是1.0,谢谢。
-
如果您有一个可以工作的版本,为什么还要浪费时间询问一个不工作的替代方案?
-
我想知道如何在不使用 concat 的情况下一次选择多个属性。我很抱歉浪费了任何人的时间,我不认为这是浪费我的时间,因为我学到了一些东西。
标签: xslt concatenation separator value-of