XSD - Element <schema>

<schema> element jest podstawowym elementem każdego XML Schema.

<schema> element

<schema> element jest podstawowym elementem każdego XML Schema:

<?xml version="1.0"?>
<xs:schema>
...
...
</xs:schema>

<schema> element może zawierać atrybuty. Deklaracja schema często wygląda tak:

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
targetNamespace="http://www.codew3c.com"
xmlns="http://www.codew3c.com"
elementFormDefault="qualified">
...
...
</xs:schema>

Wyjaśnienie kodu:

Poniższy fragment:

xmlns:xs="http://www.w3.org/2001/XMLSchema"

Pokazuje, że elementy i typy danych używane w schemacie pochodzą z przestrzeni nazw "http://www.w3.org/2001/XMLSchema". Ponadto określa, że elementy i typy danych z przestrzeni nazw "http://www.w3.org/2001/XMLSchema" powinny być używane z prefiksem xs:

Ten fragment:

targetNamespace="http://www.codew3c.com"

Pokazuje, że elementy zdefiniowane przez ten schemat (note, to, from, heading, body) pochodzą z przestrzeni nazw: "http://www.codew3c.com".

Ten fragment:

xmlns="http://www.codew3c.com"

Wskazuje, że domyślną przestrzenią nazw jest "http://www.codew3c.com".

Ten fragment:

elementFormDefault="qualified"

Wskazuje, że wszystkie elementy używane w każdym dokumencie instancji XML, które są deklarowane w tym schemacie, muszą być ograniczone przestrzenią nazw.

Odwoływanie się do schematu w dokumencie XML

Ten dokument XML zawiera odwołania do XML Schema:

<?xml version="1.0"?>
<note xmlns="http://www.codew3c.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.codew3c.com note.xsd">
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>

Wyjaśnienie kodu:

Poniższy fragment:

xmlns="http://www.codew3c.com"

Określa deklarację domyślnej przestrzeni nazw. Ta deklaracja informuje weryfikator schematu, że wszystkie elementy używane w tym dokumencie XML są deklarowane w przestrzeni nazw "http://www.codew3c.com".

Gdy masz dostępny przestrzeń nazw XML Schema instancji:

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

Możesz używać atrybutu schemaLocation. Ten atrybut ma dwie wartości. Pierwsza wartość to wymagana nazwa przestrzeni nazw. Druga wartość to lokalizacja XML schema dla tej przestrzeni nazw:

xsi:schemaLocation="http://www.codew3c.com note.xsd"