Subject: RE: [xsl] Need help with special sorting From: "Andrew Welch" <ajwelch@xxxxxxxxxxxxxxx> Date: Mon, 28 Jun 2004 09:26:37 +0100 |
What a neat solution! Is this your own invention Ken or is this common knowledge? > At 2004-06-27 20:16 +0200, Bert wrote: > >I need some help with 'special sorting'. > >I have this xml-file (simplified). > > > ><alfabet> > > <letter>a</letter> > > <letter>b</letter> > > <letter>c</letter> > > <letter>d</letter> > ></alfabet> > > > >The outcome after sorting should however be this: > >a b d c > > > >The letter c has always to be the last item after sorting. > >How can I achieve this? > > By translating the letters you have into the letter-order you > want sorted > for the purposes of calculating the collation string for each > member of the > sort. > > I hope the example below helps. > > ................ Ken > > T:\ftemp>type bert.xml > <alfabet> > <letter>a</letter> > <letter>b</letter> > <letter>c</letter> > <letter>d</letter> > </alfabet> > > T:\ftemp>type bert.xsl > <?xml version="1.0" encoding="iso-8859-1"?> > <!DOCTYPE xsl:stylesheet [ > <!ENTITY given 'abcdefghijklmnopqrstuvwxyz'> > <!ENTITY needed 'abzcdefghijklmnopqrstuvwxy'> > ]> > <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > version="1.0"> > > <xsl:output method="text"/> > > <xsl:template match="/"> > <xsl:for-each select="/*/letter"> > <xsl:sort select="translate(.,'&given;','&needed;')"/> > <xsl:value-of select="."/> > <xsl:text> > </xsl:text> > </xsl:for-each> > </xsl:template> > > </xsl:stylesheet> > T:\ftemp>saxon bert.xml bert.xsl > a > b > d > c > > T:\ftemp>
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] xsl processors turn off e, Michael Kay | Thread | Selection of Just Attribute Nodes a, Ramkumar Menon |
RE: memoisation, was Is this a Saxo, David . Pawson | Date | Selection of Just Attribute Nodes a, Ramkumar Menon |
Month |