net.sf.saxon.pull

Class NamespaceContextImpl

Implemented Interfaces:
NamespaceContext, NamespaceResolver

public class NamespaceContextImpl
extends java.lang.Object
implements NamespaceContext, NamespaceResolver

This class bridges between the JAXP 1.3 NamespaceContext interface and Saxon's equivalent NamespaceResolver interface. It allows any implementation of the Saxon NamespaceResolver to be wrapped as a JAXP NamespaceContext.

Constructor Summary

NamespaceContextImpl(NamespaceResolver resolver)
Constructor: wrap a Saxon NamespaceResolver as a JAXP NamespaceContext

Method Summary

String
getNamespaceURI(String prefix)
Implement the JAXP getNamespaceURI() method in terms of the Saxon-specific methods
String
getPrefix(String uri)
Get the prefix bound to a particular namespace URI, if there is one, or null if not (JAXP method)
Iterator
getPrefixes(String uri)
Get all the prefixes mapped to a given namespace URI (JAXP method)
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.

Constructor Details

NamespaceContextImpl

public NamespaceContextImpl(NamespaceResolver resolver)
Constructor: wrap a Saxon NamespaceResolver as a JAXP NamespaceContext
Parameters:
resolver - the Saxon NamespaceResolver

Method Details

getNamespaceURI

public String getNamespaceURI(String prefix)
Implement the JAXP getNamespaceURI() method in terms of the Saxon-specific methods
Parameters:
prefix - a namespace prefix
Returns:
the corresponding URI, if the prefix is bound, or "" otherwise

getPrefix

public String getPrefix(String uri)
Get the prefix bound to a particular namespace URI, if there is one, or null if not (JAXP method)
Parameters:
uri - the namespace URI
Returns:
the prefix bound to the URI if there is one, or null if not

getPrefixes

public Iterator getPrefixes(String uri)
Get all the prefixes mapped to a given namespace URI (JAXP method)
Parameters:
uri - the namespace URI
Returns:
an iterator over all the prefixes bound to this namespace URI

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