Class NamespaceSupport
- All Implemented Interfaces:
NamespaceContext
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate int[]Context indexes.private intThe current context.private String[]Namespace binding information.private intThe top of the namespace information array.Fields inherited from interface NamespaceContext
XML_URI, XMLNS_URI -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleandeclarePrefix(String prefix, String uri) Declare a Namespace prefix.getDeclaredPrefixAt(int index) intLook up a prefix and get the currently-mapped Namespace URI.voidRevert to the previous Namespace context.voidStart a new Namespace context.voidreset()Reset this Namespace support object for reuse.
-
Field Details
-
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_
private int fNamespaceSize_The top of the namespace information array. -
fContext_
private 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:
-
fCurrentContext_
private int fCurrentContext_The current context.
-
-
Constructor Details
-
NamespaceSupport
public NamespaceSupport()Default constructor.
-
-
Method Details
-
reset
public void reset()Description copied from interface:NamespaceContextReset 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.
- Specified by:
resetin interfaceNamespaceContext- See Also:
-
pushContext
public void pushContext()Description copied from interface:NamespaceContextStart 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.
- Specified by:
pushContextin interfaceNamespaceContext- See Also:
-
popContext
public void popContext()Description copied from interface:NamespaceContextRevert 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.
- Specified by:
popContextin interfaceNamespaceContext- See Also:
-
declarePrefix
Description copied from interface:NamespaceContextDeclare 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.
- Specified by:
declarePrefixin interfaceNamespaceContext- 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
- See Also:
-
getURI
Description copied from interface:NamespaceContextLook 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.
- Specified by:
getURIin interfaceNamespaceContext- Parameters:
prefix- The prefix to look up.- Returns:
- The associated Namespace URI, or null if the prefix is undeclared in this context.
- See Also:
-
getDeclaredPrefixCount
public int getDeclaredPrefixCount()- Specified by:
getDeclaredPrefixCountin interfaceNamespaceContext- Returns:
- a count of locally declared prefixes, including the default prefix if bound.
- See Also:
-
getDeclaredPrefixAt
- Specified by:
getDeclaredPrefixAtin interfaceNamespaceContext- Parameters:
index- the index pos- Returns:
- the prefix at the specified index in the current context.
- See Also:
-