我試圖選擇序列中實現類型的元素名稱爲xs:simpleType的所有子元素。XPATH選擇其元素名稱爲xs的子元素:simpleType
<xs:complexType name="Truck">
<xs:complexContent>
<xs:extension base="Car">
<xs:sequence>
<xs:element name="DriverName" type="Name">
...
</xs:element>
<xs:element name="Engine" type="TruckEngine">
...
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
當鍵入 「名稱」 的模樣:
<xs:simpleType name="Name">
...
</xs:simpleType>
和 「TruckEngine」 的模樣:
<xs:complexType name="TruckEngine">
...
</xs:complexType>
我將如何創建XPath選擇元素的DriverName?到目前爲止,我有類似xs:complexType/xs:complexContent/xs:extension/xs:sequence/xs:element,但我不知道如何進一步提高我的選擇。我很難搜索相關信息,因爲我不確定用什麼術語來選擇這樣的內容。我已經將我的示例修改爲更通用的東西。
我還不能回答我自己的問題,但你把我們推向了正確的方向。我修改它爲:xs:element [contains(@type,// xs:simpleType/@ name)] – kurtzbot 2012-07-19 23:04:15
我忘記說了,使用contains的原因是因爲// xs:simpleType捕獲所有simpleTypes文件的根源,因此無法直接進行比較。包含通過匹配元素列表搜索,然後將它們的名稱與我們元素的類型進行比較。 – kurtzbot 2012-07-19 23:15:17
@kurtzbot - 你試過'='而不是'eq'嗎? (我編了一個以上的'xs:simpleType')很高興你的工作雖然。 – 2012-07-19 23:36:14