Document.createNSResolver() - Web APIs 编辑
Creates an XPathNSResolver
which resolves namespaces with respect to the definitions in scope for a specified node.
Syntax
nsResolver = document.createNSResolver(node);
Parameters
node
is the node to be used as a context for namespace resolution.
Return value
nsResolver
is an XPathNSResolver object.
Notes
Adapts any DOM node to resolve namespaces so that an XPath expression can be easily evaluated relative to the context of the node where it appeared within the document. This adapter works like the DOM Level 3 method lookupNamespaceURI
on nodes in resolving the namespaceURI
from a given prefix using the current information available in the node's hierarchy at the time lookupNamespaceURI
is called. Also correctly resolves the implicit xml
prefix.
Note, XPath defines QNames without prefix to match only elements in the null namespace. There is no way in XPath to pick up the default namespace as applied to a regular element reference (e.g., p[@id='_myid'
] for xmlns='http://www.w3.org/1999/xhtml'
). To match default elements in a non-null namespace, you either have to refer to a particular element using a form such as *namespace-uri()=http://www.w3.org/1999/xhtml and name()=p[@id='_myid']
(this approach works well for dynamic XPath expressions where the namespaces might not be known) or use prefixed name tests, and create a namespace resolver mapping the prefix to the namespace. Read more on how to create a user defined namespace resolver if you wish to take the latter approach.
createNSResolver
was introduced in DOM Level 3.
Specifications
Specification | Status | Comment |
---|---|---|
Document Object Model (DOM) Level 3 XPath Specification The definition of 'document.createNSResolver' in that specification. | Recommendation |
Browser compatibility
BCD tables only load in the browser
See also
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论