XSLT 2.0每个员工最多需要输出10条记录



我有一个雇员的XML文件。每个员工可以有1 - 10个认证号码。我需要输出员工编号和10个认证空间,不管他们有多少个认证。输出文件是一个管道分隔的文件,所以如果一个员工有两个证书,那么输出应该是:

12231 | cert - 123 | cert - 1234 |||||||||

这是我的原始XSLT的一部分,只提供他们拥有的认证:

<xsl:template match="ws:Worker_Sync">
<File xtt:separator="&#xd;&#xa;">
<xsl:apply-templates select="ws:Worker"> </xsl:apply-templates>
</File>
</xsl:template>
<xsl:template match="ws:Worker">
<Record>
<EEID>
<xsl:value-of select="ws:Summary/ws:Employee_ID"/>
</EEID>
<xsl:text>|</xsl:text>
<xsl:for-each select="ws:Qualifications/ws:Certification_Achievement">
<CERT_ID >
<xsl:value-of
select="ws:Certification_ID"/>
</CERT_ID>
<xsl:text>|</xsl:text>
</xsl:for-each>
</Record>
</xsl:template>

您可以使用<xsl:value-of select="for $pos in (1 to 10) return string(ws:Certification_ID[$pos])" separator="|"/>输出一个包含10个证书id的串分隔列表。

最新更新