XML 가져 오기 파일의 유효성을 검사하는 XSD 문서를 개발 중입니다. 거의 모든 가져 오기 파일의 요소에는 ID 속성 (UPDATE)이있을 수 있습니다.특성 및 제한이있는 XSD 사용자 지정 유형
속성 제한 이외에<xs:simpleType name="MyUpDir">
<xs:restriction base="xs:string">
<xs:enumeration value="OVERWRITE"/>
<xs:enumeration value="ADDONLY" />
<xs:enumeration value="NOERASE" />
<xs:enumeration value="IGNORE" />
</xs:restriction>
</xs:simpleType>
, 각 요소의 값은 다양한 의해 제한 ... 업데이트 속성은 4 개 개의 가능한 값으로 제한되어야하며, 그래서 속성 제한 사용이 미리 설정된 타입을 가질 사용자 정의 유형 예 미리 세트 :
<xs:simpleType name="MyChar50">
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
두 결합하려면, 나는 다음과 같이 나는 각 요소에 대한 인라인 그것을 할 수 있습니다 알고
<xs:element name="FullName">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="MyChar50">
<xs:attribute name="UPDATE" type="MyUpDir" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
문제는 가져 오기 파일에 길이가/regEx/precision 제한 (약 20 개의 사용자 정의 유형)이 있고 UPDATE 속성의 가능성이있는 요소가 1000 개 이상 있다는 점입니다. UPDATE 특성이 없으면 사용자 지정 형식을 사용하여 각 요소를 자체 줄에서 처리하여 XSD의 '내용'부분을 크게 줄일 수있었습니다. 그러나 내가 읽은 바로는 커스텀 타입과 언급 된 속성의 잠재력을 수용하기 위해 각 요소에 대해 단일 라인을 유지할 수있는 대신 확장 된 샘플 (마지막 예제)을 사용해야합니다. . 이 두 가지를 결합한 사용자 정의 유형을 작성하여이를 최소화하는 방법이 있습니까?
충분히 간단 ... 나는 그것을 시도했지만 어떤 유형의 오류가있어 너무 일찍 그것을 맹세 할 수 있었다. 나는 그 오류가 확장베이스에서 사용되었거나 다른 것으로, 그리고 방법론과 함께있을 수 없었을 것으로 생각한다. 다음 번엔 좀 더주의를 기울일거야. :)감사. 이것은 완벽하게 작동하며 향후 업데이트가 필요할 경우 XSD를 더 쉽게 해독 할 수 있습니다. –