net.sf.saxon.instruct

Class SavedNamespaceContext

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 context of a name pool
Constructor Summary
SavedNamespaceContext(int[] nscodes, NamePool pool)
Create a NamespaceContext object
SavedNamespaceContext(NamespaceResolver resolver, NamePool pool)
Create a SavedNamespaceContext that captures all the information in a given NamespaceResolver
Method Summary
int[]getNamespaceCodes()
Get the list of in-scope namespaces held in this NamespaceContext
StringgetURIForPrefix(String prefix, boolean useDefault)
Get the namespace URI corresponding to a given prefix.
IteratoriteratePrefixes()
Get an iterator over all the prefixes declared in this namespace context.

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. pool the namepool

SavedNamespaceContext

public SavedNamespaceContext(NamespaceResolver resolver, NamePool pool)
Create a SavedNamespaceContext that captures all the information in a given NamespaceResolver

Parameters: resolver the NamespaceResolver pool the NamePool

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.

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