|
Subject: RE: [xsl] Sorting issue, sorting by description given code From: Jarno.Elovirta@xxxxxxxxx Date: Wed, 29 Oct 2003 08:51:18 +0200 |
Hi,
> Aim: To output a list of those Group names for which a Point
> belongs to,
> sorted alphabetically.
>
> From above we have three points, so the desired result would be thus
>
> Group List...
>
> DEFAULT
> LOTS
> TREES
You're almost there, see the inline comments.
<xsl:key name="groups" match="Point" use="@group" />
<!-- Add new key for sorting -->
<xsl:key name="x" match="Group" use="@num" />
<xsl:template match="SEEDB">
<table class = "style1" border="1" cellspacing="0" cellpadding="2" width="650">
<tr >
<th align="center">Point Groups</th>
</tr>
<xsl:for-each select="Points/Point[generate-id(.) = generate-id(key('groups',@group)[1])]">
<!-- Sort according to the name -->
<xsl:sort select="key('x', @group)/@name" data-type="text"/>
<xsl:apply-templates select="."/>
</xsl:for-each>
</table>
</xsl:template>
<xsl:template match="Point">
<tr>
<td align="center">
<!-- You had a variable $group here, you want to use current() function -->
<xsl:value-of select="/SEEDB/Groups/Group[@num = current()/@group]/@name"/>
</td>
</tr>
</xsl:template>
> sort the nodeset, and then output, but I wanted to avoid this if
> possible, since I am led to believe that some parsers don't have an
> equivalent "msxsl:node-set" function.
Well, almost, if not all XSLT processors have some sort of e:node-set extension. See <http://exslt.org/> for the common extension for RTF -> node-set conversion.
Cheers,
Jarno - Assemblage 23: Pages
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| [xsl] Sorting issue, sorting by des, Tony Rowe | Thread | [xsl] xsl:element name value with A, Arvind Bassi |
| [xsl] non-breaking whitespace, Saverio Perugini | Date | RE: [xsl] Displaying and using huge, Jarno . Elovirta |
| Month |