miercuri, 16 ianuarie 2008

e XML

XML este acronimul de la Extensible Markup Language, si, ca si multe alte idei de formate stralucite, a aparut intai ca un working draft, in anul 1996. 2 ani mai tarziu s-a redactat primul standard, iar acum este deja la a 4-a editie revizuita. Problemele pe care a vrut sa le rezolve XML au fost aglomeratia de tag-uri din SGML si chiar HTML. De exemplu, HTML-ul are tags care nu sunt case sensitive, lucru ce a dus la neconcordante intre modul de scriere a tagurilor, chiar si in cuprinsul aceleiasi pagini. Deoarece fondatorii si-au dorit un format care sa poata exprima informatie intr-un format care sa fie inteligibil atat de om cat si de masina, era necesar impunerea unor constrangeri mult mai dure.

In prezent, XML se foloseste in orice aplicatie care doreste sa aiba fisiere de configurare. Toate setarile de interfata, de exemplu ale unui browser ca Firefox, sunt stocate in xml-uri. Exista parsere foarte eficiente, si suport pentru citit/scris/parsat XML in orice limbaj de programare. Lucru care are ceva greutate in lumea tehnologiei, in care totul se schimba de la an la an. Iata ca XML a devenit intre timp un standard iubit de toata lumea, in special pentru simplitatea lui, motiv pentru care a si ramas aproape la fel. Dar ce este XML?

XML este un document in format text, care are un header si corp, definit recursiv prin tags imbricate, si avand un singur tag de root, obligatoriu. Astfel, orice am vrea sa punem intr-un XML, trebuie incapsulat intr-un arbore de tags. Iata un exemplu de XML simplu:



verde
galbena


Se pot observa cateva din regulile xml-ului:

* fiecare tag trebuie deschis si inchis corect, in ordinea inversa deschiderii, cand avem imbricari eu
* tags au nume CASE-SENSITIVE. Adica e diferit de
* atributele iau valori astfel: attr = "val"

De remarcat ca browserele adapteaza HTML si uneori chiar daca sintaxa e incorecta, ele tot afiseaza pagina ok. In cazul XML, daca ceva nu e bine, da eroare. Alte reguli de tinut minte sunt cele legate de interpretarea caracterelor din document. De exemplu, in HTML, oricate spatii ati insera, browserul trateaza totul ca un unic space. IN XML, fiecare caracter reprezinta o portiune de informatie, si trebuie pastrata exact asa cum o introduce utilizatorul. Acest lucru include sfarsitul de linie (LF).

Dupa cum se poate observa, un XML nu e complicat de creat. Partea cu adevarat interesanta este ce s-a dezvoltat in paralel cu XML-ul, pentru a utiliza formatul. XML e similar unui recipient, care controleaza forma, dar nu poate controla continutul pe care userul vrea sa-l puna inauntru. Pentru a face asta, exista alte formate, numite DTD si XMLSchema, prin care se pot defini reguli suplimentare la care trebuie sa se conforme un XML, pe langa cele de "bine-format", pe care le-am prezentat inainte. Cu aceste doua noi formate de fisiere, XML devine un format foarte puternic de validare a datelor, si de stocare.

Bineinteles, XML nu va fi folosit niciodata pentru a stoca informatie redundanta, de genul documente, imagini, etc, din cauza dimensiunilor mari ale formatului sau necompresat. Desi o varianta ar fi sa impachetezi un fisier XML si apoi sa fie arhivat, se obtin rezultate mai bune gasind un format mai potrivit pentru fisier.

Dar nu se stie niciodata ce ne va aduce viitorul!

Referinte:

* http://www.w3schools.com/xml/xml_whatis.asp
* http://en.wikipedia.org/wiki/XML

Niciun comentariu: