List of usage examples for javax.xml.transform.dom DOMResult DOMResult
public DOMResult()
From source file:org.apache.camel.component.xquery.XQueryBuilder.java
public Node evaluateAsDOM(Exchange exchange) throws Exception { initialize(exchange);/*w ww .java 2 s. co m*/ DOMResult result = new DOMResult(); DynamicQueryContext context = createDynamicContext(exchange); XQueryExpression expression = getExpression(); expression.pull(context, result, properties); return result.getNode(); }
From source file:org.apache.camel.dataformat.tagsoup.TidyMarkupDataFormat.java
/** * Return the HTML Markup as an {@link org.w3c.dom.Node} * /*from w w w . j a va 2 s . c o m*/ * @param inputStream * The input Stream to convert * @return org.w3c.dom.Node The HTML Markup as a DOM Node * @throws CamelException */ public Node asNodeTidyMarkup(InputStream inputStream) throws CamelException { XMLReader parser = createTagSoupParser(); StringWriter w = new StringWriter(); parser.setContentHandler(createContentHandler(w)); try { Transformer transformer = TransformerFactory.newInstance().newTransformer(); DOMResult result = new DOMResult(); transformer.transform(new SAXSource(parser, new InputSource(inputStream)), result); return result.getNode(); } catch (Exception e) { throw new CamelException("Failed to convert the HTML to tidy Markup", e); } }
From source file:org.apache.camel.processor.cache.CacheBasedXPathReplacer.java
public void process(Exchange exchange) throws Exception { // Cache the buffer to the specified Cache against the specified key cacheManager = new CacheManagerFactory().instantiateCacheManager(); if (isValid(cacheManager, cacheName, key)) { cache = cacheManager.getCache(cacheName); if (LOG.isDebugEnabled()) { LOG.debug("Replacing XPath value " + xpath + "in Message with value stored against key " + key + " in CacheName " + cacheName); }/* w ww.j a v a 2 s.c om*/ exchange.getIn().setHeader("CACHE_KEY", key); Object body = exchange.getIn().getBody(); InputStream is = exchange.getContext().getTypeConverter().convertTo(InputStream.class, body); try { document = exchange.getContext().getTypeConverter().convertTo(Document.class, exchange, is); } finally { IOHelper.close(is, "is", LOG); } InputStream cis = exchange.getContext().getTypeConverter().convertTo(InputStream.class, cache.get(key).getObjectValue()); try { Document cacheValueDocument = exchange.getContext().getTypeConverter().convertTo(Document.class, exchange, cis); // Create/setup the Transformer XmlConverter xmlConverter = new XmlConverter(); String xslString = IOConverter.toString(new File("./src/main/resources/xpathreplacer.xsl"), exchange); xslString = xslString.replace("##match_token##", xpath); Source xslSource = xmlConverter.toStreamSource(new StringReader(xslString)); TransformerFactory transformerFactory = xmlConverter.createTransformerFactory(); Transformer transformer = transformerFactory.newTransformer(xslSource); source = xmlConverter.toDOMSource(document); result = new DOMResult(); transformer.setParameter("cacheValue", cacheValueDocument); transformer.transform(source, result); } finally { IOHelper.close(cis, "cis", LOG); } } // DOMSource can be converted to byte[] by camel type converter mechanism DOMSource dom = new DOMSource(result.getNode()); exchange.getIn().setBody(dom, byte[].class); }
From source file:org.apache.falcon.converter.OozieProcessMapper.java
protected void marshalHiveAction(ACTION wfAction, JAXBElement<org.apache.falcon.oozie.hive.ACTION> actionjaxbElement) { try {/* w w w. j a v a2 s. co m*/ DOMResult hiveActionDOM = new DOMResult(); Marshaller marshaller = HIVE_ACTION_JAXB_CONTEXT.createMarshaller(); marshaller.marshal(actionjaxbElement, hiveActionDOM); wfAction.setAny(((Document) hiveActionDOM.getNode()).getDocumentElement()); } catch (JAXBException e) { throw new RuntimeException("Unable to marshall hive action.", e); } }
From source file:org.apache.fop.accessibility.AccessibilityPreprocessor.java
/** {@inheritDoc} */ public void endDocument() throws SAXException { super.endDocument(); // do the second transform to struct try {//from ww w . j a v a 2 s . c om //TODO this must be optimized, no buffering (ex. SAX-based tee-proxy) byte[] enrichedFO = enrichedFOBuffer.toByteArray(); Source src = new StreamSource(new ByteArrayInputStream(enrichedFO)); DOMResult res = new DOMResult(); reduceFOTree.transform(src, res); StructureTree structureTree = new StructureTree(); NodeList pageSequences = res.getNode().getFirstChild().getChildNodes(); for (int i = 0; i < pageSequences.getLength(); i++) { structureTree.addPageSequenceStructure(pageSequences.item(i).getChildNodes()); } userAgent.setStructureTree(structureTree); SAXParserFactory saxParserFactory = SAXParserFactory.newInstance(); saxParserFactory.setNamespaceAware(true); saxParserFactory.setValidating(false); SAXParser saxParser = saxParserFactory.newSAXParser(); InputStream in = new ByteArrayInputStream(enrichedFO); saxParser.parse(in, fopHandler); } catch (Exception e) { throw new SAXException(e); } }
From source file:org.apache.fop.intermediate.AreaTreeParserTestCase.java
/** {@inheritDoc} */ protected Document buildIntermediateDocument(Templates templates) throws Exception { Transformer transformer = templates.newTransformer(); setErrorListener(transformer);//from www. j a va 2 s . co m //Set up XMLRenderer to render to a DOM TransformerHandler handler = testAssistant.getTransformerFactory().newTransformerHandler(); DOMResult domResult = new DOMResult(); handler.setResult(domResult); FOUserAgent userAgent = createUserAgent(); //Create an instance of the target renderer so the XMLRenderer can use its font setup Renderer targetRenderer = userAgent.getRendererFactory().createRenderer(userAgent, getTargetMIME()); XMLRenderer renderer = new XMLRenderer(userAgent); renderer.mimicRenderer(targetRenderer); renderer.setContentHandler(handler); userAgent.setRendererOverride(renderer); Fop fop = fopFactory.newFop(MimeConstants.MIME_FOP_AREA_TREE, userAgent); Result res = new SAXResult(fop.getDefaultHandler()); transformer.transform(new DOMSource(testDoc), res); return (Document) domResult.getNode(); }
From source file:org.apache.fop.intermediate.AreaTreeParserTestCase.java
/** {@inheritDoc} */ protected Document parseAndRenderToIntermediateFormat(Source src) throws Exception { AreaTreeParser parser = new AreaTreeParser(); //Set up XMLRenderer to render to a DOM TransformerHandler handler = testAssistant.getTransformerFactory().newTransformerHandler(); DOMResult domResult = new DOMResult(); handler.setResult(domResult);/*from w w w . j a v a2 s .c o m*/ FOUserAgent userAgent = createUserAgent(); XMLRenderer renderer = new XMLRenderer(userAgent); userAgent.setRendererOverride(renderer); renderer.setContentHandler(handler); FontInfo fontInfo = new FontInfo(); AreaTreeModel treeModel = new RenderPagesModel(userAgent, MimeConstants.MIME_FOP_AREA_TREE, fontInfo, null); parser.parse(src, treeModel, userAgent); treeModel.endDocument(); return (Document) domResult.getNode(); }
From source file:org.apache.fop.intermediate.IFParserTestCase.java
/** {@inheritDoc} */ @Override//from w ww.j av a 2s.com protected Document parseAndRenderToIntermediateFormat(Source src) throws Exception { IFParser parser = new IFParser(); FOUserAgent userAgent = createUserAgent(); IFSerializer serializer = new IFSerializer(); serializer.setContext(new IFContext(userAgent)); DOMResult domResult = new DOMResult(); serializer.setResult(domResult); parser.parse(src, serializer, userAgent); return (Document) domResult.getNode(); }
From source file:org.apache.fop.plan.PreloaderPlan.java
private Document getDocument(InputStream in) throws TransformerException { TransformerFactory tFactory = TransformerFactory.newInstance(); //Custom error listener to minimize output to console ErrorListener errorListener = new DefaultErrorListener(log); tFactory.setErrorListener(errorListener); Transformer transformer = tFactory.newTransformer(); transformer.setErrorListener(errorListener); Source source = new StreamSource(in); DOMResult res = new DOMResult(); transformer.transform(source, res);/*from w ww .ja v a 2s.c o m*/ Document doc = (Document) res.getNode(); return doc; }
From source file:org.apache.fop.tools.EventProducerCollectorTask.java
/** * Updates the translation file with new entries for newly found event producer methods. * @param modelFile the model file to use * @throws IOException if an I/O error occurs *//*from w ww . j av a 2s .com*/ protected void updateTranslationFile(File modelFile) throws IOException { try { boolean resultExists = getTranslationFile().exists(); SAXTransformerFactory tFactory = (SAXTransformerFactory) SAXTransformerFactory.newInstance(); //Generate fresh generated translation file as template Source src = new StreamSource(modelFile.toURI().toURL().toExternalForm()); StreamSource xslt1 = new StreamSource(getClass().getResourceAsStream(MODEL2TRANSLATION)); if (xslt1.getInputStream() == null) { throw new FileNotFoundException(MODEL2TRANSLATION + " not found"); } DOMResult domres = new DOMResult(); Transformer transformer = tFactory.newTransformer(xslt1); transformer.transform(src, domres); final Node generated = domres.getNode(); Node sourceDocument; if (resultExists) { //Load existing translation file into memory (because we overwrite it later) src = new StreamSource(getTranslationFile().toURI().toURL().toExternalForm()); domres = new DOMResult(); transformer = tFactory.newTransformer(); transformer.transform(src, domres); sourceDocument = domres.getNode(); } else { //Simply use generated as source document sourceDocument = generated; } //Generate translation file (with potentially new translations) src = new DOMSource(sourceDocument); //The following triggers a bug in older Xalan versions //Result res = new StreamResult(getTranslationFile()); OutputStream out = new java.io.FileOutputStream(getTranslationFile()); out = new java.io.BufferedOutputStream(out); Result res = new StreamResult(out); try { StreamSource xslt2 = new StreamSource(getClass().getResourceAsStream(MERGETRANSLATION)); if (xslt2.getInputStream() == null) { throw new FileNotFoundException(MERGETRANSLATION + " not found"); } transformer = tFactory.newTransformer(xslt2); transformer.setURIResolver(new URIResolver() { public Source resolve(String href, String base) throws TransformerException { if ("my:dom".equals(href)) { return new DOMSource(generated); } return null; } }); if (resultExists) { transformer.setParameter("generated-url", "my:dom"); } transformer.transform(src, res); if (resultExists) { log("Translation file updated: " + getTranslationFile()); } else { log("Translation file generated: " + getTranslationFile()); } } finally { IOUtils.closeQuietly(out); } } catch (TransformerException te) { throw new IOException(te.getMessage()); } }