0

我正在用 xsl(2.0 版)编写样式表我想知道如何计算具有特定名称的所有节点,尽管它们不是兄弟姐妹,例如在以下 xml但来自所有商店。我想知道是否有办法使用计数功能而不是与递归作斗争。此示例的结果应为 4

<Shops><Shop>
<Product>
    <Name>yogurt</Name>
    <type>Milk</type>
</Product>
<Product>
    <Name>cheese</Name>
    <type>Milk</type>
</Product>
<Product>
    <Name>bread</Name>
    <type>Bakery</type>
</Product> </Shop> <Shop>
<Product>
    <Name>yellow cheese</Name>
    <type>Milk</type>
</Product>
<Product>
    <Name>chocolate milk</Name>
    <type>Milk</type>
</Product>
<Product>
    <Name>bagel</Name>
    <type>Bakery</type>
</Product>
<Product>
    <Name>candy</Name>
    <type>Sweets</type>
</Product>  </Shop></Shops>
4

2 回答 2

4

这避免了缓慢的“ //”运算符。

计数(/商店/商店/产品[type = 'Milk'])
于 2009-09-02T13:58:13.890 回答
2

count(//Product[type='Milk'])

//查找文档中任意位置的所有匹配节点。

于 2009-09-02T13:11:03.837 回答