Мне интересно, как спецификация XML-схемы обрабатывает эти случаи:
<xsd:element minOccurs="1" name="asdf"/>
Не указано maxOccurs -> Это кардинальность [1..1]?
<xsd:element minOccurs="5" maxOccurs="2" name="asdf"/>
Я полагаю, это просто неверно?
<xsd:element maxOccurs="2" name="asdf"/>
Это кардинальность [0..2] или [1..2]?
Есть ли «официальное» определение того, как спецификация схемы XML обрабатывает эти случаи?
Новый расширенный ответ на старый, часто задаваемый вопрос ...
Значения по умолчанию
minOccurs
и поmaxOccurs
умолчанию1
.Общие объяснения
средства
A
будет необходим и должен появиться ровно один раз .средство не
A
является обязательным и может появляться не более одного раза .средство
A
является требуется и может повторять неограниченное число раз .средство
A
является необязательным и может повторяться неограниченное количество раз .Смотрите также
W3C XML Schema Часть 0: Учебник для начинающих
Схема W3C XML, часть 1: структура, второе издание
источник
Короткий ответ:
Как написано в xsd:
Если вы укажете атрибут с номером, то номер будет граничным. В противном случае атрибут должен появиться ровно один раз .
источник
пример:
XML
XSD:
XSL:
Результат:
источник