You don't need recursion here, you can get the required number using
<xsl:number level="any" count="*[contains(name(),'Desc')]"/>
However you may find this data is easier to process if you convert it into a
form that doesn't pack so much information into the tag names. Far better to
put the level number into a separate attribute than to make it part of the
element name.
Michael Kay
-----Original Message-----
From: greyson(_dot_)smith(_at_)convergys(_dot_)com
[mailto:greyson(_dot_)smith(_at_)convergys(_dot_)com]
Sent: 29 July 2004 22:52
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Trouble using recursion to make a Counter
Hello! I've been struggling with something that seemed very
simple when I
first started looking at it, but has become frustrating. I
have hit the
archives and google, yet have found nothing to spark my
imagination. All I
need is to process my xml and for each node that I process
increment and
print a counter to the result file.
I have data that looks like this:
<level1>
<Level1Desc>Neighborhood</Level1Desc>
<Level1ID>1</Level1ID>
<Level2>
<Level2Desc>Street</Level2Desc>
<Level2ID>100</Level2ID>
<Level3>
<Level2Desc>House</Level2Desc>
<Level2ID>1000</Level2ID>
</Level3>
<Level3>
<Level2Desc>Condo</Level2Desc>
<Level2ID>1001</Level2ID>
</Level3>
</Level2>
<Level2>
<Level2Desc>Park</Level2Desc>
<Level2ID>101</Level2ID>
</Level2>
</level1>
There are many level 1s in my data.
I have looked at using the position function, but it seems to
be based on
levels, so i was getting 1s 2s and 3s quite a bit. I tried looking at
recursion, but the examples I found were not nested.
I have been trying to use recursion samples that I found
using this list
which I shall not reprint, but can supply a copy if needed.
So the end result of the processing would look something like
1 Neighborhood
2 Street
3 House
4 Condo
5 Park
Which is to say that every item that I do something with I
need a unique
sequential number.
Thank you.
--
"NOTICE: The information contained in this electronic mail
transmission is
intended by Convergys Corporation for the use of the named
individual or
entity to which it is directed and may contain information that is
privileged or otherwise confidential. If you have received
this electronic
mail transmission in error, please delete it from your system without
copying or forwarding it, and notify the sender of the error
by reply email
or by telephone (collect), so that the sender's address records can be
corrected."
--+------------------------------------------------------------------
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>
--+--