[xsl] a table-of-contents for XHTML problem

Subject: [xsl] a table-of-contents for XHTML problem
From: "Ivan Shmakov" <oneingray@xxxxxxxxx>
Date: Mon, 16 Jun 2008 01:46:27 +0700
        I wonder, what would be the simplest way to transform a sequence
        of sibling nodes, e. g.:

   <body>
     <h1>Chapter</h1>
     <h2>Section</h2>
     <h3>Subsection</h3>
     <h3>Another subsection</h3>
     <h2>Another section</h2>
   </body>

        into a nested list, like:

   <body>
     <ul>
       <li>Chapter
         <ul>
           <li>Section
             <ul>
               <li>Subsection</li>
               <li>Another subsection</li>
             </ul>
           </li>
           <li>Another section</li>
         </ul>
       </li>
     </ul>
   </body>

        in XSLT 1.0?

        The following conditions are assumed to be true:

        * all the `hN' nodes are the children of a single `body' node;

        * for any consequent elements `hN' and `hM', M <= 1 + N; the
          first child of the `body' node is `h1'; i. e., it's assumed
          that, e. g., the following input could never happen:

   <body>
     <h1>Foo</h1>
     <h3>Bar</h3>
   </body>

Current Thread