luni, 3 noiembrie 2008

Documente XML

Ce putem spune despre XML
XML (eXtensible Markup Language) este un limbaj de adnotare/structurare a datelor si provine din SGML (Standard Generalized Markup Language), creat in anii '80. Limbajul SGML avea drept scop crearea de documente care sa poata fi analizate de masini prin introducerea de marcaje (taguri), insa nu a avut succes.
XML a aparut in anii '90, avand avantajul de a permite introducerea de taguri noi, lucru nepermis la momentul respectiv de HTML (HyperText Markup Language), derivat tot din SGML.
Ca dezavantaj, XML introduce un overhead pentru ca fiecare marcaj deschis trebuie sa aiba in document un marcaj asociat care il inchide.
Sintaxa XML
Un document XML are structura unui arbore de elemente imbricate. Un element poate avea unul sau mai multe atribute si este determinat de un marcaj de inceput de tipul <nume_marcaj>si de un marcaj de sfarsit </marcaj>.
Continutul unui element poate fi vid, poate contine informatia unui singur element, sau poate contine mai multe elemente, creandu-se asfel relatii de rudenie intre elemente si aparitia unor constrangeri suplimentare.
Marcajele(tag-urile) sunt case-sensitive, iar numele unui element trebuie sa indeplineasca urmatoarele conditii:

  • poate sa contina cifre, litere si alte caractere;
  • nu poate incepe cu cifre sau semne de punctuatie;
  • nu poate incepe cu "xml";
  • nu poate contine spatii.

De asemenea un document XML trebuie sa aiba o singura radacina. Un exemplu de document XML ar fi urmatorul:

<?xml version="1.0" encoding="ISO-8859-1" ?>>
<persoana>
<nume>Pirlea</nume>
<prenume>Alina</prenume>
<cnp>2861815340033</cnp>
<Adresa>Str. Libertatii, nr.202, Onesti</Adresa>
<Studii>
<Facultate>Facultatea de Automatica si Calculatoare</Facultate>
<sectia&gCalculatoare</sectia>
<Liceu>Colegiul National Unirea, Turnu Magurele</Liceu>
</Studii>
</persoana>

Prima linie dintr-un document XML la fel ca si in acesta reprezinta versiunea limbajului si codificarea folosita.

In exemplul dat, elementul <persoana> este "parinte" pentru elementele <nume>, <prenume>, <cnp>, <Adresa>, <Studii> care sunt "frati". La randul lui, elementul <Studii> este "parinte" pentru <Facultate>, <sectia>, <Liceu>.

Cu ajutorul acestor simple reguli de sintaxa vom putea obtine ceea ce se numeste un document XML bine format. Acest document se valideaza la randul lui cu ajutorul unui alt fisier in care se definesc tagurile folosite. Acest alt fisier poate fi de tip DTD sau XSchema si despre ele vom vorbi in posturile urmatoare.

Cazuri de utilizare

Cel mai evident caz de utilizare este cel al fisierelor de configurare. In momentul de fata foarte multe aplicatii isi pastreaza fisierele de configurare in XML. Motivele sunt cele enuntate mai sus – parsare rapida pentru calculatoare, usor de citit de catre oameni, structura logica a datelor.
Un alt caz de utilizare este in bazele de date. In momentul de fata XML poate fi folosit cu succes pentru baze de date mici. In momentul in care bazele de date cresc ca dimensiune overheadul devine inacceptabil.
XML sta la baza multor tehnologii si limbaje noi. Astfel pentru prezentare de continut pe web exista XHTML si WML (pentru dispozitive mobile), pentru descrierea unor fisiere XML exista XSchema, pentru transformarea fisierelor XML pentru a fi reprezentate exista XSL, pentru realizarea unor prezentari exista SMIL, pentru descrierea obiectelor grafice exista SVG, pentru reprezentarea semanticii unor domenii exista RDF si/sau OWL, pentru schimb de informatii intre aplicatii exista SOAP si asa mai departe, lista aceasta fiind departe de a cuprinde toate tehnologiile/limbajele existente bazate pe XML.

Editare XML

Există o largă varietate de instrumente pentru editarea fişierelor XML. Din seria celor comerciale cele mai cunoscute sunt XMLSpy şi StylusStudio. Ambele oferă versiuni de „trial” pentru a vedea ce facilităţi oferă.
Datorită simplităţii sintaxei o gamă largă de editoare au facilităţi pentru crearea fişierelor XML: Notepad++ (http://notepad-plus.sourceforge.net), Context (http://www.context.cx/) din gama editoarelor mai simple şi Eclipse sau Netbeans din gama editoarelor mai complexe.


Sabloane de proiectare

Site-ul XMLPatterns.com prezintă un mare număr de şabloane de construcţie a fişierelor XML. Folosirea acestor şabloane permite crearea unor documente mai uşor de citit, folosit şi prelucrat, permite gestionarea mai facilă a informaţiilor oferite.
Vom aminti astfel şabloanele cele mai importante:

  • Şabloane pentru folosirea Metadatelor (date despre date)
  • Abstractizare
  • Organizarea datelor

Pentru mai multe detalii şi pentru mai multe şabloane vizitaţi http://xmlpattern.com

Concluzii

XML-ul este un limbaj cu o sintaxa simpla si care permite doar structurarea datelor intr-o maniera proprie prin definirea propriilor taguri. Aceasta facilitate de structurare a datelor a permis folosirea sa pentru a dezvolta limbaje noi precum si pentru a fi folosit in noi standarde de stocare a datelor.

Bibliografie:

http://curs.cs.pub.ro

Tutoriale XML gasiti la:

http://www.w3schools.com/xml/default.asp

http://www.tizag.com/xmlTutorial/

Niciun comentariu: