net.sf.saxon.om

## 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 Summary

    Constructors
    Constructor and Description
    `InscopeNamespaceResolver(NodeInfo node)` Create a NamespaceResolver that resolves according to the in-scope namespaces of a given node

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `NodeInfo` | `getNode()` Get the node on which this namespace resolver is based
    `String` | `getURIForPrefix(String prefix, boolean useDefault)` Get the namespace URI corresponding to a given prefix.
    `Iterator<String>` | `iteratePrefixes()` Get an iterator over all the prefixes declared in this namespace context.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### 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 Detail

    - #### 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

Copyright (c) 2004-2013 Saxonica Limited. All rights reserved.