Элементы и атрибуты на схеме XSD. Правила использования

Публичный ресурс

Элементы и атрибуты на схеме XSD. Правила использования

Визуальную часть схемы и обозначения необходимо понимать по следующим правилам.

Элементы

Те поля в XML, которые выглядят как название поля над подчиненными, называются элементами схемы.

Принцип обязательности наличия элемента в XML-сообщении определяется следующими обозначениями на схеме XSD:

Обозначение

Описание

Пример

Обозначение

Описание

Пример

1..1

Обязательно наличие элемента, но не более 1 во вложенном элементе верхнего уровня.

0..1

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

1..∞

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

0..∞

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

Атрибуты

  • Все поля, которые выглядят как список под элементом, называются атрибутами.

  • Атрибут, выделенный жирным является обязательным.

  • Атрибуты всегда указываются внутри самого элемента.

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

    • <bar-code code="2301441" marked="true" deleted="true" />

Используемые типы данных на схемах XSD для интеграции

Тип данных

Название

Пример 

Тип данных

Название

Пример 

string

Текст

Строка символов в виде последовательности символов Unicode и ISO/IEC 10646, включая символы пробела. 

Для SetRetail без перевода строки или табуляции

<name>Мясо свежее 2389/333</name>

boolean

Логический

Принимает только значения в виде true или false.

Не принимаются значения 1 или 0 при импорте в SetRetail.

<marked>true</marked>

list

Список

Перечисление списка значений через пробел в одном элементе.

<shop-indices>123 455 3988 3498</shop-indices>

int

Числовой

Любое целое число.

<AdvertisingAction ....>         .... <actionResults>             <notification limit="4"/> </actionResults> </AdvertisingAction>

decimal

Числовые десятичные типы данных, используемые для определения числовых значений разделенный точкой

 

price="5.6"

<price-entry  marking-of-the-good="1224"  currency="RUB"  price="5.6"  price-type="DISCOUNT_PERCENT">

float

32-х битное число с плавающей точкой. Разделение точкой обязательно.

<vat>18.0</vat>

double

64-х битное число с плавающей точкой. Разделение точкой обязательно.

<AdvertisingAction priority = "12.344" ....> .... </AdvertisingAction>

long

64-разрядное (большое) целое число без разделителя.

<AdvertisingAction ....>    .... <actionResults>             <bonus AccountTypeID="34923784872349878"/> </actionResults> </AdvertisingAction>

date

Календарная дата в формате ГГГГ-ММ-ДД.

<planograms> <device startFrom="2021-06-01" ....> .... </device> </planograms>

dateTime

Время в виде комбинации календарной даты и времени.

<begin-date>2012-02-21T00:00:00Z</begin-date>

nonNegativeInteger

Неотрицательное целое число, от 0 и больше.

<AdvertisingAction ....>     .... <externalConditions>       <birthday-condition days-before="10"/> </externalConditions> </AdvertisingAction>

positiveInteger

Положительное целое число, от 0 и больше.

<AdvertisingAction ....>     .... <pricetag-template count="1"/> </AdvertisingAction>

[...]Type

Комплексный тип элемента. Если присутствует, то у элемента есть наличие атрибутов.

Если такой тип есть у атрибута, то, тогда у него есть список из значений.

<AdvertisingAction mode = "by-condition" ....> .... </AdvertisingAction>