I am trying to write XSLT1.0 to sort the child segment based on field , i am unable to sort it, Can you anyone help here?
Input and output files attached Please suggest
there will be multiple segments, we need to sorting based on field without deleting the subsegments like ,
Input sample
<?xml version="1.0" encoding="UTF-8"?>
<HEADER>
<CODI BEGIN="1">
<DC40 SEGMENT="1">
<TABNAM>DC40</TABNAM>
</DC40>
<BODY SEGMENT="1">
<BLDAT>20240503</BLDAT>
<CHILD SEGMENT="1">
<RNTAM>68850363</RNTAM>
**<KEY>900030</KEY>**
<ITEM SEGMENT="1">
<NAE11>0000000000000</NAE11>
</ITEM>
</CHILD>
<CHILD SEGMENT="1">
<RNTAM>68850363</RNTAM>
**<KEY>900020</KEY>**
<ITEM SEGMENT="1">
<NAE11>0000000001000</NAE11>
</ITEM>
</CHILD>
<CHILD SEGMENT="1">
<RNTAM>68850792</RNTAM>
**<KEY>900010</KEY>**
<ITEM SEGMENT="1">
<NAE11>0000010000000</NAE11>
</ITEM>
<ITEM SEGMENT="1">
<NAE11>0000000030000</NAE11>
</ITEM>
</CHILD>
</BODY>
</CODI>
</HEADER>
output sample
<?xml version="1.0" encoding="UTF-8"?>
<HEADER>
<CODI BEGIN="1">
<DC40 SEGMENT="1">
<TABNAM>DC40</TABNAM>
</DC40>
<BODY SEGMENT="1">
<BLDAT>20240503</BLDAT>
<CHILD SEGMENT="1">
<RNTAM>68850792</RNTAM>
**<KEY>900010</KEY>**
<ITEM SEGMENT="1">
<NAE11>0000010000000</NAE11>
</ITEM>
<ITEM SEGMENT="1">
<NAE11>0000000030000</NAE11>
</ITEM>
</CHILD>
<CHILD SEGMENT="1">
<RNTAM>68850363</RNTAM>
**<KEY>900020</KEY>**
<ITEM SEGMENT="1">
<NAE11>0000000001000</NAE11>
</ITEM>
</CHILD>
<CHILD SEGMENT="1">
<RNTAM>68850363</RNTAM>
**<KEY>900030</KEY>**
<ITEM SEGMENT="1">
<NAE11>0000000000000</NAE11>
</ITEM>
</CHILD>
</BODY>
</CODI>
</HEADER>
I have attempted below code, can you please assist here.
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="HEADER">
<xsl:copy>
<xsl:apply-templates select="HEADER/CODI/BODY/CHILD"/>
<xsl:copy-of select="."/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
Akhila T is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.