[xml] XML은 대소 문자를 구분합니까?

짧은 질문

XML은 대소 문자를 구분합니까?

더 긴 질문

예를 들면 :

<Shirt color="Red"/>

속성은 컬러 타입 인 string유효한 색 (의 세트가 포함될 수 Red, BlueGreen).

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은 대소 문자를 구분합니다.

더 긴 답변 :

대소 문자를 구분하는 것으로 널리 받아 들여지지 만 더 유연하게 받아들이고 싶다면 대소 문자를 구분하지 않는 열거 형에 대해 논의하는 아래 질문을 살펴보십시오.

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의 최신 릴리스에서 지원됩니다.


답변