짧은 질문
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이 대소 문자를 구분하는 것으로 널리 허용됩니까?
답변
짧은 답변:
예-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>
XSD 1.1은 Saxon 및 Xerces의 최신 릴리스에서 지원됩니다.