Class InscopeNamespaceResolver

java.lang.Object
net.sf.saxon.om.InscopeNamespaceResolver
All Implemented Interfaces:
NamespaceResolver

public class InscopeNamespaceResolver extends Object implements NamespaceResolver
A NamespaceResolver that resolves namespace prefixes by reference to a node in a document for which those namespaces are in-scope.
  • Constructor Details

    • InscopeNamespaceResolver

      public InscopeNamespaceResolver(NodeInfo node)
      Create a NamespaceResolver that resolves according to the in-scope namespaces of a given node
      Parameters:
      node - the given node. Must not be null. If this is an element node, the resolver uses the in-scope namespaces of that element. If it is a document node, the only in-scope namespace is the XML namespace. If it is any other kind of node, then if the node has a parent element, the resolver uses the in-scope namespaces of the parent element, otherwise ithe only in-scope namespace is the XML namespace.
  • Method Details

    • getURIForPrefix

      public String getURIForPrefix(String prefix, boolean useDefault)
      Get the namespace URI corresponding to a given prefix. Return null if the prefix is not in scope.
      Specified by:
      getURIForPrefix in interface NamespaceResolver
      Parameters:
      prefix - the namespace prefix. May be the zero-length string, indicating that there is no prefix. This indicates either the default namespace or the null namespace, depending on the value of useDefault.
      useDefault - true if the default namespace is to be used when the prefix is "". If false, the method returns "" when the prefix is "".
      Returns:
      the uri for the namespace, or null if the prefix is not in scope. The "null namespace" is represented by the pseudo-URI "".
    • iteratePrefixes

      public Iterator<String> iteratePrefixes()
      Get an iterator over all the prefixes declared in this namespace context. This will include the default namespace (prefix="") and the XML namespace where appropriate
      Specified by:
      iteratePrefixes in interface NamespaceResolver
      Returns:
      an iterator over all the prefixes for which a namespace binding exists, including the zero-length string to represent the null/absent prefix if it is bound
    • getNode

      public NodeInfo getNode()
      Get the node on which this namespace resolver is based
      Returns:
      the node on which this namespace resolver is based