@Override protected void setConvertedParameter(QName name, XdmValue value) { xsltTransformer.setParameter(name, value); }
@Override protected void setConvertedParameter(QName name, XdmValue value) { xsltTransformer.setParameter(name, value); }
public static void setTransformerParam(XsltTransformer xt, QName param, String value) throws SaxonApiException { xt.setParameter(param, XdmItem.newAtomicValue(value, ItemType.ANY_ATOMIC_VALUE)); } }
public static void setTransformerParam(XsltTransformer xt, QName param, String value) throws SaxonApiException { xt.setParameter(param, XdmItem.newAtomicValue(value, ItemType.ANY_ATOMIC_VALUE)); } }
/** * Sets parameters required to evaluate Schematron rules. * * @param params * A {@literal Map<String,String>} object containing parameter * names and values. */ public void setParameters(Map<String, String> params) { for (Map.Entry<String, String> entry : params.entrySet()) { String paramName = entry.getKey(); String paramValue = entry.getValue(); this.transformer.setParameter(new QName(paramName), new XdmAtomicValue(paramValue)); } }
public void genericTransform(XdmNode input, Map<String, Object> parameters, Destination dest) throws SaxonApiException { if (parameters != null) { for (Map.Entry<String, Object> param : parameters.entrySet()) { this.transformer.setParameter(new QName(null, param.getKey()), new XdmAtomicValue(param.getValue().toString())); } } this.transformer.setSource(input.asSource()); this.transformer.setDestination(dest); this.transformer.transform(); if (parameters != null) { //cancel the parameters for (Map.Entry<String, Object> param : parameters.entrySet()) { this.transformer.setParameter(new QName(null, param.getKey()), null); } } }
trans.setParameter(new QName("",entry.getKey()), xdmValue);
private void setParameter(final InputStream parameterInputStream, final Processor processor, final XsltTransformer xsltTransformer, final String parameterName) throws SaxonApiException { StreamSource requestStreamSource = streamSourceFactory.createStreamSource(parameterInputStream); XdmNode requestDocument = processor.newDocumentBuilder().build(requestStreamSource); QName parameter = qNameFactory.createQName(parameterName); xsltTransformer.setParameter(parameter, requestDocument); }
public static Reader applyEventStylesheet(Binary binary, boolean onlyDetails, Map<String, String> translations, String path) throws GenericException { try ( Reader descMetadataReader = new InputStreamReader(new BOMInputStream(binary.getContent().createInputStream()))) { XMLReader xmlReader = XMLReaderFactory.createXMLReader(); xmlReader.setEntityResolver(new RodaEntityResolver()); InputSource source = new InputSource(descMetadataReader); Source text = new SAXSource(xmlReader, source); XsltExecutable xsltExecutable = EVENT_CACHE.get(path); XsltTransformer transformer = xsltExecutable.load(); CharArrayWriter transformerResult = new CharArrayWriter(); transformer.setSource(text); transformer.setDestination(PROCESSOR.newSerializer(transformerResult)); // send param to filter stylesheet work transformer.setParameter(new QName("onlyDetails"), new XdmAtomicValue(Boolean.toString(onlyDetails))); for (Entry<String, String> parameter : translations.entrySet()) { QName qName = new QName(parameter.getKey()); XdmValue xdmValue = new XdmAtomicValue(parameter.getValue()); transformer.setParameter(qName, xdmValue); } transformer.transform(); return new CharArrayReader(transformerResult.toCharArray()); } catch (IOException | SAXException | ExecutionException | SaxonApiException e) { LOGGER.error(e.getMessage(), e); throw new GenericException("Could not process event binary " + binary.getStoragePath(), e); } }
private void setRequest(final InputStream requestInputStream, final Processor processor, final XsltTransformer xsltTransformer) throws SaxonApiException { StreamSource requestStreamSource = streamSourceFactory.createStreamSource(requestInputStream); XdmNode requestDocument = processor.newDocumentBuilder().build(requestStreamSource); QName requestName = qNameFactory.createQName(REQUEST_PARAMETER_NAME); xsltTransformer.setParameter(requestName, requestDocument); }
xt.setSource(new StreamSource(new StringReader("<nil/>"))); xt.setParameter(TECORE_QNAME, new ObjValue(this)); if (params != null) { xt.setParameter(TEPARAMS_QNAME, params);
public static Reader applyMetadataStylesheet(Binary binary, String basePath, String metadataType, String metadataVersion, Map<String, String> parameters) throws GenericException { try ( Reader descMetadataReader = new InputStreamReader(new BOMInputStream(binary.getContent().createInputStream()))) { XMLReader xmlReader = XMLReaderFactory.createXMLReader(); xmlReader.setEntityResolver(new RodaEntityResolver()); InputSource source = new InputSource(descMetadataReader); Source text = new SAXSource(xmlReader, source); XsltExecutable xsltExecutable = CACHE.get(Triple.of(basePath, metadataType, metadataVersion)); XsltTransformer transformer = xsltExecutable.load(); CharArrayWriter transformerResult = new CharArrayWriter(); transformer.setSource(text); transformer.setDestination(PROCESSOR.newSerializer(transformerResult)); for (Entry<String, String> parameter : parameters.entrySet()) { QName qName = new QName(parameter.getKey()); XdmValue xdmValue = new XdmAtomicValue(parameter.getValue()); transformer.setParameter(qName, xdmValue); } transformer.transform(); return new CharArrayReader(transformerResult.toCharArray()); } catch (IOException | SAXException | ExecutionException | SaxonApiException e) { throw new GenericException("Could not process descriptive metadata binary " + binary.getStoragePath() + " metadata type " + metadataType + " and version " + metadataVersion, e); } }
xt.setSource(new StreamSource(new StringReader("<nil/>"))); xt.setParameter(TECORE_QNAME, new ObjValue(this)); if (params != null) { xt.setParameter(TEPARAMS_QNAME, params);
private void writeSummaryReport(Set<String> testNames, File reportDir) { try { XsltTransformer formatter = xspecHtmlSummaryFormatterLoader.load(); formatter.setInitialTemplate(new QName("main")); formatter.setParameter(new QName("test-names"), new XdmValue( Collections2.<String,XdmItem>transform( testNames, new Function<String,XdmItem>() { public XdmItem apply(String s) { return new XdmAtomicValue(s); }}))); formatter.setParameter(new QName("report-dir"), new XdmAtomicValue(reportDir.toURI())); formatter.setDestination( serializeToFile(new File(reportDir, "index.html"))); formatter.setMessageListener(SaxonSinkReporter.INSTANCE); formatter.transform(); } catch (SaxonApiException e) { throw new RuntimeException(e); } catch (FileNotFoundException e) { throw new RuntimeException(e); } }
public void aggregateSpotBugsFiles(File rootDir, int level, File outputDir) throws FileNotFoundException, IOException, SaxonApiException { List<File> spotBugsFiles = getSpotBugsFiles(rootDir, level); Processor proc = new Processor(false); XsltCompiler comp = proc.newXsltCompiler(); InputStream xsl = getClass().getClassLoader().getResourceAsStream("spotbugs/xml-aggregated.xsl"); XsltExecutable exp = comp.compile(new StreamSource(xsl)); Serializer out = proc.newSerializer(new File(outputDir, "SpotBugsAggregated.xml")); out.setOutputProperty(Serializer.Property.METHOD, "xml"); out.setOutputProperty(Serializer.Property.INDENT, "yes"); XsltTransformer trans = exp.load(); List<XdmNode> sources = createXdmNodes(spotBugsFiles, proc.newDocumentBuilder()); QName xmlFiles = new QName("xmlFiles"); XdmValue filesXdm = XdmValue.makeSequence(sources); trans.setParameter(xmlFiles, filesXdm); trans.setInitialTemplate(new QName("test")); trans.setDestination(out); trans.transform(); }
@Test public void testTransformShouldSetHistoryElementsAsParameter() 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); givenParameter("historyRequest", historyRequestName); givenParameter("historyResponse", historyResponseName); setTemplateMocks(); //WHEN underTest.transform(xslInputStream, requestInputStream, templateInputStream, nameToXml); //THEN verify(xsltTransformer).setParameter(requestName, requestDocument); verify(xsltTransformer).setParameter(historyRequestName, requestDocument); verify(xsltTransformer).setParameter(historyResponseName, requestDocument); }
@Test public void testTransformShouldSetRequestAsParameter() 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).setParameter(requestName, requestDocument); }
@Test public void testTransformShouldSetRequestAsParameter() 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).setParameter(requestName, requestDocument); }
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(); }