Top Description Inners Fields Constructors Methods
org.apache.xerces.util

public Class NamespaceSupport

extends Object
implements NamespaceContext
Class Inheritance
All Implemented Interfaces
org.apache.xerces.xni.NamespaceContext
Known Direct Subclasses
org.apache.xerces.xinclude.MultipleScopeNamespaceSupport, org.apache.xerces.impl.xs.SchemaNamespaceSupport
Imports
java.util.Enumeration, .NoSuchElementException, org.apache.xerces.xni.NamespaceContext

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.
Author
Andy Clark, IBM
Version
$Id: NamespaceSupport.java 965250 2010-07-18 16:04:58Z mrglavas $

Nested and Inner Type Summary

Modifier and TypeClass and Description
protected class

Field Summary

Modifier and TypeField and Description
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[]

Constructor Summary

AccessConstructor and Description
public
NamespaceSupport()

Default constructor.

public
NamespaceSupport(NamespaceContext context)

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

Method Summary

Modifier and TypeMethod and Description
public boolean

Returns:

true if the given prefix exists in the context
containsPrefix
(String
The prefix to look up.
prefix
)

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

public boolean
declarePrefix(String
The prefix to declare, or null for the empty string.
prefix
,
String
The Namespace URI to associate with the prefix.
uri
)

Implements org.apache.xerces.xni.NamespaceContext.declarePrefix.

Declare a Namespace prefix.
public Enumeration<E>
getAllPrefixes()

Implements org.apache.xerces.xni.NamespaceContext.getAllPrefixes.

Return an enumeration of all prefixes whose declarations are active in the current context.
public String
getDeclaredPrefixAt(int index)

Implements org.apache.xerces.xni.NamespaceContext.getDeclaredPrefixAt.

Returns the prefix at the specified index in the current context.
public int
getDeclaredPrefixCount()

Implements org.apache.xerces.xni.NamespaceContext.getDeclaredPrefixCount.

Return a count of locally declared prefixes, including the default prefix if bound.
public String
getPrefix(String
The namespace URI to look up.
uri
)

Implements org.apache.xerces.xni.NamespaceContext.getPrefix.

Look up a namespace URI and get one of the mapped prefix.
public String
getURI(String
The prefix to look up.
prefix
)

Implements org.apache.xerces.xni.NamespaceContext.getURI.

Look up a prefix and get the currently-mapped Namespace URI.
public void
popContext()

Implements org.apache.xerces.xni.NamespaceContext.popContext.

Revert to the previous Namespace context.
public void
pushContext()

Implements org.apache.xerces.xni.NamespaceContext.pushContext.

Start a new Namespace context.
public void
reset()

Implements org.apache.xerces.xni.NamespaceContext.reset.

Reset this Namespace support object for reuse.
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

fContextback to summary
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
fNamespaceSize
fCurrentContextback to summary
protected int fCurrentContext

The current context.

fNamespaceback to summary
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.

See Also
fNamespaceSize, fContext
fNamespaceSizeback to summary
protected int fNamespaceSize

The top of the namespace information array.

fPrefixesback to summary
protected String[] fPrefixes

Constructor Detail

NamespaceSupportback to summary
public NamespaceSupport()

Default constructor.

NamespaceSupportback to summary
public NamespaceSupport(NamespaceContext context)

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

Method Detail

containsPrefixback to summary
public boolean containsPrefix(String prefix)

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

Parameters
prefix:String

The prefix to look up.

Returns:boolean

true if the given prefix exists in the context

declarePrefixback to summary
public boolean declarePrefix(String prefix, String uri)

Implements org.apache.xerces.xni.NamespaceContext.declarePrefix.

Doc from org.apache.xerces.xni.NamespaceContext.declarePrefix.

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:String

The prefix to declare, or null for the empty string.

uri:String

The Namespace URI to associate with the prefix.

Returns:boolean

true if the prefix was legal, false otherwise

See Also
org.apache.xerces.xni.NamespaceContext#declarePrefix(String, String)
getAllPrefixesback to summary
public Enumeration<E> getAllPrefixes()

Implements org.apache.xerces.xni.NamespaceContext.getAllPrefixes.

