This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
xsl:sort question
- From: Sripriya Venkataraman <Sripriya dot Venkataraman at calipertech dot com>
- To: "'xsl-list at lists dot mulberrytech dot com'" <xsl-list at lists dot mulberrytech dot com>
- Date: Fri, 26 Apr 2002 10:58:52 -0700
- Subject: [xsl] xsl:sort question
- Reply-to: xsl-list at lists dot mulberrytech dot com
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@ntlworld.com]
Sent: Thursday, April 25, 2002 12:43 AM
To: xsl-list@lists.mulberrytech.com
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@ntlworld.com
work: Michael.Kay@softwareag.com
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list