Několik poznámek k XML
XML je značkovací jazyk pro popis dat. Je to zkratka Extensible Markup Language. XML nemá předdefinovaná jména elementů, tak jako třeba HTML, ale umožňuje definovat vlastní. Pravidla pro zápis XML jsou definována v jeho specifikaci, vytvořené konsorciem W3C.
Informace o XML
- Značkovací jazyk.
- Case sensitive.
- XML tagy mohou mít libovolná jména.
- Určen pro popis textových dokumentů a výměnu dat mezi aplikacemi. V současné době je viditelné jeho masivní použití v internetových aplikacích a protokolech (RSS, SOAP, …).
- Kancelářské aplikace jako OpenOffice.org nebo Microsoft Office ho využívají pro ukládání dokumentů.
- Pro XML existuje velké množství nástrojů a knihoven, což usnadňuje práci s ním napříč různými aplikacemi, programovacími jazyky i platformami.
- Implicitní kódování XML dokumentů je Unicode, při explicitním uvedení kódování v hlavičce, je však možno použít libovolné kódování.
Používání XML
- XML umožňuje přesně definovat strukturu dokumentu pomocí DTD či XML schématu.
- Data z XML lze snadno, pomocí XSLT, přetransformovat do jiného formátu.
- Nad daty v XML souboru je možno použít dotazovací jazyky jako Xpath nebo Xquery.
- Příkladem grafického formátu, využívajícího k uložení XML, je vektorové SVG.
API pro přístup k datům v XML
Nejpoužívanější API pro práci s daty v XML souborech.
DOM
(Document Object Model)
Přečte celý dokument, uloží ho do paměti a umožňuje práci s ním jako se stromem uzlů.
Načtený dokument lze snadno editovat.
Vhodný pro nesekvenční zpracování, které vyžaduje náhodný přístup.
Nevýhodou je, že musí být celý XML dokument načten v paměti.
Standardizován konsorciem W3C => nezávislé na platformě a programovacím jazyku.
SAX
(Simple API for XML)
Prochází dokument sekvenčně.
Neumožňuje editaci dat.
Vhodné tam, kde je třeba XML dokumenty pouze číst.
Nenačítá celý dokument do paměti, takže může být použitý pro libovolně velké dokumenty.
Pracuje tak, že při nalezení konkrétní části v XML dokumentů, zasílá zprávy a je na programátorovi jak danou část XML dokumentu zpracuje.
Oproti DOM je několikrát rychlejší.
Entity v XML
Element
Od počátečního do ukončujícího tagu včetně tagů samotných.
Element může být prázdný, obsahovat hodnotu nebo obsahovat další element(y).
<kniha>
<nazev>R.U.R.</nazev>
<autor>Karel Čapek</autor>
</kniha>
Atribut
Dvojice jméno-hodnota, která obsahuje doplňující informace k elementu.
<img src=“obrazek.jpg“ alt=“Obrázek“ />