XML схемы описывают структуру XML документа. Для этого используются определенные ключевые элементы, работающие как кирпичики, из которых и складывается эта самая структура XML документа. При помощи приведенных здесь элементов можно описать любой XML элемент. Подробнее о XML схемах можно прочитать в учебнике по XML схемам.
XSD элементы
| all | Устанавливает, что дочерние элементы могут появляться в любом порядке. Каждый дочерний элемент может быть определен ноль или больше раз |
| annotation | Элемент наивысшего уровня, определяющий комментарии схемы |
| any | Позволяет расширять XML документ элементами, не определенными схемой |
| anyAttribute | Позволяет расширять XML документ атрибутами, не определенными схемой |
| appinfo | Определяет информацию, которая будет использоваться приложением |
| attribute | Определяет атрибут |
| attributeGroup | Используется для группирования набора деклараций атрибутов |
| choice | Позволяет только одному из элементов, определенных в декларации <choice>, присутствовать внутри элемента-контейнера |
| complexContent | Определяет расширения или ограничения для сложного типа, который содержит только смешанный контент или элементы |
| complexType | Определяет сложный тип |
| documentation | Используется для текстовых комментариев в схеме |
| element | Определяет элемент |
| extension | Расширяет существующий элемент simpleType или complexType |
| field | Задает выражение XPath, которое устанавливает значение, используемое для определения идентификационного ограничения |
| group | Используется, чтобы определить группу элементов для использования в определениях сложных типов |
| import | Используется, чтобы добавлять в документ другие схемы с разными пространствами имен |
| include | Используется, чтобы добавлять в документ другие схемы с одинаковыми целевыми пространствами имен |
| key | Определяет значение атрибута или элемента, как ключ внутри элемента-контейнера |
| keyref | Определяет, что значение атрибута или элемента соответствует значению указанного элемента key и unique |
| list | Определяет элемент простого типа, как список значений заданного типа данных |
| notation | Описывает формат не-XML данных в XML документе |
| redefine | Переопределяет простые и сложные типы, группы элементов и атрибутов из внешней схемы |
| restriction | Определяет ограничения для элементов simpleType, simpleContent и complexContent |
| schema | Определяет корневой элемент XML схемы |
| selector | Определяет выражение XPath, отбирающее набор элементов для идентификационного ограничения |
| sequence | Определяет, что дочерние элементы должны появляться в последовательности |
| simpleContent | Определяет расширения или ограничения для текстового сложного типа или простого типа, который не содержит элементы |
| simpleType | Определяет простой тип |
| union | Определяет элемент простого типа, как коллекцию (набор) значений заданного типа данных |
| unique | Определяет, что значение атрибута или элемента должно быть уникальным в данной области видимости |
XSD ограничители/фасеты для типов данных
О применении XSD ограничителей!
| Ограничитель | Описание |
|---|---|
| enumeration | Определяет список приемлемых значений |
| fractionDigits | Определяет максимальное число знаков после десятичной запятой. Должно быть равно или больше нуля |
| length | Определяет точное число символов или объектов списка. Должно быть равно или больше нуля |
| maxExclusive | Определяет верхнюю границу для числовых значений (значение должно быть меньше указанного здесь) |
| maxInclusive | Определяет верхнюю границу для числовых значений (значение должно быть меньше или равно указанному здесь) |
| maxLength | Определяет максимальное число символов или объектов списка. Должно быть равно или больше нуля |
| minExclusive | Определяет нижнюю границу для числовых значений (значение должно быть больше указанного здесь) |
| minInclusive | Определяет нижнюю границу для числовых значений (значение должно быть больше или равно указанному здесь) |
| minLength | Определяет минимальное число символов или объектов списка. Должно быть равно или больше нуля |
| pattern | Определяет точную последовательность приемлемых символов |
| totalDigits | Определяет точное количество допустимых цифр. Должно быть больше нуля |
| whiteSpace | Определяет способ обработки пробельных символов |