XSD- 주어진 속성으로 특정 요소의 존재를 어떻게 보장 할 수 있습니까?
-
08-07-2019 - |
문제
추가 검증을 추가하려고합니다 JDPL XSD를 사용한 프로세스 정의 파일.
우리는 추가하고 싶은 몇 가지 규칙이 있습니다. 그러나 나에게 문제를 일으키는 것은 "name"attribute = "problem"인 "노드"요소가 하나 있어야한다는 것입니다.
그래서 이것은 유효합니다.
<process-definition name='sample'>
<node name="Problem">
</node>
<node name="Do Work">
</node>
</process-definition>
그리고 이것은 아닙니다
<process-definition name='sample'>
<node name="Do Work">
</node>
</process-definition>
요약하기 위해, 내가 시행 해야하는 규칙은
- "문제"값을 갖는 노드 속성
- 이름 = "문제"가있는 1 노드의 존재
- 다른 이름을 가진 수의 노드를 허용합니다
거기에 아이디어가 있습니까?
해결책
XSD로 불가능한 죄송합니다.
성능의 이유로 XML-Schema는 결코 앞서 보지 않고 현재 노드를 넘어서는 것을 뒤돌아 보지 않도록 설계되었습니다. 즉, 유효성 검사기가 스키마 트리의 경우 항상 정의되어야합니다. 그리고 이와 같은 요구 사항은 XSD로 정의 할 수 없습니다.
제휴하지 않습니다 StackOverflow