List of usage examples for javax.xml.transform TransformerFactory getURIResolver
public abstract URIResolver getURIResolver();
From source file:edu.mayo.xsltserver.Transformer.java
/** * Transform.//from w w w.j a v a 2s . c om * * @param xmlInputStream the xml input stream * @param xsltInputStream the xslt input stream * @param outputStream the output stream * @param parameters the parameters */ public void transform(InputStream xmlInputStream, InputStream xsltInputStream, OutputStream outputStream, Map<String, String> parameters) { try { // Source XML File StreamSource xmlFile = new StreamSource(xmlInputStream); // Source XSLT Stylesheet StreamSource xsltFile = new StreamSource(xsltInputStream); TransformerFactory xsltFactory = TransformerFactory.newInstance(); final URIResolver decoratedResolver = xsltFactory.getURIResolver(); xsltFactory.setURIResolver(new URIResolver() { @Override public Source resolve(String href, String base) throws TransformerException { Source source = decoratedResolver.resolve(href, fileService.getStorageDirectory() + File.separator); return source; } }); javax.xml.transform.Transformer transformer = xsltFactory.newTransformer(xsltFile); if (parameters != null) { for (Entry<String, String> entry : parameters.entrySet()) { transformer.setParameter(entry.getKey(), entry.getValue()); } } // Send transformed output to the console StreamResult resultStream = new StreamResult(outputStream); // Apply the transformation transformer.transform(xmlFile, resultStream); } catch (Exception ex) { throw new RuntimeException(ex); } }