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 | Определяет способ обработки пробельных символов |