1

我试图编写一个 xslt 模板匹配,它将选择所有不是 item="toy" 的产品。下面是我的代码,但它不起作用我能知道可能是什么错误吗?

  <color>
     <xsl:apply-templates select="//product/@item[not(.='toy')]">
  </color>
4

2 回答 2

1

尝试使用单引号:

<xsl:apply-templates select="//product/@xsi:item[not(.='toy')]">
于 2012-10-24T08:41:07.013 回答
1

您的 XML 和 XSLT 存在许多问题,尽管有些问题可能是您创建问题时的拼写错误。您的 XML 缺少xsi的命名空间声明,并且您的应用模板使用双引号而不是单引号。它也是未封闭的。

但是,真正的问题是您说您观看以选择产品节点,但您的应用模板实际上是在尝试选择实际的项目属性。

试试这个

<xsl:apply-templates select="//product[not(@xsi:item='toy')]" />

或者也许这个

<xsl:apply-templates select="//product[@xsi:item!='toy']" />
于 2012-10-24T09:07:21.583 回答