xsl-list
[Top] [All Lists]

RE: outputting unknown amount of child elements

2004-02-05 05:49:03
This is what recursion is for. In your template that matches "item" output the value of the first text node 
"text()[1]", then apply-templates again. That will call the "item" template again. Your transformer 
will automatically stop processing when the source document runs out of "item" elements.
--
Charles Knell
cknell(_at_)onebox(_dot_)com - email



-----Original Message-----
From:     David Elsmore <delsmore(_at_)brookes(_dot_)ac(_dot_)uk>
Sent:     Thu, 05 Feb 2004 12:09:33 +0000
To:       xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject:  [xsl] outputting unknown amount of child elements

Given the following consisting of embedded elements with a common name:
<items>
   <item>Level 1
         <item>Level 2
               <item>A</item>
                 <item>B</item>
                       <item>Level 3
               --- etc.----
               </item>
           </item>
      <item>
</items>

How can I process this so all child elements (regardless of the depth) are outputted in a way that mirrors the structure structure of the original document. For example the uoutput may look something like this:
Heading Level 1
   Heading Level 2
         A
         B
      Heading Level  3

I would find this straightforward if there was a fixed number of levels but in this case the amount varies and is unknown.

Thanks for your help

--
David Elsmore



XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list




XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list