[xsl] xsl:sort question

Subject: [xsl] xsl:sort question
From: Sripriya Venkataraman <Sripriya.Venkataraman@xxxxxxxxxxxxxxx>
Date: Fri, 26 Apr 2002 10:58:52 -0700
I have a problem. In my XML file I have:
<WELL WellName="A11"/>
<WELL WellName="B2"/>
<WELL WellName="A2"/>
<WELL WellName="A1"/>
<WELL WellName="A8"/>
<WELL WellName="B20"/>

I would like to get the results as:
A1
A2
A8
A11
B2
B20

I am not getting the above result with my XSL. What is the problem ?
	<xsl:template match="ANALYSISRESULTS">
		<xsl:variable name="wells" select="//WELL"/>
		<xsl:for-each select="$wells">
			<xsl:sort select="@WellName"/>
			<xsl:sort select="substring(@WellName,2)"
data-type="number"/>
		 	<xsl:for-each select="@*">
				<xsl:value-of select="."/> <xsl:value-of
select="$tab"/>
		 	</xsl:for-each>
		 	<xsl:value-of select="$newline"/>
		</xsl:for-each>
	</xsl:template>

Thanks,
Priya
X 323


-----Original Message-----
From: Michael Kay [mailto:michael.h.kay@xxxxxxxxxxxx]
Sent: Thursday, April 25, 2002 12:43 AM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: RE: [xsl] Names of node attributes


> What is wrong with this XSL ? This does not give me the desired result
>
> <xsl:template match="WELL">
>  	<xsl:for-each select=".">
>  		<xsl:sort select="@WellName"/>
> 	 	<xsl:for-each select="@*">
> 			<xsl:value-of select="."/> <xsl:value-of
> select="$tab"/>
> 	 	</xsl:for-each>
> 	 	<xsl:value-of select="$newline"/>
> 	 </xsl:for-each>
> </xsl:template>
>
Your template rule is called once to process each well. You can't sort the
wells within a template that only sees on of them. You can see it's
nonsense, because when you write:

>  	<xsl:for-each select=".">
>  		<xsl:sort select="@WellName"/>

the for-each selects a single node and then tries to sort it!

Move the sort to the corresponding xsl:apply-templates that processes all
the wells.

Michael Kay
Software AG
home: Michael.H.Kay@xxxxxxxxxxxx
work: Michael.Kay@xxxxxxxxxxxxxx


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread