XML nima pred-definiranih oznak.
Oznake si izmislite sami in s tem med njimi ustvarite tudi določene relacije.
No, če ne bi bile, potem bi bil jezik XML malo težko poimenovati (razširljiv označni jezik).
Dobro, kaj pa to pomeni v realnosti? Vzemimo zopet naše pismo in ga
nadgradimo z oznako <pomembnost>:
| Nova oznaka na XML pismu |
<?xml version="1.0"?>
<pismo>
<prejemnik>Matej</prejemnik>
<posiljatelj>Matjaž</posiljatelj>
<pomembnost>nepomembno</pomembnost>
<vsebina>Zdravo, to je šola XML!</vsebina>
</pismo>
|
Aha, niste navdušeni. Pravilno, saj tu ni nič tako impresivnega - dodali smo samo novo oznako. Toda, kaj se zgodi z prejemnikom takega XML dokumenta, če je prej prejemal starega (tistega brez nove oznake)? Nič, prejemnik novo oznako ignorira, ker je ne pozna!
Če sem natančen, med njimi obstojata dve relaciji mati/hči in sestra/sestra! Vsi mi verjetno ne sledite več, vsaj nekateri pa, upam, da veste o čem govorim.
No, za lažje razumevanje si stvar poglejmo podrobneje. V našem pismu sta oznaki
<pismo> in <prejemnik>
v relaciji mati/hči, saj oznaka <prejemnik> (hči)
ne more obstajati brez matere <pismo>. Če pogledate malce
nazaj, se boste spomnili na gnezdenje - to je to; oznaka <pismo>
(mati) je na višjem nivoju, kot oznaka <prejemnik> (hči).
Aha, kaj pa sestre? No, oznaki <prejemnik> in
<posiljatelj> sta pač hčeri, saj se nahajata na istem nivoju!
No, tole pa je zelo pomemben odstavek. Imena oznak so skoraj poljubna, ustrezati pa morajo sledečim pogojem:
Če tole šolo berete vsaj malce zbrano, vas mora motiti naš primer
<pismo> in zadnji nasvet. V pismu imam namreč oznako
<posiljatelj>, trdim pa da bi lahko zapisal
<pošiljatelj>. No in zakaj nisem?
XML seveda ne more poznati vseh znakov (kaj pa kitajske pismenke?), zato mu je potrebno povadati, da bo dokument zapisan z nekimi čudnimi črkami (č,š,ž). To mu poveste z definicijo na začetku dokumenta:
| Kako povemo, da je XML dokument pisan z uporabo slovenskih črk? |
<?xml version="1.0" encoding="windows-1250"?>
|
Povemo mu torej v kateri kodni tabeli je dokument pisan. Slovenska abeseda se pač nahaja v kodni tabeli 1250.
Pravzaprav si morate zapomniti samo vrstico |
Ponosni lastniki WIN2000 sistemov (ali drugih ustreznih urejevalnikov) pa lahko dokumente shranijo tudi v razširjeni obliki (UNICODE), kjer vsak znak zasede 2-byta. Takšni dokumenti pa so popolnoma prenosljivi saj lahko prežvečijo VSE črke in ne potrebujejo posebnih oznak kodnih tabel! |
Preden pa vas požene kreativnost, mi dovolite še par osebnih napotkov:
<pismo>
je v našem primeru precej boljša od recimo oznake <tekst>!