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>
これは私が忘れ続け、再学習しなければならないものです。なぜこのように機能するのか、誰か説明できますか?ありがとう。