Hallo,
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:
Ich wandle die Sonderzeichen in ihre Entities um, bevor ich sie ins XML-Dokument schreibe.
Ich stecke die entsprechenden Elementinhalte in einen http://de.selfhtml.org/xml/regeln/zeichen.htm#cdata@title=CDATA-Abschnitt.
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?
Entities müssen eingefügt werden, d.h. du brauchst z.B. eine DTD in der diese Entities definiert sind. Dann müssen sie vom Parser aufgelöst werden*.
Wenn die Texte die du so einfügen willst, fest stehen und sich selten oder gar nicht ändern ist das ein möglicher Weg. * Wobei auch hier zu Problemen kommen kann.
Wenn die Texte aber von User kommen und sich häufig ändern, ist dieser Weg ziemlich unwegsam. Da ist es besser, wenn die Texte im CDATA-Abschnitten liegen, so hast du alles in einer XML-Datei. So ist das z.B. hier im Forum: die Postingstexte stehen im CDATA-Abschnitten (XML-Sonderzeichen sind da noch nicht umgewandelt: d.h. es steht < und nicht < drinn).
Grüße
Thomas