확장베이스를 사용하는 복합 유형 'A'가 있습니다. 'Base'는 요소 시퀀스를 따릅니다. 이제 확장 base-'Base '는 complextype 자체이며 시퀀스 ex (Element 1,2,3)에서 여러 요소 참조를가집니다. 내가 가진 문제는 XML 유효성을 검사 할 때 요소 'A'에 잘못된 자식 '1'이 있고 XML의 다른 가능한 요소를 나열한다는 것입니다. 나는 그룹에서 일하고 있기 때문에 XML이 아닌 스키마 만 변경할 수 있습니다. 내가 그것을 설명하는 경우 주석을보고 난 후에 나는에 대한 약간의 정교한거야 그래서Complexype을 사용한 트러블 슈팅
이 스키마
<xsd:complexType name="A">
<xsd:complexContent>
<xsd:extension base="Base" >
<xsd:sequence minOccurs="0" maxOccurs="unbounded">
<xsd:element name="B" minOccurs="0">
<xsd:complexType>
<xsd:complexContent>
<xsd:extension base="BData"/>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="C" minOccurs="0">
<xsd:complexType>
<xsd:complexContent>
<xsd:extension base="CData"/>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="D" minOccurs="0">
<xsd:complexType>
<xsd:complexContent>
<xsd:extension base="DData"/>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
는 XML이
<A>
<D/>
<B/>
<C/>
<T> <---- This is the element from the base'Base' that gives me the error>
<......>
</T>
</A>
OK입니다 아래 SRY 이상한 예는 것 내 질문. 이것은 처음으로 질문을 올리는 것이며 내가 직면하고있는 문제는 내 직업과 관련이 있으므로 게시물을 구체적으로 게시 할 수 없습니다. 그래서 주요 문제는 'A'입니다. 그래서 내가 여러 XML의 유효성을 검사하는 스키마를 편집하고 있습니다. 그래서 목표는 Complextype A가 각 요소를 유효하게 할 수있는 방법을 찾지 만, 요소가 호출되는 순서 나 횟수에 관계없이 요소를 확장자라고 부르는 경우 동시에 호출합니다. 나는 '모든'요소를 연구했지만 그 문제는 단지 1 번만 발생할 수 있다는 것이다. 결론 : 시퀀스는 무제한으로 발생하지만 주문은 제한되며 모든 주문 제한은 없지만 발생은 1 개로 제한됩니다. 이것은 모든 해결책이 환영받는 문제의 토끼 구멍과 같습니다.
XML 요소 이름은 숫자로 시작할 수 없습니다. – kjhughes
닫는'xsd : sequence' 요소가 없습니다. – kjhughes
참조 된 'Base' 선언을 포함하지 않았습니다. – kjhughes