Poslední aktualizace: 21. května 2025

Co je XML?
XML (Extensible Markup Language) je značkovací jazyk a formát souboru používaný pro ukládání, přenos a rekonstrukci dat. Poskytuje strukturovaný přístup k zakódování informací, což je činí čitelnými jak pro člověka, tak pro stroj.
Klíčové vlastnosti XML
1. Definováno otevřenými standardy
- Založeno World Wide Web Consortium (W3C) v roce 1998 pod XML 1.0 Specification.
- Dodržuje přísná pravidla, aby data byla strukturovaná a snadno interpretovatelná.
2. Návrhové cíle
- XML je navrženo s jednoduchostí, obecností a použitelností napříč různými platformami.
- Používá textový formát, což usnadňuje čtení a úpravy.
3. Podpora Unicode
- XML podporuje Unicode, což umožňuje ukládat a zpracovávat text v mnoha jazycích.
4. Univerzálnost
- Původně vytvořeno pro dokumenty, XML je nyní široce používáno pro reprezentaci dat v různých oblastech, včetně webových služeb, API a konfiguračních souborů.
5. Schémata a API
- Struktury XML lze definovat pomocí Document Type Definition (DTD), XML Schema (XSD) nebo Relax NG.
- Různá API, jako DOM (Document Object Model) a SAX (Simple API for XML), umožňují zpracování XML.
6. Běžné využití XML
- Výměna dat mezi různými systémy (např. webové služby, API).
- Konfigurační soubory v softwarových aplikacích.
- Ukládání strukturovaných informací (např. RSS kanály, SVG grafika, formáty dokumentů jako DOCX).
- Webový vývoj (např. XHTML, SOAP, AJAX‑based aplikace).
Nyní, když víte, co XML je, naučte se, jak číst a upravovat soubory XML pomocí tohoto průvodce pro začátečníky.
Přehled XML
1. Hlavní účel XML: Serializace
Serializace v XML znamená:
- Ukládání dat ve strukturovaném formátu.
- Přenos dat mezi různými systémy.
- Rekonstrukci dat do použitelné podoby.
Když dva systémy potřebují vyměnit informace, XML poskytuje standardizovaný formát souboru pro interoperabilitu. Funguje jako „lingua franca“ pro výměnu strukturovaných dat.
2. XML jako značkovací jazyk
XML je značkovací jazyk, což znamená, že:
- Označuje data značkami pro jasnou strukturu.
- Organizuje informace hierarchicky.
- Kategorizuje data pomocí metadat.
Příklad:
<book>
<title>XML Basics</title>
<author>John Doe</author>
</book>
Zde <book>, <title> a <author> jsou značky, které definují datové prvky.
3. XML Schema (XSD) a validace
XML Schema (XSD) definuje strukturální pravidla pro XML dokumenty.
XML dokumenty mohou být:
- Well‑formed → Dodržuje základní syntaktická pravidla (správné vnoření, uzavírací značky).
- Valid → Splňuje pravidla schématu (povinné elementy, správné datové typy).
Příklad pravidla XSD:
<xs:element name="title" type="xs:string"/>
Zajišťuje, že <title> musí obsahovat řetězcovou hodnotu.
4. Media typy XML (RFC 7303)
IETF RFC 7303 definuje media typy XML pro přenos dat:
- application/xml → Standardní XML data.
- application/xml-external-parsed-entity → Parsované XML entity.
- application/xml-dtd → XML DTD dokumenty.
Pro formáty založené na XML se používá přípona +xml (např. image/svg+xml pro SVG obrázky).
5. XML v síťových aplikacích (RFC 3470 / IETF BCP 70)
IETF BCP 70 (RFC 3470) popisuje osvědčené postupy pro používání XML v síťových aplikacích, čímž zajišťuje plynulou interoperabilitu dat mezi systémy.
Pro programové zpracování XML prozkoumejte nejlepší XML parsers pro Python, Java a JavaScript.
1. Aplikace XML
XML je flexibilní značkovací jazyk určený pro výměnu dat přes Internet. Jeho syntaxe ovlivnila řadu dokumentových formátů a komunikačních protokolů, což z něj činí základní technologii v mnoha odvětvích.
Běžné formáty založené na XML:
- Webové kanály: RSS, Atom
- Kancelářské dokumenty: Office Open XML, OpenDocument
- Grafika a 3D modely: SVG, COLLADA
- Webové technologie: XHTML
- Protokoly výměny dat: SOAP, XMPP
- AJAX: Používá XML pro asynchronní výměnu dat
Standardy odvětví používající XML:
- Zdravotnictví: HL7 (Health Level 7)
- Cestovní průmysl: OpenTravel Alliance
- Finance: FpML (Financial products Markup Language)
- Nemovitosti a hypotéky: MISMO
- Vládní výměna dat: National Information Exchange Model
XML ve vědě:
V meteorologii se XML používá pro reprezentaci operačních meteorologických dat podle standardů IWXXM. Podobně Darwin Information Typing Architecture (DITA) je XML standard široce využívaný v publikování.
Pro praktické nasazení si přečtěte náš tutoriál o tom, jak číst a upravovat XML v Pythonu, Javě a JavaScriptu.
2. Klíčová terminologie v XML
Pochopení základní terminologie v XML je nezbytné pro efektivní práci s XML dokumenty.
Znak
XML dokument je sekvence Unicode znaků. XML 1.1 umožňuje téměř všechny Unicode znaky, s výjimkou nulového znaku (U+0000), který je přísně zakázán.
Procesor a aplikace
- XML procesor (nebo parser) čte a analyzuje XML značkování.
- Aplikace získává strukturovaná data z procesoru a s nimi pracuje.
Značkování a obsah
XML rozděluje znaky na značkování a obsah:
- Značkování: zahrnuje elementy, atributy a entity (např.
<tag>a&). - Obsah: skutečná data uvnitř elementů.
- CDATA sekce: umožňují text, který nemá být parsován jako značky, uzavřené v
<![CDATA[ ... ]]>.
Značky a elementy
- Značky: konstrukty značkování uzavřené v
< >.<section>(úvodní značka)</section>(ukončovací značka)<line-break />(prázdná značka)
- Elementy: logické komponenty definované značkami.
- Příklad:
<greeting>Hello, world!</greeting>
- Příklad:
Atributy
Atributy poskytují metadata pro elementy pomocí páru jméno‑hodnota. Příklad:
<img src="image.jpg" alt="Description" />
src="image.jpg" a alt="Description" jsou atributy elementu <img>.
3. Znaky a escapování v XML
Platné Unicode znaky v XML
XML dokumenty povolují pouze specifické Unicode znaky, aby bylo zajištěno správné parsování.
Povolené znaky v XML 1.0:
- Řídící znaky:
U+0009(Tabulátor)U+000A(Line Feed)U+000D(Carriage Return)
- Textové znaky:
U+0020–U+D7FFU+E000–U+FFFDU+10000–U+10FFFF
Vylepšení v XML 1.1:
- Povolení všech U+0001–U+001F řídících znaků, ale vyžaduje jejich escapování.
- U+0000 (nulový znak) zůstává zakázán.
4. Kódování v XML
Běžná kódování XML:
XML podporuje Unicode‑založená kódování, mezi nimi:
- UTF‑8 (doporučené výchozí)
- UTF‑16 (musí být podporováno všemi XML parsery)
- ASCII, ISO‑8859‑X (starší kódování)
Deklarace kódování v XML:
Hlavička XML může specifikovat kódování:
<?xml version="1.0" encoding="UTF-8"?>
- Pokud není kódování uvedeno, předpokládá se UTF‑8.
- UTF‑16 vyžaduje BOM (Byte Order Mark) pro správnou detekci.
5. Escapování speciálních znaků v XML
Protože syntaxe XML rezervuje určité znaky, je nutné je escapovat, aby nedošlo ke konfliktům.
Předdefinované XML entity:
| Znak | Escapovaná forma | Příklad |
|---|---|---|
< (menší než) | < | I <3 XML → I <3 XML |
> (větší než) | > | x > y → x > y |
& (ampersand) | & | AT&T → AT&T |
' (apostrof) | ' | "O'Reilly" → O’Reilly |
" (uvozovky) | " | She said "hello" → She said “hello” |
Číselné znakové reference:
Pro speciální znaky, které nelze napsat, použijte číselné reference:
- Desítkově:
中 <!-- Chinese character "中" --> - Hexadecimálně:
中 <!-- Chinese character "中" --> - Příklad:Zobrazí se jako: I <3 Jörg
<message>I <3 Jörg</message>
Zpracování binárních dat:
XML nepodporuje surová binární data. Místo toho se používá Base64 kódování.
6. Komentáře v XML
Syntaxe XML komentáře:
<!-- This is a valid XML comment -->
Pravidla pro XML komentáře:
- Nelze je umístit před XML deklaraci.
- Nelze v nich použít
--(dvojitá pomlčka). - Entity reference jsou v komentářích ignorovány.
Příklad:
<!-- This is a comment with < and & symbols -->
Závěr
XML je zásadní technologií pro strukturovanou výměnu dat, pohání webové kanály, kancelářské dokumenty, vědecká data i průmyslové standardy. Porozumění klíčové terminologii XML, pravidlům kódování a escapování zajišťuje dobře formované XML dokumenty, které fungují správně napříč různými systémy.
Dodržováním osvědčených postupů v kódování znaků a escapování mohou vývojáři předejít chybám při parsování a zajistit kompatibilitu v aplikacích založených na XML.