xsl-list
[Top] [All Lists]

[xsl] Finding the position of an element wrt to other element

2010-11-19 04:16:49
Hi,

I want the position of an element (there is a condition for selecting
that element) relative to other element

Input XML:
<test>
<a>
<b name ='1'></b>
<b name ='2'></b>
<b name ='3'>
<c></c>
</b>
<b name ='4'>
        <c></c>
        <c></c>
</b>
<b name ='4'>
        <c></c>
        <c></c>
</b>
</a>
<a>
<b name ='1'></b>
<b name ='2'>
<c></c>
</b>
<b name ='3'></b>
<b name ='4'>
        <c></c>
</b>
</a>
</test>

XSL I using:

<xsl:template match="/">
                <html>
                        <body>
                        <table>
                                <tbody>
                                        <tr>
                                                <th>
                                                <xsl:value-of 
select="$CustomSelect"/>
                                                </th>
                                        </tr>
                                </tbody>
                        </table>
                        </body>
                </html>
        </xsl:template>
        <xsl:variable name="CustomSelect">
                        <xsl:text>position: </xsl:text>
                                <xsl:call-template name="test">
                                </xsl:call-template>
                </xsl:variable>
                <xsl:template name="test">
  <xsl:call-template name="test2">
  <xsl:with-param name="node" select="//b[c][not(@name
=preceding::b[child::c]/@name)]/@name"/>
    </xsl:call-template>
     </xsl:template>
<xsl:template name="test2">
<xsl:param name="node"/>
<xsl:for-each select="$node">
<xsl:value-of select="position()"/>
<xsl:if test="position()!=last()"/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

Output I m getting is position 123, but i want it should count all b
from top to end at any level and give relative position like here it
should give 342. I m getting how to go ahead...please help  me out
thanks......





Rashi Bhardwaj

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