Subject: Re: Sorting - one to many
From: David Carlisle <davidc@xxxxxxxxx>
Date: Tue, 28 Sep 1999 17:26:41 +0100 (BST)
|
putting <x> ... </x> around your list of books to get a well formed
document, then
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/XSL/Transform/1.0">
<xsl:template match="x">
<xsl:apply-templates select="book/country[not(. = following::country)]">
<xsl:sort select="."/>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="country">
<xsl:value-of select="."/>
<xsl:variable name="c" select="."/>
<xsl:apply-templates select="//book[country=$c]/title">
<xsl:sort select="."/>
</xsl:apply-templates>
</xsl:template>
</xsl:stylesheet>
bash-2.01$ xt book.xml book.xsl
Canada
A book that is published in 2 countries
A book that is published in 3 countries
Mexico
A book that is published in 3 countries
United States
A book that is published in 2 countries
A book that is published in 3 countries
bash-2.01$
David
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|