/** * add a prefix mapping * @param mapping the mapping * @param uri the uri */ public void addPrefixMapping(String mapping, String uri) { Map<String, String> prefixMapping = getPrefixMapping(); if (prefixMapping == null) { prefixMapping = new java.util.HashMap<String, String>(); addExtraAttribute("prefix-mapping", prefixMapping); } prefixMapping.put(mapping, uri); }
/** * look in the mapping defined in this descriptor and in all parent nodes * for the right namespace for the passed prefix */ private String getNamespaceFor(Descriptor descriptor, Node parent, String prefix) { Map prefixMapping = descriptor.getPrefixMapping(); String namespace = null; if (prefixMapping!=null) { namespace = (String) prefixMapping.get(prefix); } if (namespace==null) { Element currentNode = (Element) parent; namespace=""; while (currentNode!=null && namespace.length()==0) { namespace = currentNode.getAttributeNS("http://www.w3.org/2000/xmlns/", prefix); if (namespace.length()==0) currentNode = (Element) currentNode.getParentNode(); } } return namespace; }
/** * Any node can now declare its own namespace. this apply to DDs only * when dealing with deployment extensions. Write any declared * namespace declaration * * @param node from which this namespace is declared * @param descriptor containing the namespace declaration if any */ protected void addNamespaceDeclaration(Element node, Descriptor descriptor) { // declare now all remaining namepace... Map prefixMapping = (descriptor != null ) ? descriptor.getPrefixMapping() : null; if (prefixMapping!=null) { for (Iterator itr =prefixMapping.keySet().iterator();itr.hasNext();) { String prefix = (String) itr.next(); String namespaceURI = (String) prefixMapping.get(prefix); setAttributeNS(node, prefix, namespaceURI); } } }
displayLocalizedMap(sb, largeIcons); Map<String, String> prefix = getPrefixMapping(); if (prefix != null) sb.append("\n Prefix Mapping = ").append(prefix);