Является ли XML чувствительным к регистру?

Короткий вопрос

Является ли XML чувствительным к регистру?

Более длительный вопрос

Например:

<Shirt color="Red"/>

Цвет атрибута имеет тип string, который может содержать набор допустимых цветов (Red, 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>

Ожидается ли, что я буду принимать различные варианты вариантов красного, синего и зеленого? Или XML широко воспринимается как чувствительный к регистру?

Ответ 1

Короткий ответ:

Да - XML ​​чувствителен к регистру.

Более длинный ответ:

Это общепринято как чувствительное к регистру, однако, если вы хотите принять более гибко, рассмотрите нижеприведенный вопрос, в котором обсуждается отсутствие регистрозависимых перечислений:

Нечеткое определение строки схемы XML строки простого типа

Ответ 2

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