XML是否区分大小写?

简短的问题

XML是否区分大小写?

更长的问题

例如:

<Shirt color="Red"/> 

属性颜色是可能包含一组有效颜色( RedBlueGreen )的stringtypes。

为了validationXML,我使用了以下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被广泛接受为区分大小写?

简答:

是的 – XML区分大小写。

更长的答案:

它被广泛接受为区分大小写,但是如果您想更灵活地接受,请查看下面的问题,其中讨论了不区分大小写的枚举:

简单typesstring的XML模式不区分大小写的枚举

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

最近发布的Saxon和Xerces支持XSD 1.1。