Document:createNSResolver() 方法

根据指定节点范围内的定义来创建 XPathNSResolver 并解析命名空间。

语法

js
createNSResolver(node)

参数

  • node 是用作命名空间解析上下文的节点。

返回值

  • nsResolver 是 XPathNSResolver 对象。

备注

该适配器能使任何 DOM 节点解决命名空间问题,以便可以根据节点出现在文档中的上下文相对方便求值 XPath 表达式。此适配器的工作方式类似于 DOM 第 3 版中的 lookupNamespaceURI 方法,根据调用 lookupNamespaceURI 时节点层级结构中当前可用信息,从给定的前缀解析 namespaceURI。还能正确解析隐含 xml 前缀。

请注意,XPath 定义的 QName 不带前缀,只匹配 null 命名空间中的元素。在 XPath 中没有办法获取应用于常规元素引用的默认命名空间(例如 xmlns='http://www.w3.org/1999/xhtml'p[@id='_myid'])。为了匹配非空命名空间中的默认元素,你必须使用诸如 *namespace-uri()=http://www.w3.org/1999/xhtmlname()=p[@id='_myid'] 这样的形式来引用特定元素(此方法在动态 XPath 表达式中非常有效,那时可能不知道命名空间),或者使用带有前缀的名称测试,并创建一个将前缀映射到命名空间的命名空间解析器。如果希望采用后一种方法,请阅读如何创建用户定义的命名空间解析器

createNSResolver 在 DOM 第 3 版中引入。

规范

Specification
DOM Standard
# dom-xpathevaluatorbase-creatensresolver

浏览器兼容性

BCD tables only load in the browser

参见