Doc from org.apache.xerces.xni.NamespaceContext.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<E>

Enumeration

See Also
org.apache.xerces.xni.NamespaceContext#getAllPrefixes()
getDeclaredPrefixAtback to summary
public String getDeclaredPrefixAt(int index)

Implements org.apache.xerces.xni.NamespaceContext.getDeclaredPrefixAt.

Doc from org.apache.xerces.xni.NamespaceContext.getDeclaredPrefixAt.

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

See Also
org.apache.xerces.xni.NamespaceContext#getDeclaredPrefixAt(int)
getDeclaredPrefixCountback to summary
public int getDeclaredPrefixCount()

Implements org.apache.xerces.xni.NamespaceContext.getDeclaredPrefixCount.

Doc from org.apache.xerces.xni.NamespaceContext.getDeclaredPrefixCount.

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

See Also
org.apache.xerces.xni.NamespaceContext#getDeclaredPrefixCount()
getPrefixback to summary
public String getPrefix(String uri)

Implements org.apache.xerces.xni.NamespaceContext.getPrefix.

Doc from org.apache.xerces.xni.NamespaceContext.getPrefix.

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:String

The namespace URI to look up.

Returns:String

One of the associated prefixes, or null if the uri does not map to any prefix.

See Also
org.apache.xerces.xni.NamespaceContext#getPrefix(String)
getURIback to summary
public String getURI(String prefix)

Implements org.apache.xerces.xni.NamespaceContext.getURI.

Doc from org.apache.xerces.xni.NamespaceContext.getURI.

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:String

The prefix to look up.

Returns:String

The associated Namespace URI, or null if the prefix is undeclared in this context.

See Also
org.apache.xerces.xni.NamespaceContext#getURI(String)
popContextback to summary
public void popContext()

Implements org.apache.xerces.xni.NamespaceContext.popContext.

Doc from org.apache.xerces.xni.NamespaceContext.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
org.apache.xerces.xni.NamespaceContext#popContext()
pushContextback to summary
public void pushContext()

Implements org.apache.xerces.xni.NamespaceContext.pushContext.

Doc from org.apache.xerces.xni.NamespaceContext.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
org.apache.xerces.xni.NamespaceContext#pushContext()
resetback to summary
public void reset()

Implements org.apache.xerces.xni.NamespaceContext.reset.

Doc from org.apache.xerces.xni.NamespaceContext.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
org.apache.xerces.xni.NamespaceContext#reset()
org.apache.xerces.util back to summary

protected final Class NamespaceSupport.Prefixes

extends Object
implements Enumeration
Class Inheritance
All Implemented Interfaces
java.util.Enumeration

Field Summary

Modifier and TypeField and Description
private int
private String[]
private int

Constructor Summary

AccessConstructor and Description
public
Prefixes(String[] prefixes, int size)

Constructor for Prefixes.

Method Summary

Modifier and TypeMethod and Description
public boolean
hasMoreElements()

Implements java.util.Enumeration.hasMoreElements.

Tests if this enumeration contains more elements.
public Object
nextElement()

Implements java.util.Enumeration.nextElement.

Returns the next element of this enumeration if this enumeration object has at least one more element to provide.
public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAllwaitwaitwait

Field Detail

counterback to summary
private int counter
prefixesback to summary
private String[] prefixes
sizeback to summary
private int size

Constructor Detail

Prefixesback to summary
public Prefixes(String[] prefixes, int size)

Constructor for Prefixes.

Method Detail

hasMoreElementsback to summary
public boolean hasMoreElements()

Implements java.util.Enumeration.hasMoreElements.

Doc from java.util.Enumeration.hasMoreElements.

Tests if this enumeration contains more elements.

Returns:boolean

true if and only if this enumeration object contains at least one more element to provide; false otherwise.

See Also
java.util.Enumeration#hasMoreElements()
nextElementback to summary
public Object nextElement()

Implements java.util.Enumeration.nextElement.

Doc from java.util.Enumeration.nextElement.

Returns the next element of this enumeration if this enumeration object has at least one more element to provide.

Returns:Object

the next element of this enumeration.

See Also
java.util.Enumeration#nextElement()
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object.

Returns:String

a string representation of the object.