RE: [xsl] Counting preceding nodes

Subject: RE: [xsl] Counting preceding nodes
From: "mike@xxxxxxxxxxxx" <mike@xxxxxxxxxxxx>
Date: Sun, 26 Jun 2005 12:11:10 -0400
You seem to be looking for

<xsl:number level='any'/>

Michael Kay
http://www.saxonica.com/


Original Message:
-----------------
From: Billie whynot77@xxxxxxxxxxxxx
Date: Fri, 24 Jun 2005 13:29:05 -0400
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: [xsl] Counting preceding nodes


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


--------------------------------------------------------------------
mail2web - Check your email from the web at
http://mail2web.com/ .

Current Thread