
- •Лекция 4-04
- •4.2.7. Объявление атрибутов в схеме xml
- •4.2.7.1. Формат элементаattribute
- •4.2.7.2. Встроенные объявления атрибутов
- •4.2.8. Объявление элементов в схемеXml
- •4.2.8.1. Формат объявления элементаelement
- •4.2.8.2. Элементыunique,selectorиfield
- •4.2.8.3. Элементыkeyиkeyref
- •4.2.9. Определение комплексного типа в схемеXml
- •4.2.9.1. Формат определения элементаcomplexType
- •4.2.9.2. Элементы sequence, any, choice, all и group
- •4.2.9.3. ЭлементыattributeGroupиanyAttribute
- •4.2.9.4. ЭлементsimpleContent
- •4.2.9.5. ЭлементcomplexContent
- •4.2.10. Объявление нотации в схемеXml
- •4.2.11. Структура схемы
- •4.2.11.1. Элементschema
- •4.2.11.2. Включение внешних фрагментов в схему
- •4.2.11.3. Включение схемы в документXml
4.2.11.3. Включение схемы в документXml
Для включения схемы в документ XMLв спецификации определены атрибуты schemaLocationилиnoNamespaceSchemaLocation, которые задают URIвключаемой схемы. Эти атрибуты могут быть заданы в любом элементе документаXML(обычно задаются в корневом элементе). Наряду с одним из атрибутовschemaLocationилиnoNamespaceSchemaLocation, в элементе должен быть задан атрибутxmnls(с префиксом или без префикса), имеющий значение:
"http://www.w3.org/2001/XMLSchema-instance".
Первый атрибут включает схему, для которой в дескрипторе <schema>задан атрибут targetNamespace. Второй атрибут включает схему, для которой не задано целевое пространство имен, т.е. в элементе schemaне задан атрибут targetNamespace.
Примеры:
1. Пример использования атрибута schemaLocation:
1.1. Описание схемы (файлLibrary.xsd):
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.library.org"
xmlns="http://www.library.org"
elementFormDefault="qualified">
…
</xs:schema>
1.2. Включение схемы в документ XML:
<?xml version="1.0"?>
<library xmlns="http://www.library.org"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://www.library.org Library.xsd">
…
</library>
2. 1. Пример использования атрибута noNamespaceSchemaLocation:
2.1. Описание схемы (файл simple.xsd):
<?xml version="1.0"?>
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema">
…
</xs:schema>
2.2. Включение схемы в документ XML:
<vehicles
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="simple.xsd">
…
</vehicles>
Файл: