web-dev-qa-db-ja.com

XMLは大文字と小文字を区別しますか?

短い質問

XMLは大文字と小文字を区別しますか?

長い質問

例えば:

<Shirt color="Red"/>

属性の色は、有効な色のセット(stringRed、およびBlue)を含むことができるGreenタイプです。

XMLを検証するために、次のXSDを使用しました。

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

Iexpectedは、赤、青、緑の異なるケースバリエーションを受け入れますか?または、XMLは大文字と小文字を区別するものとして広く受け入れられていますか?

101
Ian

短い答え:

はい-XMLは大文字と小文字を区別します。

長い回答:

大文字と小文字を区別するものとして広く受け入れられていますが、より柔軟に受け入れたい場合は、大文字と小文字を区別しない列挙について説明する以下の質問をご覧ください。

XML Schema Case Insensitive Enumeration of Simple Type String

75
Jon Egerton

XSD 1.1では、アサーションを使用して大文字と小文字を区別しない列挙を実現できます。

<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は、SaxonおよびXercesの最近のリリースでサポートされています。

15
Michael Kay