2010-06-21 88 views
1

我想有一些這樣的XML:計數節點

<section name="SampleSection"> 
     <item name="ScoredItem1"> 
      <attributes> 
       <scored data_type="boolean" value="true"/> 
      </attributes> 
     </item> 
     <item name="UnscoredItem1"> 
      <attributes> 
       <scored data_type="boolean" value="false"/> 
      </attributes> 
     </item> 
     <item key="(3272fbb5:22)" name="ScoredItem2"> 
      <attributes> 
       <scored data_type="boolean" value="true"/> 
      </attributes> 
     </item> 
    </section> 

現在,我知道,使用XSLT,我可以指望有一個scoredattribute像這樣的項目:

<xsl:variable name="scoredItems" select="item/attributes/scored"/> 
<xsl:value-of select="count($scoredItems)"/> 

當然,這會給我3的值。

假設我只想計算那些scoredtrue的項目。我該如何使用XSLT做到這一點? (這應該在這個例子中返回的值2

回答

7

像這樣做:

<xsl:variable name="scoredItems" 
       select= 
        "item/attributes/scored[@value='true']"/>