是否可以转义当前的XPath谓词以获取包含谓词的值?

时间:2012-01-31 21:56:35

标签: xml xpath

这将通过一个例子得到最好的说明:

我正在寻找一个主要前缀名称,其祖先在名称中包含SEARCH_KEY,这很有效。

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

]

现在有没有办法让SEARCH_KEY成为Name元素的Image属性?

1 个答案:

答案 0 :(得分:2)

在XPath 1.0中,无法定义和引用范围变量

在XPath 2.0中,可以使用for expression这样的

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