问题
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?
回答1:
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:
XML Schema Case Insensitive Enumeration of Simple Type String
回答2:
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.
来源:https://stackoverflow.com/questions/7414747/is-xml-case-sensitive