Элемент <schema> в XSD

Элемент <schema> является корневым элементом каждого XML Schema.

Элемент <schema>

Элемент <schema> является корневым элементом каждого XML Schema:

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

<schema> элемент может содержать атрибуты. Обычно заявление schema выглядит следующим образом:

<?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>

Комментарий к коду:

Ниже приведен фрагмент:

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

Показывает, что элементы и типы данных, используемые в schema, поступают из namespace "http://www.w3.org/2001/XMLSchema". В то же время оно устанавливает, что элементы и типы данных из namespace "http://www.w3.org/2001/XMLSchema" должны использовать префикс xs:

Этот фрагмент:

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

Показывает, что элементы (note, to, from, heading, body), определенные этим schema, поступают из namespace: "http://www.codew3c.com".

Этот фрагмент:

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

Указывается, что по умолчанию namespace является "http://www.codew3c.com".

Этот фрагмент:

elementFormDefault="qualified"

Указывается, что все элементы, используемые в любом XML-документе-примере и объявленные в этом schema, должны быть ограничены namespace.

Цитирование Schema в XML-документе

Этот XML-документ содержит ссылки на 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>Памятка</heading>
<body>Не забудьте встречу!</body>
</note>

Комментарий к коду:

Ниже приведен фрагмент:

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

Установлены правила для объявления mặc định namespace. Это объявление информирует валидатор schema, что все элементы, используемые в этом XML-документе, объявлены в namespace "http://www.codew3c.com".

Как только у вас появится доступный XML SchemaInstance namespace:

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

Теперь вы можете использовать атрибут schemaLocation. Этот атрибут имеет два значения. Первый - это используемый пространство имен. Второй - это местоположение XML schema для пространства имен:

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