最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

xml - How do I group based on an element in XSLT? - Stack Overflow

programmeradmin2浏览0评论

I'm trying to group data based on a given element. In this case i'm trying to group all Elements under a particular Bank Name using XSLT. To streamline output for a downstream process.

I'm using the following XSLT Currently. But I can't seem to capture the elements under each distinct Bank.

<xsl:stylesheet xmlns:xsl="; version="2.0">
    <xsl:output omit-xml-declaration="yes" indent="yes" method="xml"/>
    <xsl:key name="Bank-Elements" match="CLIENT" use="NAME"/>
    <xsl:template match="/">
        <GORTT_INT007_IFMIS>
            <xsl:element name="TEST">

                <xsl:for-each select=".//WorkRelationshipData/PersonDetails">
                <xsl:sort select="Bank_Name"/>
                    <xsl:for-each-group select=".//PayrollRelActionsData/RelActionDetails/EmployeeAssignmentData/PersonalPaymentData_h/PersonalPaymentData/PersonalPaymentDetails" group-by="Bank_Name">
                                <xsl:variable name="Group" select="current-grouping-key()"/>
                                <!--<Section>
                                    <xsl:value-of select="Section"/>
                                </Section>-->
                                <Bank_Name>
                                    <xsl:value-of select="Bank_Name"/>
                                </Bank_Name>
                                <!--<Bank_Code>
                                    <xsl:value-of select="Bank_Code"/>
                                </Bank_Code>-->
                                <!--<VARIABLE>
                                    <xsl:value-of select="$Group"/>
                                </VARIABLE>-->
                    </xsl:for-each-group>
                    <xsl:element name="ELEMENT_REC">
                        <xsl:for-each select=".//PayrollRelActionsData/DummyDetails/PayrollRunResultsData/RunResultDetails[not(ELEMENT_NAME = 'GORTT_Assignment_info')]">
                                <ELEMENT_NAME>
                                    <xsl:value-of select="ELEMENT_NAME"/>
                                </ELEMENT_NAME>
                                <RUN_RESULT_VALUE>
                                    <xsl:value-of select="RUN_RESULT_VALUE"/>
                                </RUN_RESULT_VALUE>
                                <PRIMARY_CLASSIFICATION_NAME>
                                    <xsl:value-of select="PRIMARY_CLASSIFICATION_NAME"/>
                                </PRIMARY_CLASSIFICATION_NAME>
                        </xsl:for-each>                 
                    </xsl:element>
                </xsl:for-each> 
            </xsl:element>
        </GORTT_INT007_IFMIS>
    </xsl:template> 
</xsl:stylesheet>
                            
发布评论

评论列表(0)

  1. 暂无评论