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

Элементы XML-схемы группируются по своей функции: элементы верхнего уровня, примитивы, множественные XML-документы и пространства имен, ограничения IDENTITY, атрибуты, именованные атрибуты, определения сложных типов и определения простых типов.

  • Элементы верхнего уровня

  • Примитивы

  • Множественные XML-документы и пространства имен

  • Ограничения IDENTITY

  • Атрибуты

  • Именованные объекты схемы

  • Определения сложных типов

  • Определения простых типов

Элементы верхнего уровня

Далее приведены элементы, которые отображаются в верхнем уровне схемы документа.

Элемент

Описание

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

Определяет заметку.

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

Объявляет атрибут.

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

Группирует набор объявлений атрибутов таким образом, что их можно включить в качестве группы в определения сложных типов.

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

Объявляет сложный тип, определяющий набор атрибутов и содержимое элемента.

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

Объявляет элемент.

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

Группирует набор объявлений элементов таким образом, что их можно включить в качестве группы в определения сложных типов.

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

Определяет пространство имен, на компоненты схемы которого ссылается содержащая схема.

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

Включает указанный документ схемы в целевое пространство имен содержащей схемы.

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

Содержит определение нотации, описывающей формат не-XML данных в XML-документе. Объявление нотации схемы XML - это видоизменение объявлений NOTATION XML 1.0.

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

Позволяет переопределить в текущей схеме простые и сложные типы, группы и группы атрибутов, полученные из внешних файлов схем.

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

Объявляет простой тип, который определяет ограничения на значения атрибутов или элементов, включающих только содержимое, а также сведения о них.

Примитивы

Далее приведены элементы, которые могут содержать атрибуты minOccurs и maxOccurs. Такие элементы всегда отображаются как части определения сложного типа, либо как части именованной группы моделей.

Элемент

Описание

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

Позволяет элементам группы появляться (или не появляться) в содержащем элементе в любом порядке.

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

Разрешает любому элементу из указанных пространств имен появляться в содержащем их элементе sequence или choice.

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

Позволяет присутствовать в элементе-контейнере только одному элементу выбранной группы.

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

Объявляет элемент.

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

Группирует набор объявлений элементов таким образом, что их можно включить в качестве группы в определения сложных типов.

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

Требует, чтобы элементы группы появлялись в содержащем их элементе в указанной последовательности.

Множественные XML-документы и пространства имен

Далее приведены элементы, привнесенные в элементы схемы из другого пространства имен, либо элементы, переопределяющие элементы схемы в том же пространстве имен.

Элемент

Описание

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

Определяет пространство имен, на компоненты схемы которого ссылается содержащая схема.

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

Включает указанный документ схемы в целевое пространство имен содержащей схемы.

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

Позволяет переопределить в текущей схеме простые и сложные типы, группы и группы атрибутов, полученные из внешних файлов схем.

Ограничения IDENTITY

Далее приведены элементы, относящиеся к ограничениям IDENTITY.

Элемент

Описание

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

Задает XPath-выражение, определяющее значение (или одно из значений), используемых для создания ограничения IDENTITY (элементы unique, key и keyref).

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

Указывает, что значение атрибута или элемента (либо набор значений) должно быть ключом в данной области видимости. Область видимости ключа – элемент-контейнер element в документе экземпляра. Ключ должен быть уникален, необнуляем и постоянно доступен.

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

Указывает, что значение атрибута или элемента (или набор значений) соответствует значению указанного элемента key или unique.

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

Указывает выражение XPath, выбирающее набор элементов для ограничения IDENTITY (элементы unique, key и keyref).

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

Указывает, что значение атрибута или элемента (либо сочетание значений атрибутов или элементов) должно быть уникально в данной области видимости. Значение должно быть уникальным или равняться nil.

Атрибуты

Далее приведены элементы, определяющие атрибуты в схемах.

Элемент

Описание

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

Разрешает любому атрибуту из указанных пространств имен появляться в содержащем их элементе complexType или attributeGroup.

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

