2012-06-27 60 views
0

我有這樣的DTD:XML DTD - XPATH 1.0

<!ELEMENT db (obj, prop*)> 
<!ELEMENT obj (obj*)> 
<!ATTLIST obj 
    id ID #REQUIRED 
> 
<!ELEMENT prop (#PCDATA)> 
<!ATTLIST prop 
    objs IDREFS #REQUIRED 
> 

我需要寫一個XPath,它返回所有的 「託」,這裏, 「OBJ文件」 中包含的 「目標文件」 s的孩子。 例如:

<db> 
    <obj id="a007"> 
    <obj id="a008"> </obj> 
     <obj id="a009"> 
      <obj id="a011"> </obj> 
     </obj> 
    </obj> 
    <obj id="a011"> </obj> 
    <prop objs="a007 a011"> 
     "first" 
    </prop> 
    <prop objs="a007"> 
     "second" 
    </prop> 
    <prop objs="a009 a007"> 
     "third" 
    </prop> 
</db> 

一個想要它返回第二和第三。

回答

1

嘗試路徑/db/prop[not(id(@objs)[not(obj)])],它選擇db根元素,其中id(@objs)沒有找到不具有obj子的元件的那些元件prop子節點。

+0

This works。謝謝!!! – Michael