Элемент <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.

См. также

Ссылки

Справочник по XML-схемам (XSD)

Элементы XML-схемы

Элемент <xsd:include>