Ką reiškia XML kalboje?

Dažnai randu šią keistą CDATA žymą XML failuose:

<![CDATA[some stuff]]>

Pastebėjau, kad ši CDATA žyma visada yra pradžioje, o po jos seka kažkokia informacija.

Tačiau kartais ji naudojama, o kartais ne. Manau, kad ji skirta pažymėti, kad some stuff yra "duomenys", kurie bus įterpti po to. Tačiau kokie duomenys yra kai kurie nors duomenys? Argi viskas, ką rašau XML žymėmis, nėra tam tikros rūšies duomenys?

Sprendimas

CDATA reiškia simbolių duomenys ir reiškia, kad tarp šių eilučių yra duomenys, kurie *galėtų būti interpretuojami kaip XML žymės, bet neturėtų būti interpretuojami.

Pagrindiniai CDATA ir komentarų skirtumai yra šie:

  • Kaip nurodo Richard, CDATA vis dar yra dokumento dalis, o komentaras - ne.
  • Į CDATA negalima įtraukti eilutės ]]> (CDEnd), o į komentarą -- negalioja.
  • Komentaruose neatpažįstamos nuorodos į Parameter Entity.

Tai reiškia, kad pateikus šias tris XML fragmentus iš vieno gerai suformuoto dokumento:




An example of escaped CENDs


]]>

]]>
Komentarai (10)

Jame esantys duomenys nebus analizuojami kaip XML, todėl jie nebūtinai turi būti galiojantis XML arba juose gali būti elementų, kurie gali atrodyti kaip XML, bet tokie nėra.

Komentarai (0)

Jis naudojamas duomenims, kurie kitu atveju galėtų būti laikomi xml, nes juose yra tam tikrų simbolių, įrašyti.

Tokiu būdu viduje esantys duomenys bus rodomi, bet neinterpretuojami.

Komentarai (0)