2014-08-27 2 views
0

XSD에 대해 XML을 검증 할 때 오류가 발생하며 이유를 파악할 수 없습니다.XSD에 대한 XML 유효성 검증 실패 - minOccurs가 명백하게 무시됩니다.

"오류는 다른 요소가 해당 위치에 있어야하므로 다른 요소 아래에 요소가 허용되지 않는다는 것입니다."

오류 스냅 샷은 http://imgur.com/YRZTVTD

은 XML에 있으며 XSD는 각각 http://dpaste.com/2933QH8http://dpaste.com/16QAQ6B에 있습니다.

흥미롭게도 다른 XSD가 잘 작동합니다. 두 스키마 간에는 큰 차이가 없습니다. 다음은 XML이 유효성을 검사하는 스키마입니다. http://dpaste.com/233S87T

마치 minOccurs 지시어가 무시 된 것처럼 그 이유를 알아낼 수 없습니다.

몇 가지 안내를 감사드립니다.

+0

+1 to MCVE를 사용하면 관련된 부분이있는 더 작은 XSD에서 오류를 찾는 것이 더 쉬울 것입니다. – sergioFC

답변

1

오류로 인해 DistroSeqNumber이 예기치 않게 발생합니다. DistroSeqNumber 항상 OriginalPickticketQty 요소 뒤에 나타나야하기 때문이다 (이것은 는 minOccurs = 1있다). 따라서 파서는 OriginalPickticketQty 요소 또는 optionals 요소 중 하나를 기대하지만 DistroSeqNumber 요소가 아직 예상되지 않습니다.

참고 : (어쩌면 당신은 이미 그것을 알고 ..) 당신의 OriginalPickticketQty는 속성 기본 = 0을 가지고 생각하고있는 이것이 의미하는 것으로 그 값의이 OriginalPickticketQty 요소 (<OriginalPickticketQty></OriginalPickticketQty>) 제공하지 않는 경우, 값 0이 자동으로 할당되지만, 요소가 XML에 나타나지 않으면 자동으로 0 값이 추가된다는 것을 의미하지는 않습니다.

+0

감사합니다 SergioFC. 그것은 많은 도움이되었습니다. – Guddu

+0

반갑습니다. 추신 : 내 대답은 빈 괄호 쌍이있는 것으로 나타났습니다. 그러나 내 대답의 편집 단추를 클릭하면 괄호 안의 내용이 * * (a * OriginalPickticketQty)입니다. * 값을 제공하지 않는 요소). – sergioFC

+0

수정 해 주셔서 감사합니다! – sergioFC