Subject: RE: [xsl] Natural Sort From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Wed, 25 Jan 2006 14:13:59 -0000 |
> The first way would also work in XSLT1, the second way uses xpath2 > regexp to sort media1 as media01. It only works if all the numeric parts are one or two digits. I can't think of an easy way of generalizing it, however. Michael Kay http://www.saxonica.com/ > > David > > <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > version="2.0"> > <xsl:output indent="yes" omit-xml-declaration="yes"/> > > <xsl:template match="x"> > <x> > <a> > <xsl:for-each select="server"> > <xsl:sort > select="translate(substring-before(@dn, '.'),'0123456789','')" > data-type="text" > order="ascending"/> > <xsl:sort > select="translate(substring-before(@dn, > '.'),'abcdefghijklmnopqrstuvwxyz','')" > data-type="number" > order="ascending"/> > <xsl:copy-of select="."/> > </xsl:for-each> > </a> > <b> > <xsl:for-each select="server"> > <xsl:sort > select="replace(@dn,'([^0-9])([0-9])([^0-9])','$10$2$3')"/> > <xsl:copy-of select="."/> > </xsl:for-each> > </b> > </x> > </xsl:template> > > > </xsl:stylesheet> > > ______________________________________________________________ > __________ > This e-mail has been scanned for all viruses by Star. The > service is powered by MessageLabs. For more information on a proactive > anti-virus service working around the clock, around the globe, visit: > http://www.star.net.uk > ______________________________________________________________ > __________
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Natural Sort, David Carlisle | Thread | RE: [xsl] Natural Sort, cknell |
RE: [xsl] collecting ALL nodes with, Florent Georges | Date | Re: [xsl] Natural Sort, David Carlisle |
Month |