Hi Cknell,
Thanks for your reply. I was suggested that I used recursive templates by
using call-template and pass the new count to that each time to use the new
count. But I don't have an example of a recursive call-template.
I put together a simple call-template routine but my problem was how do I go
to next node with each recursive call to the template? I found out that I am
still at the root node. How do I traverse a tree ? I wished there was a
next() function just like there is last(), to traverse each node? Do you
have a generic example of a recursive template?
Thanks a lot.
Anoop
-----Original Message-----
From: cknell(_at_)onebox(_dot_)com [mailto:cknell(_at_)onebox(_dot_)com]
Sent: Thursday, January 22, 2004 11:52 AM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: RE: RE: [xsl] Linear counting problem in nested loop.
It is a bedrock principle of XSLT that variables, once bound, cannot be
bound again. In short, you don't increment variables as you might in a loop
construct in other programming languages. You will have to find another way.
I suggest you investigate the generate-id() function.
--
Charles Knell
cknell(_at_)onebox(_dot_)com - email
-----Original Message-----
From: Govil, Anoop (Contractor)
<Anoop(_dot_)Govil(_at_)usmint(_dot_)treas(_dot_)gov>
Sent: Thu, 22 Jan 2004 10:55:27 -0500
To: "'xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com'"
<xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
Subject: RE: [xsl] Linear counting problem in nested loop.
Hi Kakridge,
Actually, I don't need to count them all but need a running linear counter
that I use to give unique ids to various html elements like divs, img and
anchor tags while inside the for-each loop and inside the nested for-each
sub-loop. Also, this counter needs to be in same order,i.e., the order
should be same when inside the sub-loop and when in the main loop as I
mentioned in my original posting. Please suggest. Thanks.
Anoop
-----Original Message-----
From: kakridge(_at_)bellsouth(_dot_)net
[mailto:kakridge(_at_)bellsouth(_dot_)net]
Sent: Thursday, January 22, 2004 10:26 AM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: RE: [xsl] Linear counting problem in nested loop.
Just to be clear, you cannot take the value before the iteration, like
this:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="MENU">
<xsl:variable name="total" select="count(MenuItems) +
count(*/SubMenuItems)"/>
<xsl:value-of select="$total"/>
</xsl:template>
</xsl:stylesheet>
-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of
Govil, Anoop
(Contractor)
Sent: Thursday, January 22, 2004 9:34 AM
To: 'XSL-List(_at_)lists(_dot_)mulberrytech(_dot_)com'
Subject: [xsl] Linear counting problem in nested loop.
Hi,
I have the following XML and want to implement such that I can have a
linear
counter increment with each iteration of the parent for-each loop and
also
the nested for-each loop.
<?xml version="1.0"?>
<MENU>
<MenuItems>
<MenuLabel>Menu 1</MenuLabel>
<SubMenuItems>
<SubMenuLabel>Sub Menu 1</SubMenuLabel>
</SubMenuItems>
<SubMenuItems>
<SubMenuLabel>Sub Menu 11</SubMenuLabel>
</SubMenuItems>
</MenuItems>
<MenuItems>
<MenuLabel>Menu 2</MenuLabel>
<SubMenuItems>
<SubMenuLabel>Sub Menu 2</SubMenuLabel>
</SubMenuItems>
</MenuItems>
</MENU>
e.g. The counter should return as:
1 for Menu 1
2 for SubMenu 1
3 for SubMenu 11
4 for Menu 2
5 for SubMenu 2
So far, what I got is the counter breaks when it reaches the second
<MenuItems>, as it doesn't know about the subMenu from the first
MenuItems
counted 3 already... So the output of my code is something like this:
1 for Menu 1
2 for SubMenu 1
3 for SubMenu 11
2 for Menu 2
3 for SubMenu 2
Any help in fixing this will be much appreciated. Thanks a lot!
Anoop
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list