Re: [xsl] collapsing number ranges

Subject: Re: [xsl] collapsing number ranges
From: David Carlisle <davidc@xxxxxxxxx>
Date: Fri, 27 Aug 2004 10:59:36 +0100
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
version="2.0" 
xmlns:x="data:,x"

>


<xsl:variable name="x">

<x a="123" b="124"/>
<x a="123" b="134"/>
<x a="123" b="456"/>

</xsl:variable>

<xsl:template match="/">
<xsl:apply-templates select="$x/x"/>
</xsl:template>

<xsl:template match="x">
:<xsl:value-of select="@a"/>-<xsl:value-of select="x:f(@a,@b)"/>
</xsl:template>

<xsl:function name="x:f">
<xsl:param name="a"/>
<xsl:param name="b"/>
<xsl:value-of select= "if ($a idiv 10 = $b idiv 10) then () else
  (x:f($a idiv 10,$b idiv 10)), ($b mod 10)" separator=""/>
</xsl:function>
</xsl:stylesheet>


$ saxon8 collapse.xsl  collapse.xsl
<?xml version="1.0" encoding="UTF-8"?>
:123-4
:123-34
:123-456


________________________________________________________________________
This e-mail has been scanned for all viruses by Star Internet. 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