Valores Padrão de MinOccurs / maxOccurs do Esquema XML

Eu estou querendo saber como a especificação do esquema XML lida com esses casos:

 

Não maxOccurs dada -> Esta é a cardinalidade [1..1]?

  

Eu suponho que isso seja simplesmente inválido?

  

Esta é a cardinalidade [0..2] ou [1..2]?

Existe uma definição “oficial” sobre como a especificação do XML Schema manipula esses casos?

Os valores padrão para minOccurs e maxOccurs são 1. Assim:

  

cardinality é [1-1] Nota: se você especificar apenas o atributo minOccurs, ele não poderá ser maior que 1, porque o valor padrão para maxOccurs é 1.

  

inválido

  

cardinality é [1-2] Nota: se você especificar apenas o atributo maxOccurs, ele não poderá ser menor que 1, porque o valor padrão para minOccurs é 1.

  

é uma combinação válida que torna o elemento proibido.

Para mais informações, consulte http://www.w3.org/TR/xmlschema-0/#OccurrenceConstraints

Resposta nova e expandida a uma pergunta antiga e comum

Valores padrão

  • Limitações de ocorrência minOccurs e maxOccurs padrão para 1 .

Casos Comuns Explicados

  

significa que A é obrigatório e deve aparecer exatamente uma vez .


  

significa que A é opcional e pode aparecer no máximo uma vez .


   

significa que A é necessário e pode repetir um número ilimitado de vezes .


   

significa que A é opcional e pode repetir um número ilimitado de vezes .


Veja também

  • Esquema XML W3C Parte 0: Primer

    Em geral, um elemento é necessário para aparecer quando o valor de minOccurs é 1 ou mais. O número máximo de vezes que um elemento pode aparecer é determinado pelo valor de um atributo maxOccurs em sua declaração. Esse valor pode ser um inteiro positivo, como 41, ou o termo unbounded para indicar que não há número máximo de ocorrências. O valor padrão para os atributos minOccurs e maxOccurs é 1. Assim, quando um elemento como o comentário é declarado sem um atributo maxOccurs, o elemento não pode ocorrer mais de uma vez. Certifique-se de que, se você especificar um valor apenas para o atributo minOccurs, ele será menor ou igual ao valor padrão de maxOccurs, ou seja, será 0 ou 1. Da mesma forma, se você especificar um valor apenas para o atributo maxOccurs, ele deverá ser maior ou igual ao valor padrão de minOccurs, ou seja, 1 ou mais. Se ambos os atributos forem omitidos, o elemento deve aparecer exatamente uma vez.

  • Esquema XML W3C Parte 1: Estruturas Segunda Edição