significa - XML Schema minOccurs/maxOccurs valores predeterminados
xs element maxoccurs unbounded (2)
Los valores predeterminados para minOccurs
y maxOccurs
son 1. Por lo tanto:
<xsd:element minOccurs="1" name="asdf"/>
cardinality es [1-1] Nota: si especifica solo el atributo minOccurs, no puede ser mayor que 1, porque el valor predeterminado para maxOccurs es 1.
<xsd:element minOccurs="5" maxOccurs="2" name="asdf"/>
inválido
<xsd:element maxOccurs="2" name="asdf"/>
cardinality es [1-2] Nota: si especifica únicamente el atributo maxOccurs, no puede ser menor que 1, porque el valor predeterminado para minOccurs es 1.
<xsd:element minOccurs="0" maxOccurs="0"/>
es una combinación válida que hace que el elemento esté prohibido.
Para obtener más información, consulte http://www.w3.org/TR/xmlschema-0/#OccurrenceConstraints
Me pregunto cómo maneja la especificación del esquema XML estos casos:
<xsd:element minOccurs="1" name="asdf"/>
No se han producido maxOccurs -> ¿Es esta la cardinalidad [1..1]?
<xsd:element minOccurs="5" maxOccurs="2" name="asdf"/>
¿Supongo que esto es simplemente inválido?
<xsd:element maxOccurs="2" name="asdf"/>
¿Es esta la cardinalidad [0..2] o [1..2]?
¿Existe una definición "oficial" sobre cómo maneja la especificación del esquema XML estos casos?
Nueva respuesta expandida a una vieja pregunta frecuente ...
Valores predeterminados
- Las restricciones de ocurrencia
minOccurs
ymaxOccurs
predeterminan a1
.
Casos comunes explicados
<xsd:element name="A"/>
significa que A
es obligatorio y debe aparecer exactamente una vez .
<xsd:element name="A" minOccurs="0"/>
significa que A
es opcional y puede aparecer a lo sumo una vez .
<xsd:element name="A" maxOccurs="unbounded"/>
significa que se requiere A y puede repetir un número ilimitado de veces .
<xsd:element name="A" minOccurs="0" maxOccurs="unbounded"/>
significa que A
es opcional y puede repetir un número ilimitado de veces .
Ver también
http://www.w3.org/TR/xmlschema-0/#OccurrenceConstraints
En general, se requiere que un elemento aparezca cuando el valor de minOccurs es 1 o más. El número máximo de veces que puede aparecer un elemento está determinado por el valor de un atributo maxOccurs en su declaración. Este valor puede ser un entero positivo tal como 41, o el término ilimitado para indicar que no hay un número máximo de ocurrencias. El valor predeterminado para los atributos minOccurs y maxOccurs es 1. Por lo tanto, cuando un elemento como comment se declara sin un atributo maxOccurs, el elemento no puede aparecer más de una vez. Asegúrese de que si especifica un valor solo para el atributo minOccurs, es menor o igual que el valor predeterminado de maxOccurs, es decir, es 0 o 1. De manera similar, si especifica un valor solo para el atributo maxOccurs, debe ser mayor o igual que el valor predeterminado de minOccurs, es decir, 1 o más. Si se omiten ambos atributos, el elemento debe aparecer exactamente una vez.
Esquema XML del W3C Parte 1: Estructuras Segunda edición
<element maxOccurs = (nonNegativeInteger | unbounded) : 1 minOccurs = nonNegativeInteger : 1 > </element>