|
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 |