[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[Recent Entries]
[Reply To This Message]
Re: XSL Processing to avoid repetitions
Subject: Re: XSL Processing to avoid repetitions
From: Martin Honnen <Martin.Honnen@xxxxxx>
Date: Wed, 16 Jun 2010 15:23:16 +0200
|
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/
|
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
RSS 2.0 |
|
Atom 0.3 |
|
|