내가 이루고자하는 것은 두 가지 형태 중 하나를 취할 수있는 XML 파일을 설명하는 XML 스키마를 만드는 것입니다. 두 요소 사이에 공통 요소가있는 섹션이 있고 그 다음에 작은 섹션이 있습니다. 같은 뭔가 : 거기에 아이스크림 디저트 그래서중첩없는 XML 선택
<Dessert>
<Identifier> Hot Fudge Sundae </Identifier>
<SaleDate> 2013-06-03 </SaleDate>
<Duration> 2 </Duration>
<Size> SuperScooper </Size>
</Dessert>
<Dessert>
<Identifier> Dutch Apple Pie </Identifier>
<SaleDate> 2013-06-03 </SaleDate>
<Duration> 1 </Duration>
<AlaMode> 1 </AlaMode>
<IceCreamFlavor> Vanilla </IceCreamFlavor>
</Dessert>
그냥 크기 동안은 파이에 대한 AlaMode 표시하고 IceCreamFlavor 지정이있다. 내가 달성하고 싶다 무엇
내가 그들을 유효성을 검사 할 수 있도록 Dessert
XML은 하나 또는 다른 (Size
또는 AlaMode
및 IceCreamFlavor
)을해야합니다 중 하나를 나타 내기 위해 xs:choice
지정자를 사용하는 것입니다.
다음을 수행하십시오 내가 할 시도한 무엇
는 두 가지 유형을 생성 할 이런 일을하다
<xs:choice>
<xs:element name="Sundae" type="SundaeType" />
<xs:element name="Pie" type="PieType" />
</xs:choice>
0 기존의 파일 구조를 일치하지 않는
<Dessert>
<Identifier> Hot Fudge Sundae </Identifier>
<SaleDate> 2013-06-03 </SaleDate>
<Duration> 2 </Duration>
<Sundae>
<Size> SuperScooper </Size>
<Sundae>
</Dessert>
:
그리고 있지만 결과 XML은 물론, 레이아웃과 같이 있습니다.
나는 가능한 모든 요소를 결합하여 간단히 만들 수 있고 xs:choice
물건을 없애 버릴 수는 있지만 실제로는 형식의 기대치를 전달하지 못합니다 (예 : 일요일은 AlaMode
요소).
이 작업을 수행 할 수있는 방법이 있습니까? 나는 단지 하나의 필드가 다른지 의심 스럽지만 나는 이것을 xs:choice
(아마)과 함께 달성 할 수 있었고 추가 수준은 없다. 아니면 여기서 뭔가를 놓친 것일 수도 있습니다.
그렇습니다. 레이아웃이 최고는 아니지만 실제로이 시점에서 변경할 수있는 기존 형식입니다. 원본 문서의 요소에 주문을 부과 괜찮다면
감사합니다. 이것은 나에게 도움이되었다. – itsmatt