XML -kenmerke
XML-elemente kan eienskappe hê, net soos HTML.
Eienskappe is ontwerp om data te bevat wat met 'n spesifieke element verband hou.
XML-kenmerke moet aangehaal word
Eienskapwaardes moet altyd aangehaal word. Enkele of dubbele aanhalings kan gebruik word.
Vir 'n persoon se geslag kan die <persoon>-element soos volg geskryf word:
<person gender="female">
of soos volg:
<person gender='female'>
As die kenmerkwaarde self dubbele aanhalingstekens bevat, kan jy enkelaanhalings gebruik, soos in hierdie voorbeeld:
<gangster name='George "Shotgun" Ziegler'>
of jy kan karakter entiteite gebruik:
<gangster name="George "Shotgun" Ziegler">
XML-elemente vs. eienskappe
Kyk na hierdie twee voorbeelde:
<person gender="female">
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>
<person>
<gender>female</gender>
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>
In die eerste voorbeeld is geslag 'n eienskap. In die laaste voorbeeld is geslag 'n element. Albei voorbeelde verskaf dieselfde inligting.
Daar is geen reëls oor wanneer om eienskappe te gebruik of wanneer om elemente in XML te gebruik nie.
My gunsteling manier
Die volgende drie XML-dokumente bevat presies dieselfde inligting:
'n Datum-kenmerk word in die eerste voorbeeld gebruik:
<note date="2008-01-10">
<to>Tove</to>
<from>Jani</from>
</note>
'n <datum>-element word in die tweede voorbeeld gebruik:
<note>
<date>2008-01-10</date>
<to>Tove</to>
<from>Jani</from>
</note>
'n Uitgebreide <datum>-element word in die derde voorbeeld gebruik: (DIT IS MY GUNSTELING):
<note>
<date>
<year>2008</year>
<month>01</month>
<day>10</day>
</date>
<to>Tove</to>
<from>Jani</from>
</note>
Vermy XML-kenmerke?
Sommige dinge om in ag te neem wanneer eienskappe gebruik word, is:
- eienskappe kan nie veelvuldige waardes bevat nie (elemente kan)
- eienskappe kan nie boomstrukture bevat nie (elemente kan)
- eienskappe is nie maklik uit te brei nie (vir toekomstige veranderinge)
Moenie so eindig nie:
<note day="10" month="01" year="2008"
to="Tove" from="Jani" heading="Reminder"
body="Don't forget me this weekend!">
</note>
XML-kenmerke vir metadata
Soms word ID-verwysings aan elemente toegeken. Hierdie ID's kan gebruik word om XML-elemente te identifiseer op baie dieselfde manier as die id-kenmerk in HTML. Hierdie voorbeeld demonstreer dit:
<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>
Die id-kenmerke hierbo is om die verskillende notas te identifiseer. Dit is nie deel van die nota self nie.
Wat ek hier probeer sê, is dat metadata (data oor data) as eienskappe gestoor moet word, en die data self as elemente gestoor moet word.