xsl-list
[Top] [All Lists]

RE: Counting preceding nodes

2005-06-26 09:11:10
You seem to be looking for

<xsl:number level='any'/>

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


Original Message:
-----------------
From: Billie whynot77(_at_)coolgoose(_dot_)com
Date: Fri, 24 Jun 2005 13:29:05 -0400
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
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

--~------------------------------------------------------------------
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>
--~--


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



--~------------------------------------------------------------------
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>