/** * Set the source document for the transformation. This method is equivalent to building * a document from the supplied source object, and then supplying the document node of * the resulting document as the initial context node. * @param source the principal source document for the transformation */ public void setSource(Source source) throws SaxonApiException { setInitialContextNode(processor.newDocumentBuilder().build(source)); }
private void generateAggregatedHtmlReport(File xmlFile, File outputDir) throws SaxonApiException { Processor proc = new Processor(false); XsltCompiler comp = proc.newXsltCompiler(); InputStream xsl = getClass().getClassLoader().getResourceAsStream("spotbugs/html-aggregated.xsl"); XsltExecutable exp = comp.compile(new StreamSource(xsl)); XdmNode source = proc.newDocumentBuilder().build(new StreamSource(xmlFile)); Serializer out = proc.newSerializer(new File(outputDir, "SpotBugsAggregated.html")); out.setOutputProperty(Serializer.Property.METHOD, "html"); out.setOutputProperty(Serializer.Property.INDENT, "yes"); XsltTransformer trans = exp.load(); trans.setInitialContextNode(source); trans.setDestination(out); trans.transform(); }
private void setTemplate(final InputStream templateInputStream, final Processor processor, final XMLReader xmlReader, final XsltTransformer xsltTransformer) throws SaxonApiException { InputSource inputSource = inputSourceFactory.createInputSource(templateInputStream); Source templateSource = saxSourceFactory.createSAXSource(xmlReader, inputSource); XdmNode templateNode = processor.newDocumentBuilder().build(templateSource); xsltTransformer.setInitialContextNode(templateNode); }
setInitialContextNode(new XdmNode((NodeInfo) source)); } else if (source instanceof DOMSource) { if (((DOMSource)source).getNode() == null) { DocumentImpl doc = new DocumentImpl(); doc.setConfiguration(controller.getConfiguration()); setInitialContextNode(new XdmNode(doc)); } else { NodeInfo n = processor.getUnderlyingConfiguration().unravel(source); setInitialContextNode(new XdmNode(n));
setInitialContextNode(new XdmNode((NodeInfo) source)); } else if (source instanceof DOMSource) { if (((DOMSource)source).getNode() == null) { DocumentImpl doc = new DocumentImpl(); doc.setConfiguration(controller.getConfiguration()); setInitialContextNode(new XdmNode(doc)); } else { NodeInfo n = processor.getUnderlyingConfiguration().unravel(source); setInitialContextNode(new XdmNode(n));
private void setTemplate(final InputStream templateInputStream, final Processor processor, final XMLReader xmlReader, final XsltTransformer xsltTransformer) throws SaxonApiException { InputSource inputSource = inputSourceFactory.createInputSource(templateInputStream); Source templateSource = saxSourceFactory.createSAXSource(xmlReader, inputSource); XdmNode templateNode = processor.newDocumentBuilder().build(templateSource); xsltTransformer.setInitialContextNode(templateNode); }
public void run() throws SaxonApiException { super.run(); XsltCompiler compiler = runtime.getProcessor().newXsltCompiler(); XsltExecutable exec = compiler.compile(prettyPrint.asSource()); XsltTransformer transformer = exec.load(); transformer.setInitialContextNode(source.read()); ByteArrayOutputStream stream = new ByteArrayOutputStream(); Serializer serializer = runtime.getProcessor().newSerializer(); serializer.setOutputProperty(Serializer.Property.ENCODING, "utf-8"); serializer.setOutputProperty(Serializer.Property.INDENT, "yes"); serializer.setOutputProperty(Serializer.Property.OMIT_XML_DECLARATION, "yes"); serializer.setOutputProperty(Serializer.Property.METHOD, "xml"); serializer.setOutputStream(stream); transformer.setDestination(serializer); transformer.transform(); XdmNode output = runtime.parse(new InputSource(new ByteArrayInputStream(stream.toByteArray()))); result.write(output); } }
XsltExecutable exec = compiler.compile(new SAXSource(new InputSource(xsl))); XsltTransformer transformer = exec.load(); transformer.setInitialContextNode(profile); XdmDestination result = new XdmDestination(); transformer.setDestination(result);
xsltTransformer.setInitialContextNode(xdmNode); if (params != null) { for (Map.Entry<String, Object> entry : params.entrySet()) {
@Override protected boolean doProcess2(Record inputRecord, InputStream stream) throws SaxonApiException, XMLStreamException { incrementNumRecords(); for (Fragment fragment : fragments) { Record outputRecord = inputRecord.copy(); removeAttachments(outputRecord); XdmNode document = parseXmlDocument(stream); LOG.trace("XSLT input document: {}", document); XsltTransformer evaluator = fragment.transformer; evaluator.setInitialContextNode(document); XMLStreamWriter morphlineWriter = new MorphlineXMLStreamWriter(getChild(), outputRecord); evaluator.setDestination(new XMLStreamWriterDestination(morphlineWriter)); evaluator.transform(); // run the query and push into child via RecordXMLStreamWriter } return true; }
@Override protected boolean doProcess2(Record inputRecord, InputStream stream) throws SaxonApiException, XMLStreamException { incrementNumRecords(); for (Fragment fragment : fragments) { Record outputRecord = inputRecord.copy(); removeAttachments(outputRecord); XdmNode document = parseXmlDocument(stream); LOG.trace("XSLT input document: {}", document); XsltTransformer evaluator = fragment.transformer; evaluator.setInitialContextNode(document); XMLStreamWriter morphlineWriter = new MorphlineXMLStreamWriter(getChild(), outputRecord); evaluator.setDestination(new XMLStreamWriterDestination(morphlineWriter)); evaluator.transform(); // run the query and push into child via RecordXMLStreamWriter } return true; }
xsltTransformer.setInitialContextNode(xdmNode); if (params != null) { for (Map.Entry<String, Object> entry : params.entrySet()) {
public void run() throws SaxonApiException { super.run(); XsltCompiler compiler = runtime.getProcessor().newXsltCompiler(); XsltExecutable exec = compiler.compile(prettyPrint.asSource()); XsltTransformer transformer = exec.load(); transformer.setInitialContextNode(source.read()); ByteArrayOutputStream stream = new ByteArrayOutputStream(); Serializer serializer = runtime.getProcessor().newSerializer(); serializer.setOutputProperty(Serializer.Property.ENCODING, "utf-8"); serializer.setOutputProperty(Serializer.Property.INDENT, "yes"); serializer.setOutputProperty(Serializer.Property.OMIT_XML_DECLARATION, "yes"); serializer.setOutputProperty(Serializer.Property.METHOD, "xml"); serializer.setOutputStream(stream); transformer.setDestination(serializer); transformer.transform(); XdmNode output = runtime.parse(new InputSource(new ByteArrayInputStream(stream.toByteArray()))); result.write(output); } }
private XdmNode transform(XdmNode source, SAXSource stylesheet) throws SaxonApiException { XsltCompiler compiler = runtime.getProcessor().newXsltCompiler(); compiler.setSchemaAware(schemaAware); compiler.setURIResolver(new UResolver()); XsltExecutable exec = compiler.compile(stylesheet); XsltTransformer schemaCompiler = exec.load(); schemaCompiler.setInitialContextNode(source); XdmDestination result = new XdmDestination(); schemaCompiler.setDestination(result); schemaCompiler.transform(); return result.getXdmNode(); }
private XdmNode transform(XdmNode source, SAXSource stylesheet) throws SaxonApiException { XsltCompiler compiler = runtime.getProcessor().newXsltCompiler(); compiler.setSchemaAware(schemaAware); compiler.setURIResolver(new UResolver()); XsltExecutable exec = compiler.compile(stylesheet); XsltTransformer schemaCompiler = exec.load(); schemaCompiler.setInitialContextNode(source); XdmDestination result = new XdmDestination(); schemaCompiler.setDestination(result); schemaCompiler.transform(); return result.getXdmNode(); }
SAXSource document = new SAXSource(new InputSource(new StringReader(textXML))); XdmNode context = builder.build(document); transformer.setInitialContextNode(context); XdmDestination result = new XdmDestination(); transformer.setDestination(result);
@Test public void testTransformShouldSetTemplateAsInitialContextNode() throws SaxonApiException, SAXException { //GIVEN given(xslCompiler.compileXsl(xslInputStream, processor)).willReturn(xsltExecutable); given(xsltExecutable.load()).willReturn(xsltTransformer); given(xslOutputProvider.getOutput(xsltTransformer)).willReturn(outputStream); setRequestMocks(); setTemplateMocks(); //WHEN underTest.transform(xslInputStream, requestInputStream, templateInputStream); //THEN verify(xsltTransformer).setInitialContextNode(templateNode); }
@Test public void testTransformShouldSetTemplateAsInitialContextNode() throws SaxonApiException, SAXException { //GIVEN given(xslCompiler.compileXsl(xslInputStream, processor)).willReturn(xsltExecutable); given(xsltExecutable.load()).willReturn(xsltTransformer); given(xslOutputProvider.getOutput(xsltTransformer)).willReturn(outputStream); givenParameter("request", requestName); setTemplateMocks(); //WHEN underTest.transform(xslInputStream, requestInputStream, templateInputStream, nameToXml); //THEN verify(xsltTransformer).setInitialContextNode(templateNode); }
protected String serialize(XdmNode doc, MediaType type) { XProcRuntime runtime = getGlobalRuntime(); String format = "text"; if (MediaType.TEXT_HTML.equals(type)) { format = "html"; } else if (MediaType.APPLICATION_XML.equals(type)) { format = "xml"; } else if (MediaType.APPLICATION_JSON.equals(type)) { format = "json"; } if (xsl() != null) { XdmDestination result = null; try { XsltCompiler compiler = runtime.getProcessor().newXsltCompiler(); XsltExecutable exec = compiler.compile(xsl().asSource()); XsltTransformer transformer = exec.load(); transformer.setParameter(_format, new XdmAtomicValue(format)); transformer.setInitialContextNode(doc); result = new XdmDestination(); transformer.setDestination(result); transformer.transform(); } catch (SaxonApiException e) { throw new XProcException(e); } doc = result.getXdmNode(); } return doc.toString(); }
protected String serialize(XdmNode doc, MediaType type) { XProcRuntime runtime = getGlobalRuntime(); String format = "text"; if (MediaType.TEXT_HTML.equals(type)) { format = "html"; } else if (MediaType.APPLICATION_XML.equals(type)) { format = "xml"; } else if (MediaType.APPLICATION_JSON.equals(type)) { format = "json"; } if (xsl() != null) { XdmDestination result = null; try { XsltCompiler compiler = runtime.getProcessor().newXsltCompiler(); XsltExecutable exec = compiler.compile(xsl().asSource()); XsltTransformer transformer = exec.load(); transformer.setParameter(_format, new XdmAtomicValue(format)); transformer.setInitialContextNode(doc); result = new XdmDestination(); transformer.setDestination(result); transformer.transform(); } catch (SaxonApiException e) { throw new XProcException(e); } doc = result.getXdmNode(); } return doc.toString(); }