我正在尝试将xml路径作为字符串传递给模板。
<xsl:call-template name="checkPath">
<xsl:with-param name="path" select="'parent/child1'" />
</xsl:call-template>
在模板中,我将一个子项附加到传递的字符串,以检查是否存在具有路径和给定名称的子元素。
<xsl:template name="checkPath">
<xsl:param name="path"/>
<xsl:variable name="childElement" select="child-name"/>
<xsl:if test="$path/child2[name=$childElement]">
//Do some processing.
</xsl:if>
</xsl:template>
上面的XSL给出了以下错误。
Invalid conversion from 'java.lang.String' to 'node-set'.
我正在尝试解析下面的XML。
<parent>
<child1>
<child2>
<name>name1</name>
</child2>
</child1>
</parent>
.....
<child-name>name1</child-name>
答案 0 :(得分:2)
不要将路径作为字符串传递,只需删除引号并传递路径选择的实际节点集。
<xsl:call-template name="checkPath">
<xsl:with-param name="path" select="parent/child1" />
</xsl:call-template>