Re: [xsl] how to get position of node in node-set

Subject: Re: [xsl] how to get position of node in node-set
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Thu, 11 Sep 2003 12:42:06 -0400
Erwin,

Your problem has been a theme lately. (I hope you've been reading.)

At 12:06 PM 9/11/2003, you wrote:
I have a node-set of entries that all have different values for their text attribute.
An entry looks like this <entry text="aaa"/>.
This node set is build through muenchian grouping and assigned to a variable called 'legend'.


Now, for some current entry, I need to know the position of an entry with the same text attribute
within the $legend node-set.


eg. $legend contains entries <entry text="aaa"/>, <entry text="bbb"/> <entry text="ccc"/>.
for some entry <entry text="ccc"/> I need to get the number 3.

As a result tree fragment (constructed by the processor and bound to a variable), $legend can't be inspected this way, so if you can't find a way to see that a <entry text="ccc"/> node in your source *will be* the third in your order, you're stuck.


If $legend is a true node-set, however, you can traverse it in the usual way, e.g. ask count($legend/entry[@text=current()/@text]/preceding-sibling::*)+1.

To make $legend a true node set, use XSLT 2.0 (the draft is partially implemented in the current version of Saxon), or, in XSLT 1.0, your friendly vendor's node-set() extension function.

Cheers,
Wendell


====================================================================== Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx Mulberry Technologies, Inc. http://www.mulberrytech.com 17 West Jefferson Street Direct Phone: 301/315-9635 Suite 207 Phone: 301/315-9631 Rockville, MD 20850 Fax: 301/315-8285 ---------------------------------------------------------------------- Mulberry Technologies: A Consultancy Specializing in SGML and XML ======================================================================


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



Current Thread