Есть ли преимущество использования атрибута по умолчанию, если атрибут minOccurs> 1? - PullRequest
1 голос
/ 17 ноября 2009

Я столкнулся с устаревшим XSD, в котором есть несколько строк вроде ...

      <xs:element minOccurs="1"
                  maxOccurs="1"
                  default="true"
                  name="Ready" type="xs:boolean" />

... где minOccurs и maxOccurrs равны 1, И есть значение по умолчанию. Есть ли какое-то преимущество в наличии атрибута по умолчанию, поскольку документ XML должен каким-либо образом содержать какое-либо значение?

1 Ответ

5 голосов
/ 17 ноября 2009

Из спецификации :

Процессор схемы обрабатывает дефолт элементы немного по-другому. Когда элемент объявлен по умолчанию значение, значение элемента любое значение, которое появляется в качестве содержание элемента в экземпляре документ; если элемент появляется без какого-либо содержания, схема процессор предоставляет элементу значение, равное значению по умолчанию приписывать. Однако, если элемент не появляется в экземпляре документ, процессор схемы делает не предоставлять элемент вообще. В Резюме, различия между Значения по умолчанию для элементов и атрибутов могут быть указано как: Значения атрибута по умолчанию применять, когда атрибуты отсутствуют, и значения элементов по умолчанию применяются, когда элементы пусты .

Я предполагаю, что для пустого узла <Ready /> по умолчанию будет установлено значение TRUE в зависимости от вашей схемы.

...