2011-01-05 46 views
1

我有一個SharePoint列表我轉換爲XSLT做一些額外的分組和計數和百分比。我需要我的節點集內返回的項目數=真,我有:Sharepoint設計器XSLT計數布爾節點= true

<xsl:value-of select="count($nodeset/@PartnerArrivedAtCall)"/>  

(返回所有節點的計數)

我已經試過

<xsl:value-of select="count($nodeset/@PartnerArrivedAtCall 
             [@PartnerArrivedAtCall = 'Yes'])"/> 

(返回零)

<xsl:variable name="ArrivedYes" 
       select="$nodeset/@PartnerArrivedAtCall 
            [@PartnerArrivedAtCall='Yes']"/> 

(也返回零)

能否請您給我的怎麼算只有真值一個很好的例子(在我的XML,真正=「是」)

謝謝!

+0

問得好,+1。查看我的答案以獲得解釋和簡單的解決方案。 :) – 2011-01-05 18:57:29

回答

0

嘗試

count($nodeset[@PartnerArrivedAtCall = 'Yes']) 
0

我已經試過的xsl:value-of的 select =「count($ nodeset/@ PartnerArrivedAtCall [@PartnerArrivedAtCall ='Yes')」(返回零)

是的,這是正確的:一個屬性本身不能有屬性 - 在上面要計數的PartnerArrivedAtCall屬性的屬性具有特定的值。

。 。

和xsl:變量名= 「ArrivedYes」 選擇= 「$節點集/ @ PartnerArrivedAtCall [@ PartnerArrivedAtCall = '是']」

(也返回零)

這與前面的指令有完全相同的問題。

解決方案

用途:

$nodeset/@PartnerArrivedAtCall[. ='Yes'] 
+0

這樣所有匹配attrs將被計數。儘管由於良好的形式限制而沒有區別。只是有趣的風格,吸引了我的眼球。 – Flack 2011-01-05 20:34:45

+0

@Flack:從問題中不清楚他究竟要計算什麼 - 似乎他想要計算屬性...... – 2011-01-05 20:37:50

+0

@Flack和@Dimitre:事實上,對於這種情況,計數對於' $節點集/ @ PartnerArrivedAtCall [。='是']'和'$ nodeset [@ PartnerArrivedAtCall ='是']' – 2011-01-05 23:21:51