<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="cs">
	<id>https://infopedia.cz/index.php?action=history&amp;feed=atom&amp;title=XML</id>
	<title>XML - Historie editací</title>
	<link rel="self" type="application/atom+xml" href="https://infopedia.cz/index.php?action=history&amp;feed=atom&amp;title=XML"/>
	<link rel="alternate" type="text/html" href="https://infopedia.cz/index.php?title=XML&amp;action=history"/>
	<updated>2026-06-12T04:55:12Z</updated>
	<subtitle>Historie editací této stránky</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://infopedia.cz/index.php?title=XML&amp;diff=24580&amp;oldid=prev</id>
		<title>Filmedy: Nahrazení textu „\*\*([^ ].*?[^ ])\*\*“ textem „&#039;&#039;&#039;$1&#039;&#039;&#039;“</title>
		<link rel="alternate" type="text/html" href="https://infopedia.cz/index.php?title=XML&amp;diff=24580&amp;oldid=prev"/>
		<updated>2026-01-05T05:18:19Z</updated>

		<summary type="html">&lt;p&gt;Nahrazení textu „\*\*([^ ].*?[^ ])\*\*“ textem „&amp;#039;&amp;#039;&amp;#039;$1&amp;#039;&amp;#039;&amp;#039;“&lt;/p&gt;
