close

Limbajul de marcare extensibil

Mergi la navigare Mergi la căutare
Limbajul de marcare extensibil (XML)
xml.svg
Extensible Markup Language (XML) logo.svg
dezvoltator
Consorțiul World Wide Web
http://www.w3.org/XML
Informatii generale
extensia de fișier .xml
de tip mimic application/xml, text/xml
lansarea inițială 1999
tip de format limbaj de marcare
prelungit de la SGML și Unicode
Standard(e) 1.0 (Ediția a patra)
1.1 (Ediția a doua)
format deschis da 

XML , acronim în engleză pentru eXtensible Markup Language , tradus ca „Extensible Markup Language” sau „Extensible Markup Language”, este un metalimbaj care permite definirea limbajelor de marcare dezvoltate de World Wide Web Consortium (W3C) utilizate pentru stocarea datelor în format lizibil. formă. Provine din limbajul SGML și vă permite să definiți gramatica unor limbi specifice (în același mod în care HTML este el însuși un limbaj definit de SGML) pentru a structura documente mari. Spre deosebire de alte limbi, XML acceptă baze de date, ceea ce îl face util atunci când mai multe aplicații trebuie să comunice între ele sau să integreze informații. [ 1 ]

XML nu a fost creat doar pentru aplicarea sa pe Internet , ci este mai degrabă propus ca standard pentru schimbul de informații structurate între diferite platforme. Poate fi folosit în baze de date, editori de text, foi de calcul și aproape orice altceva imaginabil.

XML este o tehnologie simplă care are în jurul ei altele care o completează și o fac mult mai mare, cu posibilități mult mai mari. Acesta joacă un rol foarte important astăzi, deoarece permite compatibilitatea între sisteme pentru a partaja informații într-un mod sigur, fiabil și ușor.

Istoric

XML provine dintr-un limbaj inventat de IBM în anii 1970 , numit GML ( Generalized Markup Language ), care a apărut din nevoia companiei de a stoca cantități mari de informații și de a le partaja cu alte sisteme de operare și platforme. ISO i-a plăcut acest limbaj , așa că în 1986 au lucrat pentru a-l standardiza, creând SGML ( Standard Generalized Markup Language ), capabil să se adapteze la o gamă largă de probleme. Din el au fost create alte sisteme pentru a stoca informații. [ 2 ]

În 1989 , Tim Berners Lee a creat web -ul și, odată cu acesta, limbajul HTML. Acest limbaj a fost definit în cadrul SGML și a fost de departe cea mai cunoscută aplicație a acestui standard. Cu toate acestea, browserele web au impus întotdeauna puține cerințe privind codul HTML pe care îl interpretează, astfel încât paginile web sunt haotice și nu sunt conforme cu sintaxa . Aceste pagini web se bazează în mare măsură pe un mod specific de a trata erorile și ambiguitățile, ceea ce face paginile mai fragile și browserele mai complexe.

O altă limitare a HTML este că fiecare document aparține unui vocabular fix, stabilit de DTD . Elementele din vocabulare diferite nu pot fi combinate. De asemenea, este imposibil ca un interpret (de exemplu, un browser) să analizeze documentul fără cunoașterea gramaticii acestuia (a DTD-ului). De exemplu, browserul știe că înainte de o etichetă <div> orice <p> deschis anterior trebuie să fi fost închis. Browserele au rezolvat acest lucru incluzând logica ad-hoc pentru HTML, în loc să includă un parser generic . Ambele opțiuni sunt însă foarte complexe pentru browsere.

S-a căutat apoi definirea unui subset de SGML care să permită:

  • Amestecă elemente din diferite limbi. Adică, limbile sunt extensibile.
  • Crearea de analizoare simple, fără nicio logică specială pentru fiecare limbă.
  • Începeți de la zero și subliniați că un document cu erori de sintaxă nu este niciodată acceptat.

Pentru a face acest lucru, XML omite multe caracteristici ale SGML care au fost menite să faciliteze scrierea manuală a documentelor. XML, pe de altă parte, are scopul de a ușura lucrurile pentru programele automate care trebuie să interpreteze documentul.

Critică

