|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: sorting and listing
Hi, hussnain
>i have the following xml file with list of members with name and city:
><?xml version="1.0"?>
><?xml-stylesheet type="text/xsl" href="members.xsl"?>
><members>
> <member>
> <name>Philips</name>
> <city>London</city>
> </member>
Your problem is a typical group problem, One of efficient method is
Muenchian method. There are a lot of posts in the list which you will
find quite a lot of helpful reading material.
For your particular applications, the xslt is as:
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:key name="city" match="city" use="."/>
<xsl:key name="member" match="member" use="city"/>
<!-- get the unique city name using Muenchian method-->
<xsl:variable name="city"
select="members/member/city[generate-id(.)=generate-id(key('city',.)[1])]"/>
<xsl:template match="/">
<html>
<body>
<xsl:apply-templates select="$city">
<xsl:sort select="."/>
</xsl:apply-templates>
</body>
</html>
</xsl:template>
<xsl:template match="city">
<xsl:variable name="cityName" select="."/>
<u><h1><xsl:value-of select="$cityName"/></h1></u>
<xsl:apply-templates select="key('member',$cityName)"/>
</xsl:template>
<xsl:template match="member">
<li><xsl:value-of select="name"/></li>
</xsl:template>
</xsl:stylesheet>
Hope it will help.
Cheers,
Sunfu Yang
sfyang@xxxxxxxxxxxxx
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
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
|

Cart








