net.sf.saxon.om
Interface NamespaceResolver

All Known Implementing Classes:
DummyNamespaceResolver, InscopeNamespaceResolver, NamespaceContext, StandaloneContext

public interface NamespaceResolver

Interface that supports lookup of a lexical QName to get the expanded QName.


Method Summary
 int getFingerprint(java.lang.String qname, boolean useDefault, NamePool pool)
          Use this NamespaceContext to resolve a lexical QName
 java.lang.String getURIForPrefix(java.lang.String prefix, boolean useDefault)
          Get the namespace URI corresponding to a given prefix.
 java.util.Iterator iteratePrefixes()
          Get an iterator over all the prefixes declared in this namespace context.
 

Method Detail

getURIForPrefix

public java.lang.String getURIForPrefix(java.lang.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

getFingerprint

public int getFingerprint(java.lang.String qname,
                          boolean useDefault,
                          NamePool pool)
                   throws DynamicError
Use this NamespaceContext to resolve a lexical QName

Parameters:
qname - the lexical QName; this must have already been lexically validated
useDefault - true if the default namespace is to be used to resolve an unprefixed QName
pool - the NamePool to be used
Returns:
the integer fingerprint that uniquely identifies this name
Throws:
DynamicError - if the string is not a valid lexical QName or if the namespace prefix has not been declared

iteratePrefixes

public java.util.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