Tach.
Wenn als Inhalt für ein XML-Dokument ein Text vorliegt, in dem auch XML-Sonderzeichen (<, & usw.) vorkommen, kann ich mich zwischen zwei Möglichkeiten entscheiden:
1. Ich wandle die Sonderzeichen in ihre Entities um, bevor ich sie ins XML-Dokument schreibe.
2. Ich stecke die entsprechenden Elementinhalte in einen http://de.selfhtml.org/xml/regeln/zeichen.htm#cdata@title=CDATA-Abschnitt.
Landet der fragliche Text sowieso unverändert in einem XHTML-Dokument, käme mir Methode 1 gerade recht, weil die Sonderzeichen bereits in der passenden Form aus der XML-Datei kommen. Möchte ich den Text hingegen an anderer Stelle ausgeben oder weiterverarbeiten, wo solche Entities nicht auftauchen dürfen, müßte vorher eine Rückübersetzung Entity → Sonderzeichen vorgenommen werden. Sinnvoller erscheint es mir, von Anfang an den fraglichen Text unverändert in einem CDATA-Abschnitt zu speichern und jeden Programmteil, der den Text in *anderer* Form benötigt, die Konvertierung selber vornehmen zu lassen.
Letztlich läuft dies darauf hinaus, daß z. B. alle vom User kommenden Texte im XML-Dokument als CDATA gespeichert werden (wenn ich daran <, & usw. zulassen möchte). Habe ich bei obigen Überlegungen einen Punkt nicht beachtet, der sich noch als Nachteil der "CDATA-Methode" darstellen könnte? Was sind eure Empfehlungen in dieser Angelegenheit?
Once is a mistake, twice is jazz.