我正在解析一个文档,其行为不同,具体取决于 id 属性是否是值集合的元素(下面代码中的 $item-ids )。我的问题是,为什么我需要分配一个变量,然后与该值进行比较,如下所示:
<xsl:template match="word/item">
<xsl:variable name="id" select="@abg:id"/>
<xsl:if test="$item-ids[.=$id]">
<xsl:message>It matches!</xsl:message>
</xsl:if>
</xsl:template>
似乎我应该能够这样做,尽管它不起作用:
<xsl:template match="word/item">
<xsl:if test="$item-ids[.=@abg:id]">
<xsl:message>It matches!</xsl:message>
</xsl:if>
</xsl:template>
这是我一直忘记并不得不重新学习的东西。任何人都可以解释为什么它会这样工作吗?谢谢。