Поделиться через


Элементы схемы 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 – это видоизменение определений XML 1.0 NOTATION.

Элемент <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 – это видоизменение определений XML 1.0 NOTATION.

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

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

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