vb.net - Sort by Date a XML with XSLT and return a XML -
hello have xml , want sort message/data/transactions/transaction xslt "posted-date" , return sorted xml work with.
i have hours reading xsl , trying doesnt work.
thanks in advance
<data result="true"> <account number="mynumber" currency="mycurrency" type="mytype" /> <transactions> <transaction description="desc 1" currency="usd" posted-date="2010/01/31" amount="240.88" /> <transaction description="desc 3" currency="usd" posted-date="2010/05/20" amount="240.88" /> <transaction description="desc 8" currency="usd" posted-date="2008/12/31" amount="240.88" /> <transaction description="desc 3" currency="usd" posted-date="2003/12/31" amount="240.88" /> <transaction description="desc 99" currency="usd" posted-date="2011/01/01" amount="240.88" /> <transaction description="desc 999" currency="usd" posted-date="2011/01/06" amount="240.88" /> </transactions> </data>
thanks in advance
this transformation:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform"> <xsl:output omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="node()|@*"> <xsl:copy> <xsl:apply-templates select="node()|@*"/> </xsl:copy> </xsl:template> <xsl:template match="transactions"> <transactions> <xsl:apply-templates> <xsl:sort select="@posted-date"/> </xsl:apply-templates> </transactions> </xsl:template> </xsl:stylesheet>
when applied on provided xml document:
<data result="true"> <account number="mynumber" currency="mycurrency" type="mytype" /> <transactions> <transaction description="desc 1" currency="usd" posted-date="2010/01/31" amount="240.88" /> <transaction description="desc 3" currency="usd" posted-date="2010/05/20" amount="240.88" /> <transaction description="desc 8" currency="usd" posted-date="2008/12/31" amount="240.88" /> <transaction description="desc 3" currency="usd" posted-date="2003/12/31" amount="240.88" /> <transaction description="desc 99" currency="usd" posted-date="2011/01/01" amount="240.88" /> <transaction description="desc 999" currency="usd" posted-date="2011/01/06" amount="240.88" /> </transactions> </data>
produces wanted, correct result:
<data result="true"> <account number="mynumber" currency="mycurrency" type="mytype"/> <transactions> <transaction description="desc 3" currency="usd" posted-date="2003/12/31" amount="240.88"/> <transaction description="desc 8" currency="usd" posted-date="2008/12/31" amount="240.88"/> <transaction description="desc 1" currency="usd" posted-date="2010/01/31" amount="240.88"/> <transaction description="desc 3" currency="usd" posted-date="2010/05/20" amount="240.88"/> <transaction description="desc 99" currency="usd" posted-date="2011/01/01" amount="240.88"/> <transaction description="desc 999" currency="usd" posted-date="2011/01/06" amount="240.88"/> </transactions> </data>
Comments
Post a Comment