Объявляет атрибут.

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

Группирует набор объявлений атрибутов таким образом, что их можно включить в качестве группы в определения сложных типов.

Именованные объекты схемы

Далее приведены элементы, определяющие именованные конструкции в схемах. Ссылки на именованные конструкции осуществляются другими элементами схемы с помощью имен QName (полных имен).

Элемент

Описание

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

Объявляет атрибут.

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

Группирует набор объявлений атрибутов таким образом, что их можно включить в качестве группы в определения сложных типов.

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

Объявляет сложный тип, определяющий набор атрибутов и содержимое элемента.

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

Объявляет элемент.

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

Группирует набор объявлений элементов таким образом, что их можно включить в качестве группы в определения сложных типов.

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

Указывает, что значение атрибута или элемента (либо набор значений) должно быть ключом в данной области видимости. Область видимости ключа – элемент-контейнер element в документе экземпляра. Ключ должен быть уникален, необнуляем и постоянно доступен.

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

Указывает, что значение атрибута или элемента (или набор значений) соответствует значению указанного элемента key или unique.

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

Содержит определение нотации, описывающей формат не-XML данных в XML-документе. Объявление нотации схемы XML - это видоизменение объявлений NOTATION XML 1.0.

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

Объявляет простой тип, который определяет ограничения на значения атрибутов или элементов, включающих только содержимое, а также сведения о них.

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

Указывает, что значение атрибута или элемента (либо сочетание значений атрибутов или элементов) должно быть уникально в данной области видимости. Значение должно быть уникальным или равняться nil.

Определения сложных типов

Далее приведены элементы, создающие определения сложных типов.

Элемент

Описание

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

Позволяет элементам группы появляться (или не появляться) в содержащем элементе в любом порядке.

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

Определяет заметку.

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

Разрешает любому элементу из указанных пространств имен появляться в содержащем их элементе sequence или choice.

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

Разрешает любому атрибуту из указанных пространств имен появляться в содержащем их элементе complexType или attributeGroup.

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

Задает сведения, используемые приложениями в элементе annotation.

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

Объявляет атрибут.

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

Группирует набор объявлений атрибутов таким образом, что их можно включить в качестве группы в определения сложных типов.

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

Позволяет присутствовать в элементе-контейнере только одному элементу выбранной группы.

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

Содержит расширения или ограничения для сложного типа, хранящего смешанное содержимое или только элементы.

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

Задает сведения, которые читают или используют пользователи в элементе annotation.

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

Объявляет элемент.

Элемент <xsd:extension> (simpleContent)

Содержит расширения simpleContent. Выполняется расширение простого или сложного типа, содержащего простое содержимое, путем добавления указанных атрибутов, групп атрибутов, либо атрибута anyAttribute.

Элемент <xsd:extension> (complexContent)

Содержит расширения для complexContent.

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

Группирует набор объявлений элементов таким образом, что их можно включить в качестве группы в определения сложных типов.

Элемент <xsd:restriction> (simpleContent)

Задает ограничения на определение simpleContent.

Элемент <xsd:restriction> (complexContent)

Задает ограничения на определение complexContent.

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

Требует, чтобы элементы группы появлялись в содержащем их элементе в указанной последовательности.

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

Содержит расширения или ограничения для элемента complexType с символьными данными или элемента simpleType в качестве содержимого и не содержит элементы.

Определения простых типов

Далее приведены элементы, создающие определения простых типов.

Элемент

Описание

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

Определяет заметку.

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

Задает сведения, используемые приложениями в элементе annotation.

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

Задает сведения, которые читают или используют пользователи в элементе annotation.

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

Объявляет элемент.

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

Определяет коллекцию из одного определения simpleType.

Элемент <xsd:restriction> (simpleType)

Задает ограничения на определение simpleType.

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

Определяет коллекцию из нескольких определений simpleType.

См. также

Ссылки

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

Справочник по типам данных XML

Примитивные типы данных XML

Производные типы данных XML

Основные понятия

Аспекты типов данных