org.apache.ws.jaxme.util
Class NamespaceSupport
java.lang.Objectorg.apache.ws.jaxme.util.NamespaceSupport
- NamespaceContext
public class NamespaceSupport
extends java.lang.Object
Similar to org.xml.sax.NamespaceSupport, but
for marshalling and not for parsing XML.
$Id: NamespaceSupport.java 232067 2005-03-10 10:14:08Z jochen $
String | checkContext(int i)- This method is used to restore the namespace state
after an element is created.
|
void | declarePrefix(String pPrefix, String pURI)- Declares a new prefix.
|
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.
|
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 for reuse.
|
void | undeclarePrefix(String pPrefix)- Removes a prefix declaration.
|
NamespaceSupport
public NamespaceSupport()
Creates a new instance of NamespaceSupport.
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);
}
declarePrefix
public void declarePrefix(String pPrefix,
String pURI)Declares a new prefix.
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).
- getNamespaceURI in interface NamespaceContext
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(String).
pURI - The namespace URI in question
getPrefixes
public Iterator getPrefixes(String pURI)
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 for reuse.
undeclarePrefix
public void undeclarePrefix(String pPrefix)
Removes a prefix declaration. Assumes that the prefix is the
current prefix. If not, throws a IllegalStateException.