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:
sequenceallchoice
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>