|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Sorting Question: Muenchian method? Substring in K
--- Dimitre Novatchev <dnovatchev@xxxxxxxxx> wrote:
> Hi Mark,
>
> Yes, the use of the Muenchian method to solve your problem is very
> straightforward:
>
> source xml (the one provided by you, but reshuffled):
> ---------------------------------------------------
> <topics>
> <topic>Chimpanzee</topic>
> <topic>Aardvark</topic>
> <topic>Beetle, Smaller European Elm Bark</topic>
> <topic>Anteater</topic>
> <topic>Beetle, American Burying</topic>
> </topics>
>
> stylesheet:
> ----------
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
>
> <xsl:output method="text"/>
>
> <xsl:variable name="NL" select="'
'"/>
>
> <xsl:key name="kTopic" match="topic" use="substring(.,1,1)"/>
>
> <xsl:template match="/">
> <xsl:for-each select="/*/topic
> [
> generate-id()
> =
> generate-id(key('kTopic',
> substring(.,1,1)
> )[1]
> )
> ]">
> <xsl:sort select="substring(.,1,1)"/>
>
> <xsl:value-of select="concat($NL, substring(.,1,1))"/>
>
> <xsl:for-each select="key('kTopic',substring(.,1,1))">
> <xsl:value-of select="concat($NL, .)"/>
> </xsl:for-each>
> <xsl:value-of select="$NL"/>
> </xsl:for-each>
> </xsl:template>
> </xsl:stylesheet>
>
> Result:
> -------
>
> A
> Aardvark
> Anteater
>
> B
> Beetle, Smaller European Elm Bark
> Beetle, American Burying
>
> C
> Chimpanzee
>
>
Just a minor addition: as they are at the moment, the results are not
sorted, but only grouped by their first letter.
Therefore, in the above code
> <xsl:for-each select="key('kTopic',substring(.,1,1))">
> <xsl:value-of select="concat($NL, .)"/>
> </xsl:for-each>
should actually be:
<xsl:for-each select="key('kTopic',substring(.,1,1))">
<xsl:sort select="."/>
<xsl:value-of select="concat($NL, .)"/>
</xsl:for-each>
=====
Cheers,
Dimitre Novatchev.
http://fxsl.sourceforge.net/ -- the home of FXSL
__________________________________________________
Do you Yahoo!?
New DSL Internet Access from SBC & Yahoo!
http://sbc.yahoo.com
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








