2012-01-31 61 views
4

這將用一個例子來最好的說明:是否有可能轉義當前XPath謂詞以從包含謂詞中獲取值?

我要尋找與包含名稱中帶有SEARCH_KEY一些祖先的主要前綴名,這個效果很好。

//PrimaryExpression/PrimaryPrefix/Name [ 
    ancestor::MethodDeclaration//Something/Something[contains(@Image,'SEARCH_KEY')] 

] 

現在有沒有什麼辦法讓SEARCH_KEY成爲Name元素的Image屬性?

回答

2

在XPath 1.0中,不可能定義和引用範圍變量

在XPath 2.0可以使用一個for expression這樣

//PrimaryExpression 
    /PrimaryPrefix 
    /Name 
     [for $key in @someNameAttrib 
     return 
      ancestor::MethodDeclaration 
         //Something/Something 
         [contains(@Image, $key)] 
     ]