這裏的總數是我的xml:XSL 2.0:計數唯一值
<?xml version='1.0' encoding='UTF-8'?>
<wd:Report_Data xmlns:wd="urn:com.workday.report/CR-INT034-ADP-Garnishment_Disbursements_File-Outbound2">
<wd:Report_Entry>
<wd:field>1111</wd:field>
</wd:Report_Entry>
<wd:Report_Entry>
<wd:field>2222</wd:field>
</wd:Report_Entry>
<wd:Report_Entry>
<wd:field>3333</wd:field>
</wd:Report_Entry>
<wd:Report_Entry>
<wd:field>2222</wd:field>
</wd:Report_Entry>
<wd:Report_Entry>
<wd:field>3333</wd:field>
</wd:Report_Entry>
<wd:Report_Entry>
<wd:field>1111</wd:field>
</wd:Report_Entry>
</wd:Report_Data>
這裏是我使用XSLT:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:wd="urn:com.workday.report/CR-INT034-ADP-Garnishment_Disbursements_File-Outbound2" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="2.0">
<xsl:strip-space elements="*"/>
<xsl:output indent="no" method="text" />
<xsl:key name="entry" match="wd:Report_Entry" use="wd:field" />
<xsl:template match="wd:Report_Data">
<xsl:value-of select="count(wd:Report_Entry | wd:field[ generate-id() = generate-id(key('entry', wd:field))])"/>
</xsl:template>
</xsl:stylesheet>
我想算唯一值。所以在上面的例子中,答案應該是3,我越來越6.我調整了最初給出的答案,使其在1.0中工作,但我不能使用1.0我必須使用2.0 2.0。有沒有什麼辦法讓這個工作在2.0或者我只是運氣不好?
任何幫助將大大感激!
感謝,
薩拉
對於目前的樣式表,你應該使用'數(WD:Report_Entry [生成-ID()=生成-ID(鍵( '進入' ,wd:field)[1])])'。你的樣式表當前正在計算'wd:Report_Entry'元素的數量(6),'generate-id()'的wd:field'元素等於從這個節點中選擇的節點的'generate-id鍵使用'wd:field'的子元素'wd:field'(它不存在,所以它沒有從密鑰中選擇任何東西),導致計數爲6. – 2013-05-07 23:57:02