Package org.apache.xerces.xinclude
Class MultipleScopeNamespaceSupport
java.lang.Object
org.apache.xerces.util.NamespaceSupport
org.apache.xerces.xinclude.MultipleScopeNamespaceSupport
- All Implemented Interfaces:
org.apache.xerces.xni.NamespaceContext
- Direct Known Subclasses:
XIncludeNamespaceSupport
This implementation of NamespaceContext has the ability to maintain multiple
scopes of namespace/prefix bindings. This is useful in situations when it is
not always appropriate for elements to inherit the namespace bindings of their
ancestors (such as included elements in XInclude).
When searching for a URI to match a prefix, or a prefix to match a URI, it is
searched for in the current context, then the ancestors of the current context,
up to the beginning of the current scope. Other scopes are not searched.
- Version:
- $Id: MultipleScopeNamespaceSupport.java 447243 2006-09-18 05:15:27Z mrglavas $
- Author:
- Peter McCracken, IBM
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.xerces.util.NamespaceSupport
NamespaceSupport.Prefixes
-
Field Summary
FieldsFields inherited from class org.apache.xerces.util.NamespaceSupport
fContext, fCurrentContext, fNamespace, fNamespaceSize, fPrefixes
Fields inherited from interface org.apache.xerces.xni.NamespaceContext
XML_URI, XMLNS_URI
-
Constructor Summary
ConstructorsConstructorDescriptionMultipleScopeNamespaceSupport
(org.apache.xerces.xni.NamespaceContext context) -
Method Summary
Modifier and TypeMethodDescriptionReturn an enumeration of all prefixes whose declarations are active in the current context.Look up a namespace URI and get one of the mapped prefix.int
getScopeForContext
(int context) Look up a prefix and get the currently-mapped Namespace URI.void
popScope()
Pops the current scope.void
Begins a new scope.void
reset()
Only resets the current scope -- all namespaces defined in lower scopes remain valid after a call to reset.Methods inherited from class org.apache.xerces.util.NamespaceSupport
containsPrefix, declarePrefix, getDeclaredPrefixAt, getDeclaredPrefixCount, popContext, pushContext
-
Field Details
-
fScope
protected int[] fScope -
fCurrentScope
protected int fCurrentScope
-
-
Constructor Details
-
MultipleScopeNamespaceSupport
public MultipleScopeNamespaceSupport() -
MultipleScopeNamespaceSupport
public MultipleScopeNamespaceSupport(org.apache.xerces.xni.NamespaceContext context) - Parameters:
context
-
-
-
Method Details
-
getAllPrefixes
Description copied from interface:org.apache.xerces.xni.NamespaceContext
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.- Specified by:
getAllPrefixes
in interfaceorg.apache.xerces.xni.NamespaceContext
- Overrides:
getAllPrefixes
in classNamespaceSupport
- Returns:
- Enumeration
- See Also:
-
getScopeForContext
public int getScopeForContext(int context) -
getPrefix
Description copied from interface:org.apache.xerces.xni.NamespaceContext
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).
- Specified by:
getPrefix
in interfaceorg.apache.xerces.xni.NamespaceContext
- Overrides:
getPrefix
in classNamespaceSupport
- 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.
- See Also:
-
getURI
Description copied from interface:org.apache.xerces.xni.NamespaceContext
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.
- Specified by:
getURI
in interfaceorg.apache.xerces.xni.NamespaceContext
- Overrides:
getURI
in classNamespaceSupport
- Parameters:
prefix
- The prefix to look up.- Returns:
- The associated Namespace URI, or null if the prefix is undeclared in this context.
- See Also:
-
getPrefix
-
getURI
-
getPrefix
-
getURI
-
reset
public void reset()Only resets the current scope -- all namespaces defined in lower scopes remain valid after a call to reset.- Specified by:
reset
in interfaceorg.apache.xerces.xni.NamespaceContext
- Overrides:
reset
in classNamespaceSupport
- See Also:
-
pushScope
public void pushScope()Begins a new scope. None of the previous namespace bindings will be used, until the new scope is popped with popScope() -
popScope
public void popScope()Pops the current scope. The namespace bindings from the new current scope are then used for searching for namespaces and prefixes.
-