XML egenskaber
- Forrige side XML elementer
- Næste side XML navnerum
XML-elementer kan indeholde egenskaber i startetiketten, ligesom HTML.
Egenskaber (Attribute) giver ekstra (tilføjelses) information om elementer.
XML-egenskaber skal have anførselstegn
Egenskabsværdier skal omgives af anførselstegn, men både enkelte og dobbelte anførselstegn kan bruges.
For eksempel kan en persons køn skrives som følgende med <person>-tagget:
<person gender="female">
Eller også dette kan bruges:
<person gender='female'>
Hvis egenskabsværdien selv indeholder dobbelte anførselstegn, kan du bruge enkelte anførselstegn, som vist i følgende eksempel:
<gangster name='George "Shotgun" Ziegler'>
Eller du kan bruge tegnsætter:
<gangster name="George "Shotgun" Ziegler">
XML-elementer og egenskaber
Se disse to eksempler:
<person gender="female"> <firstname>Anna</firstname> <lastname>Smith</lastname> </person> <person> <gender>female</gender> <firstname>Anna</firstname> <lastname>Smith</lastname> </person>
I det første eksemplet er sex en egenskab. I det andet eksempel er sex et underelement. Begge eksempler kan give samme information.
Der er ingen regler i XML, der kan fortælle os, når vi skal bruge egenskaber og når vi skal bruge underelementer. Min erfaring er, at egenskaber er meget nyttige i HTML, men i XML bør du undgå egenskaber så meget som muligt. Hvis informationen føles som data, så brug underelementer.
Min favoritmetode
De tre XML-dokumenter indeholder fuldstændigt samme information:
I det første eksemplet bruges date-attributten:
<note date="2008-01-10"> <to>George</to> <from>John</from> </note>
I det andet eksemplet bruges <date>-elementet:
<note> <date>2008-01-10</date> <to>George</to> <from>John</from> </note>
I den tredje eksemplet bruges den udvidede date-element (det er min favorit):
<note> <date> <year>2008</year> <month>01</month> <day>10</day> </date> <to>George</to> <from>John</from> </note>
Unngå å bruke XML-egenskaper?
Nogle ting at overveje, når man bruger egenskaber er:
- Egenskaber kan ikke indeholde flere værdier (elementer kan)
- Egenskaber kan ikke beskrive træstruktur (elementer kan)
- Egenskaber er svære at udvide (for fremtidige ændringer)
Prøv at bruge elementer til at beskrive data. Brug kun egenskaber til at give information, der ikke har noget med data at gøre.
Gør ikke denne dumme ting (dette er ikke den måde, XML bør bruges på):
<note day="10" month="01" year="2008" to="George" from="John" heading="Reminder" body="Don't forget the meeting!" </note>
XML-attributter til metadata
Nogle gange tildeler man elementer ID-referencer. Disse ID-indexer kan bruges til at identificere XML-elementer, og de fungerer på samme måde som ID-attributter i HTML.
<messages> <note id="501"> <to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget the meeting!</body> </note> <note id="502"> <to>John</to> <from>George</from> <heading>Re: Reminder</heading> <body>I will not</body> </note> </messages>
De nævnte ID'er er kun identifikatorer til at identificere forskellige notater. De er ikke en del af notatdataene.
Vores mål er at overbevise dig om, at metadata (data om data) skal gemmes som egenskaber, mens dataene selv skal gemmes som elementer.
- Forrige side XML elementer
- Næste side XML navnerum