xsi:type
을 사용하지 않고 XML 스키마의 변형 데이터 구조를 어떻게 모델링 하시겠습니까? 내 목표는 <property>
이라는 요소에 대한 스키마를 정의하는 것이며 그 속성과 속성 유형은 datatype
속성에 따라 달라집니다. 예를 들면 : 문자열 형식의 속성의 default
속성이 어떤 문자를 허용하여야한다 반면 여기XML 스키마의 변형 데이터 구조 모델 방법
<property datatype="integer" default="1234"/>
<property datatype="string" default="Abcde" maxlength="255"/>
는 정수 형식의 속성의 default
속성은 유효한 정수 값을 허용하여야한다.
또한 maxlength
속성은 datatype="string"
인 경우에만 허용됩니다.
e.e. 스키마 유효성 검사 오류는 다음과 같은 속성 모두에서 발생한다 :
<property datatype="integer" default="NotAnInteger"/>
<property datatype="integer" default="12345" maxlength="100"/> <!-- maxlength not allowed -->
은 내가 대신 datatype
의 xsi:type
을 사용하는 경우,이 XML 스키마에서 모델 쉽게 될 것이라고 알고있다. 여기 xsi:type
를 사용하지 않는 이유를 적어도 두 가지 이유, 그러나이있다 : 나는 많은 장소에서 읽고
가 좋은 스타일로 간주되지 않습니다
xsi:type
, 예를 들어, 사용은 xsi:type is Evil 또는 Smart but useless, part 3.이름
xsi:type
은 단순히 속성의 용도를 정확하게 표현하지 않습니다. 나는 다소datatype
을 선호합니다.
조건부 유형 지정 (=)은 내가 필요한 것처럼 들립니다. 불행히도 XML Schema 1.1 표준은 아직 발표되지 않았기 때문에 많은 XML 프로세서는 아직 XML Schema 1.1과 호환되지 않습니다. XML Schema 1.0은 내 문제를 해결할 수있는 어떤 것을 제공합니까? –