Counting indent level
I've got some XML that contains a list of items and groups, and each group could contain either more items or more groups like so :
<catalog> <item /> <group> < group > < item /> < item /> < group > < group > < item /> etc
So groups can contain either items or more groups or nothing. Items only exist at the root (catalog) of this part of the tree or inside groups. I'm outputting a single list of all of the items and group currently using this :
The reason for that is that a item node might also contain child nodes that are also called <item> nodes that I don't want. I only want a item node that has it's immediate parent a group node. (There may be an easier way to do that...)
How do I count the "indent" level - so how many parent "groups" each item or group has, right back up to the catalog node? Eg in the example above, it would be 0 for the first item and group, 1 for the next 4 etc.
I can change the for-each that I'm using, although it has to remain in the same order, so I can't process them out of order.
Is the easiest way to count back up the tree for each one, or is there a way to build that into the for-each? If I use count, how do I count the path back up to the catalog node?
Thanks in advance, Nick
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format