首页 > 解决方案 > 如何修复 XSLT 中的 collection() 函数问题

问题描述

collection() 函数不计算所有 50 个字母,只计算完成转换的那个。

我必须使用位于同一文件夹中的任何字母的参数“Key”、“bezeichnung”和“reference”来转换 csv 文件中的许多 xml 字母。当我执行转换时,我只从实际转换的文件中获取数据,而不是从所有 50 个字母中获取数据。collection() 函数有什么问题,因为其他一切都有效

<xsl:variable name="briefe"
        select="collection('./?select=l_*.xml')"/> 
    <xsl:template match="/">
        <xsl:text>"Key","Bezeichnung","Referenz"</xsl:text>
        <xsl:text>&#x000D;</xsl:text>
        <xsl:for-each-group select="//tei:correspAction[@type='received']/tei:placeName" group-by="@key">
            <xsl:sort select="." />
            <xsl:text>"</xsl:text><xsl:value-of select="current-grouping-key()" /><xsl:text>",</xsl:text>
            <xsl:text>"</xsl:text><xsl:value-of select="distinct-values(//tei:correspAction[@type='received']/tei:placeName)" /><xsl:text>",</xsl:text>
            <xsl:text>"</xsl:text><xsl:value-of select="//tei:correspAction[@type='received']/tei:placeName/@ref" /><xsl:text>"</xsl:text>
            <xsl:text>&#x000D;</xsl:text>
        </xsl:for-each-group>
    </xsl:template>   
</xsl:stylesheet>

标签: xslt-2.0xslt-grouping

解决方案


推荐阅读