Sharepoint Designer XSLT count boolean node = true

时间:2011-01-05 16:25:14

标签: xslt xpath

我有一个SharePoint列表,我转换为XSLT以进行一些额外的分组和计数以及百分比。我需要在我的节点集中返回items = 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中,true =“是”)

谢谢!

3 个答案:

答案 0 :(得分:0)

尝试

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

答案 1 :(得分:0)

为什么不使用开箱即用的ddwrt命名空间函数来返回列表属性:itemCount

http://msdn.microsoft.com/en-us/library/dd583143(v=office.11).aspx#officesharepointddwrt_listproperty

答案 2 :(得分:0)

  

我尝试过xsl:value-of   选择=“计数($节点集/ @ PartnerArrivedAtCall [@PartnerArrivedAtCall   ='是')“(返回零)

是的,这是正确的:属性本身不能包含属性 - 在上面您要计算PartnerArrivedAtCall属性具有特定值的PartnerArrivedAtCall属性。

  

和xsl:variable name =“ArrivedYes”   选择=   “$节点集/ @ PartnerArrivedAtCall [@ PartnerArrivedAtCall = '是']”

     

(也返回零)

这与前一条指令完全相同。

<强>解决方案

使用:

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