我正在尝试创建一个变量,它将给出我在xml中显示值1的次数:Eployee_Test:
这是我的XML:
<pd:Report_Data xmlns:wd="urn:com.playdate.report/TEST_REPORT">
<pd:Report_Entry>
<pd:Spouse_Test>0</pd:Spouse_Test>
<pd:Employee_Test>1</pd:Employee_Test>
<pd:DR-04-Last_Name>Jane</pd:DR-04-Last_Name>
<pd:DR-05-First_Name>Smith</pd:DR-05-First_Name>
</pd:Report_Entry>
<pd:Report_Entry>
<pd:Spouse_Test>0</pd:Spouse_Test>
<pd:Employee_Test>1</pd:Employee_Test>
<pd:DR-04-Last_Name>John</pd:DR-04-Last_Name>
<pd:DR-05-First_Name>Smith</pd:DR-05-First_Name>
</pd:Report_Entry>
<pd:Report_Entry>
<pd:Spouse_Test>0</pd:Spouse_Test>
<pd:Employee_Test>1</pd:Employee_Test>
<pd:DR-04-Last_Name>Jerry</pd:DR-04-Last_Name>
<pd:DR-05-First_Name>Smith</pd:DR-05-First_Name>
</pd:Report_Entry>
我试图在每次出现值= 1时返回3的计数,而不是xml for pd:Employee_Test
答案 0 :(得分:1)
如果这只是一个关闭(假设样式表中有正确的命名空间绑定)
<xsl:variable name="numberOfOnes"
select="count(/pd:Report_Data/pd:Report_Entry/pd:Employee_Test[. = '1'])" />
如果这是你要反复做的事情(比如计算1s,然后是2s等),那么定义一个键会更有效
<xsl:key name="employeeTestByValue" match="pd:Employee_Test" use="." />
然后您可以使用count(key('employeeTestByValue', '1'))
来计算给定值的出现次数。