XSD – prvek <schema>
Element <schema> je kořenovým prvkem každého schématu XML.
Prvek <schema>
Element <schema> je kořenovým prvkem každého schématu XML:
<?xml version="1.0"?>
<xs:schema>
...
...
</xs:schema>
Element <schema> může obsahovat některé atributy. Deklarace schématu často vypadá nějak takto:
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="https://www.w3schools.com"
xmlns="https://www.w3schools.com"
elementFormDefault="qualified">
...
...
</xs:schema>
Následující fragment:
xmlns:xs="http://www.w3.org/2001/XMLSchema"
označuje, že prvky a datové typy použité ve schématu pocházejí z oboru názvů "http://www.w3.org/2001/XMLSchema". Také určuje, že prvky a datové typy, které pocházejí ze jmenného prostoru „http://www.w3.org/2001/XMLSchema“, by měly mít předponu xs:
Tento fragment:
targetNamespace="https://www.w3schools.com"
označuje, že prvky definované tímto schématem (poznámka, do, z, nadpis, tělo.) pocházejí z oboru názvů „https://www.w3schools.com“.
Tento fragment:
xmlns="https://www.w3schools.com"
označuje, že výchozí jmenný prostor je „https://www.w3schools.com“.
Tento fragment:
elementFormDefault="qualified"
označuje, že všechny prvky používané dokumentem instance XML, které byly deklarovány v tomto schématu, musí být kvalifikované pro obor názvů.
Odkazování na schéma v dokumentu XML
Tento dokument XML obsahuje odkaz na schéma XML:
<?xml version="1.0"?>
<note xmlns="https://www.w3schools.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://www.w3schools.com note.xsd">
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
Následující fragment:
xmlns="https://www.w3schools.com"
určuje výchozí deklaraci jmenného prostoru. Tato deklarace sděluje validátoru schématu, že všechny prvky použité v tomto dokumentu XML jsou deklarovány ve jmenném prostoru „https://www.w3schools.com“.
Jakmile budete mít k dispozici jmenný prostor instance schématu XML:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
můžete použít atribut schemaLocation. Tento atribut má dvě hodnoty oddělené mezerou. První hodnota je jmenný prostor, který se má použít. Druhá hodnota je umístění schématu XML, které se má pro daný jmenný prostor použít:
xsi:schemaLocation="https://www.w3schools.com note.xsd"