Co oznacza w XML?

Często znajduję ten dziwny znacznik CDATA w plikach XML:

<![CDATA[some stuff]]>

Zaobserwowałem, że ten znacznik CDATA zawsze pojawia się na początku, a następnie po nim następują jakieś rzeczy.

Ale czasami jest on używany, czasami nie. Zakładam, że ma to na celu zaznaczenie, że jakieś rzeczy są "danymi", które zostaną wstawione po tym. Ale jakiego rodzaju danymi są jakieś rzeczy? Czy wszystko, co piszę w znacznikach XML nie jest jakimś rodzajem danych?

Rozwiązanie

CDATA to skrót od Character Data i oznacza, że dane pomiędzy tymi ciągami zawierają dane, które mogłyby być interpretowane jako znacznik XML, ale nie powinny.

Kluczowe różnice pomiędzy CDATA a komentarzami są następujące:

  • Jak zauważa Richard, CDATA jest nadal częścią dokumentu, podczas gdy komentarz nie.
  • W CDATA nie można umieścić ciągu ]]> (CDEnd), podczas gdy w komentarzu -- jest nieważne.
  • Referencje Parameter Entity nie są rozpoznawane wewnątrz komentarzy.

Oznacza to, że biorąc pod uwagę te trzy fragmenty XML z jednego dobrze sformowanego dokumentu:




An example of escaped CENDs


]]>

]]>
Komentarze (10)

Dane w nim zawarte nie będą parsowane jako XML i jako takie nie muszą być poprawnym XML lub mogą zawierać elementy, które mogą wyglądać jak XML, ale nim nie są.

Komentarze (0)

Jest używany do przechowywania danych, które w przeciwnym razie mogłyby być postrzegane jako xml, ponieważ zawierają pewne znaki.

W ten sposób dane wewnątrz będą wyświetlane, ale nie będą interpretowane.

Komentarze (0)