List of usage examples for org.w3c.dom DocumentFragment getOwnerDocument
public Document getOwnerDocument();
Document
object associated with this node. From source file:com.enonic.esl.xml.XMLTool.java
public static String serialize(Node n, boolean includeSelf, String encoding) { DocumentFragment df = XMLTool.createDocument().createDocumentFragment(); NodeList children = n.getChildNodes(); // Check whether the child is a CDATA node Node firstChild = n.getFirstChild(); if (firstChild != null && firstChild.getNodeType() == Node.CDATA_SECTION_NODE) { return null; }//w w w .j ava 2 s.c o m if (includeSelf) { df.appendChild(df.getOwnerDocument().importNode(n, true)); } else { if (children == null || children.getLength() == 0) { return null; } // If only one node is found and it is a CDATA section, there is no need for serialization if (children.getLength() == 1 && children.item(0).getNodeType() == Node.CDATA_SECTION_NODE) { return null; } for (int i = 0; i < children.getLength(); i++) { df.appendChild(df.getOwnerDocument().importNode(children.item(i), true)); } } return serialize(df, 4); }
From source file:com.legstar.jaxb.gen.CobolJAXBCustomizer.java
/** * Lookup a DOM element in the parent markup. If not found, an new DOM * element is created and added to the parent markup. * //from w w w . j av a 2s.c o m * @param markupParent the parent markup * @param namespace the DOM namespace * @param namespacePrefix the DOM namespace prefix * @param elementLocalName the element local name * @return an existing or new DOM element */ protected Element getElement(final DocumentFragment markupParent, final String namespace, final String namespacePrefix, final String elementLocalName) { Element domElement = null; NodeList nl = markupParent.getChildNodes(); for (int i = 0; i < nl.getLength(); i++) { if (nl.item(i) instanceof Element && nl.item(i).getNamespaceURI().equals(namespace) && nl.item(i).getLocalName().equals(elementLocalName)) { domElement = (Element) nl.item(i); break; } } if (domElement == null) { domElement = markupParent.getOwnerDocument().createElementNS(namespace, namespacePrefix + ':' + elementLocalName); markupParent.appendChild(domElement); } return domElement; }
From source file:com.legstar.jaxb.gen.CobolJAXBCustomizer.java
/** * Inject a schema bindings element in the parent annotation node. * <p/>/*from w ww. ja v a 2 s . c om*/ * If the element is already present we update its attributes. * * @param markupParent the parent annotation node (its a document fragment) * @param jaxbNamespace the JAXB namespace * @param jaxbNamespacePrefix the JAXB namespace prefix */ public void injectJaxbSchemaBindingsAnnotations(final DocumentFragment markupParent, final String jaxbNamespace, final String jaxbNamespacePrefix) { Element schemabindingsEl = null; NodeList nl = markupParent.getChildNodes(); for (int i = 0; i < nl.getLength(); i++) { if (nl.item(i) instanceof Element && nl.item(i).getNamespaceURI().equals(jaxbNamespace) && nl.item(i).getLocalName().equals(JAXB_SCHEMABINDINGS)) { schemabindingsEl = (Element) nl.item(i); break; } } if (schemabindingsEl == null) { schemabindingsEl = markupParent.getOwnerDocument().createElementNS(jaxbNamespace, jaxbNamespacePrefix + ':' + JAXB_SCHEMABINDINGS); markupParent.appendChild(schemabindingsEl); } if (getJaxbGenModel().needXmlTransform()) { injectJaxbXmlTransformAnnotation(schemabindingsEl, jaxbNamespace, jaxbNamespacePrefix); } }
From source file:org.cauldron.einstein.ri.core.model.data.xml.dom.DOMUtil.java
@Post @Pre/*from w w w . j a va 2s. c om*/ static Node createDOMFromObject(Object o) { Document doc; try { DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder(); if (o instanceof String) { log.debug("Creating XMLDOM DataObject from String"); doc = docBuilder.parse(new ByteArrayInputStream(((String) o).getBytes())); } else if (o instanceof byte[]) { log.debug("Creating XMLDOM DataObject from byte[]"); doc = docBuilder.parse(new ByteArrayInputStream((byte[]) o)); } else if (o instanceof InputStream) { log.debug("Creating XMLDOM DataObject from InpuStream"); doc = docBuilder.parse((InputStream) o); // } else if (o instanceof NodeList) { // log.debug("Creating XMLDOM DataObject from NodeList"); // if(true)throw new Error(); // NodeList nodeList = (NodeList) o; // fragment = buildFragmentFromNodeList(docBuilder, nodeList); // return fragment; } else if (o instanceof Node) { log.debug("Building fragment from a node."); return (Node) o; } else { log.debug("Creating XMLDOM DataObject from Object"); doc = docBuilder.parse(new ByteArrayInputStream(xstream.toXML(o).getBytes())); } } catch (ParserConfigurationException e) { throw new DataConversionRuntimeException(e); } catch (SAXException e) { throw new DataConversionRuntimeException(e); } catch (IOException e) { throw new DataConversionRuntimeException(e); // } catch (TransformerException e) { // throw new DataConversionRuntimeException(e); } final DocumentFragment fragment = doc.createDocumentFragment(); final Element element = doc.getDocumentElement(); fragment.getOwnerDocument().adoptNode(element); fragment.appendChild(element); return fragment; }