2010-03-13 140 views
0

keyref選擇比方說,我有一個XML文件,它看起來就像這樣:定義基於元素類型的XPath

在定義我的名字定義的元素此XML文件的結構的XSD文件'b'和'c'是相同類型的(並且類型需要屬性'd')。

假設我想創建一個'b'和'c'類型的所有元素的keyReference,XPath中是否有這樣的方法?

在類型定義「A」我希望是這樣的:

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

是這樣的可能,或者是XPath的,即使是在XSD,架構不知道?

回答

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(如果這可能的話) – 2010-03-16 17:53:00