Under the <Tasks> node there are many <Task> nodes . Each <Task> has an own outline level. The node <OutlineLevel> has four possible values: one to four. I am trying to output the <Task> node as a nested HTML list with OutlineLevel determining the tasks placement in the list tree.

The xsl below produces a html page which looks right , but is semantic nonsense.
It outputs an unordered list for every single list item. This is obviously because the <ul> creation is done within the for-each loop.

My next thought was that maybe this failed because it wasnít recognized as valid xsl, so I tried wrap-ping the <ul> in a CDATA block hoping they would then be recognized as plain HTML and output as such. Also wrong

My final guess, and that is what they are at this point: guesses Ö my final guess was to try using xsl:text Ö again hoping a <ul> would be recognized and output as plain text/html. No such luck.