XML jednou větou
XML je značkovací jazyk: data se v něm obalují do pojmenovaných značek, takže je z textu vidět, co která hodnota znamená. Soubor je obyčejný text, který otevřeš v jakémkoli editoru, a přitom ho spolehlivě přečte program v libovolném programovacím jazyce.
<?xml version="1.0" encoding="UTF-8"?>
<!-- Jednoduchý adresář -->
<adresar>
<kontakt id="k1">
<jmeno>Jana Nováková</jmeno>
<email typ="pracovni">jana@example.cz</email>
<telefon>+420 601 123 456</telefon>
</kontakt>
<kontakt id="k2">
<jmeno>Petr Svoboda</jmeno>
<email typ="soukromy">petr@example.cz</email>
</kontakt>
</adresar> Z ukázky je bez dalšího vysvětlování jasné, že jde o adresář se dvěma kontakty a že Jana má pracovní e-mail. Právě tahle samopopisnost je hlavní důvod, proč se XML rozšířilo: data nesou svůj význam s sebou.
„Extensible“ (rozšiřitelný) znamená, že XML nemá žádný pevný seznam značek. Názvy
<adresar> nebo <kontakt> jsme si vymysleli. XML samo
určuje jen pravidla zápisu; konkrétní slovník značek si definuje každý formát zvlášť.
Co XML není
- Není to programovací jazyk. XML nic nepočítá ani nevykonává, jen popisuje data. Co se s nimi stane, rozhoduje program, který soubor čte.
- Není to náhrada HTML. HTML určuje, jak se má stránka zobrazit, a jeho značky mají pevný význam. XML popisuje, co data znamenají, a o vzhledu neříká nic.
- Není to databáze. XML je formát souboru nebo zprávy. Pro ukládání a vyhledávání ve velkém objemu dat se používají databáze, XML slouží hlavně k výměně dat mezi nimi.
| Vlastnost | HTML | XML |
|---|---|---|
| Účel | zobrazení stránky v prohlížeči | popis a přenos dat |
| Názvy značek | pevně dané specifikací (p, div, table…) | libovolné, podle popisovaných dat |
| Chybný zápis | prohlížeč ho tiše opraví | parser zpracování ukončí chybou |
| Velikost písmen | na názvech značek nezáleží | rozlišuje se (Polozka ≠ polozka) |
| Uzavírání značek | u některých prvků nepovinné | vždy povinné |
Z čeho se XML dokument skládá
Každý XML dokument je strom: jeden kořenový element obaluje všechny ostatní a ty se do sebe dál vnořují. Kromě elementů se v dokumentu mohou objevit tyto prvky:
Podrobný rozbor syntaxe s barevně označenou ukázkou najdeš v sekci Anatomie XML dokumentu na úvodní stránce, pravidla správného zápisu v kapitole Jak funguje XML.
Stručná historie
XML vzniklo ve W3C jako zjednodušená podmnožina staršího jazyka SGML, který se od 80. let používal hlavně pro rozsáhlou technickou dokumentaci. SGML bylo mocné, ale složité na implementaci; cílem XML bylo zachovat jeho sílu a zároveň umožnit napsat parser za pár dní.
- 1998 — W3C vydalo doporučení XML 1.0.
- 1999 — přibyly jmenné prostory (Namespaces in XML), XPath 1.0 a XSLT 1.0.
- 2001 — W3C XML Schema (XSD) pro popis struktury a datových typů.
- 2004 — vyšlo XML 1.1, které se ale v praxi téměř nepoužívá; většina dokumentů zůstává u verze 1.0.
- 2008 — páté, dosud aktuální vydání XML 1.0.
Na přelomu tisíciletí se XML používalo prakticky na všechno včetně webových API. Tam ho později z velké části vytlačil úspornější JSON, ale v dokumentech, kancelářských formátech, výměně dat mezi institucemi a v konfiguraci zůstalo standardem. Srovnání obou formátů najdeš v kapitole XML vs JSON, celou časovou osu XML i JSON v historii XML a JSON.
Kde se s XML setkáš
I když XML soubor možná nikdy vědomě neotevřeš, používáš ho denně. Na XML stojí mimo jiné tyto formáty:
Formáty jako SVG nebo RSS jsou „slovníky“ XML: dodržují jeho pravidla zápisu a k tomu definují vlastní sadu značek. Aby se slovníky z různých zdrojů nepletly, používají jmenné prostory. V XML zveřejňují data i české instituce, například kurzy ČNB, Registr smluv nebo RÚIAN, viz veřejná data v XML.
Co dál
Pokud chceš XML číst nebo psát, pokračuj kapitolou Jak funguje XML, kde se dozvíš, co se s dokumentem děje při načtení a proč parser odmítne i drobnou chybu. Vlastní dokument můžeš hned vyzkoušet ve validátoru.