List of usage examples for org.w3c.dom Element getPrefix
public String getPrefix();
null
if it is unspecified. From source file:Utils.java
/** * Build a QName from the element name//from w w w .ja v a 2s . c o m * @param el * @return */ public static QName getQName(Element el) { if (el == null) { return null; } else if (el.getPrefix() != null) { return new QName(el.getNamespaceURI(), el.getLocalName(), el.getPrefix()); } else { return new QName(el.getNamespaceURI(), el.getLocalName()); } }
From source file:Main.java
/** * @param xml/*from ww w .ja v a 2 s . c o m*/ * The Element whose QName will be returned. * @return The QName of the given Element definition. */ public static QName getElementQName(final Element xml) { final String uri = xml.getNamespaceURI(); final String prefix = xml.getPrefix(); final String name = xml.getLocalName(); // // support for DOM Level 1 - no NS concept // if (name == null) return new QName(xml.getNodeName()); // // prefix is not required, but it CANNOT be null // if (prefix != null && prefix.length() > 0) return new QName(uri, name, prefix); return new QName(uri, name); }
From source file:Main.java
/** * Get the namespace prefix of the passed element in a safe way. * * @param aElement//from w w w . j a v a2 s .co m * The element to be queried. May be <code>null</code>. * @return {@link XMLConstants#DEFAULT_NS_PREFIX} or the provided prefix. * Never <code>null</code>. * @since 8.4.1 */ @Nonnull public static String getPrefix(@Nullable final Element aElement) { final String sPrefix = aElement == null ? null : aElement.getPrefix(); return sPrefix == null ? XMLConstants.DEFAULT_NS_PREFIX : sPrefix; }
From source file:Main.java
public static Element createElement(final Document document, final String qName, final Optional<String> namespaceURI) { if (namespaceURI.isPresent()) { final Element element = document.createElementNS(namespaceURI.get(), qName); String name = XMLNS_ATTRIBUTE_KEY; if (element.getPrefix() != null) { name += ":" + element.getPrefix(); }//from w w w . ja v a 2s. c om element.setAttributeNS(XMLNS_URI, name, namespaceURI.get()); return element; } return document.createElement(qName); }
From source file:Main.java
/** * Obtains the list of child elements with the specified tag name * inside the specific namespace.//ww w. j av a2 s .c om * * @param element the root element. * @param namespace the child namespace name. * @param tagName the child tag name. * @return the child element list. */ public static List<Element> getChildElements(final Element element, final String namespace, final String tagName) { final List<Element> elements = getElementList(element); final int numElements = elements.size(); final List<Element> childElements = new ArrayList<Element>(); for (int i = 0; i < numElements; i++) { final Element childElement = elements.get(i); String childTagName = childElement.getTagName(); final String childPrefix = childElement.getPrefix(); final String childNamespace = (childPrefix != null ? childElement.lookupNamespaceURI(childPrefix) : null); if (namespace != null) { if (!namespace.equals(childNamespace)) { continue; } else { childTagName = childElement.getLocalName(); } } if (!childTagName.equals(tagName)) { continue; } childElements.add(childElement); } return childElements; }
From source file:Main.java
/** * Obtains the first child element with the specified name inside * the specified namespace./*from w ww . ja v a2s. c o m*/ * * @param element the root element. * @param namespace the namespace of the child element. * @param tagName the child local name. * @return the child element. */ public static Element getChildElement(final Element element, final String namespace, final String tagName) { final NodeList childNodes = element.getChildNodes(); final int numChildren = childNodes.getLength(); for (int i = 0; i < numChildren; i++) { final Node childNode = childNodes.item(i); if (childNode.getNodeType() != Node.ELEMENT_NODE) { continue; } final Element childElement = (Element) childNode; String childTagName = childElement.getTagName(); final String childPrefix = childElement.getPrefix(); final String childNamespace = (childPrefix != null ? childElement.lookupNamespaceURI(childPrefix) : null); if (namespace != null) { if (!namespace.equals(childNamespace)) { continue; } else { childTagName = childElement.getLocalName(); } } if (!childTagName.equals(tagName)) { continue; } return childElement; } return null; }
From source file:Main.java
protected static String nodeToString(Node node, Set<String> parentPrefixes, String namespaceURI) throws Exception { StringBuilder b = new StringBuilder(); if (node == null) { return ""; }/*from w w w .j a v a2 s . co m*/ if (node instanceof Element) { Element element = (Element) node; b.append("<"); b.append(element.getNodeName()); Map<String, String> thisLevelPrefixes = new HashMap(); if (element.getPrefix() != null && !parentPrefixes.contains(element.getPrefix())) { thisLevelPrefixes.put(element.getPrefix(), element.getNamespaceURI()); } if (element.hasAttributes()) { NamedNodeMap map = element.getAttributes(); for (int i = 0; i < map.getLength(); i++) { Node attr = map.item(i); if (attr.getNodeName().startsWith("xmlns")) continue; if (attr.getPrefix() != null && !parentPrefixes.contains(attr.getPrefix())) { thisLevelPrefixes.put(attr.getPrefix(), element.getNamespaceURI()); } b.append(" "); b.append(attr.getNodeName()); b.append("=\""); b.append(attr.getNodeValue()); b.append("\""); } } if (namespaceURI != null && !thisLevelPrefixes.containsValue(namespaceURI) && !namespaceURI.equals(element.getParentNode().getNamespaceURI())) { b.append(" xmlns=\"").append(namespaceURI).append("\""); } for (Map.Entry<String, String> entry : thisLevelPrefixes.entrySet()) { b.append(" xmlns:").append(entry.getKey()).append("=\"").append(entry.getValue()).append("\""); parentPrefixes.add(entry.getKey()); } NodeList children = element.getChildNodes(); boolean hasOnlyAttributes = true; for (int i = 0; i < children.getLength(); i++) { Node child = children.item(i); if (child.getNodeType() != Node.ATTRIBUTE_NODE) { hasOnlyAttributes = false; break; } } if (!hasOnlyAttributes) { b.append(">"); for (int i = 0; i < children.getLength(); i++) { b.append(nodeToString(children.item(i), parentPrefixes, children.item(i).getNamespaceURI())); } b.append("</"); b.append(element.getNodeName()); b.append(">"); } else { b.append("/>"); } for (String thisLevelPrefix : thisLevelPrefixes.keySet()) { parentPrefixes.remove(thisLevelPrefix); } } else if (node.getNodeValue() != null) { b.append(encodeText(node.getNodeValue())); } return b.toString(); }
From source file:Main.java
protected static String nodeToString(Node node, Set<String> parentPrefixes, String namespaceURI) throws Exception { StringBuilder b = new StringBuilder(); if (node == null) { return ""; }/* w ww.java 2 s .c o m*/ if (node instanceof Element) { Element element = (Element) node; b.append("<"); b.append(element.getNodeName()); Map<String, String> thisLevelPrefixes = new HashMap(); if (element.getPrefix() != null && !parentPrefixes.contains(element.getPrefix())) { thisLevelPrefixes.put(element.getPrefix(), element.getNamespaceURI()); } if (element.hasAttributes()) { NamedNodeMap map = element.getAttributes(); for (int i = 0; i < map.getLength(); i++) { Node attr = map.item(i); if (attr.getNodeName().startsWith("xmlns")) continue; if (attr.getPrefix() != null && !parentPrefixes.contains(attr.getPrefix())) { thisLevelPrefixes.put(attr.getPrefix(), element.getNamespaceURI()); } b.append(" "); b.append(attr.getNodeName()); b.append("=\""); b.append(attr.getNodeValue()); b.append("\""); } } if (namespaceURI != null && !thisLevelPrefixes.containsValue(namespaceURI) && !namespaceURI.equals(element.getParentNode().getNamespaceURI())) { b.append(" xmlns=\"").append(namespaceURI).append("\""); } for (Map.Entry<String, String> entry : thisLevelPrefixes.entrySet()) { b.append(" xmlns:").append(entry.getKey()).append("=\"").append(entry.getValue()).append("\""); parentPrefixes.add(entry.getKey()); } NodeList children = element.getChildNodes(); boolean hasOnlyAttributes = true; for (int i = 0; i < children.getLength(); i++) { Node child = children.item(i); if (child.getNodeType() != Node.ATTRIBUTE_NODE) { hasOnlyAttributes = false; break; } } if (!hasOnlyAttributes) { b.append(">"); for (int i = 0; i < children.getLength(); i++) { b.append(nodeToString(children.item(i), parentPrefixes, children.item(i).getNamespaceURI())); } b.append("</"); b.append(element.getNodeName()); b.append(">"); } else { b.append("/>"); } for (String thisLevelPrefix : thisLevelPrefixes.keySet()) { parentPrefixes.remove(thisLevelPrefix); } } else if (node.getNodeValue() != null) { b.append(encodeText(node.getNodeValue(), node instanceof Attr)); } return b.toString(); }
From source file:Main.java
protected static String nodeToString(Node node, Set<String> parentPrefixes, String namespaceURI) throws Exception { StringBuilder b = new StringBuilder(); if (node == null) { return ""; }//from w w w.j av a 2 s .c o m if (node instanceof Element) { Element element = (Element) node; b.append("<"); b.append(element.getNodeName()); Map<String, String> thisLevelPrefixes = new HashMap(); if (element.getPrefix() != null && !parentPrefixes.contains(element.getPrefix())) { thisLevelPrefixes.put(element.getPrefix(), element.getNamespaceURI()); } if (element.hasAttributes()) { NamedNodeMap map = element.getAttributes(); for (int i = 0; i < map.getLength(); i++) { Node attr = map.item(i); if (attr.getNodeName().startsWith("xmlns")) continue; if (attr.getPrefix() != null && !parentPrefixes.contains(attr.getPrefix())) { thisLevelPrefixes.put(attr.getPrefix(), element.getNamespaceURI()); } b.append(" "); b.append(attr.getNodeName()); b.append("=\""); b.append(attr.getNodeValue()); b.append("\""); } } if (namespaceURI != null && !thisLevelPrefixes.containsValue(namespaceURI) && !namespaceURI.equals(element.getParentNode().getNamespaceURI())) { b.append(" xmlns=\"").append(namespaceURI).append("\""); } for (Map.Entry<String, String> entry : thisLevelPrefixes.entrySet()) { b.append(" xmlns:").append(entry.getKey()).append("=\"").append(entry.getValue()).append("\""); parentPrefixes.add(entry.getKey()); } NodeList children = element.getChildNodes(); boolean hasOnlyAttributes = true; for (int i = 0; i < children.getLength(); i++) { Node child = children.item(i); if (child.getNodeType() != Node.ATTRIBUTE_NODE) { hasOnlyAttributes = false; break; } } if (!hasOnlyAttributes) { b.append(">"); for (int i = 0; i < children.getLength(); i++) { b.append(nodeToString(children.item(i), parentPrefixes, children.item(i).getNamespaceURI())); } b.append("</"); b.append(element.getNodeName()); b.append(">"); } else { b.append("/>"); } for (String thisLevelPrefix : thisLevelPrefixes.keySet()) { parentPrefixes.remove(thisLevelPrefix); } } else if (node.getNodeValue() != null) { b.append(encodeText(node.getNodeValue())); } return b.toString(); }
From source file:Main.java
protected static String nodeToString(Node node, Set<String> parentPrefixes, String namespaceURI) throws Exception { StringBuilder b = new StringBuilder(); if (node == null) { return ""; }/*from ww w. j a v a2 s . c om*/ if (node instanceof Element) { Element element = (Element) node; b.append("<"); b.append(element.getNodeName()); Map<String, String> thisLevelPrefixes = new HashMap(); if (element.getPrefix() != null && !parentPrefixes.contains(element.getPrefix())) { thisLevelPrefixes.put(element.getPrefix(), element.getNamespaceURI()); } if (element.hasAttributes()) { NamedNodeMap map = element.getAttributes(); for (int i = 0; i < map.getLength(); i++) { Node attr = map.item(i); if (attr.getNodeName().startsWith("xmlns")) continue; if (attr.getPrefix() != null && !parentPrefixes.contains(attr.getPrefix())) { thisLevelPrefixes.put(attr.getPrefix(), element.getNamespaceURI()); } b.append(" "); b.append(attr.getNodeName()); b.append("=\""); b.append(attr.getNodeValue()); b.append("\""); } } if (namespaceURI != null && !thisLevelPrefixes.containsValue(namespaceURI) && !namespaceURI.equals(element.getParentNode().getNamespaceURI())) { b.append(" xmlns=\"").append(namespaceURI).append("\""); } for (Map.Entry<String, String> entry : thisLevelPrefixes.entrySet()) { b.append(" xmlns:").append(entry.getKey()).append("=\"").append(entry.getValue()).append("\""); parentPrefixes.add(entry.getKey()); } NodeList children = element.getChildNodes(); boolean hasOnlyAttributes = true; for (int i = 0; i < children.getLength(); i++) { Node child = children.item(i); if (child.getNodeType() != Node.ATTRIBUTE_NODE) { hasOnlyAttributes = false; break; } } if (!hasOnlyAttributes) { b.append(">"); for (int i = 0; i < children.getLength(); i++) { b.append(nodeToString(children.item(i), parentPrefixes, children.item(i).getNamespaceURI())); } b.append("</"); b.append(element.getNodeName()); b.append(">"); } else { b.append("/>"); } for (String thisLevelPrefix : thisLevelPrefixes.keySet()) { parentPrefixes.remove(thisLevelPrefix); } } else if (node.getNodeValue() != null) { b.append(encodeText(node, node.getNodeValue())); } return b.toString(); }