org.apache.ws.commons.util
Class NamespaceContextImpl
java.lang.Object
org.apache.ws.commons.util.NamespaceContextImpl
- NamespaceContext
public class NamespaceContextImpl
extends java.lang.Object
implements NamespaceContext
Default implementation of javax.xml.namespace.NamespaceContext
.
String | checkContext(int i) - This method is used to restore the namespace state
after an element is created.
|
void | endPrefixMapping(String pPrefix) - Removes the declaration of the prefix, which has been defined
last.
|
String | getAttributePrefix(String pURI) - Returns a non-empty prefix currently mapped to the given
URL or null, if there is no such mapping.
|
int | getContext() - Returns the current number of assigned prefixes.
|
String | getNamespaceURI(String pPrefix) - Given a prefix, returns the URI to which the prefix is
currently mapped or null, if there is no such mapping.
|
String | getPrefix(String pURI) - Returns a prefix currently mapped to the given URI or
null, if there is no such mapping.
|
List | getPrefixes() - Returns a list of all prefixes, which are currently declared,
in the order of declaration.
|
Iterator | getPrefixes(String pURI) - Returns a collection to all prefixes bound to the given
namespace URI.
|
boolean | isPrefixDeclared(String pPrefix) - Returns whether a given prefix is currently declared.
|
void | reset() - Resets the NamespaceSupport's state.
|
void | startPrefixMapping(String pPrefix, String pURI) - Declares a new prefix.
|
checkContext
public String checkContext(int i)
This method is used to restore the namespace state
after an element is created. It takes as input a state,
as returned by
getContext()
.
For any prefix, which was since saving the state,
the prefix is returned and deleted from the internal
list. In other words, a typical use looks like this:
NamespaceSupport nss;
ContentHandler h;
int context = nss.getContext();
h.startElement("foo", "bar", "f:bar", new AttributesImpl());
...
h.endElement("foo", "bar", "f:bar");
for (;;) {
String prefix = nss.checkContext(context);
if (prefix == null) {
break;
}
h.endPrefixMapping(prefix);
}
endPrefixMapping
public void endPrefixMapping(String pPrefix)
Removes the declaration of the prefix, which has been defined
last. Typically called from within
org.xml.sax.ContextHandler.endPrefixMapping(java.lang.String)
.
getAttributePrefix
public String getAttributePrefix(String pURI)
Returns a non-empty prefix currently mapped to the given
URL or null, if there is no such mapping. This method may be
used to find a possible prefix for an attributes namespace
URI. For elements you should use
getPrefix(String)
.
pURI
- Thhe namespace URI in question
getContext
public int getContext()
Returns the current number of assigned prefixes.
Note, that a prefix may be assigned in several nested
elements, in which case every assignment is counted.
This method is typically called before invoking the
method
org.xml.sax.ContentHandler.startElement(String, String, String, org.xml.sax.Attributes)
.
The return value is used as a saveable state. After
invoking
org.xml.sax.ContentHandler.endElement(String, String, String)
,
the state is restored by calling
checkContext(int)
.
getNamespaceURI
public String getNamespaceURI(String pPrefix)
Given a prefix, returns the URI to which the prefix is
currently mapped or null, if there is no such mapping.
Note: This methods behaviour is precisely
defined by
NamespaceContext.getNamespaceURI(java.lang.String)
.
pPrefix
- The prefix in question
getPrefix
public String getPrefix(String pURI)
Returns a prefix currently mapped to the given URI or
null, if there is no such mapping. This method may be used
to find a possible prefix for an elements namespace URI. For
attributes you should use
getAttributePrefix(String)
.
Note: This methods behaviour is precisely
defined by
NamespaceContext.getPrefix(java.lang.String)
.
pURI
- The namespace URI in question
getPrefixes
public List getPrefixes()
Returns a list of all prefixes, which are currently declared,
in the order of declaration. Duplicates are possible, if a
prefix has been assigned to more than one URI, or repeatedly to
the same URI.
getPrefixes
public Iterator getPrefixes(String pURI)
Returns a collection to all prefixes bound to the given
namespace URI.
Note: This methods behaviour is precisely
defined by NamespaceContext.getPrefixes(java.lang.String)
.
pURI
- The namespace prefix in question
isPrefixDeclared
public boolean isPrefixDeclared(String pPrefix)
Returns whether a given prefix is currently declared.
reset
public void reset()
Resets the NamespaceSupport's state. Allows reusing the
object.
startPrefixMapping
public void startPrefixMapping(String pPrefix,
String pURI)
Declares a new prefix. Typically called from within
org.xml.sax.ContextHandler.startPrefixMapping(java.lang.String, java.lang.String)
.