XML și extensiile sale au fost criticate în mod regulat pentru nivelul lor de detaliu și complexitate. [ 3 ] Maparea modelului arborelui de bază al XML la sistemele de tip de limbaje de programare sau baze de date poate fi dificilă, mai ales atunci când se folosește XML pentru schimbul de date foarte structurat între aplicații, ceea ce nu a fost scopul principal de proiectare. Alți critici încearcă să respingă afirmația conform căreia XML este un limbaj auto-descriere [ 4 ] (deși specificația XML nu face o astfel de afirmație). JSON și YAML sunt adesea propuse ca alternative, ambele concentrându-se pe reprezentarea datelor structurate, mai degrabă decât pe documentele narative.

Avantajele XML

  • Este extensibil: după ce este proiectat și pus în producție, XML poate fi extins prin adăugarea de noi etichete, astfel încât să poată fi utilizat în continuare fără probleme.
  • Analizorul este o componentă standard, nu este nevoie să creați un parser specific pentru fiecare versiune de limbaj XML. Acest lucru face posibilă utilizarea oricăruia dintre analizoarele disponibile. În acest fel, bug-urile sunt evitate și dezvoltarea aplicațiilor este accelerată.
  • Dacă o terță parte decide să folosească un document creat în XML, este ușor de înțeles structura acestuia și de a-l procesa. Îmbunătățește compatibilitatea între aplicații. Putem comunica aplicații de pe diferite platforme, indiferent de originea datelor, adică am putea avea o aplicație Linux cu o bază de date Postgres și să comunicăm cu o altă aplicație Windows și baza de date MS-SQL Server.
  • Transformăm datele în informație, deoarece li se adaugă un sens specific și le asociem cu un context, cu care avem flexibilitate de a structura documentele.

Structura unui document XML

Tehnologia XML urmărește să rezolve problema exprimării informațiilor structurate în cel mai abstract și reutilizabil mod posibil. Faptul că informația este structurată înseamnă că este alcătuită din părți bine definite și că aceste părți sunt formate din alte părți. Apoi aveți un arbore de informații. Exemple sunt o temă muzicală, care este alcătuită din bare, care sunt ele însele formate din note. Aceste părți sunt numite elemente și sunt marcate prin etichete .

O etichetă constă dintr-un marcaj realizat pe document, care desemnează o porțiune a acestuia ca element. O informație cu un sens clar și definit. Etichetele au forma <nume> , unde nume este numele elementului către care este indicat.

Mai jos este un exemplu pentru a înțelege structura unui document XML:

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE Edit_Message SYSTEM "Edit_Message.dtd">

<Edit_Message> 
     <Message> 
          <Sender> 
               <Name> Numele expeditorului </Name> 
               <Mail> Email -ul expeditorului </Mail> 
          </Sender> 
          <Recipient> 
               <Name> Numele destinatarului </Name> 
               <Mail> Emailul destinatarului < /Mail> 
          </Destinatar> 
          <Text> 
               <Subiect>
                    Acesta este documentul meu cu o structură foarte simplă
                    nu conține atribute sau entități...
               </Subiect> 
               <Paragraf>
                    Acesta este documentul meu cu o structură foarte simplă
                    nu conține atribute sau entități...
               </Paragraph> 
          </Text> 
     </Message> 
</Edit_Message>

Iată exemplul de cod al DTD din documentul „Edit_Message.dtd”:

<?xml version="1.0" encoding="ISO-8859-1" ?> 
<!-- Acesta este DTD-ul Edit_Message -->

