xsl:count在xsl:value-of select中不正确计数

时间:2019-01-02 17:40:49

标签: xml xslt

我正在尝试在此xml文件中计算絮凝物种类数:

<?xml version="1.0" encoding="ISO-8859-1"?>
<nuages>
   <nuage>
      <nom>altocumulus 
        <espece>lenticularis</espece>
        <espece>stratiformis</espece>
        <espece>castellanus</espece>
        <espece>flocus</espece>
      </nom>
      <altitude max="6000" min="2000" />
      <hydrometeores>Aucun.</hydrometeores>
   </nuage>
</nuages>

我已经尝试过了:

<xsl:value-of select="count(/nuages/nuage[espece='flocus'])" />

但它总是返回0

2 个答案:

答案 0 :(得分:0)

我怀疑你想要

<xsl:value-of select="count(/nuages/nuage/nom/espece[.='flocus'])" />

但是我不确定(由于法语和英语的限制)。

答案 1 :(得分:0)

假设您的XML代码正确无误:

如果将XPath表达式更改为@Tomolak 1建议的表达式,结果将得到count(/nuages/nuage/nom[espece='flocus']/espece)

但是更可能的方法是您要计算与taxonomy处于同一级别的物种。
在这种情况下,请使用

4

结果为{{1}}。