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.
<?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.
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.
<Obvestilo>To je narobe</obvestilo> <obvestilo>To pa je pravilno</obvestilo> |
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> |
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> |
<?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.
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.