XSD — <schemat> Element
Element <schema> jest elementem głównym każdego schematu XML.
Element <schematu>
Element <schema> jest głównym elementem każdego schematu XML:
<?xml version="1.0"?>
<xs:schema>
...
...
</xs:schema>
Element <schema> może zawierać pewne atrybuty. Deklaracja schematu często wygląda mniej więcej tak:
<?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>
Poniższy fragment:
xmlns:xs="http://www.w3.org/2001/XMLSchema"
wskazuje, że elementy i typy danych używane w schemacie pochodzą z przestrzeni nazw „http://www.w3.org/2001/XMLSchema”. Określa również, że elementy i typy danych pochodzące z przestrzeni nazw „http://www.w3.org/2001/XMLSchema” powinny być poprzedzone prefiksem xs:
Ten fragment:
targetNamespace="https://www.w3schools.com"
wskazuje, że elementy zdefiniowane przez ten schemat (uwaga, do, od, nagłówek, treść.) pochodzą z przestrzeni nazw „https://www.w3schools.com”.
Ten fragment:
xmlns="https://www.w3schools.com"
wskazuje, że domyślna przestrzeń nazw to „https://www.w3schools.com”.
Ten fragment:
elementFormDefault="qualified"
wskazuje, że wszystkie elementy używane przez dokument instancji XML, które zostały zadeklarowane w tym schemacie, muszą mieć kwalifikację przestrzeni nazw.
Odwoływanie się do schematu w dokumencie XML
Ten dokument XML zawiera odniesienie do schematu 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>
Poniższy fragment:
xmlns="https://www.w3schools.com"
określa domyślną deklarację przestrzeni nazw. Ta deklaracja informuje weryfikatora schematu, że wszystkie elementy użyte w tym dokumencie XML są zadeklarowane w przestrzeni nazw „https://www.w3schools.com”.
Gdy masz już dostępną przestrzeń nazw XML Schema Instance:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
możesz użyć atrybutu schemaLocation. Ten atrybut ma dwie wartości oddzielone spacją. Pierwsza wartość to przestrzeń nazw do użycia. Druga wartość to lokalizacja schematu XML, który ma być używany dla tej przestrzeni nazw:
xsi:schemaLocation="https://www.w3schools.com note.xsd"