Žádný řádek neodpovídá. Filtr hledá části slov bez ohledu na diakritiku; zkus kratší tvar nebo hledání na celém webu.
XML
Syntaxe XML
| Konstrukce | Zápis / pravidlo |
|---|---|
| Deklarace | <?xml version="1.0" encoding="UTF-8"?>; pokud je přítomna, musí být první po případném BOM |
| Kořen | právě jeden kořenový element |
| Element | <jmeno>text</jmeno> nebo <jmeno/> |
| Atribut | jmeno="hodnota"; hodnota je vždy v uvozovkách |
| Velikost písmen | <Jmeno> a <jmeno> jsou jiné názvy |
| Vnoření | značky se nesmějí křížit |
| Text | & a < escapuj; > escapuj v posloupnosti ]]> |
| Komentář | <!-- text -->; uvnitř nesmí být -- a nesmí končit pomlčkou |
| CDATA | <![CDATA[text]]>; nevnořuje se, ukončuje ji ]]> |
| Instrukce | <?cil data?>; cíl xml je rezervovaný pro deklaraci |
| Bílé znaky | mezera, tabulátor, CR a LF mají kontextový význam |
| Validita | well-formed není totéž co valid vůči DTD nebo schema-valid |
Entity a číselné odkazy
| Zápis | Význam / omezení |
|---|---|
& | &; povinné escapování v běžném textu a hodnotách atributů |
< | <; povinné escapování v běžném textu a hodnotách atributů |
> | >; povinné v zakončení ]]> mimo CDATA |
" | "; nutné v atributu ohraničeném dvojitými uvozovkami |
' | '; nutné v atributu ohraničeném apostrofy |
© | desítkový odkaz na znak © |
© | šestnáctkový odkaz na stejný znak; x je malé |
| není předdefinovaná XML entita; použij znak nebo   |
� | nepovolený znak XML 1.0; odkaz ho nelegalizuje |
&vlastni; | vyžaduje deklaraci entity; načítání externích entit je bezpečnostní riziko |
URI jmenných prostorů
| Formát / účel | URI |
|---|---|
| xml:* | http://www.w3.org/XML/1998/namespace |
| xmlns | http://www.w3.org/2000/xmlns/ |
| XSD | http://www.w3.org/2001/XMLSchema |
| xsi | http://www.w3.org/2001/XMLSchema-instance |
| XSLT | http://www.w3.org/1999/XSL/Transform |
| SVG | http://www.w3.org/2000/svg |
| XHTML | http://www.w3.org/1999/xhtml |
| Atom | http://www.w3.org/2005/Atom |
| Sitemap | http://www.sitemaps.org/schemas/sitemap/0.9 |
| SOAP 1.1 | http://schemas.xmlsoap.org/soap/envelope/ |
| SOAP 1.2 | http://www.w3.org/2003/05/soap-envelope |
| XInclude | http://www.w3.org/2001/XInclude |
| XML Signature | http://www.w3.org/2000/09/xmldsig# |
| UBL Invoice | urn:oasis:names:specification:ubl:schema:xsd:Invoice-2 |
XSD
Komponenty XSD
| Komponenta | Účel |
|---|---|
schema | kořen; targetNamespace, elementFormDefault, attributeFormDefault |
element | deklarace elementu; name/ref, type, minOccurs/maxOccurs |
attribute | deklarace atributu; use=required/optional/prohibited |
simpleType | jednoduchý obsah a omezení hodnot |
complexType | elementy a atributy |
sequence | pořadí částí obsahu |
choice | alternativy obsahu |
all | skupina elementů s omezenými pravidly výskytu; rozdíly mezi 1.0 a 1.1 |
restriction | omezení základního typu |
extension | rozšíření základního typu |
list / union | seznam jednoduchých hodnot / sjednocení typů |
include / import | skládání stejného / jiného prostoru |
key / unique / keyref | identitní omezení a reference |
assert | XSD 1.1; podmínka vyhodnocovaná pomocí XPath |
Datové typy XSD
| Typ | Příklad | Poznámka |
|---|---|---|
xs:string | Jana | řetězec |
xs:normalizedString | Jana Nováková | normalizuje tabulátory a konce řádků |
xs:token | Jana Nováková | navíc slučuje a ořezává whitespace |
xs:boolean | true / false / 1 / 0 | čtyři povolené způsoby zápisu |
xs:decimal | 1499.90 | desetinné číslo bez exponentu |
xs:integer | 123 | celé číslo bez stanoveného konečného rozsahu |
xs:int | 123 | 32bitový rozsah |
xs:long | 123 | 64bitový rozsah |
xs:nonNegativeInteger | 0 | celé číslo nejméně 0 |
xs:float / xs:double | 1.2E3 | IEEE 754, také INF, -INF, NaN |
xs:date | 2026-10-01 | datum; časová zóna může být uvedena |
xs:dateTime | 2026-10-01T12:00:00Z | datum a čas |
xs:duration | P1DT2H | doba trvání |
xs:anyURI | https://example.cz/ | URI; není kontrola dostupnosti |
xs:QName | o:polozka | vyžaduje správný kontext prefixu |
xs:base64Binary | AQID | binární data v Base64 |
xs:byte / xs:short | 127 / 32767 | 8bitový / 16bitový celočíselný rozsah |
xs:unsignedByte / xs:unsignedShort | 255 / 65535 | nezáporné 8bitové / 16bitové číslo |
xs:unsignedInt / xs:unsignedLong | 4294967295 / 18446744073709551615 | nezáporné 32bitové / 64bitové číslo |
xs:positiveInteger / xs:negativeInteger | 1 / -1 | striktně kladné / záporné celé číslo |
xs:nonPositiveInteger | 0 | celé číslo nejvýše 0 |
xs:time | 12:00:00Z | čas dne; zóna může být uvedena |
xs:gYear / xs:gYearMonth | 2026 / 2026-10 | rok / rok a měsíc |
xs:gMonth / xs:gMonthDay / xs:gDay | --10 / --10-02 / ---02 | opakující se části kalendáře |
xs:hexBinary | 0102FF | binární data v hex zápisu |
xs:NCName | kniha | XML jméno bez dvojtečky |
xs:ID / xs:IDREF | k1 | identifikátor / reference; další dokumentová pravidla |
xs:language | cs-CZ | jazykový identifikátor; ne kontrola existence jazyka |
xs:NMTOKEN | kniha-1 | token z XML name znaků |
xs:dateTimeStamp | 2026-10-02T12:00:00Z | XSD 1.1; časová zóna je povinná |
xs:dayTimeDuration / xs:yearMonthDuration | P1DT2H / P1Y2M | XSD 1.1; omezené druhy duration |
xs:Name | p:kniha | XML jméno; na rozdíl od NCName dovoluje dvojtečku |
xs:IDREFS / xs:NMTOKENS | k1 k2 | neprázdné whitespace oddělené seznamy příslušných tokenů |
xs:ENTITY / xs:ENTITIES | logo | reference na neparsované entity; navazuje na DTD kontext |
xs:NOTATION | p:format | abstraktní typ zápisu notation; používá se odvozený typ s výčtem |
xs:anySimpleType | základ jednoduchých typů | není totéž jako xs:anyType; od 1.1 je také anyAtomicType |
XPath, XQuery a XSLT
Zápis XPath
| Téma | Zápis | Význam | Příklad |
|---|---|---|---|
| Základy | /prvek | Cesta od kořene dokumentu. | /katalog/kniha |
| Základy | //prvek | Prvek kdekoli v dokumentu. | //nazev |
| Základy | * | Jakýkoli prvek. | /katalog/kniha[1]/* |
| Základy | text() | Text uvnitř prvku. | //nazev/text() |
| Atributy | @atribut | Hodnota atributu. | //kniha/@id |
| Atributy | [@atribut="hodnota"] | Prvek s daným atributem. | //kniha[@id='k2'] |
| Atributy | //@atribut | Atribut kdekoli v dokumentu. | //cena/@mena |
| Pozice | [1] | První prvek (XPath počítá od jedné). | //kniha[1] |
| Pozice | [last()] | Poslední prvek. | //kniha[last()] |
| Pozice | [position() < 3] | Prvky podle pozice. | //kniha[position() < 3] |
| Filtry | [podprvek > číslo] | Podmínka na hodnotu podprvku. | //kniha[cena > 100]/nazev |
| Filtry | [contains(x, "text")] | Obsahuje text. | //kniha[contains(autor, 'Karel')] |
| Filtry | [starts-with(x, "text")] | Začíná textem. | //kniha[starts-with(nazev, 'R')] |
| Filtry | [a and b] | Spojení podmínek. | //kniha[@jazyk='cs' and cena > 150] |
| Funkce | count(…) | Počet nalezených uzlů. | count(//kniha) |
| Funkce | sum(…) | Součet čísel. | sum(//cena[@mena='CZK']) |
| Funkce | string(…) | Text uzlu. | string(//kniha[1]/nazev) |
| Osy | parent:: | Rodič uzlu. | //nazev/parent::kniha |
| Osy | following-sibling:: | Sourozenci za uzlem. | //kniha[1]/following-sibling::kniha |
| Osy | ancestor:: | Všichni předci uzlu. | //autor/ancestor::katalog |
| XPath 3.1 navíc | => funkce() | Řetězení: výsledek se předá další funkci. | //nazev/string() => string-join(', ') |
| XPath 3.1 navíc | for … return | Cyklus přímo ve výrazu. | for $k in //kniha return $k/nazev/string() |
Osy XPath
| Osa | Co vybere / směr |
|---|---|
child | děti; výchozí osa |
descendant | potomky v libovolné hloubce |
parent | rodiče; zkratka .. |
ancestor | předky; zpětná osa |
following-sibling | následující sourozence |
preceding-sibling | předchozí sourozence; zpětná osa |
following | následující uzly mimo potomky a atributy |
preceding | předchozí uzly mimo předky a atributy; zpětná osa |
attribute | atributy; zkratka @ |
self | kontextový uzel; zkratka . |
descendant-or-self | kontextový uzel a potomky |
ancestor-or-self | kontextový uzel a předky; zpětná osa |
namespace | jmenné prostory; v XPath 1.0, podpora novějšími procesory omezená |
Funkce XPath
| Funkce | Od verze | Účel |
|---|---|---|
count(nodes) | 1.0 | počet uzlů; od 2.0 obecně položek sekvence |
string(value) | 1.0 | řetězcová hodnota |
number(value) | 1.0 | číselná konverze |
boolean(value) | 1.0 | efektivní pravdivost |
position(), last() | 1.0 | pozice a velikost kontextu |
contains(a,b), starts-with(a,b) | 1.0 | část řetězce / prefix |
concat(a,b,…) | 1.0 | spojení řetězců |
normalize-space(text) | 1.0 | ořez a sjednocení XML whitespace |
sum(values) | 1.0 | součet |
local-name(), namespace-uri() | 1.0 | části názvu uzlu |
lang(tag) | 1.0 | test xml:lang v kontextu |
matches(text,regex) | 2.0 | regulární výraz |
tokenize(text,regex) | 2.0 | rozdělení textu |
string-join(sequence,separator) | 2.0 | spojení sekvence |
upper-case(text), lower-case(text) | 2.0 | změna velikosti písmen |
parse-json(text), serialize(value) | 3.1 / 3.0 | JSON do XDM / serializace XDM |
map:get(map,key), array:size(array) | 3.1 | mapy a pole |
boolean(value), not(value) | 1.0 | booleovská konverze / negace |
true(), false() | 1.0 | booleovské konstanty |
string(value), number(value) | 1.0 | konverze; neplatné číslo v 1.0 dává NaN |
string-length(text) | 1.0 | délka řetězce |
substring(text,start,length) | 1.0 | výřez; pozice začínají na 1 |
substring-before(a,b), substring-after(a,b) | 1.0 | část před / za prvním výskytem |
translate(text,from,to) | 1.0 | nahrazení jednotlivých znaků, ne podřetězců |
floor(n), ceiling(n), round(n) | 1.0 | číselné zaokrouhlení |
name(node) | 1.0 | kvalifikované jméno, nikoli samotná lokální část |
id(value) | 1.0 | výběr podle známého ID typu; běžný atribut id nestačí |
replace(text,regex,replacement) | 2.0 | regulární nahrazení |
exists(sequence), empty(sequence) | 2.0 | neprázdnost / prázdnost sekvence |
distinct-values(sequence) | 2.0 | jedinečné atomické hodnoty |
XQuery FLWOR
| Téma | Zápis | Význam | Příklad |
|---|---|---|---|
| FLWOR základy | for … return | Projde prvky a pro každý vrátí výsledek. | for $k in //kniha return $k/nazev |
| FLWOR základy | where | Vyfiltruje prvky podle podmínky. | for $k in //kniha where $k/cena > 100 return string($k/nazev) |
| FLWOR základy | order by | Seřadí výsledky. | for $k in //kniha order by number($k/cena) return string($k/nazev) |
| FLWOR základy | let | Pojmenuje mezivýsledek. | let $n := count(//kniha) return $n |
| Nové XML a podmínky | <prvek>{ … }</prvek> | Vytvoří nový prvek; výrazy ve složených závorkách se vyhodnotí. | <seznam>{ for $k in //kniha return <titul>{ string($k/nazev) }</titul> }</seznam> |
| Nové XML a podmínky | if (…) then … else … | Podmínka. | if (count(//kniha) > 2) then 'hodně' else 'málo' |
| Nové XML a podmínky | string-join(…) | Spojí texty do jednoho. | string-join(//nazev, ', ') |
Instrukce XSLT
| Instrukce | Co dělá |
|---|---|
xsl:template match="…" | šablona pro uzly odpovídající vzoru |
xsl:apply-templates select="…" | zpracuje vybrané uzly jejich šablonami |
xsl:value-of select="…" | vloží textovou hodnotu výrazu |
xsl:for-each select="…" | cyklus přes vybrané uzly |
xsl:if test="…" | podmínka bez větve „jinak“ |
xsl:choose / when / otherwise | vícenásobná podmínka |
xsl:sort select="…" | řazení uvnitř apply-templates nebo for-each |
xsl:copy / xsl:copy-of | mělká / úplná kopie uzlu do výstupu |
xsl:variable name="…" | pojmenovaná hodnota (po nastavení se nemění) |
xsl:output method="…" | formát výstupu: xml, html nebo text |
JSON
Syntaxe JSON
| Hodnota / pravidlo | Zápis |
|---|---|
| object | {"jmeno":"Jana"}; názvy jsou řetězce |
| array | [1,"dva",null]; pořadí je významové |
| string | "text"; jen dvojité uvozovky |
| number | -12.5e2; desítkově, bez úvodních nul |
| boolean | true nebo false; malými písmeny |
| null | null; není chybějící vlastnost |
| Kořen | libovolná jedna JSON hodnota |
| Whitespace | mezera, tabulátor, CR a LF |
| Komentáře | nepovolené |
| Koncová čárka | nepovolená |
| Duplicitní názvy | gramatika je nezakazuje; vyhýbej se jim kvůli interoperabilitě |
| Kódování | při výměně mezi systémy UTF-8 |
| NaN / Infinity / undefined | nejsou JSON hodnoty |
Escape sekvence JSON
| Sekvence | Význam |
|---|---|
\" | uvozovka |
\\ | zpětné lomítko |
\/ | lomítko; escapování není povinné |
\b | backspace U+0008 |
\f | form feed U+000C |
\n | LF U+000A |
\r | CR U+000D |
\t | tabulátor U+0009 |
\uXXXX | čtyři hex číslice; jednotka UTF-16 |
\uD83D\uDE00 | náhradní pár pro 😀 |
\x41, \0 | nepovolené escape sekvence |
Klíčová slova JSON Schema
| Skupina | Klíčová slova | Výklad |
|---|---|---|
| Identifikace | $schema, $id | dialekt a základ URI |
| Odkazy | $ref, $defs | znovupoužití schémat |
| Typ a výčet | type, enum, const | typ / povolené hodnoty |
| Objekty | properties, required, additionalProperties | pravidla vlastností a přítomnosti |
| Uzavření | unevaluatedProperties | dosud nevyhodnocené vlastnosti po skládání |
| Seznam | items | položky za prefixem nebo všechny, pokud prefix není |
| N-tice | prefixItems | schéma pro jednotlivé pozice |
| Počet a obsah | minItems, maxItems, uniqueItems, contains, minContains, maxContains | délka, jedinečnost a odpovídající položky |
| Čísla | minimum, maximum, exclusiveMinimum, exclusiveMaximum, multipleOf | číselná omezení |
| Řetězce | minLength, maxLength, pattern, format | délka, vzor a formát |
| Kombinace | allOf, anyOf, oneOf, not | logické podmínky |
| Podmínka | if, then, else | výběr větve |
| Závislosti | dependentRequired, dependentSchemas | požadavky vyvolané přítomností vlastnosti |
| Anotace | title, description, default, examples | popis; default automaticky nedoplňuje hodnotu |
| Názvy a vzory | propertyNames, patternProperties | schéma pro názvy / pro hodnoty odpovídajících názvů |
| Zbylé položky | unevaluatedItems | omezení dosud nevyhodnocených položek po skládání |
| Kontextová anotace | readOnly, writeOnly, deprecated | popis použití; samotné klíčové slovo není autorizace |
| Obsah řetězce | contentEncoding, contentMediaType, contentSchema | popis vloženého obsahu; běžně se automaticky nedekóduje ani nevaliduje |
JSONPath, Pointer a Patch
JSONPath
| Téma | Zápis | Význam | Příklad |
|---|---|---|---|
| Základy | $ | Celý dokument (kořen). | $ |
| Základy | .klíč | Hodnota klíče v objektu. | $.store.name |
| Základy | ['klíč'] | Totéž se závorkami — nutné u klíčů s mezerou nebo tečkou. | $['store']['name'] |
| Základy | ['a','b'] | Víc klíčů najednou. | $.store['name','open'] |
| Pole | [0] | Položka podle pořadí (od nuly). | $.store.books[0] |
| Pole | [-1] | Poslední položka. | $.store.books[-1] |
| Pole | [0:2] | Výřez: položky od–do (bez posledního). | $.store.books[0:2] |
| Pole | [*] | Všechny položky pole (nebo hodnoty objektu). | $.store.books[*].title |
| Pole | [0,2] | Vybrané položky podle pořadí. | $.store.books[0,2].title |
| Rekurze | ..klíč | Klíč kdekoli v dokumentu, v libovolné hloubce. | $..price |
| Rekurze | ..* | Všechny hodnoty v celém dokumentu. | $..books[*].author |
| Filtry | [?@.pole < X] | Položky, které splňují podmínku; @ je aktuální položka. | $.store.books[?@.price < 180] |
| Filtry | [?@.pole == hodnota] | Rovnost s textem nebo číslem. | $.store.books[?@.author == 'Karel Čapek'] |
| Filtry | [?@.pole == true] | Podmínka na logickou hodnotu. | $.store.books[?@.inStock == true].title |
| Filtry | && a || | Spojení podmínek (a zároveň / nebo). | $.store.books[?@.price > 150 && @.inStock == true].title |
| Funkce | length(@.pole) | Délka textu, pole nebo objektu. | $.store.books[?length(@.tags) > 1].title |
| Funkce | match(@.pole, 'regex') | Celý text odpovídá regulárnímu výrazu. | $.store.books[?match(@.title, 'R.*')].title |
| Funkce | search(@.pole, 'regex') | Regulární výraz se najde kdekoli v textu. | $.store.books[?search(@.author, 'Franz')].title |
JSON Pointer
| Pointer | Význam |
|---|---|
prázdný řetězec | celý dokument |
/zakaznik/jmeno | vlastnost jmeno v zakaznik |
/polozky/0/nazev | název první položky pole |
/a~1b | vlastnost a/b |
/m~0n | vlastnost m~n |
/ | vlastnost s prázdným názvem |
Operace JSON Patch
| op | Význam |
|---|---|
add | přidá člen objektu nebo vloží položku pole; existující člen objektu nahradí |
remove | odstraní existující hodnotu |
replace | nahradí existující hodnotu |
move | přesune hodnotu z from do path |
copy | zkopíruje hodnotu z from do path |
test | ověří rovnost hodnoty, jinak operace selže |
HTTP a MIME typy
MIME typy
| MIME typ | Účel |
|---|---|
application/xml | obecný XML dokument; charset podle RFC 7303 |
text/xml | alias application/xml podle RFC 7303 |
application/json | JSON; charset parametr není definovaný |
application/schema+json | JSON Schema |
application/json-patch+json | JSON Patch |
application/merge-patch+json | JSON Merge Patch |
application/soap+xml | SOAP 1.2 |
image/svg+xml | SVG |
application/atom+xml | Atom feed |
application/xhtml+xml | XHTML |
application/ld+json | JSON-LD |
application/geo+json | GeoJSON |