maxOccurs
El elemento element
permite el uso de un atributo maxOccurs
cuando se encuentra dentro de un elemento indicador, es decir, dentro de algunos de los siguientes:
sequence
all
choice
El atributo maxOccurs
define el número máximo de ocurrencias, es decir, el número máximo de veces que se puede utilizar un elemento.
Los valores que puede tomar maxOccurs
son:
- Un número entero positivo.
unbounded
: indica que el número de apariciones es ilimitado.
El valor por defecto de minOccurs
es 1.
Consideremos el siguiente documento XSD:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="objeto" type="propiedades-objeto"/>
<xs:complexType name="propiedades-objeto">
<xs:complexContent>
<xs:restriction base="xs:anyType">
<xs:sequence>
<xs:element name="material" type="xs:string" />
<xs:element name="color" type="xs:string" maxOccurs="3" />
</xs:sequence>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
</xs:schema>
En el esquema anterior se define que <color>
debe aparecer un máximo de 3 veces. Como mínimo, debe aparecer 1 vez, ya que así lo establece el elemento sequence
.
Ejemplos de documentos XML válidos son los siguientes:
<objeto>
<material>Plástico</material>
<color>Negro</color>
</objeto>
<objeto>
<material>Plástico</material>
<color>Negro</color>
<color>Blanco</color>
</objeto>
<objeto>
<material>Plástico</material>
<color>Negro</color>
<color>Gris</color>
<color>Blanco</color>
</objeto>