List of usage examples for javax.xml.transform.dom DOMResult DOMResult
public DOMResult(Node node)
From source file:Examples.java
/** * Show the Transformer using SAX events in and DOM nodes out. */// w w w .j a va2 s .c om public static void exampleContentHandler2DOM(String sourceID, String xslID) throws TransformerException, TransformerConfigurationException, SAXException, IOException, ParserConfigurationException { TransformerFactory tfactory = TransformerFactory.newInstance(); // Make sure the transformer factory we obtained supports both // DOM and SAX. if (tfactory.getFeature(SAXSource.FEATURE) && tfactory.getFeature(DOMSource.FEATURE)) { // We can now safely cast to a SAXTransformerFactory. SAXTransformerFactory sfactory = (SAXTransformerFactory) tfactory; // Create an Document node as the root for the output. DocumentBuilderFactory dfactory = DocumentBuilderFactory.newInstance(); DocumentBuilder docBuilder = dfactory.newDocumentBuilder(); org.w3c.dom.Document outNode = docBuilder.newDocument(); // Create a ContentHandler that can liston to SAX events // and transform the output to DOM nodes. TransformerHandler handler = sfactory.newTransformerHandler(new StreamSource(xslID)); handler.setResult(new DOMResult(outNode)); // Create a reader and set it's ContentHandler to be the // transformer. XMLReader reader = null; // Use JAXP1.1 ( if possible ) try { javax.xml.parsers.SAXParserFactory factory = javax.xml.parsers.SAXParserFactory.newInstance(); factory.setNamespaceAware(true); javax.xml.parsers.SAXParser jaxpParser = factory.newSAXParser(); reader = jaxpParser.getXMLReader(); } catch (javax.xml.parsers.ParserConfigurationException ex) { throw new org.xml.sax.SAXException(ex); } catch (javax.xml.parsers.FactoryConfigurationError ex1) { throw new org.xml.sax.SAXException(ex1.toString()); } catch (NoSuchMethodError ex2) { } if (reader == null) reader = XMLReaderFactory.createXMLReader(); reader.setContentHandler(handler); reader.setProperty("http://xml.org/sax/properties/lexical-handler", handler); // Send the SAX events from the parser to the transformer, // and thus to the DOM tree. reader.parse(sourceID); // Serialize the node for diagnosis. exampleSerializeNode(outNode); } else { System.out.println( "Can't do exampleContentHandlerToContentHandler because tfactory is not a SAXTransformerFactory"); } }
From source file:com.occamlab.te.parsers.ImageParser.java
private static Document parse(InputStream source, Element instruction, PrintWriter logger) throws Exception { ImageReader reader;/* ww w. ja va 2s. c om*/ try { ImageInputStream iis = ImageIO.createImageInputStream(source); reader = ImageIO.getImageReaders(iis).next(); reader.setInput(iis); } catch (Exception e) { logger.println("No image handlers available for the data stream. " + e.getMessage()); throw e; } DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document doc = db.newDocument(); TransformerFactory tf = TransformerFactory.newInstance(); Transformer t = tf.newTransformer(); t.transform(new DOMSource(instruction), new DOMResult(doc)); Element new_instruction = doc.getDocumentElement(); int framesRead = 0; boolean containsFrames = false; Element framesElement = null; Element metadataElement = null; NodeList nodes = new_instruction.getChildNodes(); for (int i = 0; i < nodes.getLength(); i++) { Node node = nodes.item(i); if (node.getNodeType() == Node.ELEMENT_NODE) { // System.out.println(node.getLocalName()); if (node.getLocalName().equals("type")) { node.setTextContent(reader.getFormatName().toLowerCase()); } else if (node.getLocalName().equals("frames")) { framesElement = (Element) node; containsFrames = true; } else if (node.getLocalName().equals("metadata")) { metadataElement = (Element) node; } else if (node.getLocalName().equals("frame")) { int frame; String frameStr = ((Element) node).getAttribute("num"); if (frameStr.length() == 0) { frame = framesRead; framesRead++; ((Element) node).setAttribute("num", Integer.toString(frame)); } else { frame = Integer.parseInt(frameStr); framesRead = frame + 1; } processFrame(reader, frame, node.getChildNodes(), logger); containsFrames = true; } } } if (containsFrames) { if (metadataElement != null) { IIOMetadata metadata = reader.getStreamMetadata(); if (metadata != null) { String format = metadataElement.getAttribute("format"); if (format.length() == 0) { format = metadata.getNativeMetadataFormatName(); } Node tree = metadata.getAsTree(format); t.transform(new DOMSource(tree), new DOMResult(metadataElement)); } } if (framesElement != null) { boolean allowSearch = !reader.isSeekForwardOnly(); int frames = reader.getNumImages(allowSearch); if (frames == -1) { try { while (true) { reader.read(framesRead); framesRead++; } } catch (Exception e) { jlogger.log(Level.SEVERE, "", e); frames = framesRead + 1; } } framesElement.setTextContent(Integer.toString(frames)); } } else { processFrame(reader, 0, nodes, logger); framesRead = 1; } // t.transform(new DOMSource(doc), new StreamResult(System.out)); return doc; }
From source file:org.castor.jaxb.CastorMarshallerTest.java
/** * Marshals the object into a {@link DOMResult}. * * @param entity the object to marshall// w ww. j a v a 2s. co m * * @throws Exception if any error occurs during marshalling */ private void marshallDOMResult(Object entity) throws Exception { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Node document = builder.newDocument(); marshaller.marshal(entity, new DOMResult(document)); Transformer transformer = TransformerFactory.newInstance().newTransformer(); transformer.setOutputProperty(OutputKeys.METHOD, "xml"); StringWriter writer = new StringWriter(); transformer.transform(new DOMSource(document), new StreamResult(writer)); assertXMLEqual("Marshaller written invalid result.", EXPECTED_XML, writer.toString()); }
From source file:de.betterform.xml.dom.DOMUtil.java
public static void prettyPrintDOM(Node node, Node output) throws TransformerException { Transformer transformer = TransformerFactory.newInstance().newTransformer(); transformer.setOutputProperty(OutputKeys.INDENT, "yes"); transformer.setOutputProperty(OutputKeys.METHOD, "xml"); transformer.transform(new DOMSource(node), new DOMResult(node)); }
From source file:it.cnr.icar.eric.common.BindingUtility.java
public SOAPElement getSOAPElementFromBindingObject(Object obj) throws JAXRException { SOAPElement soapElem = null;/*from w w w . j av a2 s .c o m*/ try { SOAPElement parent = SOAPFactory.newInstance().createElement("dummy"); Marshaller marshaller = jaxbContext.createMarshaller(); marshaller.marshal(obj, new DOMResult(parent)); soapElem = (SOAPElement) parent.getChildElements().next(); } catch (Exception e) { throw new JAXRException(e); } return soapElem; }
From source file:org.apache.fop.render.svg.SVGDocumentHandler.java
/** {@inheritDoc} */ public void startDocument() throws IFException { super.startDocument(); DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance(); builderFactory.setNamespaceAware(true); builderFactory.setValidating(false); try {/*from w w w . ja v a 2s. c om*/ DocumentBuilder builder = builderFactory.newDocumentBuilder(); this.reusedParts = builder.newDocument(); } catch (ParserConfigurationException e) { throw new IFException("Error while setting up a DOM for SVG generation", e); } try { TransformerHandler toDOMHandler = tFactory.newTransformerHandler(); toDOMHandler.setResult(new DOMResult(this.reusedParts)); this.handler = decorate(toDOMHandler); this.handler.startDocument(); } catch (SAXException se) { throw new IFException("SAX error in startDocument()", se); } catch (TransformerConfigurationException e) { throw new IFException("Error while setting up a TransformerHandler for SVG generation", e); } }
From source file:org.apache.ode.utils.DOMUtils.java
/** * Parse an XML document located using an {@link InputSource} using the * pooled document builder./*from w w w. j a v a2s . co m*/ */ public static Document sourceToDOM(Source inputSource) throws IOException { try { /* // Requires JDK 1.6+ if (inputSource instanceof StAXSource) { StAXSource stax = (StAXSource) inputSource; //if (stax.getXMLEventReader() != null || sax.getXMLStreamReader() != null) { if (sax.getXMLStreamReader() != null) { return parse(stax.getXMLStreamReader()); } } */ if (inputSource instanceof SAXSource) { InputSource sax = ((SAXSource) inputSource).getInputSource(); if (sax.getCharacterStream() != null || sax.getByteStream() != null) { return parse(((SAXSource) inputSource).getInputSource()); } } if (inputSource instanceof DOMSource) { Node node = ((DOMSource) inputSource).getNode(); if (node != null) { return toDOMDocument(node); } } if (inputSource instanceof StreamSource) { StreamSource stream = (StreamSource) inputSource; if (stream.getReader() != null || stream.getInputStream() != null) { return toDocumentFromStream((StreamSource) inputSource); } } DOMResult domresult = new DOMResult(newDocument()); Transformer txer = getTransformer(); txer.transform(inputSource, domresult); return (Document) domresult.getNode(); } catch (SAXException e) { throwIOException(e); } catch (TransformerException e) { throwIOException(e); } throw new IllegalArgumentException("Cannot parse XML source: " + inputSource.getClass()); }
From source file:org.apache.synapse.util.jaxp.DOOMResultBuilder.java
public Result getResult() { try {//from w ww . j ava2 s .c o m document = new DOOMDocumentBuilderFactory().newDocumentBuilder().newDocument(); } catch (ParserConfigurationException e) { handleException("Unable to create empty DOOM document", e); } return new DOMResult(document); }
From source file:org.chiba.adapter.ui.XSLTGenerator.java
/** * Creates a JAXP Result from the specified input object. * <p/>/*from w w w. jav a 2 s . co m*/ * Follwoing object models are supported: * <ul> * <li><code>org.w3c.dom.Node</code></li> * <li><code>org.xml.sax.ContentHandler</code></li> * <li><code>java.io.OutputStream</code></li> * <li><code>java.io.Writer</code></li> * <li><code>java.io.File</code></li> * </ul> * * @param output the output object. * @return a JAXP Result. * @throws NullPointerException if the output object is <code>null</code>. * @throws IllegalArgumentException if the object model is not supported. */ protected Result createOutputResult(Object output) { if (output == null) { throw new NullPointerException("parameter 'output' must not be null"); } // DOM if (output instanceof Node) { return new DOMResult((Node) output); } // SAX if (output instanceof ContentHandler) { return new SAXResult((ContentHandler) output); } // Stream if (output instanceof OutputStream) { return new StreamResult((OutputStream) output); } if (output instanceof Writer) { return new StreamResult((Writer) output); } if (output instanceof File) { return new StreamResult((File) output); } throw new IllegalArgumentException(output.getClass().getName() + " not supported as output"); }
From source file:org.dhatim.templating.xslt.XslTemplateProcessor.java
private void performTransform(Element element, Element transRes, Document ownerDoc) throws TransformerException { Transformer transformer = xslTemplate.newTransformer(); if (element == ownerDoc.getDocumentElement()) { transformer.transform(new DOMSource(ownerDoc), new DOMResult(transRes)); } else {/*from ww w . j a va 2 s . co m*/ transformer.transform(new DOMSource(element), new DOMResult(transRes)); } }