Re: [xsl] choose an "artificial" root node

Subject: Re: [xsl] choose an "artificial" root node
From: David Carlisle <davidc@xxxxxxxxx>
Date: Fri, 16 Feb 2001 10:04:39 GMT
> Thanks a lot for your reply, I had thought about that, it's a possibility,
> but the <xsl:number count="*" level="any"> is usable only within the
> "template match" itself. I mean, I can't use sth like : <xsl:apply-templates
> select=*[xsl:number()=$id] /> so this would mean I'd have to process every
> node and compare its number with $id until I reach the one I want... Much
> too heavy. Thanks anyway.

One of the implementers may correct me, but I'm not sure if it is so
much heavier the *[ there is in some sence processing all the nodes
anyway even if it is hidden inside an XPath rather than explictly using
templates. 

If you do want something callable as an XPath function then alternatives
are 
position() or count() with the exact expression depending on
quite what your document structure is, but for instance 
foo{count(preceding::*)}
might do what you want (You could use a key to pre-compute all of them
to save re-calculating, perhaps)

David



_____________________________________________________________________
This message has been checked for all known viruses by Star Internet delivered
through the MessageLabs Virus Control Centre. For further information visit
http://www.star.net.uk/stats.asp

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


Current Thread