xsd restriction что это

XSD Ограничения / Грани

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

Ограничения на ценности

Ограничения на набор значений

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

В приведенном ниже примере определяет элемент под названием «car» с ограничением. Допустимыми значениями являются: Audi, Golf, BMW :

В приведенном выше примере, возможно, также было написано так:

Ограничения на ряд значений

Для того, чтобы ограничить содержимое элемента XML, чтобы определить ряд цифр или букв, которые могут быть использованы, мы будем использовать шаблон ограничения.

В приведенном ниже примере определяет элемент под названием «letter» с ограничением. Единственным допустимым значением является одним из строчных букв от А до Я:

Следующий пример определяет элемент под названием «initials» с ограничением. Единственное приемлемое значение три из заглавных букв, от А до Я:

Следующий пример также определяет элемент под названием «initials» с ограничением. Единственным допустимым значением является три из строчных букв или заглавными буквами от А до Я:

Следующий пример определяет элемент под названием «prodid» с ограничением. Единственным допустимым значением является пять цифр в последовательности, и каждая цифра должна быть в диапазоне от 0 до 9:

Другие ограничения на ряд значений

В приведенном ниже примере определяет элемент под названием «letter» с ограничением. Допустимое значение ноль или более вхождений строчных букв от А до Я:

Следующий пример также определяет элемент под названием «letter» с ограничением. Приемлемое значение представляет собой одну или несколько пар букв, каждая пара, состоящая из строчной буквы, за которым следует заглавной буквы. Например, «sToP» будет подтверждено этой модели, но не «Stop» или «STOP» или «stop» :

Следующий пример определяет элемент под названием «gender» с ограничением. Единственное приемлемое значение мужского или женского пола:

Следующий пример определяет элемент с именем «password» с ограничением. Там должно быть ровно восемь символов в строке, и эти символы должны быть строчными или прописными буквами от А до Я, или число от 0 до 9:

Ограничения на пробельных символов

Чтобы указать, как пробельные символы должны быть обработаны, мы будем использовать пробельные ограничение.

Ограничения по длине

Для того, чтобы ограничить длину значения в элементе, мы будем использовать длину, MAXLENGTH и MINLENGTH ограничений.

Источник

dev64

Programming

Ограничения на значения XML элементов и аттрибутов в XML schema

Галерея

Оглавление

В предыдущем посте я писал про описание аттрибутов для элементов в XML schema. Подробные описания XML schema можно посмотреть на сайте w3school.com

Пример, ниже, определяет элемент «age» (возраст) с ограничениями. Значение возраста должно быть больше нуля и меньше, чем 120.

Разрешение только определённого набора значений

Пример ниже определяет элемент «car» c ограничениями на возможные значения. Возможные значения: Audi, Golf, BMW:

Тоже самое может быть задано по-другому:

В данном случае тип «carType» может быть использован с другими элементами, поскольку он больше не часть элемента «car».

Ограничения на значения элементов также могут быть указаны в виде регулярного выражения.

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

В данном случае, значение должно состоять из пяти десятичных цифр.

Разрешено 0 или более латинских букв в нижнем регистре.

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

Два возможных значения: либо «male» либо «female»

Латинские буквы в любом регистре и цифры в количестве ровно 8 штук.

Ограничения на пробелы в значении

Данное ограничение указывает, что символы-разделители (пробелы, табуляции, переводы строки строки, возвраты каретки) в значениях должны оставаться как есть.

Разделители (пробелы, табуляции, переводы строки строки, возвраты каретки) будут заменяться на пробелы.

Пример ниже определяет элемент «address» с ограничением. whiteSpace ограничение выставляется в значение «collapse», означающее, что XML процессор удалит все лишние разделители (перводы строки, табуляции, пробелы, возвраты каретки заменятся пробелами, лидирующие и завершающие пробелы будут удалены, множественные пробелы будут урезаны до одного пробела).

Ограничения длины

Для ограничения длины значения XML элемента используются: length, maxLength и minLength.
Пример ниже определяет элемент «password» c ограничением. Длина должна быть ровно 8 символов.

Пример ниже ограничивает минимальную длину значения 5-ю символами, максимальную 8-ю.

Типы разрешенных ограничений, в зависимости от типа поля

Источник

XSD — умный XML

XSD — это язык описания структуры XML документа. Его также называют XML Schema. При использовании XML Schema XML парсер может проверить не только правильность синтаксиса XML документа, но также его структуру, модель содержания и типы данных.

Такой подход позволяет объектно-ориентированным языкам программирования легко создавать объекты в памяти, что, несомненно, удобнее, чем разбирать XML как обычный текстовый файл.

