我試圖寫一個xslt模板匹配,它會選擇所有不是item =「toy」的產品。下面是我的代碼,但它不工作,我可以知道什麼可能是錯誤?xml過濾屬性
<color>
<xsl:apply-templates select="//product/@item[not(.='toy')]">
</color>
我試圖寫一個xslt模板匹配,它會選擇所有不是item =「toy」的產品。下面是我的代碼,但它不工作,我可以知道什麼可能是錯誤?xml過濾屬性
<color>
<xsl:apply-templates select="//product/@item[not(.='toy')]">
</color>
有許多與你的XML和XSLT的問題,雖然有些人可能是拼寫錯誤,當你創建你的問題。您的XML缺少xsi的名稱空間聲明,並且您的應用程序模板使用雙引號而不是單引號。它也沒有關閉。
然而,真正的問題是,你說你看選擇產品節點,但您的應用模板實際上是試圖選擇實際項目屬性。
試試這個
<xsl:apply-templates select="//product[not(@xsi:item='toy')]" />
或者,也許這
<xsl:apply-templates select="//product[@xsi:item!='toy']" />
已經在你的方式上測試過了,
好吧,我發現這個問題,我忘了聲明我的新模板match.thanks的前綴! – pinkele123
試着用單引號:
<xsl:apply-templates select="//product/@xsi:item[not(.='toy')]">
也許這是一個命名空間的問題? –