CDATA

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

CDATA ( C haracter data ) este utilizat în diferite domenii în limbaje de markup, cum ar fi SGML sau XML . Termenul indică o anumită porțiune a unui document care conține caractere generice sau caractere reprezentând date sau o structură marcată prin etichete.

Secțiuni CDATA în XML

Într-un document XML, o secțiune CDATA este tratată doar ca text simplu, astfel încât analizorul nu interpretează conținutul ca marcare. Nu există nicio diferență semantică între textul inclus într-o secțiune CDATA și textul convertit în entități (de exemplu, „&” este reprezentat cu & amp; sau „<” cu & lt; ).

Sintaxă și interpretare

O secțiune CDATA începe cu:

 <! [CDATA [

și se termină cu prima apariție a:

 ]]>

Toate caracterele cuprinse între aceste două secvențe sunt interpretate ca text simplu, nu ca markup sau entități. De exemplu, într-un tip de linie

<mittente>Mario Rossi</mittente>

deschiderea și închiderea expeditorului este interpretată ca marcare. Secțiunea CDATA este utilizată ca în exemplu:

<mittente><![CDATA[Mario Rossi / , < >]]></mittente>

În acest caz, conținutul etichetei expeditorului este interpretat ca Mario Rossi / , < > .

Cu toate acestea, dacă este scris astfel:

<![CDATA[<mittente>Mario Rossi</mittente>]]>

toate șirurile vor fi tratate ca text și eticheta expeditorului nu va fi considerată ca marcare. Datele rezultate în urma analizei XML sunt șirul <mittente>Mario Rossi</mittente> .

Folosind secțiunile CDATA

De câteva ori când un programator scrie un document XML, abuzează de secțiunile CDATA, crezând că acestea sunt pur și simplu pentru a „proteja” datele.

Secțiunile CDATA sunt foarte utile pentru a include XML ca text simplu într-un document XML. De exemplu, dacă cineva scrie o carte în XML (formatând-o cu XSL ) pentru a vorbi despre XML în sine, pentru a furniza exemple de cod, trebuie să le încadreze în mod necesar în secțiuni CDATA. Cu toate acestea, o secțiune CDATA nu poate conține șirul "]]>" - această problemă poate fi totuși rezolvată separând parantezele de simbolul major, ca în acest exemplu:

 <! [CDATA []]]]> <! [CDATA [>]]>


CDATA în DTD-uri

CDATA ca tip

În fișierele de definire tip document (DTD), unui atribut i se poate atribui tipul CDATA: valoarea atribuită va fi tratată ca text și, prin urmare, va fi posibilă inserarea, fără erori de analiză, caractere și entități . De exemplu, dacă un DTD XML conține

 <! ATTLIST șir de explicații CDATA #IMPLIED>

înseamnă că elementele numite șir ar putea avea un atribut numit explicație de tip CDATA. Un exemplu bun ar putea fi acesta:

 <explicația string = "1 & amp; 2 sunt & lt; din & # 51;">

iar un analizor XML ar interpreta valoarea atributului de explicație ca „ 1 și 2 sunt <din 3 ”.

linkuri externe

W3C: Sintaxă CDATA