XML-схема minOccurs/maxOccurs значения по умолчанию
Мне интересно, как спецификация XML Schema обрабатывает эти случаи:
Нет maxOccurs given → Является ли это мощностью [1..1]?
Я полагаю, это просто неверно?
Является ли это мощностью [0..2] или [1..2]?
Есть ли «официальное» определение того, как спецификация XML Schema обрабатывает эти случаи?
ОТВЕТЫ
Ответ 1
Значения по умолчанию для minOccurs и maxOccurs равны 1. Таким образом:
: 1 Примечание: если вы укажете только атрибут minOccurs, он не может быть больше 1, потому что значение по умолчанию для maxOccurs равно 1.
мощность 2 Примечание: если вы укажете только атрибут maxOccurs, он не может быть меньше 1, поскольку значение по умолчанию для minOccurs равно 1.
— допустимая комбинация, которая запрещает элемент.
Ответ 2
Новый расширенный ответ на старый, часто задаваемый вопрос.
Значения по умолчанию
Объяснение общих случаев
означает A требуется и должен выглядеть ровно один раз.
означает A необязательный и может отображаться не чаще одного раза.
означает A требуется и может повторять неограниченное количество раз.
означает A необязательный и может повторять неограниченное количество раз.
См. также
Ответ 3
Результат:
Ответ 4
Короткий ответ:
Как написано в xsd:
Если вы предоставляете атрибут с номером, то номер является границей. В противном случае атрибут должен появиться ровно один раз.
Индикаторы использования XML элементов
Мы можем контролировать, каким образом элементы должны использоваться в XML документах. Это позволяют сделать индикаторы.
Всего существует семь индикаторов:
Индикаторы очередности
Индикаторы очередности, как ясно из названия, используются для определения очередности появления элементов в XML документе.
Индикатор all
Индикатор устанавливает, что дочерние элементы могут появляться в документах в любом порядке, и что каждый из этих дочерних элементов должен появляться всего один раз:
Примечание: При использовании индикатора вы можете установить индикатор в значение 0 или 1, а индикатор только в значение 1 (индикаторы и описываются ниже).
Индикатор choice
Индикатор устанавливает, что появляться в документах может либо один дочерний элемент, либо другой:
Индикатор sequence
Индикатор устанавливает, что дочерние элементы должны появляться в документах в заданном порядке:
Индикаторы частотности
Индикаторы частотности используются для того, чтобы определить то, как часто элементы могут появляться в XML документах.
Примечание: Для всех «порядковых» и «групповых» индикаторов (any, all, choice, sequence, group name и group reference) значением по умолчанию для maxOccurs и minOccurs является 1.
Индикатор maxOccurs
Индикатор устанавливает максимальное количество появлений элемента:
Индикатор minOccurs
Индикатор устанавливает минимальное количество появлений элемента:
В приведенном выше примере указывается, что элемент «child_name» в элементе «person» может использоваться минимум 0 раз и максимум 10 раз.
Совет: Чтобы разрешить использовать какой-то элемент неограниченное число раз, используется выражение maxOccurs=»unbounded».
XML файл «Myfamily.xml»:
Приведенный XML файл содержит корневой элемент «persons». Внутри этого корневого элемента у нас есть три элемента «person». Каждый элемент «person» должен содержать элемент «full_name» и может содержать до 5 элементов «child_name».
А вот его файл схемы «family.xsd»:
Индикаторы группирования
Индикаторы группирования используются для определения связанных наборов элементов.
Группирование элементов
Группы элементов определяются при помощи декларации group следующим образом:
Внутри такой декларации необходимо определять элемент all, choice или sequence. В следующем примере определяется группа с именем «persongroup», которая определяет группу элементов, которые должны появляться точно в указанном порядке:
После того как группа элементов была определена, вы можете использовать ее в других определениях:
Группирование атрибутов
Группы атрибутов определяются при помощи декларации attributeGroup:
В следующем примере определяется группа атрибутов с именем «personattrgroup»:
После того как группа атрибутов была определена, вы можете использовать ее в других определениях:
Значения по умолчанию minOccurs / maxOccurs схемы XML
мне интересно, как спецификация схемы XML обрабатывает эти случаи:
Я полагаю, это просто недействительно?
существует ли «официальное» определение того, как спецификация схемы XML обрабатывает эти случаи?
2 ответов
значения по умолчанию для minOccurs и maxOccurs в 1. Таким образом:
мощность 1 Примечание: Если вы укажете только атрибут minOccurs, он не может быть больше 1, потому что значение по умолчанию для maxOccurs равно 1.
мощность 2 Примечание: Если вы укажете только атрибут maxOccurs, он не может быть меньше 1, потому что значение по умолчанию для minOccurs 1.
является допустимой комбинацией, которая делает элемент запрещенным.
новый, расширенный ответ на старый, часто задаваемый вопрос.
Значения По Умолчанию
Общие Дела Пояснил,
означает A и требуются и должен появиться ровно после.
означает A и дополнительно и в самый раз.
означает A и требуются и может повторить неограниченное количество раз.
означает A и дополнительно и может повторить неограниченное количество раз.
См. Также
В общем случае элемент должен появиться, когда значение minOccurs 1 или больше. Максимальное число раз, когда элемент может appear определяется значением атрибута maxOccurs в его декларация. Это значение может быть положительным целым числом, например 41 или срок неограниченность указать максимальное количество повторений. Значение по умолчанию для атрибутов minOccurs и maxOccurs это 1. Таким образом, когда такой элемент, как comment, объявляется без атрибут maxOccurs, элемент может возникать не более одного раза. Быть уверенным если указать значение только для атрибута minOccurs, то это меньше или равно значению maxOccurs по умолчанию, т. е. 0 или 1. Аналогично, если указать значение только для атрибута maxOccurs, это должно быть больше или равно значению по умолчанию равен значению, т. е. 1 или более. Если оба атрибута опущены, элемент должен появляются ровно один раз.
Показатели XSD
Мы можем контролировать то, как элементы должны использоваться в документах с индикаторами.
индикаторы
Есть семь показателей:
Индикаторы Заказать
Индикаторы заказа используются для определения порядка элементов.
Все Индикатор
Выбор индикатора
Индикатор чередования фаз
Показатели Встречаемость
Показатели Встречаемость используются для определения, как часто может произойти элемент.
Note: Для всех «Order» и «Group» показателей (любой, все, выбор, последовательность, название группы, и группа справки) значение по умолчанию для MaxOccurs и MinOccurs 1.
MaxOccurs Индикатор
индикатор определяет максимальное количество раз может возникнуть элемент:
MinOccurs Индикатор
индикатор определяет минимальное число раз может произойти элемент:
Tip: Чтобы разрешить элемент появляться неограниченное число раз, используйте MaxOccurs = «неограниченную» заявление:
Hege Refsnes
Cecilie
Tove Refsnes
Hege
Stale
Jim
Borge
Вот файл схемы «family.xsd» :
Группа Показатели
Показатели группы используются для определения связанных наборов элементов.
Элемент группы
групп элементов определяются с декларацией группы, как это:
После того, как вы определили группу, вы можете ссылаться на нее в другом определении, как это:
Группы атрибутов
Атрибут группы определяются с декларацией attributeGroup, как это:
Следующий пример определяет атрибут группу под названием «personattrgroup» :
После того как вы определили группы атрибутов, вы можете ссылаться на нее в другом определении, как это:
Инструменты пользователя
Инструменты сайта
Содержание
Аннотации
компонент может иметь атрибут xml: lang, в котором указывается язык написания самой аннотации.
разработки, таблицы стилей и других приложений. Например, в середине компонента appInfo можно представить информацию о том, какие фасетки могут быть применены к каждому простого типа.
Типы данных
Объявление элемента
Обратите также внимание на то, что при указании типа элемента обязательно необходимо задавать пространство имен:
Объявление атрибутов
Необязательный атрибут use может принимать одно из следующих значений:
Простые и комплексные типы данных
simpleType
Простые типы в основном используются для сужение типов (restriction)
Cужение типов (restriction)
С помощью сужение типов (restriction) Мы можем контролировать любой тип данных на наличие его значения то есть ограничивать его значения
Приме: Схема
| Название фасетки | Описание |
|---|---|
| Наибольшее значение, которое больше не входит в определяем тип | |
| Наибольшее значение определяемого типа | |
| Наименьшее значение, которое больше не входит в Определяемый тип | |
| Наименьшее значение определяемого типа | |
| Общее количество цифр в определяемого числовом типе; сужение типа decimal | |
| Количество цифр в дробной части числа | |
| Длина значений определяемого типа | |
| Наибольшая длина значений определяемого типа | |
| Наименьшее длина значений определяемого типа | |
| Одно из перечисленных значений | |
| В тегах-фасетка также могут иметь атрибуты. Эти атрибуты называют базисными фасетками (fundamental facets). Среди них выделяют: complexTypeСхема: базовый элемент Группы элементовГруппа позволяет описать общие элементы. (работает как include) Схема: |



