source

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

nicesource 2023. 9. 16. 09:29
반응형

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

단문

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

긴 답변:

대소문자를 구분하는 것으로 널리 받아들여지고 있지만, 좀 더 유연하게 받아들이고 싶다면 아래의 질문을 살펴보세요. 여기서는 대소문자를 구분하지 않는 열거를 사용하는 것에 대해 설명합니다.

단순 형식 문자열의 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은 작센과 Xerces의 최근 릴리스에서 지원됩니다.

네. 현재 XML 명세를 살펴보면 섹션 1.2에서 이에 대한 유일한 설명이 나와 있습니다. 여기서 저자들은 다음과 같이 말합니다.

비교되는 두 문자열 또는 이름이 동일합니다.ISO/IEC 10646에서 여러 개의 가능한 표현이 있는 문자(예: 사전 구성된 문자와 기본+격자 형식이 모두 있는 문자)는 두 문자열에서 동일한 표현이 있는 경우에만 일치합니다.케이스 폴딩은 수행되지 않습니다.

케이스 폴딩 부족에 대한 참조를 기록합니다.이러한 세부 사항에 주의를 기울이지 않으면 발생할 수 있는 문제의 예로, 최근 몇 년 동안 1차 소프트웨어 내에서 하나의 매개 변수 이름이 SPO2에서 SpO2로 변경된 생리학적 데이터의 중간 크기(몇 개의 100GB) 코퍼스에서 데이터를 추출하는 코드를 분석했습니다.

이와는 대조적으로, 데이터를 추출하는 데 사용된 소프트웨어는 XML 규약을 충실하게 보존하고 매개 변수를 구별하는 것으로 보았습니다.더 나쁜 일이 있었습니다.매개 변수 이름은 데이터가 기록되는 CSV 파일의 이름을 지정하는 데 사용되었으며 파일 이름을 대소문자로 접는 Windows에서 사용되었기 때문에 동일한 파일에서 두 개의 핸들이 열리고 있었고 이로 인해 알 수 없는 오류가 발생했습니다.

언급URL : https://stackoverflow.com/questions/7414747/is-xml-case-sensitive

반응형