Subject: RE: [xsl] XSL Processing to avoid repetitions From: "Fabien Tillier" <f.tillier@xxxxxxxx> Date: Wed, 16 Jun 2010 16:10:45 +0200 |
Hi Martin. Thanks for your answer, but it doesn't work for me. I have resent a message with my real data. Maybe your solution would work if I don't change it to fit my data :) Thanks, anyway. Regards, Fabien -----Message d'origine----- De : Martin Honnen [mailto:Martin.Honnen@xxxxxx] Envoyi : mercredi 16 juin 2010 15:23 @ : xsl-list@xxxxxxxxxxxxxxxxxxxxxx Objet : Re: [xsl] XSL Processing to avoid repetitions Fabien Tillier wrote: > Hi List. > I was wondering if anyone could help me to filter out data in an XML stream. > (can be xslt 2.0...) > > For example, I have > <xml> > <city> > <name>Paris</name> > <person>Paul</person> > </city> > <city> > <name>New-York</name> > <person>John</person> > </city> > <city> > <name>Paris</name> > <person>George</person> > </city> > </xml> > > I would like to have an XSL template able to output something like (using <OL> for example) Paris > Paul > George > New-York > John > > Actually, all I am able to do is to get > Paris > Paul > New-York > John > Paris > George With XSLT 2.0 you can use xsl:for-each-group to group the data <ol> <xsl:for-each-group select="/xml/city" group-by="name"> <li> <xsl:value-of select="current-grouping-key()"/> <ol> <xsl:for-each select="current-group()/person"> <li><xsl:value-of select="."/></li> </xsl:for-each> </ol> </li> </xsl:for-each-group> </ol> > (please note that the real structure is more complicated, and the filter is to be done on more than one level...) You will need to provide more details then. -- Martin Honnen http://msmvps.com/blogs/martin_honnen/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] XSL Processing to avoid r, Martin Honnen | Thread | Re: [xsl] XSL Processing to avoid r, David Carlisle |
Re: [xsl] XSL Processing to avoid r, Andrew Welch | Date | Re: [xsl] XSL Processing to avoid r, David Carlisle |
Month |