## net.sf.saxon.instruct
Class SavedNamespaceContext

    java.lang.Object
      net.sf.saxon.instruct.SavedNamespaceContext

All Implemented Interfaces:
  Serializable, NamespaceResolver

    public final class SavedNamespaceContext

extends Object
implements Serializable, NamespaceResolver

An object representing a list of Namespaces. Used when the namespace controller in the stylesheet needs to be kept for use at run-time. The list of namespaces is maintained in the form of numeric prefix/uri codes, which are only meaningful in the controller of a name pool; however, in order to save space, the NamespaceContext object does not keep a reference to the namepool, it requires this to be supplied by the caller.

See Also:
  Serialized Form

Constructor Summary
`SavedNamespaceContext(int[] nscodes, NamePool pool)` Create a NamespaceContext object

Method Summary
`int[]` `getNamespaceCodes()` Get the list of in-scope namespaces held in this NamespaceContext
`String` `getURIForPrefix(String prefix, boolean useDefault)` Get the namespace URI corresponding to a given prefix.
`Iterator` `iteratePrefixes()` Get an iterator over all the prefixes declared in this namespace context.

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SavedNamespaceContext

    public SavedNamespaceContext(int[] nscodes,
                                 NamePool pool)

  Create a NamespaceContext object

  Parameters:
    `nscodes` - an array of namespace codes. Each namespace code is an integer in which the first 16 bits represent the prefix (zero if it's the default namespace) and the next 16 bits represent the uri. These are codes held in the NamePool. The list will be searched from the "high" end.

Method Detail

### getNamespaceCodes

    public int[] getNamespaceCodes()

  Get the list of in-scope namespaces held in this NamespaceContext

  Returns:
    the list of namespaces

### 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
    `useDefault` - true if the default namespace is to be used when the prefix is ""
  Returns:
    the uri for the namespace, or null if the prefix is not in scope

### iteratePrefixes

    public Iterator 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`

Copyright (C) Michael H. Kay. All rights reserved.