Кроме того, XSD расширяем, и позволяет подключать уже готовые словари для описания типовых задач, например веб-сервисов, таких как SOAP.

Стоит также упомянуть о том, что в XSD есть встроенные средства документирования, что позволяет создавать самодостаточные документы, не требующие дополнительного описания.

Рассмотрим в качестве примера XSD документ, описывающий часть структуры аккаунта на хабре.

xsd restriction что это. Смотреть фото xsd restriction что это. Смотреть картинку xsd restriction что это. Картинка про xsd restriction что это. Фото xsd restriction что это

Текст XSD схемы и XML документ, соответствующий этой схеме я не стал включать в статью из-за их размера.

Первая строчка схемы указывает, что документ является XML документом и использует кодировку UTF-8.

xs:annotation >
xs:documentation > Главный элемент схемы. Описывает пользователя хабра xs:documentation >
xs:annotation >

Тег описывает «сложный» тип данных user_name. При желании его можно вынести как отдельный тип данных, по аналогии с contact_info. Для этого, нужно блок перенести в и указать атрибут name, а элементу задать атрибут type.

Элементы user_name, first_name, last_name имеют строковый тип и описывают пользователя, имя и фамилию владельца аккаунта.

Элемент date_of_birth имеет тип данных «дата» и описывает дату рождения.

Дату регистрации описывает register_date, имеющий собственный тип данных customDateTime. Значение этого тега будет задаваться с помощью атрибута value. На это указывают строки.

xs:simpleType >
xs:restriction base =»xs:string» >
xs:length value =»19″ />
xs:pattern value =»2889-12-11 13:23:47″ />
xs:restriction >
xs:simpleType >

Элементы contact_info и blog — массивы, на это указывает атрибут maxOccurs=«unbounded».

Тег определяет то, что вложенным элементом будет один из элементов ICQ или linkedin.

Дополнительно о XSD схемах можно почитать Wikipedia и W3C. Для создания макета была использована программа Altova XMLSpy.

Источник

XSD элемент restriction

Элемент restriction определяет ограничения для элементов simpleType, simpleContent и complexContent.

Синтаксис элемента

Атрибуты элемента

АтрибутОписание
idНе обязательный. Определяет уникальный идентификатор для элемента
baseОбязательный. Определяет имя встроенного типа данных, элемента simpleType или элемента complexType, определенных в этой или другой схеме
любые атрибутыНе обязательный. Любые другие атрибуты вне пространства имен схемы

Пример использования

Пример №1
В следующем примере определяется элемент «age» с ограничением. Значение этого элемента не может быть меньше 0 или больше 100:

Пример №2
В следующем примере определяется элемент «initials» простого типа с ограничением. В качестве значения этого элемента могут выступать только набор из трех прописных или заглавных букв латинского алфавита:

Пример №3
В следующем примере определяется элемент «password» простого типа с ограничением. Значением этого элемента может быть только набор из минимум пяти и максимум восьми символов:

Пример №4
В следующем примере определяется сложный тип с ограничением. Сложный тип «Norwegian_customer» производится от сложного типа, определяющего параметры покупателя в общих чертах. В новом сложном типе элемент country зафиксирован на значении «Norway»:

Источник

Инструменты пользователя

Инструменты сайта

Содержание

Аннотации

компонент может иметь атрибут xml: lang, в котором указывается язык написания самой аннотации.

разработки, таблицы стилей и других приложений. Например, в середине компонента appInfo можно представить информацию о том, какие фасетки могут быть применены к каждому простого типа.

Типы данных

Объявление элемента

Обратите также внимание на то, что при указании типа элемента обязательно необходимо задавать пространство имен:

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

Необязательный атрибут use может принимать одно из следующих значений:

Простые и комплексные типы данных

simpleType

Простые типы в основном используются для сужение типов (restriction)

Cужение типов (restriction)

С помощью сужение типов (restriction) Мы можем контролировать любой тип данных на наличие его значения то есть ограничивать его значения
Приме: Схема

Название фасеткиОписание
Наибольшее значение, которое больше не входит в определяем тип
Наибольшее значение определяемого типа
Наименьшее значение, которое больше не входит в Определяемый тип
Наименьшее значение определяемого типа
Общее количество цифр в определяемого числовом типе; сужение типа decimal
Количество цифр в дробной части числа
Длина значений определяемого типа
Наибольшая длина значений определяемого типа
Наименьшее длина значений определяемого типа
Одно из перечисленных значений

В тегах-фасетка также могут иметь атрибуты. Эти атрибуты называют базисными фасетками (fundamental facets). Среди них выделяют:

complexType

Схема: базовый элемент

Группы элементов

Группа позволяет описать общие элементы. (работает как include) Схема:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *