Das Problem habe ich soeben gelöst.
Der fragliche Abschnitt in der .xml wird jetzt in einer CDATA-Sektion aufgeführt.
In die .xsl muss im entsprechenden xsl:value-of noch das Attribut disable-output-escaping="yes" gesetzt werden, damit die Spitzklammern, das bewirken, was sie sollen.
Die Änderungen im Code:
XML
[...]
<data>
<top id="1">
<![CDATA[
Erstes Topic wird hier genauer beschrieben.
Genauer werden die hier enthaltenen html-Elemente vom xslt-Transformer (xalan) "geschluckt".
<br />
Hier können jetzt <ul> und <ol> und andere HTML-Tags gesetzt werden. Natürlich würde das so, wie es jetzt ist, eine falsche Struktur erzeugen, also bitteschön die Element-Hierarchie befolgen:
<ul>
<li>Dann klappta auch mit dem Nachbarn(-Element)</li>
</ul>
]]>
</top>
</data>
[...]###########################################################
Diese .xsl formatiert das ganze:
XSL
[...]
<xsl:template match="data">
<hr noshade="noshade" /><xsl:for-each select="/protokoll/toc/top">
<xsl:sort select="@order" />
<xsl:variable name="id" select="@id" />
<h2>Top <xsl:value-of select="position()" /> - <xsl:value-of select="title" /></h2>
<xsl:if test="subtitle"><h3><xsl:value-of select="subtitle" /></h3></xsl:if>
<div>
<xsl:if test="author/name">
<h4>Eingereicht von: <xsl:value-of select="author/name" />
<xsl:if test="author/comment">
(<xsl:value-of select="author/comment" />)
</xsl:if>
</h4>
</xsl:if>
<xsl:value-of select="/protokoll/data/top[@id=$id]" disable-output-escaping="yes"/>
</div>
</xsl:for-each>
</xsl:template>[...]
##################################################################