Re: [xsl] need to write multiple branching tree hierarchies as numbered lists

Subject: Re: [xsl] need to write multiple branching tree hierarchies as numbered lists
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Thu, 29 Mar 2007 13:02:42 -0400
Mark,

At 12:44 PM 3/29/2007, you wrote:
My inclination is build the main loop on the terminal steps, ie.
for-each select="//step[not(step)]". But I'm not sure where to go after
that, since climbing backward through parent::step will build the list
in reverse.

Actually, it won't, since xsl:apply-templates and xsl:for-each are both specified to output their results in an order corresponding to the document order of the input.


  Perhaps storing the id of the terminal step and passing
that along to a recursive template that walks descendants of
ancestor::step[1]?

Because of the above, this isn't necessary.


(BTW, the name attribute is for demonstration only, I don't have an
attribute that I can sort on.)

Even if the order of the output weren't document order, one could still calculate (and thus sort on) the depth of the node:


<xsl:sort select="count(ancestor-or-self::*)"/>

... but try without this: I think your idea should work.


Cheers, Wendell


====================================================================== Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx Mulberry Technologies, Inc. http://www.mulberrytech.com 17 West Jefferson Street Direct Phone: 301/315-9635 Suite 207 Phone: 301/315-9631 Rockville, MD 20850 Fax: 301/315-8285 ---------------------------------------------------------------------- Mulberry Technologies: A Consultancy Specializing in SGML and XML ======================================================================

Current Thread