Elementi XML


Elemente XML lahko razširjamo in imajo lahko relacije. Pravila za imenovanje elementov XML so enostavna.


Razširljivost elementov XML

Dokumente XML lahko razširimo tako, da vsebujejo še več informacij.

Oglejmo si naslednji primer:
 
<note>

<to>Pavel</to>

<from>Janez</from>

<body>Imej lep dan!</body>

</note>

Zamislimo si, da aplikacijski program izvleče iz elementov  <to>, <from> in <body> naslednji izhod:
 
OBVESTILO

Za: Pavel
Od: Janez

Imej lep dan!

Vzemimo, da avtor dokumenta XML doda še nekaj podatkov:
 
<note>

<date>1999-08-01</date>

<to>Pavel</to>

<from>Janez</from>

<heading>Pripomba</heading>

<body>Imej lep dan!</body>

</note>

Kaj se bo zgodilo z aplikacijskim programom?

Nič posebnega. Program bo še vedno sposoben izvleči iz dokumenta elemente  <to>, <from> in <body> in bo generiral isti izhod.

Dokumenti XML so torej razširljivi.


Elementi XML imajo relacije

Elementi so med seboj v relacijah kot starši in otroci.

Oglejmo si imenovanje relacij med elementi XML in kako opisujemo vsebino elementov. Kot primer si oglejmo opis neke knjige:
 
 
 
Naslov knjige: Računalniška grafika

Poglavje 1: Uvod v grafiko

  • Nekaj o prostoru
  • Grafični primitivi
Poglavje 2: Upodabljanje
  • Nekaj o svetlobi
  • Metode upodabljanja

Opišimo knjigo z dokumentom XML:
 
<book>

<title>Računalniška grafika</title>

<prod id="12-345" media="paper"></prod>
<chapter>Uvod v grafiko

<para>Nekaj o prostoru</para>

<para>Grafični primitivi</para>

</chapter>


<chapter>Upodabljanje

<para>Nekaj o svetlobi</para>

<para>Metode upodabljanja</para>

</chapter>


</book>

Book je korenski element. Title in chapter sta elementa- otroka  elementa book. Book je element-starš tako elementa title kot elementa chapter. Title in chapter sta sestrska elementa, ker imata istega starša.


Elementi imajo lahko vsebino

Elementi imajo lahko različne tipe vsebin.

Element XML je vse od (vključno) začetne oznake elementa do (vključno) zaključne oznake.  Vsebuje lahko elemente, mešano vsebino, preprosto vsebino ali prazno vsebino. Element ima lahko tudi atribute.

V zgornjem primeru vsebuje book  elemente.  Chapter ima mešano vsebino, saj vsebuje tako tekst kot druge elemente. Para ima preprosto vsebino (oziroma tekst), saj vsebuje sao tekst. Prod ima prazno vsebino, saj ne podaja nobene informacije.

Ima pa prod atribute. Atribut z imenom  id ima vrednost "12-345". Atribut z imenom media pa ima vrednost  "paper".


Imenovanje elementov

Pravila za imenovanje elementov XML so naslednja: Izogibajmo se znakov "-" in "." v imenih, ker v nekaterih programih lahko to prinaša probleme. Prav tako ne uporabčjajmo znaka ":", ker je njegova uporaba rezervirana za imenske prostore (namespaces).

Imena elementov so sicer lahko poljubno dolga, vendar ne pretiravajmo. Kratka imena so bolj pregledna.

Dokumentom XML pogosto ustreza kakšna podatkovna baza, v kateri posamezna polja ustrezajo elementom dokumanta XML. Lepa navada je dajati XML elementom enaka imena, kot so imena polj v podatkovni bazi.