[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
RE: [xsl] converting flat xml data into heirarchy structure
Subject: RE: [xsl] converting flat xml data into heirarchy structure From: "Andreas L. Delmelle" <a_l.delmelle@xxxxxxxxxx> Date: Mon, 9 Feb 2004 11:29:16 +0100 |
> -----Original Message----- > From: Andreas L. Delmelle > <snip /> Oops, forgot a few details: > <?xml version="1.0" encoding="UTF-8" ?> > <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> > <xsl:template match="scopes"> > <!-- apply templates on all scope elements > with parent_id '0' --> > <xsl:apply-templates select="scope[@parent_id='0']" /> > </xsl:template> > > <xsl:template match="scope"> > <!-- create a var to hold the current scope's id --> > <xsl:variable name="vId" select="@id" /> > > <xsl:copy> > <!-- copy attributes --> > <xsl:apply-templates select="@*" /> > <scopes> > <!-- now apply templates on all scope elements > with parent_id equal to current id --> > <xsl:apply-templates select="//scope[@parent_id=$vId]" /> > </scopes> > </xsl:template> > </xsl:stylesheet> On second thought, if the descending scope-elements *always* appear after their parent, this will be better performance-wise (starting right before creating the scopes-element in the second template above): <xsl:if test="following::scope[@parent_id=$vId]"> <scopes> <xsl:apply-templates select="following::scope[@parent_id=$vId]" /> </scopes> </xsl:if> Cheers, Andreas XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] converting flat xml data , Andreas L. Delmelle | Thread | RE: [xsl] converting flat xml data , Michael Kay |
RE: [xsl] Re: text() word lists, James Cummings | Date | Re: [xsl] Re: text() word lists, David Carlisle |
Month |