XSD

2014-12-16 2 views
1

내가 가지고있는 XML 문법 유효성을 검사하는 것을 시도하고있다 : 즉XSD

<Parent> 
<OptionalChild1/> 
<OptionalChild2/> 
<OptionalChild3/> 
<RepeatedChild/> 
<RepeatedChild/> 
<RepeatedChild/> 
</Parent> 

누락 또는 현재 할 수있는 몇 가지 요소가를 한 번 (OptionalChild1, 2, 3) 및 누락되거나 한 번 또는 여러 번 나타날 수있는 다른 요소.

모든 하위 요소는 어떤 순서로든 표시 할 수 있어야합니다.. (XSD를 더 쉽게 만들 수 있다면, 우리는 RepeatedChild 요소가 옵션 요소 뒤에 오는 것을 강요 할 수 있습니다).

유효성을 검사 할 XSD 스키마가 없습니다. xsd:all은 첫 번째 그룹에서 작동하고 두 번째 그룹에서는 xsd:choice 일 수 있지만 두 가지 규칙을 모두 적용 할 수있는 조합은 없습니다.

답변

2

요소 선언에 최소 및 최대 바인딩을 연결할 수 있습니다. 내가 지금 스키마 검증에 액세스 할 수없는, 그러나 이것은 당신이 원하는 약 :

<xsd:sequence> 
    <xsd:element name="OptionalChild1" minOccurs="0" /> 
    <xsd:element name="OptionalChild2" minOccurs="0" /> 
    <xsd:element name="OptionalChild3" minOccurs="0" /> 
    <xsd:element name="RepeatedChild" minOccurs="0" maxOccurs="unbounded"/> 
</xsd:sequence> 

참고 :

는 예를 들어, 부모 요소 선언에이 같은 것을 포함한다.

+0

예, 항상 두 개를 섞습니다. 고마워. –

+0

아 맞아, 지금 고쳐. –

+0

OP가 'OptionalChild' 엘리먼트에 대한 주문으로 괜찮 으면, 이것은 좋게 보입니다. – kjhughes