public class XmlNamespaceContextContainer
extends java.lang.Object
implements javax.xml.namespace.NamespaceContext
XPath.setNamespaceContext(javax.xml.namespace.NamespaceContext).
This is especially needed for XPath queries on XML documents that use an (unnamed) default namespace,
for which an "artificial" prefix must be defined and communicated to the XPath engine,
so that the XPath expression can use that prefix in order to match the default namespace.
This class with its method addNamespace(String, String) This method serves a similar purpose
as jdom's org.jdom.xpath.XPath#addNamespace(String, String) method.
Implementation note: we only keep a map to quickly go from prefix to namespace, but not the other way around. According to http://xml.apache.org/xalan-j/xpath_apis.html#namespacecontext the XPath processor in Xalan never needs the methods that return prefixes, thus their performance does not matter at the moment.
| Constructor and Description |
|---|
XmlNamespaceContextContainer() |
| Modifier and Type | Method and Description |
|---|---|
void |
addNamespace(java.lang.String prefix,
java.lang.String uri)
Adds a prefix/namespace pair.
|
java.lang.String |
getNamespaceURI(java.lang.String prefix) |
java.lang.String |
getPrefix(java.lang.String namespaceURI) |
java.util.Iterator<java.lang.String> |
getPrefixes(java.lang.String namespaceURI) |
public java.lang.String getNamespaceURI(java.lang.String prefix)
getNamespaceURI in interface javax.xml.namespace.NamespaceContextpublic java.lang.String getPrefix(java.lang.String namespaceURI)
getPrefix in interface javax.xml.namespace.NamespaceContextNamespaceContext.getPrefix(java.lang.String)public java.util.Iterator<java.lang.String> getPrefixes(java.lang.String namespaceURI)
getPrefixes in interface javax.xml.namespace.NamespaceContextpublic void addNamespace(java.lang.String prefix,
java.lang.String uri)
prefix - uri -