Hlavička XML dokumentu

Úvod
XML
Dokument
Hlavička XML dokumentu
Deklarace typu dokumentu
Deklarace dokumentu jako Standalone

Counter

<?xml version="1.0" encoding="iso-8859-2" standalone="no" ?>

Příklad 9: Příklad hlavičky

Jeli hlavička dokumentu uváděna, pak se musí vyskytnout na úplném začátku dokumentu; nesmí se před ní vyskytnou žádné jiné (ani bílé) znaky. Ačkoliv je hlavička XML dokumentu nepovinná, tak by s ní měl začínat každý XML dokument. V hlavičce jsou totiž udána důležitá nastavení týkající se celého dokumentu. V hlavičce se mohou vyskytnout tři údaje: verze XML, zvolené kódování a údaj, zda je dokument použitelný samostatně bez dalších externích deklarací.

V roce 2001 je na světě XML verze 1.0 a žádná jiná. Atribut version je zde určen předně pro budoucí případné použití. Jeho využití by bylo nutné, kdyby následovaly další verze.

Méně jasná situace je u kódování. Jedná se o znakovou sadu, která je použitá v příslušném dokumentu nebo v externí analyzované entitě. Není-li atribut se znakovou sadou uveden, pak se implicitně předpokládá, že je dokument napsán buď v UTF-8 nebo v UTF-16. Mezi těmito dvěma kódováními lze algoritmicky rozhodnout. Znaková sada US-ASCII (prvních 127 znaků) je podmnožinou znakové sady UTF-8. To již nemůžeme říct o dalších kódováních řady ISO-8859-x. Pro tato (a další) kódování je tedy nutné explicitně uvést, v jakém kódování je dokument zapsán, a to pomocí atributu encoding. Ke kódování je však třeba ještě dodat, že všechny programy (procesory) zpracovávající XML dokument mají povinnost podporovat kódovaní UTF-8 a UTF-16. Jedině u těchto dvou kódování máte tedy jistotu, že je bude schopen zpracovat každý XML procesor. XML procesory mají totiž povinnost ve chvíli kdy narazí na chybu (což špatné kódování je) skončit.

Atribut kódování určuje znakovou sadu a kódování, ve kterém je dokument zapsán. Tento atribut musí být explicitně uveden pokud není dokument v kódování UTF-8 nebo UTF-16. Vyskytne-li se v dokumentu znak, kterému XML procesor nerozumí, pak má procesor povinnost zastavit další zpracování dokumentu.