XML-ominaisuudet
- Edellinen sivu XML-elementit
- Seuraava sivu XML-nimetykset
XML-elementit voivat sisältää ominaisuuksia alkukilpaussignaalissa, kuten HTML:ssä.
Ominaisuudet (Attribute) tarjoavat lisätietoja elementeistä.
XML-ominaisuudet täytyy olla lainausmerkeissä
Ominaisuuden arvon täytyy olla lainausmerkeissä, mutta sekä yksinkertaiset että moninkertaiset lainausmerkit ovat sallittuja.
Esimerkiksi henkilön sukupuoli, <person>-tagi voidaan kirjoittaa seuraavasti:
<person gender="female">
Tai myös näin:
<person gender='female'>
Jos ominaisuuden arvo sisältää jo dva lauseket, voit käyttää yhtä lauseketta, kuten seuraavassa esimerkissä:
<gangster name='George "Shotgun" Ziegler'>
Tai voit käyttää merkkikoodia:
<gangster name="George "Shotgun" Ziegler">
XML-elementit ja -ominaisuudet
Tarkastele näitä esimerkkejä:
<person gender="female"> <firstname>Anna</firstname> <lastname>Smith</lastname> </person> <person> <gender>female</gender> <firstname>Anna</firstname> <lastname>Smith</lastname> </person>
Ensimmäisessä esimerkissä sex on ominaisuus. Toisessa esimerkissä sex on lapsielementti. Molemmat esimerkit voivat tarjota saman tiedon.
XML:ssä ei ole sääntöjä, jotka kertoisivat meille, milloin tulisi käyttää ominaisuuksia ja milloin lapsielementtejä. Kokeiluani mukaan HTML:ssä ominaisuudet ovat käteviä, mutta XML:ssä niitä tulisi välttää mahdollisimman paljon. Jos tieto tuntuu olevan tietoa, käytä lapsielementtiä.
Eniten pidän tästä tavasta
Seuraavat kolme XML-dokumenttia sisältävät täysin saman tiedon:
Ensimmäisessä esimerkissä käytetään date-ominaisuutta:
<note date="2008-01-10"> <to>George</to> <from>John</from> </note>
Toisessa esimerkissä käytetään <date>-elementtiä:
<note> <date>2008-01-10</date> <to>George</to> <from>John</from> </note>
Kolmas esimerkki käyttää laajennettua date-elementtiä (tämä on suosikkini):
<note> <date> <year>2008</year> <month>01</month> <day>10</day> </date> <to>George</to> <from>John</from> </note>
Vältäkö XML:n ominaisuuksia?
Kun käytät ominaisuuksia, on otettava huomioon muutamia asioita:
- Ominaisuudet eivät voi sisältää useita arvoja (elementit voivat)
- Ominaisuudet eivät voi kuvata puurakennetta (elementit voivat)
- Ominaisuudet eivät ole helposti laajennettavissa (tulevaisuuden muutoksiin)
Yritä käyttää elementtejä kuvaukseen tietoja. Käytä vain ominaisuuksia tarjoamaan tietojen ulkopuolista tietoa.
Älä tee tällaista tyhmää asiaa (tämä ei ole XML:n käyttötapa):
<note day="10" month="01" year="2008" to="George" from="John" heading="Reminder" body="Don't forget the meeting!"> </note>
XML:n metadatan ominaisuudet
Joskus ID:tä voidaan määrittää elementille. Tämä ID-merkinnät voidaan käyttää XML-elementtien tunnistamiseen, ja se toimii samalla tavalla kuin HTML:n ID-ominaisuus. Tämä esimerkki näyttää meille tämän tilanteen:
<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: Muistutus</heading> <body>En aio</body> </note> </messages>
Yllä oleva ID on vain tunniste, joka erottaa eri merkinnät toisistaan. Se ei ole osa merkinnän tietoja.
Tavoitteenamme on voimakkaasti välittää teille: Metadatan (tietojen tietoja) tulisi tallentaa ominaisuuksina, ja itse tiedot tulisi tallentaa elementteinä.
- Edellinen sivu XML-elementit
- Seuraava sivu XML-nimetykset