[英]xslt 1.0 node-set error with Invalid conversion
我在 1.0 版本中遇到了 xslt 的问题。 我的节点看起来像这样
...
<Garage>
<car>
<color>red</color>
<color>yellow</color>
<wheel>left</wheel>
<car/>
</Garage>
...
然后我将子节点保存到变量中
<xsl:variable name="entries">
<xsl:if test="$element/Garage/car">
<xsl:value-of select="$element/Garage/car"/>
</xsl:if>
</xsl:variable>
当我在模板中使用这个变量时
<xsl:template name="entriesToString">
<xsl:param name="table"/>
<xsl:for-each select="$table/color">
<xsl:if test="position() = last()">
<xsl:value-of select="concat(current(),'/')"/>
</xsl:if>
<xsl:value-of select="concat(current(),',')"/>
</xsl:for-each>
</xsl:template>
我收到这样的错误
ERROR: 'Invalid conversion from 'com.sun.org.apache.xalan.internal.xsltc.dom.SimpleResultTreeImpl' to 'node-set'.'
xslt中的节点迭代有问题吗?
使用<xsl:variable name="entries" select="$element/Garage/car"/>
可能就足够了,这样您就可以在 XPath/XSLT 1 中拥有一个节点集,而无需使用扩展 function。 如果路径$element/Garage/car
没有 select 任何内容,则节点集为空,它包含来自$element
的car
元素节点(如果存在),即路径$element/Garage/car
选择了一些东西。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.