public class

NamespaceSupport

extends Object
implements NamespaceContext
java.lang.Object
   ↳ org.apache.xerces.util.NamespaceSupport
Known Direct Subclasses
Known Indirect Subclasses

Class Overview

Namespace support for XML document handlers. This class doesn't perform any error checking and assumes that all strings passed as arguments to methods are unique symbols. The SymbolTable class can be used for this purpose.

Summary

Nested Classes
class NamespaceSupport.Prefixes  
Fields
protected int[] fContext Context indexes.
protected int fCurrentContext The current context.
protected String[] fNamespace Namespace binding information.
protected int fNamespaceSize The top of the namespace information array.
protected String[] fPrefixes
[Expand]
Inherited Fields
From interface org.apache.xerces.xni.NamespaceContext
Public Constructors
NamespaceSupport()
Default constructor.
NamespaceSupport(NamespaceContext context)
Constructs a namespace context object and initializes it with the prefixes declared in the specified context.
Public Methods
boolean containsPrefix(String prefix)
Checks whether a binding or unbinding for the given prefix exists in the context.
boolean declarePrefix(String prefix, String uri)
Declare a Namespace prefix.
Enumeration getAllPrefixes()
Return an enumeration of all prefixes whose declarations are active in the current context.
String getDeclaredPrefixAt(int index)
Returns the prefix at the specified index in the current context.
int getDeclaredPrefixCount()
Return a count of locally declared prefixes, including the default prefix if bound.
String getPrefix(String uri)
Look up a namespace URI and get one of the mapped prefix.
String getURI(String prefix)
Look up a prefix and get the currently-mapped Namespace URI.
void popContext()
Revert to the previous Namespace context.
void pushContext()
Start a new Namespace context.
void reset()
Reset this Namespace support object for reuse.
[Expand]
Inherited Methods
From class java.lang.Object
From interface org.apache.xerces.xni.NamespaceContext

Fields

protected int[] fContext

Context indexes. This array contains indexes into the namespace information array. The index at the current context is the start index of declared namespace bindings and runs to the size of the namespace information array.

See Also

protected int fCurrentContext

The current context.

protected String[] fNamespace

Namespace binding information. This array is composed of a series of tuples containing the namespace binding information: <prefix, uri>. The default size can be set to anything as long as it is a power of 2 greater than 1.

protected int fNamespaceSize

The top of the namespace information array.

protected String[] fPrefixes

Public Constructors

public NamespaceSupport ()

Default constructor.

public NamespaceSupport (NamespaceContext context)

Constructs a namespace context object and initializes it with the prefixes declared in the specified context.

Public Methods

public boolean containsPrefix (String prefix)

Checks whether a binding or unbinding for the given prefix exists in the context.

Parameters
prefix The prefix to look up.
Returns
  • true if the given prefix exists in the context

public boolean declarePrefix (String prefix, String uri)

Declare a Namespace prefix.

This method declares a prefix in the current Namespace context; the prefix will remain in force until this context is popped, unless it is shadowed in a descendant context.

Note that to declare a default Namespace, use the empty string. The prefixes "xml" and "xmlns" can't be rebound.

Note that you must not declare a prefix after you've pushed and popped another Namespace.

Parameters
prefix The prefix to declare, or null for the empty string.
uri The Namespace URI to associate with the prefix.
Returns
  • true if the prefix was legal, false otherwise

public Enumeration getAllPrefixes ()

Return an enumeration of all prefixes whose declarations are active in the current context. This includes declarations from parent contexts that have not been overridden.

Returns
  • Enumeration
See Also

public String getDeclaredPrefixAt (int index)

Returns the prefix at the specified index in the current context.

public int getDeclaredPrefixCount ()

Return a count of locally declared prefixes, including the default prefix if bound.

public String getPrefix (String uri)

Look up a namespace URI and get one of the mapped prefix.

This method looks up the namespace URI in the current context. If more than one prefix is currently mapped to the same URI, this method will make an arbitrary selection If no mapping is found, this methods will continue lookup in the parent context(s).

Parameters
uri The namespace URI to look up.
Returns
  • One of the associated prefixes, or null if the uri does not map to any prefix.

public String getURI (String prefix)

Look up a prefix and get the currently-mapped Namespace URI.

This method looks up the prefix in the current context. If no mapping is found, this methods will continue lookup in the parent context(s). Use the empty string ("") for the default Namespace.

Parameters
prefix The prefix to look up.
Returns
  • The associated Namespace URI, or null if the prefix is undeclared in this context.
See Also

public void popContext ()

Revert to the previous Namespace context.

The context should be popped at the end of each XML element. After popping the context, all Namespace prefix mappings that were previously in force are restored.

Users must not attempt to declare additional Namespace prefixes after popping a context, unless you push another context first.

See Also

public void pushContext ()

Start a new Namespace context.

A new context should be pushed at the beginning of each XML element: the new context will automatically inherit the declarations of its parent context, but it will also keep track of which declarations were made within this context.

See Also

public void reset ()

Reset this Namespace support object for reuse.

It is necessary to invoke this method before reusing the Namespace support object for a new session.

Note that implementations of this method need to ensure that the declaration of the prefixes "xmlns" and "xml" are available.

See Also