[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Flattening a XML tree
Hi Farroq, Try this XSL: <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" omit-xml-declaration="no" indent="yes"/> <xsl:template match="/Tree"> <Tree> <xsl:for-each select="//TreeNode"> <xsl:sort select="@id" data-type="number"/> <xsl:element name="TreeNode"> <xsl:attribute name="id"> <xsl:value-of select="@id"/> </xsl:attribute> <xsl:attribute name="weight"> <xsl:value-of select="@weight"/> </xsl:attribute> </xsl:element> </xsl:for-each> </Tree> </xsl:template> </xsl:stylesheet> It will produce the following XML (don't know if this was exactly what you wanted): <?xml version="1.0" encoding="UTF-16"?> <Tree> <TreeNode id="1" weight="5"/> <TreeNode id="2" weight="3"/> <TreeNode id="3" weight="4"/> <TreeNode id="4" weight="2"/> <TreeNode id="5" weight="2"/> <TreeNode id="6" weight="2"/> <TreeNode id="7" weight="2"/> <TreeNode id="8" weight="2"/> <TreeNode id="9" weight="3"/> <TreeNode id="10" weight="2"/> <TreeNode id="11" weight="2"/> <TreeNode id="12" weight="2"/> </Tree> Cheers, Frank. -----Original Message----- From: Mir Farooq Ali [mailto:mfali@xxxxxxxxxxxxxxxx] Sent: martes, 02 de octubre de 2001 6:00 To: XSL-List@xxxxxxxxxxxxxxxxxxxxxx Subject: Flattening a XML tree Hi, I have an input tree that looks like this <?xml version="1.0"?> <Tree> <TreeNode id="1" weight="5"> <TreeNode id="2" weight="3"> <TreeNode id="6" weight="2"/> <TreeNode id="7" weight="2"/> <TreeNode id="8" weight="2"/> </TreeNode> <TreeNode id="3" weight="4"> <TreeNode id="9" weight="3"> <TreeNode id="11" weight="2"/> <TreeNode id="12" weight="2"/> </TreeNode> <TreeNode id="10" weight="2"/> </TreeNode> <TreeNode id="4" weight="2"/> <TreeNode id="5" weight="2"/> </TreeNode> </Tree> I need to flatten the tree to a structure that looks like this. I've looked at the archives, but haven't found an answer. <?xml version="1.0"?> <Tree> <TreeNode id="1" weight="5"> <TreeNode id="2" weight="3"/> <TreeNode id="3" weight="4"/> <TreeNode id="4" weight="2"/> <TreeNode id="5" weight="2"/> <TreeNode id="6" weight="2"/> <TreeNode id="7" weight="2"/> <TreeNode id="8" weight="2"/> <TreeNode id="11" weight="2"/> <TreeNode id="12" weight="2"/> <TreeNode id="9" weight="3"/> <TreeNode id="10" weight="2"/> </TreeNode> </Tree> Any help is appreciated. Thanks, -Farooq. +---------------------------------+-------------------------------------+ | Ph.D. Candidate | (540) 5520967 (R) (540) 2313986 (W)| | Department of Computer Science | Email: mfali@xxxxxx | | Virginia Tech. | Web: http://csgrad.cs.vt.edu/~mfali | +---------------------------------+-------------------------------------+ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|