<!ELEMENT Mesaj (Expeditor, Destinatar, Text)*> 
<!ELEMENT Sender (Nume, Mail)> 
<!ELEMENT Nume (#PCDATA)> 
<!ELEMENT Mail (#PCDATA)> 
<!ELEMENT Destinatar (Nume, Mail) > 
<!ELEMENT Nume (#PCDATA)> 
<!ELEMENT Mail (#PCDATA)> 
<!ELEMENT Text (Subiect, Paragraf)> 
<!ELEMENT Subiect (#PCDATA)> 
<!ELEMENT Paragraf (#PCDATA)>

Documente XML bine formate și tratarea erorilor

Așa-numitele documente „bine formate” sunt acelea care îndeplinesc toate definițiile de bază ale formatului și, prin urmare, pot fi analizate corect de orice analizator compatibil cu standardul . Aceasta este separată de conceptul de validitate care este explicat mai târziu.

  • Documentele trebuie să urmeze o structură strict ierarhică în ceea ce privește etichetele care le delimitează elementele. O etichetă trebuie inclusă corect în alta, adică etichetele trebuie să fie imbricate corect. Elementele de conținut trebuie să fie închise corespunzător.
  • Documentele XML permit doar un element rădăcină din care fac parte toate celelalte, adică pot avea doar un element inițial.
  • Valorile atributelor în XML trebuie întotdeauna incluse între ghilimele simple sau duble.
  • XML-ul este sensibil la majuscule. Există un set de caractere numite spații albe (spații, tab-uri, returnări de cărucior, avansuri de linie) care sunt tratate diferit de procesoarele XML în marcajul XML.
  • Este necesar să se atribuie nume structurilor, tipurilor de elemente, entităților, elementelor particulare etc. În XML, numele au unele caracteristici în comun.
  • Construcțiile precum etichetele, referințele de entități și declarațiile sunt numite mărci; sunt părți ale documentului pe care procesorul XML se așteaptă să le înțeleagă. Restul documentului dintre mărci sunt datele „înțelese” de oameni.

Părți ale unui document XML

Un document XML este format din prolog și corpul documentului, precum și din textul etichetei care conține o mare varietate de efecte pozitive sau negative asupra referinței opționale la care se referă documentul, trebuie să fii foarte atent la acea parte a gramatică lexicală astfel încât să fie compusă uniform.

Deși nu sunt necesare, documentele XML pot începe cu câteva rânduri care descriu versiunea XML, tipul documentului și alte lucruri.

Prologul unui document XML conține:

  • O declarație XML. Este declarația care declară documentul ca document XML.
  • O declarație de tip de document. Acesta leagă documentul la DTD -ul său (definiția tipului de document), sau DTD-ul poate fi inclus în declarație în sine, sau ambele în același timp.
  • Unul sau mai multe comentarii și instrucțiuni de procesare.

Exemplu:

<?xml version="1.0" encoding="UTF-8"?>

Corp

Spre deosebire de prolog, corpul nu este opțional într-un document XML, corpul trebuie să conțină un singur element rădăcină, o caracteristică esențială și pentru un document bine format. Totuși, achiziția datelor este necesară pentru buna funcționare a acesteia.

Exemplu:

<Edit_Message>
     (...)
</Edit_Message>

Elemente

Elementele XML pot avea conținut (mai multe elemente, caractere sau ambele) sau pot fi elemente goale.

Atribute

Elementele pot avea atribute, care sunt o modalitate de a adăuga caracteristici sau proprietăți elementelor dintr-un document. Ele trebuie să fie între ghilimele.

De exemplu, un element „student” poate avea un atribut „Mario” și un atribut „tip”, cu valorile „eats kibble” și respectiv „taleno”.

<Student Mario="eat croquettes" type="taleno">Aceasta este o zi în care Mario iese la plimbare...</Student>

Entități predefinite

Entități care să reprezinte caractere speciale, astfel încât acestea să nu fie interpretate ca markup în procesorul XML.

Exemplu: entitate predefinită: & caracter: &.

secțiuni CDATA

Este o construcție XML pentru specificarea datelor folosind orice caracter fără ca acesta să fie interpretat ca markup XML. A nu se confunda cu 2(#PCDATA) care este pentru elemente. Permite caracterelor speciale să nu rupă structura. Exemplu:

<![CDATA[conținut special: \n áéíóúñ&]]>

Comentarii

Comentarii cu scop informativ pentru programator care trebuie ignorate de procesor. Comentariile în XML au următorul format:

  <!--- Acesta este un comentariu ---> 
  <!-- Un alt comentariu -->

Valabilitate

Faptul că un document este „bine format” se referă doar la structura sa sintactică de bază, adică este alcătuit din elemente, atribute și comentarii așa cum XML le specifică să fie scrise. Acum, fiecare aplicație de XML, adică fiecare limbă definită cu această tehnologie, va trebui să precizeze care este exact relația care trebuie verificată între diferitele elemente prezente în document.

Această relație între elemente este specificată într-un document sau definiție externă (exprimată ca DTD sau ca XSchema ). Crearea unei definiții este echivalentă cu crearea unui nou limbaj de marcare, pentru o anumită aplicație.

Definiție tip document

Definiția tipului de document sau DTD (în spaniolă „definiția tipului de document”) definește tipurile de elemente, atribute și entități permise și poate exprima unele limitări pentru a le combina. Documentele XML care se conformează DTD-ului lor sunt numite valide.

Declarații de tip de element

Elementele trebuie să fie conforme cu un tip de document declarat într-o DTD pentru ca documentul să fie considerat valid.

Modele de conținut

Un model de conținut este un model care stabilește subelementele acceptate și ordinea în care sunt acceptate.

Declarații de listă de atribute

Atributele sunt folosite pentru a adăuga informații suplimentare elementelor dintr-un document.

Tipuri de atribute

  • Atributele CDATA și NMTOKEN
  • Atribute și notații enumerate
  • Atributele ID și IDREF

Declarație de entitate

XML se referă la obiecte care nu ar trebui analizate conform regulilor XML, prin utilizarea entităților. Entitățile pot fi:

  • interne sau externe
  • Analizat sau neanalizat
  • Generale sau parametrizate

Spații de nume

Spațiile de nume XML vă permit să separați semantic elementele care alcătuiesc un document XML.

Scheme XML (XSD)

O Schemă este oarecum similară cu un DTD. Acesta definește ce elemente poate conține un document XML, cum sunt organizate și ce atribute și ce tip pot avea elementele sale.

Avantajele schemelor față de DTD-uri

  • Ele folosesc sintaxa XML, spre deosebire de DTD.
  • Acestea vă permit să specificați tipurile de date.
  • Sunt extensibile.

Instrumente pentru lucrul cu documente XML

Orice procesor de text care este capabil să producă fișiere .txt este capabil să genereze XML; mediile de dezvoltare precum Eclipse sau Visual Studio simplifică sarcina. Prin recunoașterea formatelor, acestea ajută la generarea XML bine format. Ele pot fi împărțite în două grupe:

  • Instrumente de creație.
  • Instrumente de management al conținutului.

Limbi create folosind XML

Limbaj extensibil pentru foi de stil (XSL)

Extensible Style Sheet Language ( e X tensible Stylesheet Language , XSL ) este o familie de limbi care vă permit să descrieți modul în care fișierele codificate XML vor fi formatate (pentru afișare) sau transformate. Există trei limbi în această familie: XSL Transformations ( XSLT ), XSL Formatting Objects (XSL-FO) și XML Path Language.

XML Link Language (XLINK)

XLink este o aplicație XML care încearcă să depășească limitările pe care le au linkurile hipertext în HTML. XLink 1.1 este deja o recomandare W3C.

Alte tehnologii

Unii oameni cred că XML este prea greu pentru unele aplicații și dificil de editat cu un simplu editor de text . Prin urmare, merită menționat câteva alternative mai ușoare și mai simple. Limbaje ușoare de marcare :

  • Simple Outline XML – Acesta este un XML simplificat care poate fi convertit cu ușurință în XML complet .
  • YAML și OGDL . Aceste două sunt fișiere doar text care nu sunt legate de XML, cum ar fi SOX, discutat mai sus.
  • BBCode . Aceasta are o utilizare foarte restrânsă pentru formatarea nimic altceva.

Există, de asemenea, cel puţin un limbaj bazat pe XML în format binar , numit EBML .

Vezi și

Referințe

  1. Silberschatz, Abraham. McGraw-Hill, ed. Bazele bazei de date . 
  2. „Ce este XML și pentru ce este folosit” . IR5 . Recuperat la 2 noiembrie 2012 . 
  3. Jeff Atwood (2009): XML: The Angle Bracket Tax
  4. Eric Brown (2003). Mitul XML auto-descrierii . (în limba engleză)

Link- uri externe