Hi,
Your sort statement should probably be something like:
<xsl:sort select="ability/@rank" order="ascending"/>
because the language element does not have a rank attribute.
Brad
-----Original Message-----
From: Alice Wei [mailto:ajwei@xxxxxxxxxxx]
Sent: December 27, 2007 1:29 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: Sort By Multiple Values?
Hi,
Sorry, I have messed up my previous document in the cut and paste. Here is the
"correct" document.
>
> I have a document here where I am attempting to sort it using multiple
> values. Here is the XML:
>
> <computer>
> <language>
> <ability rank="1">XML 1.0</ability>
> <type>XML</type>
> </language>
> <language>
> <ability rank="1">XSLT 1.0</ability>
> <type>XML</type>
> </language>
> <language>
> <ability rank="2">XSLT 2.0</ability>
> <type>XML</type>
> </language>
> <language>
> <ability rank="1">HTML 4.01 / XHTML 1.0</ability>
> <type>HTML</type>
> </language>
> <language>
> <ability rank="1">CSS</ability>
> <type>HTML</type>
> </language>
> </computer>
>
> The XSL:
>
> <xsl:template match="computer">
> [<span class="skills">
> <xsl:apply-templates select="language">
> <xsl:sort select="@rank" order="ascending"/>
> </xsl:apply-templates>
> </span>]
> </xsl:template>
>
> The output now is in the same order as it is in the order of the
> document w= hen the @rank value is 1, and followed by the one where
> @rank=2.
>
> [XML 1.0] [XSLT 1.0] [HTML 4.01/XHTML 1.0] [CSS] [XSLT 2.0].
>
> Is it possible that I can get it to display as
>
> [CSS] [HTML 4.01/XHTML 1.0] [XML 1.0] [XSLT 1.0] [XSLT 2.0]
>
> ?
>
> Thanks to those who can help.
>
Alice Wei
MIS 2008
School of Library and Information Science Indiana University Bloomington
ajwei@xxxxxxxxxxx
812-856-2659
|