Was bedeutet in XML?

Ich finde oft dieses seltsame CDATA-Tag in XML-Dateien:

<![CDATA[some stuff]]>

Ich habe beobachtet, dass dieser CDATA-Tag immer am Anfang steht und dann von einigen Dingen gefolgt wird.

Aber manchmal wird es verwendet, manchmal nicht. Ich nehme an, es soll kennzeichnen, dass "etwas" die "Daten" sind, die danach eingefügt werden. Aber welche Art von Daten ist einiges Zeug? Ist nicht alles, was ich in XML-Tags schreibe, eine Art von Daten?

Lösung

CDATA steht für Character Data und bedeutet, dass die Daten zwischen diesen Strings Daten enthalten, die als XML-Markup interpretiert werden könnten, aber nicht sollten.

Die wichtigsten Unterschiede zwischen CDATA und Kommentaren sind:

  • Wie Richard hervorhebt, ist CDATA immer noch Teil des Dokuments, während ein Kommentar dies nicht ist.
  • In CDATA kann man die Zeichenkette ]]> (CDEnd) nicht einschließen, während in einem Kommentar -- ungültig ist.
  • Parameter Entity Referenzen werden innerhalb von Kommentaren nicht erkannt.

Dies bedeutet, dass diese drei XML-Schnipsel aus einem wohlgeformten Dokument gegeben sind:




An example of escaped CENDs


]]>

]]>
Kommentare (10)

Die darin enthaltenen Daten werden nicht als XML geparst und müssen daher kein gültiges XML sein oder können Elemente enthalten, die zwar wie XML aussehen, es aber nicht sind.

Kommentare (0)

Es wird verwendet, um Daten zu enthalten, die sonst als xml angesehen werden könnten, weil sie bestimmte Zeichen enthalten.

Auf diese Weise werden die darin enthaltenen Daten angezeigt, aber nicht interpretiert.

Kommentare (0)