[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: De-flattening an XML tree
I have a special solution for your problem: <?xml version="1.0" encoding="UTF-8" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output indent="yes"/> <xsl:key name="data" match="data" use="generate-id(preceding-sibling::record[1])"/> <xsl:template match="recordset"> <xsl:copy> <xsl:apply-templates select="record"/> </xsl:copy> </xsl:template> <xsl:template match="record"> <xsl:copy> <xsl:apply-templates select="key('data',generate-id())"/> </xsl:copy> </xsl:template> <xsl:template match="data"> <xsl:copy/> </xsl:template> </xsl:stylesheet> This should give you the hints for deflattening XML. But there are much more generic stylesheets available in the archives. Regards, Joerg > Hi, > > I'm kind of stuck on ideas for how I might de-flatten a tree. It seems > that I can't get the position of the next sibling with some property and I > end up going around in circles with checking siblings because filter > predicates seem to only work with one node at a time. > > If I've got something like; > > <recordset> > <record/> > <data/> > <data/> > <record/> > <data/> > <record/> > <data/> > <data/> > <data/> > </recordset> > > ie. we've got a record tag, followed by it's "children". > > Is there any way of transforming this to: > <recordset> > <record> > <data/> > <data/> > </record> > <record> > <data/> > </record> > <record> > <data/> > <data/> > <data/> > </record> > </recordset> > > > Any suggestions, ideas or strategies? > > Thanks a lot! > > -Benjamin Johnston > s355171@xxxxxxxxxxxxxxxxx -- GMX - Die Kommunikationsplattform im Internet. http://www.gmx.net 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
|