Subject: [xsl] Using xsl:sort to sort child elements From: "Jim McDowall" <Jim.Mcdowall@xxxxxxxxxxxxxxx> Date: Tue, 04 Nov 2003 11:29:36 -0600 |
I have examined the numerous examples of the xsl:sort instruction but haven't seen one that describes the technique to use for what I need to do. I need to sort child elements of the document that I am transforming. Here is a very very simple example of what I'm trying to accomplish. Given this document: <EntryData> <Applicant> <FirstName>Ralph</FirstName> <LastName>Smith</LastName> <Address> <Type>Business</Type> <City>Chicago</City> <ZipCode>60011</ZipCode> </Address> <Address> <Type>Regional</Type> <City>Springfield</City> <ZipCode>62103</ZipCode> </Address> <Address> <Type>Corporate</Type> <City>New York</City> <ZipCode>10011</ZipCode> </Address> </Applicant> </EntryData> I would like to transform this document sorting the "Address" elements within the document by zip code. Here's an example of a style sheet that I've tried but the result tree remains in it's original state... <?xml version="1.0"?> <!--XML Declaration --> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsl:output method="xml" indent="yes" standalone="yes" omit-xml-declaration="no" encoding="UTF-8"/> <xsl:template match="EntryData/Applicant/Address"> <xsl:copy> <xsl:apply-templates> <xsl:sort select="ZipCode"/> </xsl:apply-templates> </xsl:copy> </xsl:template> <xsl:template match="*|@*|text()"> <xsl:copy> <xsl:apply-templates select="*|@*|text()"> </xsl:apply-templates> </xsl:copy> </xsl:template> </xsl:stylesheet> Please advise. Thanks, Jim McDowall XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Display dates in specific, Mukul Gandhi | Thread | RE: [xsl] Using xsl:sort to sort ch, Michael Kay |
[xsl] Display dates in specific for, puja thakral | Date | [xsl] Passing a node-set as param t, brian ally |
Month |