Multa lume vorbeste de XML, dar nimeni nu explica nimic. Ce este XML? La ce foloseste? Incep cu acest articol o prezentare de baza si voi continua in editia urmatoare cu exemple de aplicare practica in Flash si HTML. Dar sa pornim cu inceputul.
1. Ce este XML?
XML este un limbaj la inceput de drum care este introdus ca viitor standard de W3C. Acest limbaj nu proceseaza in nici un fel datele sau informatia. Menirea lui principala este doar de a formata si structura informatia.
Probabil ca va intrebati la ce foloseste acest lucru cand pana acum ne-am descurcat foarte bine cu ce avem. Principalul motiv pentru care W3C incearca sa impuna XML este compatibilitatea. Informatia structurata cu ajutorul XML va fi citita si interpretata ulterior in acelasi fel, indiferent de dispozitiv, fie el mobil, palmtop, PC sau Mac.
2. In ce consta un document XML
Pentru a intelege mai bine XML trebuie cunoscut si inteles modul in care este formatat un document HTML. Structura este asemanatoare intre cele doua.
Tag-ul
Un tag este folosit pentru a defini un element in XML. Este principala unealta folosita si trebuiesc respectate anumite reguli. Un tag va fi tot timpul cuprins de semnele '<' si '>'. Ce este intre cele doua semne reprezinta numele tag-ului. Tag-urile sunt de doua feluri:
tag de inceput - care indica inceputul elementului si este de forma '<tag>';
tag de sfarsit - care indica terminarea definirii elementului si arata ca tag-ul de inceput doar ca are imediat dupa semnul '<' un semn '/'.
Astfel ca un tag arata in general in acest fel:
<tag>continut</tag>
Probabil ca o sa ziceti: dar seamana cu un tag HTML. Asa este dar cu o mica-mare deosebire: tag-urile HTML sunt predefinite, iar cele XML nu. Daca in HTML avem:
<strong>informatie</strong>
este interpretat de HTML ca 'textul informatie dintre cele doua tag-uri trebuie sa fie ingrosat'. In shimb in XML s-ar putea interpreta 'textul informatie este o data de tip strong'.
Atributele
Un tag poate avea atribute. Asta inseamna ca elementul definit de tag poate contine si alta informatie pe langa ce este in interiorul tag-ului.
<adresa cod='5200'> Banului 18 ap.2 bl.222 </adresa>
Prin aceasta la informatia dintre cele doua tag-uri s-a adaugat un atribut cod care poate fi intepretat ca si codul localitatii.
Nu se pot defini doua atribute cu acelasi nume in cadrul aceluiasi tag. Valoarea atributelor trebuie sa fie tot timpul incadrate de ' '. Este indicat ca atributele sa fie folosite doar ca informatii suplimentare ce nu au mare relevanta in informatia principala.
Elementul
Cele doua tag-uri cu atributele si informatia pe care o definesc reprezinta un element. Un element poate contine ca informatie alte elemente la randul lui. Aceasta structura trebuie sa respecte anumite reguli.
3. Structura unui document XML
Primul lucru ce trebuie facut intr-un document XML este declararea lui. Declararea unui document XML se face cu:
<?xml version="1.0"?>
Definirea este necesara la inceputul documentului si nu trebuie folosit un tag de inchidere.
Dupa definire se poate trece la structurarea informatiei. Un document XML are o structura arborescenta in mod asemanator structurii directoarelor cu limitarea la un singur element in radacina.
Sa luam de exemplu structurarea informatiei unui sistem de stiri. Fiecare stire va avea urmatoarele elemente: titlul
data
corp
sursa
Sa vedem cum structuram o astfel de stire: <stire> <titlul>Stirea 1</titlul> <data>20.02.2002</data> <corp>Aceasta este prima stire. Ea este structurata cu ajutorul XML.</corp> <sursa>agentia de stiri</sursa> </stire>
Asadar am inceput cu un element 'stire' cu ajutorul tag-ului <stire> si prin care am spus ca de acum incolo se definiste o stire. In interiorul acestui element sunt alte elemente care la randul lor pot contine alte elemente.
Daca vrem sa adaugam in document inca o stire se incepe un nou element: <stire> <titlul>Stirea 1</titlul> <data>20.02.2002</data> <corp>Aceasta este prima stire. Ea este structurata cu ajutorul XML.</corp> <sursa>agentia de stiri</sursa> </stire> <stire> <titlul>Stirea 2</titlul> <data>22.02.2002</data> <corp>Aceasta este o alta stire.</corp> <sursa>agentie de presa</sursa> </stire>
Modul cum este structurat documentul acum este gresit. In nivelul radacina exista doua elemente si nu trebuie sa fie decat unul singur. Astfel ca cele doua elemente trebuiesc inchise cu doua tag-uri si astfel totul devine un sigur element: <?xml version="1.0"?> <sistem> <stire> <titlul>Stirea 1</titlul> <data>20.02.2002</data> <corp>Aceasta este prima stire. Ea este structurata cu ajutorul XML.</corp> <sursa>agentia de stiri</sursa> </stire> <stire> <titlul>Stirea 2</titlul> <data>22.02.2002</data> <corp>Aceasta este o alta stire.</corp> <sursa>agentie de presa</sursa> </stire>
</sistem>
In structura unui document XML nu este obligatoriu ca elementele de acelasi nivel sa fie de acelasi tip sau sa contina aceleasi elemente la randul lor. Astfel ca sistemul de mai sus nu va fi gresit daca este de acest fel: <?xml version="1.0"?> <sistem> <stire> <titlul>Stirea 1</titlul> <corp>Aceasta este prima stire. Ea este structurata cu ajutorul XML.</corp> <sursa>agentia de stiri</sursa> </stire> <stire> <titlul>Stirea 2</titlul> <data>22.02.2002</data> <corp>Aceasta este o alta stire.</corp> </stire> <flash>Stire scurta sau zvon</flash> </sistem>
Acum prima stire nu are data, iar a doua nu are sursa. De asemenea am mai introdus un element 'flash'. Acest document XML este corect pentru ca respecta modul de structurare arborescent si fiecare tag de inceput are un tag de sfarsit echivalent.
4. Si totusi de ce XML?
Fiind la inceput de drum XML nu pare a fi un instrument prea puternic si nici care ajuta prea mult. Este posibil ca in timp sa nu fie acceptat. Exista insa o multime de comunitati si de dezvoltatori ce au imbratisat aceasta tehnologie. De exemplu Open Office 1.0 se foloseste de XML din plin in structurarea documentelor.
Este bine ca noi sa fim pregatiti si sa intelegem aceasta tehnologie. In urmatoarea parte voi prezenta partea practica in folosirea XML impreuna cu Macromedia Flash.
Sursa: http://xprim.ro
|