Sintaksa XML


Slovnična pravila XML so zelo enostavna in stroga. Hitro se jih naučimo in jih uporabljamo. Zato je priprava programov, ki berejo in rokujejo z XML, preprosta.


Primer dokumenta XML

XML dokumenti uporabljajo sintakso, ki je samoopisljiva.
 
<?xml version="1.0"?>

<note>

<to>Pavle</to>

<from>Janez</from>

<heading>Pripomba</heading>

<body>Imej lep dan!</body>

</note>

Prva vrstica dokumenta, deklaracija  XML, definira XML verzijo dokumenta. V našem primeru je ta pisan v skladu s specifikacijo XML 1.0.

Naslednja vrstica opisuje korenski element dokumenta, kot če bi dejali, ta dokument je zabeležka (note):
 
<note>

Naslednje 4 vrstice podajajo štiri elemente- otroke korena  (to, from, heading in body):
 
<to>Pavle</to>

<from>Janez</from>

<heading>Pripomba</heading>

<body>Imej lep dan!</body>

Zadnja vrstica zaključuje korenski element:
 
</note>

Iz primera razberemo, da je tak XML dokument res samoopisljiv.


Vsi elementi XML morajo imeti zaključno oznako


Pri HTML nekateri elementi ne potrebujejo zaključne oznake. Naslednje vrstice HTML so naprimer povsem legalne:
 
<p>To je paragraf

<p>In to je drug paragraf

Pri XML bi kaj takega zapisali tako:
 
<p>To je paragraf</p>

<p>This is another paragraph</p> 

Opomba:  Opazimo lahko, da prva vrstica  z deklaracijo XML ni imela zaključne oznake. To ni napaka. Deklaracija še ni del samega dokumenta in ni XML element.


Oznake XML so občutljive na velike oz. male črke

Tudi v tem se XML razlikuje od HTML. Tako je oznaka   <Pismo> različna od oznake <pismo>. Seveda moramo zato začetne in zaključne oznake pisati z enakimi črkami:
 
 
 
<Obvestilo>To je narobe</obvestilo>



<obvestilo>To pa je pravilno</obvestilo>


Vsi elementi XML  morajo biti pravilno gnezdeni


V HTML lahko nekatere elemente tudi nepravilno gnezdimo. Na primer:
 
<b><i>Ta tekst je poševen in poudarjen</b></i>

V XML bi morali to pravilno gnezditi, kar kaže naslednji primer:
 
<b><i>Ta tekst je poševen in poudarjen</i></b>


Vsi dokumenti XML imajo korensko oznako (root tag)

The first tag in an XML document is the root tag.

Prva oznaka v dokumentu XML je korenska oznaka. Vsi dokumenti XML imajo en sam par oznak, ki določa korenski element. Vse ostale elemente moramo gnezditi znotraj korenskega elementa.  So torej podelementi, ki lahko sami spet vsebujejo podelemente. Primer:
 
<root>

  <child>

    <subchild>.....</subchild>

  </child>

</root> 


Vrednosti atributov morajo biti v navednicah

Podobno kot pri HTML imamo lahko tudi pri XML atribute, ki so podani kot parčki ime/vrednost. V razliko od HTML pa morajo biti pri XML vse vrednosti v navednicah. Oglejmo si spodnja dva primera. prvi je nepravilen, drugi je pravilen:
 
<?xml version="1.0"?>

<note date=12/11/99>

<to>Pavel</to>

<from>Janez</from>

<heading>Pripomba</heading>

<body>Imej lep dan!</body>

</note>
<?xml version="1.0"?>

<note date="12/11/99">

<to>Pavel</to>

<from>Janez</from>

<heading>Pripomba</heading>

<body>Imej lep dan!</body>

</note>

Napaka v prvem dokumentu je v tem, da mora biti vrednost datuma v navednicah, pa ni.

Prav je: date="12/11/99".  Narobe je: date=12/11/99.


Pri XML se presledek ohranja


Tudi to je drugače kot pri HTML. Pri  HTML bi bil stavek "Jaz sem       Pavel" prikazan kot "Jaz sem Pavel", saj HTML preostale presledke pri prikazu opušča.


Pri XML se CR / LF pretvori v LF

Pri XML je skok v novo vrstico vedno pomnjen kot LF. To je bolj v skladu s konvencijami, ki veljajo v programih za okolje UNIX.