Method from org.apache.commons.jxpath.ri.NamespaceResolver Detail: |
public Object clone() {
try {
return super.clone();
}
catch (CloneNotSupportedException e) {
// Of course, it's supported.
e.printStackTrace();
return null;
}
}
|
public Pointer getNamespaceContextPointer() {
return pointer;
}
|
public String getNamespaceURI(String prefix) {
String uri = (String) namespaceMap.get(prefix);
if (uri == null && pointer != null) {
uri = pointer.getNamespaceURI(prefix);
}
// System.err.println("For prefix " + prefix + " URI=" + uri);
return uri;
}
Given a prefix, returns a registered namespace URI. If the requested
prefix was not defined explicitly using the registerNamespace method,
JXPathContext will then check the context node to see if the prefix is
defined there. See
setNamespaceContextPointer . |
public String getPrefix(String namespaceURI) {
if (reverseMap == null) {
reverseMap = new HashMap();
NodeIterator ni = pointer.namespaceIterator();
if (ni != null) {
for (int position = 1; ni.setPosition(position); position++) {
NodePointer nsPointer = ni.getNodePointer();
QName qname = nsPointer.getName();
reverseMap.put(qname.getPrefix(), qname.getName());
}
}
Iterator it = namespaceMap.entrySet().iterator();
while (it.hasNext()) {
Map.Entry entry = (Map.Entry) it.next();
reverseMap.put(entry.getValue(), entry.getKey());
}
}
String prefix = (String) reverseMap.get(namespaceURI);
return prefix;
}
|
public boolean isSealed() {
return sealed;
}
|
public void registerNamespace(String prefix,
String namespaceURI) {
namespaceMap.put(prefix, namespaceURI);
reverseMap = null;
}
Registers a namespace prefix. |
public void seal() {
sealed = true;
}
|
public void setNamespaceContextPointer(NodePointer pointer) {
this.pointer = pointer;
}
Register a namespace for the expression context. |