2

我需要能够计算兄弟元素有多少子节点。我需要根据下一个锚标记是否有任何子节点,将锚标记上的 CSS 类更改为“no_border”。

我到目前为止是这样的:

<xsl:for-each select="Menu/Item">
  <li>
    <a>
      <xsl:attribute name="class">
        <xsl:if test="following-sibling::Item/count(Menu/Item)">
          no_border
        </xsl:if>
      </xsl:attribute>
      <xsl:value-of select="ItemTitle />
    </a>
   </li>
</xsl:for-each>

Visual Studio 告诉我:

错误 1 ​​预期的表达式结尾,发现 '('。following-sibling::Item/count -->(<-- Menu/Item) C:\Projects** \XmlFiles\xslt\SiteMap.xslt 78 74 C: \项目* *\

所以看起来我不能把“count()”命令放在“following-sibling”之后。

这是 XML 的示例:

<root>
  <Item>
    <Menu>
      <Item>
      ... other sub-nodes
      </Item>
    </Menu>
  </Item>
  <Item>
    <Menu>
      <Item>
      ... other sub-nodes
      </Item>
    </Menu>
  </Item>
</root>

编辑:我找到了解决方案:

<xsl:if test="count(following-sibling::Item/Menu/Item) = 0" >
4

0 回答 0