Prvky XML
Základním prvky XML formátu jsou
- Elementy
- Atributy
- Komentáře
- Instrukce
Element je základní jednotka struktury XML dokumentu. Má své jméno a obsah. Jméno je uzavřeno mezi symboly < a >, např. <jmeno_elementu>. Jménem elementu je ohraničen obsah elementu, mluvíme o otevíracím a uzavíracím tagu. Uzavírací tag se od otevíracího liší pouze lomítkem před jménem elementu. Jednoduchý element včetně obsahu vypadá takto:
<jmeno_elementu>obsah elementu</jmeno_elementu>
Element může být i prázdný, bez obsahu:
<book></book>
Zjednodušený zápis prázdného elementu vypadá takto:
<book />
Jméno elementu nesmí obsahovat mezery a musí začínat písmenem. Bez problémů je možné používat číslice a podtržítko. Znaky s diakritikou ve jménech elementu jsou sice standardem povoleny, nicméně doporučuje se jim vyhýbat stejně jako jiným nealfanumerickým znakům. Rozlišují se velká a malá písmena, <JMENO> je tedy odlišné od <jmeno>
Obsahem elementu může být libovolný text, pozor je třeba dávat jen na speciální znaky, které jsou uvedeny v tabulce 1.
Text obsahující větší množství vyhrazených znaků je možné bez nahrazování vložit do XML dokumentu jako CDATA blok. Pokud obsah elementu uvedeme mezi
"<![CDATA[" a " ]]>", budou zmíněné speciální znaky brány jako znaky standardní, bez speciálního významu. Do CDATA bloku je možné uvést cokoliv s výjimkou ukončovací sekvence "]]>". CDATA blok nám poslouží třeba v případě, kdy chceme přenášet zdrojový kód webové stránky v HTML.
Element může obsahovat zanořený další element, čímž vzniká charakteristická stromová struktura XML dokumentu.
<pacient id="2345">
<vysetreni>
<datum_vysetreni>2014-12-21</datum_vysetreni>
<vysledek>21.4</vysledek>
<jednotky>mg</jednotky>
</vysetreni>
</pacient>
Možnosti zanoření jsou neomezené, platí však, že na nejvyšší úrovni může být jen jeden, tzv. kořenový (root) element. Zakázán je také překryv elementů. Následující zanoření tedy není povoleno
<pacient>
<vysetreni>
<lecba>
</vysetreni>
</lecba>
</pacient>
S uvedenou stromovou strukturou také souvisí termíny rodiče (parent), děti (children), sourozenci (siblings), potomci (descendants) a předci (ancestors), které jsou používané k vyjádření vzájemných vztahů mezi elementy. V uvedeném příkladu jsou elementy v následujících vztazích:
|
pacient |
vysetreni |
datum_vysetreni |
vysledek |
pacient |
- |
rodič/dítě |
předek/potomek |
předek/potomek |
vysetreni |
|
- |
rodič/dítě |
rodič/dítě |
datum_vysetreni |
|
|
- |
sourozenci |
Elementy mohou obsahovat tzv. atributy, které upřesňují informaci přenášenou v těle elementu. Atributy se zapisují do otevíracího tagu elementu, jejich hodnoty se uvádí v uvozovkách za znakem "=".
<nazev_elementu nazev_atributu="hodnota atributu">obsah elementu</nazev_elementu>
<delka_hospitalizace jednotky="dny">9</delka_hospitalizace>
V XML dokumentu je možné uvádět komentáře, které se při zpracování ignorují a slouží pouze k uvedení vysvětlivek. Komentáře musí být ohraničeny tímto způsobem:
<!-- Toto je komentář -->
Posledním prvkem, který se objevuje v XML dokumentech, jsou procesní instrukce (Processing instructions). Jak název napovídá, jde o instrukce, které říkají aplikaci, která dokument zpracovává, jak se zachovat. Procesní instrukce jsou uzavřeny mezi symboly <? a ?>. Každý XML dokument musí obsahovat na svém začátku tuto procesní instrukci:
<?xml version="1.0"?>
Často tato úvodní instrukce bývá doplněna o znakovou sadu, která je použita pro kódování znaků v dokumentu. Standardem je kódování UTF-8.
<?xml version="1.0" encoding="UTF-8" ?>