Saltar al contenido principal

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>