Re: [xsl] Why template match differs?

Subject: Re: [xsl] Why template match differs?
From: David Carlisle <davidc@xxxxxxxxx>
Date: Thu, 11 Dec 2003 17:17:19 GMT
> What is the different between following two statements?


<xsl:template match="link//llnode" mode="yyy">

that matches anly llnode that is a descendent of a link node.
so this
<xsl:for-each select="*">
selects all children of those llink nodes.

Your other template is almost completely different.

<xsl:template match="link" mode="yyy">

that matches any link node

<xsl:for-each select="//llnode">

this selects all llnode from anywhere in the document irrespective of
which link node was matched.
 the " ..some action.. " is now executed on the link node not on its
children as in the first template.

You could yuse .//llnode in the second template to find all llnodes
below the current link, but in either case if you know a more specific
path than // it would be good to use it. // is very expensive it causes
a search the full depth of the tree looking for the specified nodes.

David


-- 
http://www.dcarlisle.demon.co.uk/matthew

________________________________________________________________________
This e-mail has been scanned for all viruses by Star Internet. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread