Элемент <xsd:schema>
Содержит определение схемы.
<schema
attributeFormDefault = (qualified | unqualified): unqualified
blockDefault = (#all | List of (extension | restriction | substitution) : ''
elementFormDefault = (qualified | unqualified): unqualified
finalDefault = (#all | List of (extension | restriction | list |
union): ''
id = ID
targetNamespace = anyURI
version = token
xml:lang = language
{any attributes with non-schema Namespace}...>
Content: ((include | import | redefine | annotation)*, (((simpleType |
complexType | group | attributeGroup) | element | attribute | notation),
annotation*)*)
</schema>
Атрибуты
attributeFormDefault
Форма атрибутов, объявляемых в целевом пространстве имен этой схемы. Значение должно быть одной из следующих строк: qualified или unqualified. Значение по умолчанию ― unqualified.Если значение составляет unqualified, необходимости в дополнении атрибутов из целевого пространства имен префиксом этого пространства имен нет.
Если значение составляет qualified, атрибуты из целевого пространства имен должны быть дополнены префиксом этого пространства имен.
Это значение является глобальным параметром по умолчанию для всех атрибутов, объявляемых в целевом пространстве имен. Индивидуальные атрибуты могут переопределять эту настройку в своей локальной области с помощью атрибута form.
Необязательно.
blockDefault
Тип наследования. Атрибут blockDefault задает значение по умолчанию атрибута block для элементов element и complexType в целевом пространстве имен этой схемы. Атрибут block предотвращает использование вместо этого унаследованного сложного типа (или элемента) сложного типа (или элемента), имеющего указанный тип наследования. Значение может содержать строку #all или список, состоящий из строк extension, restriction и substitution.расширение
Предотвращает использование вместо этого сложного типа сложных типов, унаследованных по расширению.
ограничение
Предотвращает использование вместо этого сложного типа сложных типов, унаследованных по ограничению.
substitution
Предотвращает замену элементов. (Элемент может объявить себя заменой для другого элемента, указав имя этого другого элемента в своем атрибуте substitutionGroup.)
#all
Предотвращает использование вместо этого сложного типа всех унаследованных сложных типов.
Необязательно.
elementFormDefault
Форма элементов, объявляемых в целевом пространстве имен этой схемы. Значение должно быть одной из следующих строк: qualified или unqualified. Значение по умолчанию ― unqualified.Если значение составляет unqualified, необходимости в дополнении элементов из целевого пространства имен префиксом этого пространства имен нет.
Если значение составляет qualified, элементы из целевого пространства имен должны быть дополнены префиксом этого пространства имен.
Это значение является глобальным параметром по умолчанию для всех элементов, объявляемых в целевом пространстве имен. Индивидуальные элементы могут переопределять эту настройку в своей локальной области с помощью атрибута form.
Необязательно.
finalDefault
Тип наследования. Атрибут finalDefault задает значение по умолчанию атрибута final для элементов element, simpleType и complexType в целевом пространстве имен этой схемы. Атрибут final предотвращает указанный тип наследования элементов element, simpleType или complexType. Для элементов element и complexType это значение может содержать строку #all или список, являющийся подмножеством extension либо restriction. Для элементов simpleType это значение может дополнительно содержать list и union.расширение
По умолчанию элементы в данной схеме не могут быть унаследованы по расширению. Применимо только к элементам element и complexType.
ограничение
Предотвращает наследование ограничением.
list
Предотвращает наследование списком. Применимо только к элементам simpleType.
union
Предотвращает наследование объединением. Применимо только к элементам simpleType.
#all
#all. По умолчанию элементы в данной схеме не могут быть унаследованы с использованием любого метода.
Необязательно.
id
Идентификатор данного элемента. Значение id должно иметь тип ID и быть уникальным в пределах документа, содержащего этот элемент.Необязательно.
targetNamespace
URI-ссылка пространства имен данной схемы. Может быть назначен также префикс для пространства имен. Если префикс не назначен, содержащиеся в схеме компоненты пространства имен могут быть использованы с неполными ссылками.Необязательно.
version
Номер версии схемы.Необязательно.
xml:lang
Индикатор языка, используемого в содержимом.Необязательно.
Сведения об элементе
Количество вхождений |
Однократно |
Родительские элементы |
(Нет родительских элементов) |
Content |
include, import, annotation, redefine attribute, attributeGroup, element, group, notation, simpleType, complexType |
Другой |
Элементы include, import и redefine должны указываться перед другими элементами, за исключением элемента annotation, который может указываться в любом месте. |
Примечания
Элемент schema является элементом документа (элементом верхнего уровня) в определении схемы.
Пространства имен, заданные с помощью атрибута xmlns, должны включать в себя пространство имен для элементов определения схемы, а также атрибуты (schema, element и т. д). Допускается применение любого префикса, однако в качестве пространства имен по умолчанию удобно использовать пространство имен schema; это дает возможность не указывать префикс при упоминании каждого элемента XML Schema.
targetNamespace - это пространство имен всех компонентов схем в данной схеме, а также всех схем, включенных с использованием элемента include. (Включенные схемы должны иметь то же целевое пространство имен, что и содержащая их схема, или вовсе не иметь целевого пространства имен.) В следующем примере компоненты схем (имя элемента, тип) в пространстве имен http://www.w3.org/2001/XMLSchema являются неполными, а компоненты в пространстве имен http://tempuri.org/myschema (mydecimal) - полными; они дополняются префиксом msc.
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:msc="http://tempuri.org/myschema"
targetNamespace="http://tempuri.org/myschema">
<xs:element name="Price" type="msc:mydecimal"/>
</xs:schema>
Для схемы XML используется следующее пространство имен:
http://www.w3.org/2001/XMLSchema
Кроме того, элемент schema должен содержать объявления пространств имен для всех других используемых им схем.
Пример
В следующей схеме пространство имен XML Schema используется в качестве пространства имен по умолчанию, а целевое пространство имен для этой схемы определяется как http://mynamespace/myschema.
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://mynamespace/myschema">
<!--Put schema content here -->
</xs:schema>
Другие ресурсы
Дополнительные сведения см. в документе «Рекомендация W3C по схемам XML, часть 1: структуры» по адресу www.w3.org/TR/2001/REC-xmlschema-1-20010502/\#element-all.