<img src="computer.gif"> <a href="demo.asp">
<file type="gif"> <person id="3344">
De obicei, sau cel mai adesea, atributele sunt folosite pentru a asigura o informatie care nu este parte constitutiva a continutului documentului XML. Ai inteles acest lucru? Iata o alta cale de a-l exprima: de multe ori, datele atribut sunt mai importante pentru parser decat pentru reader. Acum ai inteles? In orice caz, in exemplul de mai sus, persoana id este o valoare-cuantificator irelevanta pentru reader, dar importanta pentru software-ul care se doreste a manipula elementul persoana.Utilizarea Elementelor vs. AtributelorArunca o privire la aceste exemple:
<person sex="female"> ? <firstname>Anna</firstname> ? <lastname>Smith</lastname> </person>
<person> ? <sex>female</sex> ? <firstname>Anna</firstname> ? <lastname>Smith</lastname> </person>
In primul exemplu sexul este un atribut. In ultimul exemplu, sexul este un element. Ambele exemple transmit aceeasi informatie catre reader. Nu exista reguli fixe despre cand trebuie utilizate atribute pentru a descrie date, sau cand trebuie folosite elemente in acest scop. Totusi, din experienta mea am tras concluzia ca atributele sunt la indemana in HTML, insa in XML ar trebui sa incerci sa le eviti, atata timp cat aceeasi informatie poate fi exprimata prin intermediul elementelor.Iata aici un alt exemplu care demonstreaza cum pot fi utilizate elementele in locul atributelor. Urmatoarele trei documente XML contin exact aceeasi informatie. In primul se foloseste un atribut de date, in al doilea- un element de date, iar in cel de-al treilea- un element de date extins:
<?xml version="1.0"?> <note date="12/11/99"> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note> <?xml version="1.0"?> <note> <date>12/11/99</date> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note> <?xml version="1.0"?> <note> <date> ? <day>12</day> ? <month>11</month> ? <year>99</year> </date> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note>
Sa evitam utilizarea atributelor? (Eu as spune ca da!) De ce ar trebui sa eviti folosirea atributelor? Sa ma crezi pur si simplu pe cuvant? Acestea sunt cateva dintre problemele care survin odata cu folosirea atributelor:
Daca incepeti sa folositi atribute pe post de recipienti pentru date XML, ati putea sa obtineti in final documente care sunt atat dificil de mentinut, cat si de manipulat. Ceea ce incerc sa spun este ca ar trebui sa folosesti elemente pentru descrierea datelor. Foloseste atribute doar pentru a furniza informatii ce nu sunt relevante pentru reader. Sa nu sfarsesti prin a proceda astfel:
<?xml version="1.0"?> <note day="12" month="11" year="99" to="Tove" from="Jani" heading="Reminder" body="Don't forget me this weekend!"> </note>
Nu prea arata a XML. Te-ai prins?O exceptie la regula mea de evitare a atributelorRegulile au intotdeauna si exceptii. Regula mea referitoare la interdictia asupra folosirii atributelor are si ea una:Uneori se atribuie referinte ID elementelor din documentele XML. Aceste referinte ID pot fi utilizate pentru a accesa elementele XML cam in acelasi fel precum atributele NUME sau ID in HTML. Urmatorul exemplu demonstreaza acest lucru:
<?xml version="1.0"?> <messages> ? <note ID="501"> ??? <to>Tove</to> ??? <from>Jani</from> ??? <heading>Reminder</heading> ??? <body>Don't forget me this weekend!</body> ? </note> ? <note ID="502"> ??? <to>Jani</to> ??? <from>Tove</from> ??? <heading>Re: Reminder</heading> ??? <body>I will not!</body> ? </note> </messages>
ID-ul in acest exemplu este doar un counter sau un identificator unic in vederea identificarii diferitor note din fisierul XML.Documente XML"Bine Alcatuite"Un document XML „bine alcatuit” este un document conform cu regulile de sintaxa XML pe care le-am prezentat in capitolul anterior. Urmatorul este un documant XML „bine alcatuit”:
<?xml version="1.0"?> <note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note>
Documente XML "Valide"Un document XML „valid” reprezinta un document XML „bine alcatuit” ce respecta regulile Definirii Tipului de Document (DTD). Urmatorul este acelasi document cu cel de mai sus, insa cu o referinta adaugata in plus la DTD:
<?xml version="1.0"?> <!DOCTYPE note SYSTEM "InternalNote.dtd"> <note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note> Toate documentele XML trebuie sa contina o singura pereche de taguri destinata definirii elementului radacina Pagina:«12 Copyright (c) WebPro 2012 Your IP: 216.73.216.137