Is XML case-sensitive?
XmlCase SensitiveXml Problem Overview
Short question
Is XML case-sensitive?
Longer question
For example:
<Shirt color="Red"/>
The attribute color is of type string
that may contain a set of valid colors (Red
, Blue
and Green
).
To validate the XML, I used the following 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>
Am I expected to accept different case variations of Red, Blue and Green? Or XML is widely accepted as case-sensitive?
Xml Solutions
Solution 1 - Xml
Short Answer:
Yes - XML is case sensitive.
Longer Answer:
It is widely accepted as case sensitive, however if you want to accept more flexibly, take a look at the question below, which discusses having case-insensitive enumerations:
Solution 2 - Xml
With XSD 1.1 you can achieve a case-insensitive enumeration using an 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 is supported in recent releases of Saxon and Xerces.