package gr.ntua.ivml.athena.xml.util;
import java.util.HashMap;
import java.util.Map;
public class Namespaces {
Map<String,String> namespaces;
public Namespaces() {
this.namespaces = new HashMap<String,String>();
}
public Namespaces(Map<String,String> n) {
this.namespaces = n;
}
public String getNamespacePrefix(String uri, String qname, int type) {
String prefix = XPathUtils.getNamespacePrefix(qname);
if (!(type == 0 && "".equals(prefix))) {
String namespaceURI = (String) namespaces.get(prefix);
if (namespaceURI != null) {
if (!namespaceURI.equals(uri)) {
int i = 0;
while (true) {
String newPrefix = prefix + i++;
namespaceURI = (String) namespaces.get(newPrefix);
if (namespaceURI == null) {
namespaces.put(newPrefix, uri);
prefix = newPrefix;
break;
} else if (namespaceURI.equals(uri)) {
prefix = newPrefix;
break;
}
}
}
} else {
namespaces.put(prefix, uri);
}
}
return prefix;
}
}