xsl-list
[Top] [All Lists]

Counting preceding nodes

2005-06-24 10:29:05
I need help with a problem I'm having.  I need to count the number of nodes 
that come before the 
given node, anywhere in the tree.

So for example, say I have this tree:

<book>
    <chapter>
        <para>
            Blah blah blah
            <diagram name="first"/>
        </para>
        <para>Blah blah blah</para>
        <para>
            <diagram name="second"/>
            Blah blah blah
        </para>
        <diagram name="third"/>
    </chapter>
    <chapter>
        <para>Blah blah blah</para>
    </chapter>
    <chapter>
        <diagram name="fourth"/>
        <para>Blah blah blah</para>
    </chapter>
    <chapter>
        <para>
            <quote>
                <diagram name="fifth"/>
                <diagram name="sixth"/>
                Blah blah blah
            </quote>
        </para>
    </chapter>
</book>

I gave the diagrams the appropriate names so you could see what I was looking 
for, but basically, 
I'm looking for a way to number the diagrams based on the absolute order in 
which they are placed.  
I've tried all sorts of combinations but nothing seemed to work.  One logical 
structure I came up 
with, that I couldn't figure out how to translate into XSL, was: "count the 
number of diagrams that 
have an ancestor-or-self which is a preceding-sibling to an ancestor-or-self of 
the diagram in 
question".  Is that possible to do?

<xsl:template match="diagram">
    <xsl:attribute name="Number">
        <xsl:value-of select="???"/>
    </xsl:attribute>            
</xsl:template>

Thanks for your help,
Billie

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



<Prev in Thread] Current Thread [Next in Thread>