package org.caudexorigo.xml;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import javax.xml.XMLConstants;
import javax.xml.namespace.NamespaceContext;
public class XpathNamespaceContext implements NamespaceContext
{
private Map<String, String> ns_ctx = new HashMap<String, String>();
public XpathNamespaceContext()
{
super();
ns_ctx.put("xml", XMLConstants.XML_NS_URI);
}
public String getNamespaceURI(String prefix)
{
if (prefix == null)
{
throw new IllegalArgumentException("Null prefix");
}
else
{
String uri = ns_ctx.get(prefix);
if (uri != null)
{
return uri;
}
}
return XMLConstants.NULL_NS_URI;
}
// This method isn't necessary for XPath processing.
public String getPrefix(String uri)
{
throw new UnsupportedOperationException();
}
// This method isn't necessary for XPath processing either.
public Iterator getPrefixes(String uri)
{
throw new UnsupportedOperationException();
}
public void addNamespace(String prefix, String uri)
{
ns_ctx.put(prefix, uri);
}
}