Re: Concatenating a nodeset (set of attributes)
Hi Geert, On 10/8/05, Geert Josten <Geert.Josten@xxxxxxxxxxx> wrote: > > The depth of the STRUC elements is arbitrary. > > If you know there is a resonable limit to the recusion depth you could do the following: Well, I would guess that no Table Of Contents will have 10 levels. > > <xsl:sort select="number(concat(@pos, '.', STRUCT/@pos, STRUCT/STRUCT/@pos, > STRUCT/STRUCT/STRUCT/@pos, ...)" data-type="number" /> > Very smart with making the value a real number (as opposed to an integer). This will make the sorting work even on TOC fragments of different depths. The only problem in this is the case of pos="14" as opposed to pos="2". I have never used format-number before, but I guess that this would be what it would be good for: <xsl:sort select="number(concat(@pos,'.,STRUC/STRUCT/format-number(@pos,'00'),..." data-type="number"/> But this sure is unwieldy, and now we have two conditions: that the depths is less than a certain number and that there are no more than 99 child nodes to a given structure element. > Otherwise I would suggest a multistep process or refering to extensions.. Well, extensions I can certainly make myself, but I haven't been able to find a multistep process to doing this. I am very curious on how to do this. Thanks, Ragulf Pickaxe :-)
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