[xsl] node selection problem

Subject: [xsl] node selection problem
From: "Jakob" <jakob@xxxxxxxx>
Date: Wed, 10 Mar 2004 09:16:09 +0100 (CET)

I would like to retrieve all the nodes "X" inside one
node, but before another node.  The second node is always
a descendant of the first node.

+-- chap
+-- chap            <== inside this node
    +-- X           <== select this node
    +-- sect
        +-- X       <== select this node
        +-- sub     <== but before this node
            +-- X   <== i.e. do not select this X node
        +-- sub
    +-- sect
    +-- sect
+-- chap

This example is somewhat simplified, of course. 
Currently, my best bet is this:

<xsl:variable name="inside.this.node"
<xsl:variable name="before.this.node"

<xsl:variable name="the.X.nodes"

This method doesn't seem very efficient given that it must
first select all preceding X nodes, and then filters this
nodeset using the predicate that matches ID values.

As I have to do this many times over a big document, I
would be interested in better ways.

Thank you,

PS: I am subscribed to the list digest, please cc: me.

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

Current Thread