【发布时间】:2017-03-23 09:42:33
【问题描述】:
我的问题:两个条件都必须为真,并且必须在 SAME 节点上运行 2 次检查(我通过 // 选择一堆节点)
目前我通过使用新的 //books/authors 将节点留在 for each 中,但如果我把它拿出来(例如我在代码下面的想象)它会给我一个错误。 有什么帮助吗?
<xsl:for-each select="//node">
<routes>
<xsl:variable name="origin" select="@origin"/>
<xsl:variable name="dest" select="@dest"/>
Origin: <xsl:value-of select="$origin"/>
Dest: <xsl:value-of select="$dest"/>
<xsl:for-each select="//books/authors [substring-before(../../@name, '.') = $origin] | //books/authors [substring-before(../../@name, '.') = $dest] ">
</xsl:for-each>
我怎么想的,所以它在同一个节点上运行,但它输出一个错误
<xsl:for-each select="//books/authors [substring-before(../../@name, '.') = $origin] | //books/authors [substring-before(../../@name, '.') = $dest] ">
【问题讨论】: