Hierarchické datové formáty:
XML je textový značkovací jazyk vyvinutý konsorciem W3C. Je navržen tak, aby byl čitelný lidmi i stroji.
Hlavní charakteristika: Klade důraz na sémantiku a popis struktury dat, nikoli na jejich prezentaci.
Každý element v XML je uzavřen do párových značek (tagů), které si definuje sám autor dokumentu.
Stavební kameny:
<?xml version="1.0" encoding="UTF-8"?><kniha>),<kniha id="123">),html:table vs furniture:table).Smíšený obsah (Mixed content):
Přejděte na <odkaz>web</odkaz> školy.).Vlastnosti:
<osoba>
<jmeno>Jan</jmeno>
<prijmeni>Novák</prijmeni>
<adresa>
<ulice>Vodičkova</ulice>
<cislo>15</cislo>
<mesto>Praha 1</mesto>
</adresa>
</osoba>
Dokument je považován za dobře formovaný, pokud splňuje všechna syntaktická pravidla XML.
Je to základní podmínka pro jakékoliv strojové zpracování dokumentu.
DŮSLEDEK: Pokud XML dokument není well-formed, XML parser (zpracovatel) musí vyhodit fatální chybu a okamžitě zastavit zpracování.
Pravidla pro dobrou formovanost
<tag>) musí mít odpovídající uzavírací tag (</tag>). Prázdné elementy lze zapsat jako <tag/>.<A><B></A></B> je chyba).<Tag> a <tag> jsou dva různé elementy.Dokument je validní, pokud je nejen dobře formovaný, ale navíc jeho struktura a obsah odpovídají pravidlům definovaným v externím nebo interním schématu.
Validace zaručuje, že dokument obsahuje očekávané elementy ve správném pořadí, se správnými datovými typy a kardinalitou.
DŮSLEDEK: Validace je proces navíc. Dokument může být perfektně dobře formovaný (projde parserem), ale nevalidní (např. v elementu <vek> pošleš text "třicet" místo čísla 30).
Pro validaci XML se používají především dva jazyky:
XSD, často označované jako XML Schema, je jazyk založený na XML pro popis struktury XML dokumentu.
Umožňuje definovat:
xs:string, xs:integer, xs:date). <xs:schema xmlns:xs="<http://www.w3.org/2001/XMLSchema>">
<xs:element name="osoba">
<xs:complexType>
<xs:sequence>
<xs:element name="jmeno" type="xs:string"/>
<xs:element name="prijmeni" type="xs:string"/>
<xs:element name="adresa">
...
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
JSON je odlehčený formát pro výměnu dat, původně odvozený z jazyka JavaScript, dnes na něm ale zcela nezávislý.
Standardem pro REST API
Stavební kameny:
{}. []. true/false), null.Vlastnosti:
{
"jmeno": "Jan",
"prijmeni": "Novák",
"adresa": {
"ulice": "Vodičkova",
"cislo": 15,
"mesto": "Praha 1"
}
}
JSON Schema je standard pro validaci struktury JSON dokumentů.
Je analogií k XSD, ale je určeno pro formát JSON a je samo napsané v JSONu.
Definuje, jaké klíče jsou v objektu povinné ("required": ["id", "jmeno"]).
Omezuje typy hodnot ("type": "integer", "type": "string").
Umožňuje pokročilá omezení pro pole (minItems, uniqueItems) či textové řetězce pomocí klíčového slova "format" (např. automatická kontrola, zda řetězec odpovídá formátu e-mailu nebo datumu).
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "http://example.org/moje.schema.json",
"title": "Osoba",
"type": "object",
"properties": {
"jmeno": {
"type": "string"
},
"prijmeni": {
"type": "string"
},
"adresa": {
"type": "object",
"properties": {
"ulice": { "type": "string" },
"cislo": { "type": "integer" },
"mesto": { "type": "string" }
},
"required": ["ulice", "mesto"]
}
},
"required": ["jmeno", "prijmeni"]
}
JSON-LD je rozšíření formátu JSON, které umožňuje propojit data napříč webem pomocí principů Linked Data.
Jeho cílem je přidat do běžného JSONu sémantický kontext tak, aby data byla srozumitelná nejen pro konkrétní aplikaci, ale i pro obecné strojové zpracování, například pro vyhledávače.
Tím z něj vytvoříme regulérní RDF graf (množinu trojic), aniž by se narušila čitelnost pro standardní webové vývojáře.
Toho dosahuje zavedením klíčového slova @context, které mapuje termíny v JSON dokumentu na koncepty definované ve veřejných slovnících (ontologiích), jako je například schema.org.
Využívá k tomu speciální klíčová slova začínající zavináčem (@):
@context: Mapuje obyčejné textové klíče v JSONu na globální, jednoznačná IRI ze známých slovníků (např. z Schema.org nebo FOAF). Tím dává datům celosvětový význam.@id: Určuje jednoznačné IRI daného zdroje (subjektu). Říká, o čem konkrétně mluvíme.@type: Určuje třídu (typ) objektu (ekvivalent k rdf:type nebo zkratce a v Turtle).{
"@context": "https://schema.org/",
"@type": "Person",
"@id": "https://example.org/people/jan-novak",
"name": "Jan Novák",
"address": {
"@type": "PostalAddress",
"streetAddress": "Vodičkova 15",
"addressLocality": "Praha 1"
}
}
V tomto příkladu @context říká, že termíny jako Person nebo name mají být interpretovány podle definic na schema.org.
Vytvořeno: 20. 6. 2026, 13:15
Poslední aktualizace: 20. 6. 2026, 14:21