item="toy" ではないすべての製品を選択する xslt テンプレート マッチを作成しようとしました。以下は私のコードですが、動作していません。エラーの原因を教えてください。
<color>
<xsl:apply-templates select="//product/@item[not(.='toy')]">
</color>
item="toy" ではないすべての製品を選択する xslt テンプレート マッチを作成しようとしました。以下は私のコードですが、動作していません。エラーの原因を教えてください。
<color>
<xsl:apply-templates select="//product/@item[not(.='toy')]">
</color>
XMLとXSLTには多くの問題がありますが、質問を作成したときにタイプミスがあった可能性があります。XMLにxsiの名前空間宣言がなく、 apply-templatesが一重引用符ではなく二重引用符を使用しています。また、非公開です。
ただし、実際の問題は、製品ノードを選択するために監視していると言っているのに、apply-templatesが実際に実際のアイテム属性を選択しようとしていることです。
代わりにこれを試してください
<xsl:apply-templates select="//product[not(@xsi:item='toy')]" />
または多分これ
<xsl:apply-templates select="//product[@xsi:item!='toy']" />
一重引用符で試してください:
<xsl:apply-templates select="//product/@xsi:item[not(.='toy')]">