title: XSL 1.0 Creating html ul-li tree from xpaths, where data is in xml attributes as text delimited by '/'
body: <p>I'm trying to produce a tree of data that looks like this:</p>
  
  <ul>
  <li>root
  
  <ul>
  <li>1stGenChild1
  
  <ul>
  <li>2ndGenChild1</li>
  <li>2ndGenChild2</li>
  </ul></li>
  <li>1stGenChild2</li>
  </ul></li>
  </ul>
  
  <p>and so produce the code as follows:</p>
  
  <pre><code>&lt;ul&gt;
    &lt;li&gt;root&lt;/li&gt;
    &lt;ul&gt;
      &lt;li&gt;1stGenChild1&lt;/li&gt;
    &lt;ul&gt;
      &lt;li&gt;2ndGenChild1&lt;/li&gt;
      &lt;li&gt;2ndGenChild2&lt;/li&gt;
    &lt;/ul&gt;
    &lt;li&gt;1stGenChild2&lt;/li&gt;
  &lt;/ul&gt;
  </code></pre>
  
  <p>where my data is in the form:</p>
  
  <pre><code>&lt;XML_FILTER&gt;
    &lt;XPATH @xpath="root/1stGenChild1" /&gt;
    &lt;XPATH @xpath="root/1stGenChild1/2ndGenChild1" /&gt;
    &lt;XPATH @xpath="root/1stGenChild1/2ndGenChild2" /&gt;
    &lt;XPATH @xpath="root/1stGenChild2" /&gt;
  &lt;/XML_FILTER&gt;
  </code></pre>
  
  <p>It would be relatively simple to produce this in XSLT2 with tokenise, but I cannot use XSLT2 for this as I am restricted to using only MSXML 6.0 by the system in use.</p>
  
  <p>The biggest problem I've found is that the normal methods of doing this can't deal with the root never being explicitly stated in its own attribute, but I still need this node in the output.</p>
  
  <p>How can I produce a tree for data which may have more child node levels? - ie. many more lists within lists than the example shown above.</p>
  
  <p>Also does anyone know if there is a limit to the number of lists within lists before indentation is not rendered by browsers, as this will make the view useless.</p>
  
  <p>Many thanks.</p>