4.1.11.1  Zeichen entfernen

Ein Lösungsweg wäre die HTML5 Deklaration zu lassen, aber die wenigen bekannten Zeichen, die in der XML Eingabe vorkommen können, auf erlaubte Entities zu mappen oder zu entfernen. Letzteres habe ich z.B. so in der freien Wildbahn gesehen:

<xsl:character-map name="html">
   <xsl:output-character character="&#148;" string=""/>
   <xsl:output-character character="&#149;" string=""/>
[...]
Plain Text

Das Hex Entity No. 148 ist z.B. ein spezielles Anführungszeichen, das im obigen Beispielquelltext einfach mittels der Character Map aus dem Ausgabebaum entfernt wird. Das Zeichen kann dann in einem Fehlerlog ausgegeben werden, und die Transformation läuft durch. Natürlich sollte man sich aber auch überlegen, warum ein solches Zeichen unmaskiert in die XML Eingabe gelangt ist.

M.E. ist es am besten einen XHTML Doctype zu verwenden und nicht abgeschlossene HTML5 Tags zu verbieten.