&lt;a href=&quot;https://infopedia.cz/index.php?title=XML&amp;amp;diff=24580&amp;amp;oldid=14889&quot;&gt;Ukázat změny&lt;/a&gt;</summary>
		<author><name>Filmedy</name></author>
	</entry>
	<entry>
		<id>https://infopedia.cz/index.php?title=XML&amp;diff=14889&amp;oldid=prev</id>
		<title>InfopediaBot: Bot: AI generace (gemini-2.5-pro + Cache)</title>
		<link rel="alternate" type="text/html" href="https://infopedia.cz/index.php?title=XML&amp;diff=14889&amp;oldid=prev"/>
		<updated>2025-12-14T08:39:53Z</updated>

		<summary type="html">&lt;p&gt;Bot: AI generace (gemini-2.5-pro + Cache)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nová stránka&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{K rozšíření}}&lt;br /&gt;
{{Infobox programovací jazyk&lt;br /&gt;
| název = XML&lt;br /&gt;
| logo =&lt;br /&gt;
| paradigma = [[Značkovací jazyk]]&lt;br /&gt;
| tvůrce = [[World Wide Web Consortium]] (W3C)&lt;br /&gt;
| rok_vydání = 1998 (verze 1.0)&lt;br /&gt;
| standard = W3C Recommendation&lt;br /&gt;
| ovlivněn = [[SGML]], [[HTML]]&lt;br /&gt;
| ovlivnil = [[XHTML]], [[SOAP]], [[SVG]], [[Office Open XML]], [[JSON]] (jako alternativa)&lt;br /&gt;
| přípona = .xml&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;XML&amp;#039;&amp;#039;&amp;#039; (zkratka z anglického &amp;#039;&amp;#039;&amp;#039;Extensible Markup Language&amp;#039;&amp;#039;&amp;#039;, česky &amp;#039;&amp;#039;&amp;#039;rozšiřitelný značkovací jazyk&amp;#039;&amp;#039;&amp;#039;) je [[značkovací jazyk]] a soubor pravidel, který byl vyvinut a standardizován konsorciem [[World Wide Web Consortium]] (W3C). Jeho hlavním účelem je umožnit jednoduché vytváření, zpracování a sdílení strukturovaných dat mezi různými aplikacemi a platformami. Na rozdíl od [[HTML]], které má pevně danou sadu značek pro definici vzhledu webových stránek, XML umožňuje autorům definovat si vlastní značky (tagy) pro popis struktury a významu dat. Díky své flexibilitě, platformové nezávislosti a čitelnosti pro lidi i stroje se stal základem pro mnoho datových formátů a komunikačních protokolů.&lt;br /&gt;
&lt;br /&gt;
XML vychází ze staršího a složitějšího jazyka [[SGML]] (Standard Generalized Markup Language), ale je navržen s důrazem na jednoduchost a použitelnost v prostředí [[internet]]u. Dokument ve formátu XML je textový soubor, který dodržuje přísná syntaktická pravidla, což zaručuje jeho snadné strojové zpracování.&lt;br /&gt;
&lt;br /&gt;
== 📜 Historie a vývoj ==&lt;br /&gt;
Kořeny XML sahají až k jazyku [[SGML]], který byl standardizován v roce [[1986]] jako nástroj pro definici struktury dokumentů nezávisle na jejich formátování. SGML byl však velmi komplexní a jeho implementace byla náročná. S masivním nástupem internetu a [[World Wide Web|celosvětové sítě]] v 90. letech 20. století vznikla potřeba jednoduššího formátu pro výměnu strukturovaných dat.&lt;br /&gt;
&lt;br /&gt;
Práce na XML začaly v roce [[1996]] pod záštitou [[World Wide Web Consortium|W3C]]. Hlavními cíli návrhu byly:&lt;br /&gt;
# Musí být snadno použitelný přes internet.&lt;br /&gt;
# Musí podporovat širokou škálu aplikací.&lt;br /&gt;
# Musí být kompatibilní s SGML.&lt;br /&gt;
# Musí být snadné psát programy, které zpracovávají XML dokumenty.&lt;br /&gt;
# Počet volitelných vlastností v XML musí být absolutně minimální, ideálně nulový.&lt;br /&gt;
# XML dokumenty by měly být pro člověka čitelné a přiměřeně srozumitelné.&lt;br /&gt;
# Návrh XML by měl být připraven rychle.&lt;br /&gt;
# Návrh XML musí být formální a stručný.&lt;br /&gt;
# XML dokumenty se musí snadno vytvářet.&lt;br /&gt;
&lt;br /&gt;
První verze, &amp;#039;&amp;#039;&amp;#039;XML 1.0&amp;#039;&amp;#039;&amp;#039;, byla publikována jako doporučení (W3C Recommendation) [[10. únor]]a [[1998]]. Tento standard se rychle ujal a stal se základem pro obrovské množství technologií. V roce [[2004]] byla vydána verze &amp;#039;&amp;#039;&amp;#039;XML 1.1&amp;#039;&amp;#039;&amp;#039;, která přinesla změny v podpoře znaků a konců řádků, aby lépe vyhovovala evoluci standardu [[Unicode]]. Verze 1.0 však zůstává nejpoužívanější.&lt;br /&gt;
&lt;br /&gt;
== ⚙️ Základní principy a syntaxe ==&lt;br /&gt;
XML klade velký důraz na přísnou a jednoznačnou syntaxi. Dokument, který splňuje všechna syntaktická pravidla, se nazývá &amp;quot;dobře zformovaný&amp;quot; (well-formed).&lt;br /&gt;
&lt;br /&gt;
=== 🧱 Stavební kameny ===&lt;br /&gt;
Základními stavebními kameny XML dokumentu jsou:&lt;br /&gt;
*   &amp;#039;&amp;#039;&amp;#039;Elementy (Elements)&amp;#039;&amp;#039;&amp;#039;: Element je základní logická jednotka dokumentu. Skládá se z úvodní značky (start-tag), obsahu a ukončovací značky (end-tag). Například: `&amp;lt;kniha&amp;gt;Hobit&amp;lt;/kniha&amp;gt;`. Element může být i prázdný, pak se zapisuje jako `&amp;lt;prebal /&amp;gt;`.&lt;br /&gt;
*   &amp;#039;&amp;#039;&amp;#039;Atributy (Attributes)&amp;#039;&amp;#039;&amp;#039;: Atributy poskytují doplňující informace o elementu a jsou umístěny v úvodní značce. Skládají se ze jména a hodnoty uvedené v uvozovkách. Například: `&amp;lt;kniha zanr=&amp;quot;fantasy&amp;quot;&amp;gt;`.&lt;br /&gt;
*   &amp;#039;&amp;#039;&amp;#039;Obsah (Content)&amp;#039;&amp;#039;&amp;#039;: Data umístěná mezi úvodní a ukončovací značkou. Může to být text (tzv. PCDATA - Parsed Character Data) nebo další vnořené elementy.&lt;br /&gt;
&lt;br /&gt;
=== 📝 Pravidla syntaxe ===&lt;br /&gt;
Každý dobře zformovaný XML dokument musí splňovat následující pravidla:&lt;br /&gt;
*   **Jeden kořenový element**: Celý dokument musí být uzavřen v jediném párovém elementu, který se nazývá kořenový element (root element).&lt;br /&gt;
*   **Povinné uzavírání značek**: Každá úvodní značka musí mít odpovídající ukončovací značku (např. `&amp;lt;p&amp;gt;...&amp;lt;/p&amp;gt;`). Prázdné elementy se uzavírají lomítkem na konci (např. `&amp;lt;br /&amp;gt;`).&lt;br /&gt;
*   **Správné vnořování**: Elementy musí být správně vnořeny. Značky se nesmí křížit. Správně: `&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;text&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;`. Špatně: `&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;text&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;`.&lt;br /&gt;
*   **Rozlišování velikosti písmen**: XML je case-sensitive, takže `&amp;lt;Kniha&amp;gt;` a `&amp;lt;kniha&amp;gt;` jsou dva různé elementy.&lt;br /&gt;
*   **Hodnoty atributů v uvozovkách**: Hodnoty všech atributů musí být uzavřeny v jednoduchých (&amp;#039;) nebo dvojitých (&amp;quot;) uvozovkách.&lt;br /&gt;
&lt;br /&gt;
=== 📄 Prolog a deklarace ===&lt;br /&gt;
XML dokument obvykle začíná prologem, který obsahuje XML deklaraci. Ta specifikuje verzi XML a kódování znaků.&lt;br /&gt;
```xml&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
```&lt;br /&gt;
*   `version`: Určuje verzi XML (obvykle &amp;quot;1.0&amp;quot; nebo &amp;quot;1.1&amp;quot;).&lt;br /&gt;
*   `encoding`: Definuje [[znaková sada|znakovou sadu]] použitou v dokumentu (např. [[UTF-8]], [[ISO-8859-2]]).&lt;br /&gt;
*   `standalone`: Volitelný atribut (&amp;quot;yes&amp;quot; nebo &amp;quot;no&amp;quot;), který indikuje, zda dokument závisí na externích definicích (např. [[DTD]]).&lt;br /&gt;
&lt;br /&gt;
=== 💬 Komentáře a speciální znaky ===&lt;br /&gt;
*   **Komentáře**: Zapisují se mezi `&amp;lt;!--` a `--&amp;gt;`. Například: `&amp;lt;!-- Toto je komentář --&amp;gt;`.&lt;br /&gt;
*   **Speciální znaky**: Znaky jako `&amp;lt;`, `&amp;gt;` nebo `&amp;amp;`, které mají v XML speciální význam, musí být zapsány pomocí entit:&lt;br /&gt;
    *   `&amp;amp;lt;` pro `&amp;lt;` (less than)&lt;br /&gt;
    *   `&amp;amp;gt;` pro `&amp;gt;` (greater than)&lt;br /&gt;
    *   `&amp;amp;amp;` pro `&amp;amp;` (ampersand)&lt;br /&gt;
    *   `&amp;amp;apos;` pro `&amp;#039;` (apostrophe)&lt;br /&gt;
    *   `&amp;amp;quot;` pro `&amp;quot;` (quotation mark)&lt;br /&gt;
&lt;br /&gt;
== 🏛️ Struktura a validace ==&lt;br /&gt;
Kromě toho, že je dokument &amp;quot;dobře zformovaný&amp;quot;, může být také &amp;quot;validní&amp;quot;. Validní dokument je takový, který je nejen dobře zformovaný, ale navíc odpovídá předem definované struktuře a pravidlům. Tato pravidla se definují pomocí schématovacích jazyků.&lt;br /&gt;
&lt;br /&gt;
=== DTD (Document Type Definition) ===&lt;br /&gt;
[[DTD]] je původní mechanismus pro definování struktury XML dokumentu, převzatý z [[SGML]]. DTD definuje, jaké elementy se mohou v dokumentu vyskytovat, jaké mohou mít atributy a jak mohou být vzájemně vnořeny. DTD může být součástí XML souboru nebo externím souborem. Jeho nevýhodou je omezená podpora datových typů (vše je v podstatě text) a méně flexibilní syntaxe.&lt;br /&gt;
&lt;br /&gt;
=== XML Schema (XSD) ===&lt;br /&gt;
[[XML Schema]], často označované jako &amp;#039;&amp;#039;&amp;#039;XSD&amp;#039;&amp;#039;&amp;#039; (XML Schema Definition), je modernější a mnohem mocnější nástupce DTD. XSD je samo o sobě napsáno v XML syntaxi. Mezi jeho hlavní výhody patří:&lt;br /&gt;
*   Bohatá podpora datových typů (řetězec, číslo, datum, boolean atd.).&lt;br /&gt;
*   Podpora jmenných prostorů ([[Jmenný prostor (XML)|namespaces]]).&lt;br /&gt;
*   Možnost definovat komplexní pravidla, omezení a vzory.&lt;br /&gt;
*   Lepší rozšiřitelnost a modularita.&lt;br /&gt;
&lt;br /&gt;
=== Další validační jazyky ===&lt;br /&gt;
Existují i další, méně rozšířené jazyky pro validaci, jako jsou [[RELAX NG]] nebo [[Schematron]], které nabízejí alternativní přístupy k definici struktury dokumentů.&lt;br /&gt;
&lt;br /&gt;
== 💡 Klíčové technologie a související standardy ==&lt;br /&gt;
Kolem XML vznikl rozsáhlý ekosystém technologií a standardů pro jeho zpracování a transformaci.&lt;br /&gt;
*   **[[XPath]]**: Jazyk pro adresaci a výběr částí (uzlů) XML dokumentu. Používá se pro navigaci ve stromové struktuře dokumentu, podobně jako se cesty k souborům používají v souborovém systému.&lt;br /&gt;
*   **[[XSLT]]** (Extensible Stylesheet Language Transformations): Jazyk pro transformaci XML dokumentů do jiných formátů, například do [[HTML]], jiného XML schématu nebo prostého textu. XSLT procesor používá XPath k výběru částí vstupního dokumentu a na základě šablon generuje výstup.&lt;br /&gt;
*   **[[XQuery]]**: Dotazovací jazyk navržený pro práci s kolekcemi XML dat. Je pro XML tím, čím je [[SQL]] pro relační databáze. Umožňuje filtrovat, třídit a transformovat data z XML zdrojů.&lt;br /&gt;
*   **[[DOM]]** (Document Object Model): [[API]], které reprezentuje XML dokument jako stromovou strukturu v paměti počítače. Umožňuje programátorům procházet a modifikovat dokument uzel po uzlu. Jeho nevýhodou je vysoká paměťová náročnost u velkých dokumentů.&lt;br /&gt;
*   **[[SAX]]** (Simple API for XML): Událostně řízené [[API]] pro parsování XML. Místo načtení celého dokumentu do paměti prochází SAX parser dokument sekvenčně a při nalezení elementu, atributu nebo textu vyvolá událost, na kterou může program reagovat. Je paměťově efektivnější než DOM.&lt;br /&gt;
*   **[[Jmenný prostor (XML)|Jmenné prostory (Namespaces)]]**: Mechanismus, který umožňuje předejít konfliktům názvů elementů a atributů, pokud se v jednom dokumentu kombinují značky z různých &amp;quot;slovníků&amp;quot; (schémat). Jmenný prostor je identifikován pomocí [[URI]].&lt;br /&gt;
&lt;br /&gt;
== 🌍 Využití a aplikace ==&lt;br /&gt;
XML se díky své flexibilitě používá v široké škále oblastí:&lt;br /&gt;
*   **Webové služby**: Bylo základem pro protokoly jako [[SOAP]] a [[WSDL]] pro komunikaci mezi aplikacemi.&lt;br /&gt;
*   **Konfigurační soubory**: Mnoho aplikací a frameworků (např. v ekosystémech [[Java]] nebo [[.NET Framework|.NET]]) používá XML pro ukládání konfiguračních nastavení.&lt;br /&gt;
*   **Kancelářské formáty**: Moderní formáty dokumentů, jako je [[Office Open XML]] (používaný v [[Microsoft Office]] s příponami .docx, .xlsx) a [[OpenDocument]] (používaný v [[LibreOffice]] s příponami .odt, .ods), jsou ve skutečnosti [[ZIP]] archivy obsahující sadu XML souborů.&lt;br /&gt;
*   **Vektorová grafika**: Formát [[SVG]] (Scalable Vector Graphics) je aplikace XML pro popis dvourozměrné vektorové grafiky.&lt;br /&gt;
*   **Výměna dat**: Používá se pro B2B (business-to-business) komunikaci, například ve finančních standardech jako [[FIX]] (Financial Information eXchange).&lt;br /&gt;
*   **Publikační systémy**: Standardy jako [[DocBook]] nebo [[DITA]] používají XML pro tvorbu a správu technické dokumentace.&lt;br /&gt;
&lt;br /&gt;
== 👍 Výhody a nevýhody ==&lt;br /&gt;
=== Výhody ===&lt;br /&gt;
*   **Čitelnost pro člověka**: Struktura a data jsou relativně snadno čitelné i bez specializovaných nástrojů.&lt;br /&gt;
*   **Platformová a jazyková nezávislost**: Jako textový formát může být zpracován na jakémkoliv systému a v jakémkoliv programovacím jazyce.&lt;br /&gt;
*   **Rozšiřitelnost**: Umožňuje definovat vlastní značky a struktury přizpůsobené konkrétní doméně.&lt;br /&gt;
*   **Standardizace**: Široká podpora mezinárodních standardů (W3C) a nástrojů.&lt;br /&gt;
*   **Validace**: Možnost striktně ověřit strukturu a obsah dokumentu pomocí schémat (DTD, XSD).&lt;br /&gt;
&lt;br /&gt;
=== Nevýhody ===&lt;br /&gt;
*   **Upovídanost (verbosity)**: XML syntaxe s párovými značkami vede k větším souborům ve srovnání s kompaktnějšími formáty jako [[JSON]].&lt;br /&gt;
*   **Náročnost na zpracování**: Parsování XML je obecně pomalejší a paměťově náročnější než zpracování jednodušších formátů.&lt;br /&gt;
*   **Složitost ekosystému**: Související technologie jako XPath, XSLT nebo XSD mohou být pro začátečníky složité na naučení.&lt;br /&gt;
&lt;br /&gt;
== 🆚 XML vs. JSON ==&lt;br /&gt;
V posledních letech je XML v některých oblastech, zejména ve webových [[API]], nahrazováno formátem [[JSON]] (JavaScript Object Notation).&lt;br /&gt;
&lt;br /&gt;
| Vlastnost | XML | JSON |&lt;br /&gt;
|---|---|---|&lt;br /&gt;
| **Syntaxe** | Značky (tagy) | Páry klíč-hodnota |&lt;br /&gt;
| **Čitelnost** | Dobrá, ale &amp;quot;upovídaná&amp;quot; | Velmi dobrá, kompaktní |&lt;br /&gt;
| **Datové typy** | Vše je text, typy se definují externě (XSD) | Přímá podpora pro řetězce, čísla, booleovské hodnoty, pole a objekty |&lt;br /&gt;
| **Schéma/Validace** | Silná podpora (DTD, XSD, RELAX NG) | Omezenější, ale existuje [[JSON Schema]] |&lt;br /&gt;
| **Komentáře** | Podporovány (`&amp;lt;!-- ... --&amp;gt;`) | Oficiálně nepodporovány |&lt;br /&gt;
| **Jmenné prostory** | Podporovány | Nepodporovány |&lt;br /&gt;
| **Typické použití** | Dokumenty, konfigurace, podnikové systémy | Webová API, mobilní aplikace, jednoduchá výměna dat |&lt;br /&gt;
&lt;br /&gt;
Obecně platí, že JSON je často preferován pro datově orientované aplikace, kde je důležitá rychlost a jednoduchost zpracování. XML si stále drží silnou pozici v dokumentově orientovaných aplikacích, kde je klíčová validace, struktura a metadata (např. v publikačních systémech nebo složitých B2B protokolech).&lt;br /&gt;
&lt;br /&gt;
== 🧑‍🏫 Pro laiky: Co je XML? ==&lt;br /&gt;
Představte si, že máte spoustu informací o knihách a chcete si je zapsat do počítače tak, aby jim rozuměl nejen člověk, ale i jakýkoliv program.&lt;br /&gt;
&lt;br /&gt;
*   **Prostý text**: Můžete napsat: `Hobit, J. R. R. Tolkien, 1937`. To je pro člověka srozumitelné, ale počítač neví, co je název, co autor a co rok vydání.&lt;br /&gt;
*   **XML**: Pomocí XML dáte každé informaci &amp;quot;štítek&amp;quot; (značku), který popisuje její význam. Stejná informace by v XML vypadala takto:&lt;br /&gt;
```xml&lt;br /&gt;
&amp;lt;kniha&amp;gt;&lt;br /&gt;
  &amp;lt;nazev&amp;gt;Hobit&amp;lt;/nazev&amp;gt;&lt;br /&gt;
  &amp;lt;autor&amp;gt;J. R. R. Tolkien&amp;lt;/autor&amp;gt;&lt;br /&gt;
  &amp;lt;rok_vydani&amp;gt;1937&amp;lt;/rok_vydani&amp;gt;&lt;br /&gt;
&amp;lt;/kniha&amp;gt;&lt;br /&gt;
```&lt;br /&gt;
Díky značkám `&amp;lt;nazev&amp;gt;`, `&amp;lt;autor&amp;gt;` a `&amp;lt;rok_vydani&amp;gt;` teď každý program přesně ví, která informace co znamená. XML je tedy jako velmi organizovaný systém kartotéčních lístků, kde každý údaj má své jasně označené políčko. Na rozdíl od [[HTML]], které má předem dané štítky pro webové stránky (jako `&amp;lt;h1&amp;gt;` pro nadpis nebo `&amp;lt;p&amp;gt;` pro odstavec), v XML si můžete vytvářet vlastní štítky pro cokoliv – od receptů přes faktury až po konfiguraci letadla.&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:XML}}&lt;br /&gt;
{{Aktualizováno|datum=14.12.2025}}&lt;br /&gt;
[[Kategorie:Značkovací jazyky]]&lt;br /&gt;
[[Kategorie:Standardy W3C]]&lt;br /&gt;
[[Kategorie:Datové formáty]]&lt;br /&gt;
[[Kategorie:Informatika]]&lt;br /&gt;
[[Kategorie:Vytvořeno Gemini 2.5 Pro]]&lt;/div&gt;</summary>
		<author><name>InfopediaBot</name></author>
	</entry>
</feed>