Subject: RE: [xsl] Transforming a non-hierarchical XML into a hierarchical one From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Thu, 8 Mar 2007 12:42:33 -0000 |
If the sections aren't recursive (different element name used at each level) then you can do something like <xsl:for-each-group select="*" group-starting-with="section"> <section> <h1>...</h1> <xsl:for-each-group select="current-group()[position() ne 1]" group-starting-with="sub-section"> <h2>...</h2> <xsl:for-each-group select="current-group()[position() ne 1]" group-starting-with="sub-sub-section"> <h3>...</h3> Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: SEXpeare [mailto:sexpeare@xxxxxxxxx] > Sent: 08 March 2007 11:23 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: Re: [xsl] Transforming a non-hierarchical XML into a > hierarchical one > > a 2.0 solution would be great, thx for your time, i have been > working with xsl-fo for a time, but never had to do > complicated transformations like this one, i want to learn > all i can from you ;) > > 2007/3/8, Michael Kay <mike@xxxxxxxxxxxx>: > > > > I'm guessing from your choice of element names that your hierarchic > > structure is positional rather than defined by pointers. > > > > This makes it a positional grouping problem. Such problems > are always > > much easier in XSLT 2.0, so you need to make it clear > whether you want > > a 1.0 or a 2.0 solution. > > > > Michael Kay > > http://www.saxonica.com/ > > > > > -----Original Message----- > > > From: SEXpeare [mailto:sexpeare@xxxxxxxxx] > > > Sent: 08 March 2007 10:20 > > > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > > > Subject: [xsl] Transforming a non-hierarchical XML into a > > > hierarchical one > > > > > > Hello everybody, I have to transform a non hierarchical XML: > > > > > > <sumario> > > > <seccion txt=""/> > > > <subseccion txt=""/> > > > <organismo txt=""/> > > > <anuncio txt=""/> > > > <organismo txt=""/> > > > <anuncio txt=""/> > > > <organismo txt=""/> > > > <anuncio txt=""/> > > > <subseccion txt=""/> > > > <organismo txt=""/> > > > <anuncio txt=""/> > > > <seccion txt=""/> > > > <subseccion txt=""/> > > > <organismo txt=""/> > > > <anuncio txt=""/> > > > ... > > > </sumario> > > > > > > into a hierarchical XML, doing this via XSLT. The result must be > > > like this: > > > > > > <sumario> > > > <seccion id=""> > > > <subseccion id=""> > > > <organismo id=""> > > > <anuncio> > > > </anuncio> > > > ... > > > > > > </organismo> > > > </subseccion> > > > </seccion> > > > ... > > > </sumario> > > > > > > I would apreciate any idea or advice, thx.
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Transforming a non-hierar, SEXpeare | Thread | Re: [xsl] Transforming a non-hierar, SEXpeare |
Re: [xsl] Transforming a non-hierar, Abel Braaksma | Date | Re: [xsl] Transforming a non-hierar, SEXpeare |
Month |