This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Sorting a NodeSet Contained Within a Variable
- To: xsl-list at lists dot mulberrytech dot com
- Subject: Re: [xsl] Sorting a NodeSet Contained Within a Variable
- From: David Carlisle <davidc at nag dot co dot uk>
- Date: Thu, 12 Jul 2001 18:32:41 +0100
- References: <C2AC89B2CB5CD511A26B00B0D0D0F46A0EB975@EXCHANGE>
- Reply-To: xsl-list at lists dot mulberrytech dot com
> I am hopelessly confused! I can't use the apply-templates method because the
> processor won't let me create a template that matches a variable.
you don't want to match the variable you want to match an element.
If you go
<xsl:variable name="x">
<a>
<b/>
</a>
<c/>
<d>
<e/>
</d>
</xsl:variable>
<xsl:apply-templates select="xx:node-set($x)"/>
Then you are applying templates to a document that looks like
<a>
<b/>
</a>
<c/>
<d>
<e/>
</d>
ie a tree that has
root node (/)
child element a
grandchild element b
child element c
child element d
so if your template for / is the default one the above apply templates
will then apply templates to the children so you want templates matching
a c and d.
If you want to do those in a different order, instead do
<xsl:apply-templates select="xx:node-set($x)/*">
<xsl:sort select="lkskdashc"/>
</xsl:apply-templates>
Now you are not selecting the root node any more, just directly
selecting the children a c d and processing them in some order.
David
_____________________________________________________________________
This message has been checked for all known viruses by Star Internet
delivered through the MessageLabs Virus Scanning Service. For further
information visit http://www.star.net.uk/stats.asp or alternatively call
Star Internet for details on the Virus Scanning Service.
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list