RE: [xsl] Trouble using recursion to make a Counter

Subject: RE: [xsl] Trouble using recursion to make a Counter
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Fri, 30 Jul 2004 09:09:40 +0100
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.smith@xxxxxxxxxxxxx 
> [mailto:greyson.smith@xxxxxxxxxxxxx] 
> Sent: 29 July 2004 22:52
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> 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."

Current Thread