web-dev-qa-db-fra.com

XML est-il sensible à la casse?

Petite question

XML est-il sensible à la casse?

question plus longue

Par exemple:

<Shirt color="Red"/>

La couleur de l'attribut est de type string et peut contenir un ensemble de couleurs valides (Red, Blue et Green.).

Pour valider le XML, j'ai utilisé le XSD suivant:

  <xs:simpleType name="ColorType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Red"/>
      <xs:enumeration value="Blue"/>
      <xs:enumeration value="Green"/>
    </xs:restriction>
  </xs:simpleType>

Suis-je attendu pour accepter différentes variations de casse du rouge, du bleu et du vert? Ou XML est largement accepté comme sensible à la casse?

101
Ian

Réponse courte:

Oui - XML ​​est sensible à la casse.

Réponse plus longue:

Il est généralement accepté comme sensible à la casse. Toutefois, si vous souhaitez accepter une plus grande souplesse, jetez un coup d’œil à la question ci-dessous, qui traite des énumérations non sensibles à la casse:

énumération XML du schéma insensible à la casse de la chaîne de type simple

75
Jon Egerton

Avec XSD 1.1, vous pouvez réaliser une énumération ne respectant pas la casse en utilisant une assertion:

<xs:simpleType name="RGB">
  <xs:restriction base="xs:string">
    <xs:assert test="lower-case($value) = ('red', 'green', 'blue')"/>
  </xs:restriction>
</xs:simpleType>

XSD 1.1 est pris en charge dans les versions récentes de Saxon et Xerces.

15
Michael Kay