我有一个包含员工的XML文件。每个员工都可以拥有1- 10个认证编号。我需要输出员工编号和10个认证空间,而不管他们有多少认证。输出文件是一个以竖线分隔的文件,所以如果一个员工有两个认证,那么输出应该是:
12231|cert-123|cert-1234|
这是我最初的XSLT的一部分,只提供他们拥有的认证:
<xsl:template match="ws:Worker_Sync">
<File xtt:separator="
">
<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>发布于 2021-02-19 03:12:44
您可以使用<xsl:value-of select="for $pos in (1 to 10) return string(ws:Certification_ID[$pos])" separator="|"/>输出一个由10个证书ids组成的以双行分隔的列表。
https://stackoverflow.com/questions/66266138
复制相似问题