2010-03-13 4 views
0

의 요소 유형에 따라 keyref 선택기를 정의 'b'와 'c'는 같은 유형이어야합니다 (유형에는 'd'속성이 필요합니다).의 내가있는 XML과 같이 표시됩니다 파일이 있다고 가정 해 봅시다 XPath를

'b'와 'c'가 모두있는 유형의 모든 요소에 대해 keyReference를 만들고 싶다고 가정 해 봅시다. 이렇게하려면 XPath에 어떤 방법이 있습니까?

<xs:keyref name="myReferenceName" refer="keyToReferTo"> 
    <xs:selector xpath="[@type='typenameof elements b and c?']"/> 
    <xs:field xpath="@d"/> 
</xs:keyref> 

심지어 XSD에서, XPath를 다음과 같이 수 있습니다 뭔가, 아니면이며, 스키마 인식 : 유형의 정의에서

'는이'나는 이런 식으로 뭔가를 기대?

답변

1

XPath 1.0은 확실히 스키마를 인식하지 못하고 버전 1.0의 W3C XML 스키마 사양도 XPath 1.0의 하위 집합 만 사용합니다. XPath 2.0을 사용하는 W3C XML 스키마 언어의 새 버전을 정의하는 작업이 진행 중이지만 그 세부 사항과 스키마 유형에 따라 선택기에서 요소를 선택할 수 있는지 여부는 알지 못합니다. XPath는 element(*, NameOfTypeGoesHere)이 될 것이라고 생각합니다. http://www.w3.org/TR/xpath20/#id-element-test

+0

멋진데, 나에게 도움이되었습니다. 이제는 Altova XML 스파이에서 이것을 테스트 한 다음 .NET에서 XPath 2.0을 시도하는 방법을 찾아야합니다 (가능하다면) –

관련 문제