ここに私のxmlがあります:
<?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 で動作させる方法はありますか?
どんな助けでも大歓迎です!
ありがとう、
サラ