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; } }