Tutoriales de informática - Abrirllave.com

Abrirllave.com

Ejercicio de XSD - Letras admitidas

En el siguiente ejemplo se define un elemento llamado "letras" con la restricción de que puede tomar por valor cero o más (*) letras minúsculas de la "a" a la "z":

<xs:element name="letras">
   <xs:simpleType>
      <xs:restriction base="xs:string">
         <xs:pattern value="([a-z])*"/>
      </xs:restriction>
   </xs:simpleType>
</xs:element>

Nota: los paréntesis de la expresión regular se pueden omitir, escribiendo simplemente: [a-z]*

Realizar los cambios necesarios en el código del ejemplo anterior para que "letras" pueda tomar por valor uno o más pares (+) de letras, y cada par de letras deberá estar formado por una letra mayúscula seguida de otra minúscula. Por ejemplo, "HoLa" sería admitido, pero no lo sería "Hola", "HOLa", "hola", etc.

Solución:

<xs:element name="letras">
   <xs:simpleType>
      <xs:restriction base="xs:string">
         <xs:pattern value="([A-Z][a-z])+"/>
      </xs:restriction>
   </xs:simpleType>
</xs:element>

Fíjese que, ahora, los paréntesis de la expresión regular ([A-Z][a-z])+ no se pueden omitir.