Re: [xsl] Sorting a NodeSet Contained Within a Variable

Subject: Re: [xsl] Sorting a NodeSet Contained Within a Variable
From: David Carlisle <davidc@xxxxxxxxx>
Date: Thu, 12 Jul 2001 18:32:41 +0100
> 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


Current Thread