Tutoriales de informática - Abrirllave.com

Abrirllave.com

Ejercicio de XSD - Respuestas admitidas

En el siguiente ejemplo se define un elemento llamado "respuesta" con la restricción de que el único valor aceptable es una de las siguientes letras: "A", "B", "C", "D" o "E":

<xs:element name="respuesta">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="[ABCDE]"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

En vez de escribiendo "[ABCDE]", ¿de qué otras formas se podría especificar la misma restricción?

Solución:

"[A-E]"

"[A-DE]"

"[AB-DE]"

...

"[A|B|C|D|E]"

"[A-D|E]"

...

Ampliación del ejercicio

Sin hacer uso de xs:pattern, ¿de qué otro modo podríamos especificar lo mismo que lo expresado con <xs:pattern value="[ABCDE]"/>?

Solución:

<xs:element name="respuesta">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:enumeration value="A"/>
      <xs:enumeration value="B"/>
      <xs:enumeration value="C"/>
      <xs:enumeration value="D"/>
      <xs:enumeration value="E"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>