/** * Returns a transformer handler that serializes incoming SAX events to * XHTML or HTML (depending the given method) using the given output encoding. * * @param encoding output encoding, or <code>null</code> for the platform default */ private static TransformerHandler getTransformerHandler(OutputStream out, String method, String encoding) throws TransformerConfigurationException { TransformerHandler transformerHandler = SAX_TRANSFORMER_FACTORY.newTransformerHandler(); Transformer transformer = transformerHandler.getTransformer(); transformer.setOutputProperty(OutputKeys.METHOD, method); transformer.setOutputProperty(OutputKeys.INDENT, "yes"); if (encoding != null) { transformer.setOutputProperty(OutputKeys.ENCODING, encoding); } transformerHandler.setResult(new StreamResult(new PrintStream(out))); return transformerHandler; }
StreamResult streamResult = new StreamResult(out); SAXTransformerFactory tf = (SAXTransformerFactory) SAXTransformerFactory.newInstance(); hd = tf.newTransformerHandler(); } catch (TransformerConfigurationException e) { throw new AssertionError("The Transformer configuration must be valid!"); Transformer serializer = hd.getTransformer(); serializer.setOutputProperty(OutputKeys.ENCODING, CHARSET); serializer.setOutputProperty(OutputKeys.INDENT, "yes"); hd.setResult(streamResult); hd.startDocument(); AttributesImpl dictionaryAttributes = new AttributesImpl(); dictionaryAttributes.addAttribute("", "", ATTRIBUTE_CASE_SENSITIVE, "", String.valueOf(casesensitive)); hd.startElement("", "", DICTIONARY_ELEMENT, dictionaryAttributes); hd.endElement("", "", DICTIONARY_ELEMENT); hd.endDocument(); throw new IOException("Error during serialization: " + e.getMessage(), e);
@Override public void text(UnmarshallingContext.State state, CharSequence text) throws SAXException { if(text.length()==0) return; // there's no point in creating an empty Text node in DOM. try { State s = (State) state.getTarget(); s.handler.characters(text.toString().toCharArray(),0,text.length()); } catch( SAXException e ) { state.getContext().handleError(e); throw e; } }
tHFrom.setResult(new SAXResult(tHTo)); Transformer trans = tHLast.getTransformer(); Properties outputProps = trans.getOutputProperties(); Serializer serializer = SerializerFactory.getSerializer(outputProps); tHLast.setResult(new SAXResult(serializer.asContentHandler())); reader.parse(source);
@Override public void leaveElement(UnmarshallingContext.State state, TagName ea) throws SAXException { State s = (State) state.getTarget(); UnmarshallingContext context = state.getContext(); try { s.handler.endElement(ea.uri, ea.local, ea.getQname()); s.undeclarePrefixes(context.getNewlyDeclaredPrefixes()); } catch( SAXException e ) { context.handleError(e); throw e; } if((--s.depth)==0) { // emulate the end of the document try { s.undeclarePrefixes(context.getAllDeclaredPrefixes()); s.handler.endDocument(); } catch( SAXException e ) { context.handleError(e); throw e; } // we are done state.setTarget(s.getElement()); } }
SAXTransformerFactory stf = (SAXTransformerFactory)TransformerFactory.newInstance(); // These templates objects could be reused and obtained from elsewhere. Templates templates1 = stf.newTemplates(new StreamSource( getClass().getResourceAsStream("MyStylesheet1.xslt"))); Templates templates2 = stf.newTemplates(new StreamSource( getClass().getResourceAsStream("MyStylesheet1.xslt"))); TransformerHandler th1 = stf.newTransformerHandler(templates1); TransformerHandler th2 = stf.newTransformerHandler(templates2); th1.setResult(new SAXResult(th2)); th2.setResult(new StreamResult(System.out)); Transformer t = stf.newTransformer(); t.transform(new StreamSource(System.in), new SAXResult(th1)); // th1 feeds th2, which in turn feeds System.out.
tfactory = TransformerFactory.newInstance(); tfactory.setErrorListener(new DefaultErrorHandler(false)); argv[++i], ObjectFactory.findClassLoader(), true); tfactory.setURIResolver(uriResolver); strResult = new StreamResult(new FileOutputStream(outFileName)); strResult.setSystemId(outFileName); strResult = new StreamResult(System.out); stf.setAttribute(XalanProperties.SOURCE_LOCATION, Boolean.TRUE); transformer.setErrorListener(new DefaultErrorHandler(false)); transformer.setOutputProperty(OutputKeys.METHOD, outputType); throw new org.xml.sax.SAXException(ex); throw new org.xml.sax.SAXException(ex1.toString()); } catch (org.xml.sax.SAXException se) {} th.setResult(strResult); throw new org.xml.sax.SAXException(ex);
(SAXTransformerFactory) SAXTransformerFactory.newInstance(); xmls = txFactory.newTransformerHandler(); } catch (TransformerConfigurationException e) { throw new IOException(e); xmls.getTransformer().setOutputProperties(outputProps); xmls.getTransformer().setOutputProperty(OutputKeys.METHOD, "xml"); xmls.setResult(new StreamResult(out)); handler.endPrefixMapping("gml"); encoder.encode(geometry, new AttributesImpl(), handler, gmlId); handler.endDocument(); Transformer tx = TransformerFactory.newInstance().newTransformer(); tx.transform(new StreamSource(in), result); Document d = (Document) result.getNode(); return d;
(SAXTransformerFactory) SAXTransformerFactory.newInstance(); TransformerHandler xmls; try { xmls = txFactory.newTransformerHandler(); } catch (TransformerConfigurationException e) { throw new RuntimeException(e); xmls.getTransformer().setOutputProperty(OutputKeys.METHOD, "XML"); xmls.getTransformer().setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "true"); xmls.getTransformer().setOutputProperty(OutputKeys.INDENT, "true"); xmls.getTransformer().transform(new DOMSource(named.getElement()), new StreamResult(writer));
SAXTransformerFactory stf = (SAXTransformerFactory)TransformerFactory.newInstance(); Templates templates1 = stf.newTemplates(new StreamSource( getClass().getResourceAsStream("MyStylesheet1.xslt"))); Templates templates2 = stf.newTemplates(new StreamSource( getClass().getResourceAsStream("MyStylesheet2.xslt"))); TransformerHandler th1 = stf.newTransformerHandler(templates1); TransformerHandler th2 = stf.newTransformerHandler(templates2); th2.setResult(new StreamResult(System.out)); // Note that indent, etc should be applied to the last transformer in chain: th2.getTransformer().setOutputProperty(OutputKeys.INDENT, "yes"); th1.getTransformer().transform(new StreamSource(System.in), new SAXResult(th2));
SAXTransformerFactory transformFactory = (SAXTransformerFactory) TransformerFactory.newInstance(); StreamSource source = new StreamSource(TRANSFORMER_PATH); StringWriter extractionWriter = new StringWriter(); TransformerHandler transformerHandler = null; try { transformerHandler = transformFactory.newTransformerHandler(source); transformerHandler.setResult(new StreamResult(extractionWriter)); } catch (TransformerConfigurationException e) { throw new SAXException("Unable to create transformerHandler due to transformer configuration exception."); } XMLReader reader = SAXParserFactory.newInstance().newSAXParser().getXMLReader(); reader.setContentHandler(transformerHandler); reader.parse(new InputSource(new FileReader(xml))); System.err.println(extractionWriter.toString());
/** * Create a processor that writes to the file named and may or may not * also output to the screen, as specified. * * @param out output stream to write * @throws IOException on any error */ public XmlEditsVisitor(OutputStream out) throws IOException { this.out = out; factory =(SAXTransformerFactory)SAXTransformerFactory.newInstance(); try { TransformerHandler handler = factory.newTransformerHandler(); handler.getTransformer().setOutputProperty(OutputKeys.METHOD, "xml"); handler.getTransformer().setOutputProperty(OutputKeys.ENCODING, "UTF-8"); handler.getTransformer().setOutputProperty(OutputKeys.INDENT, "yes"); handler.getTransformer().setOutputProperty(XML_INDENTATION_PROP, XML_INDENTATION_NUM); handler.getTransformer().setOutputProperty(OutputKeys.STANDALONE, "yes"); handler.setResult(new StreamResult(out)); contentHandler = handler; contentHandler.startDocument(); contentHandler.startElement("", "", "EDITS", new AttributesImpl()); } catch (TransformerConfigurationException e) { throw new IOException("SAXTransformer error: " + e.getMessage()); } catch (SAXException e) { throw new IOException("SAX error: " + e.getMessage()); } }
StreamResult streamResult = new StreamResult(out); SAXTransformerFactory tf = (SAXTransformerFactory)SAXTransformerFactory.newInstance(); TransformerHandler hd = tf.newTransformerHandler(); Transformer serializer = hd.getTransformer(); serializer.setOutputProperty(OutputKeys.ENCODING,"UTF-8"); serializer.setOutputProperty(OutputKeys.INDENT,"yes"); hd.setResult(streamResult); hd.startDocument(); hd.startPrefixMapping(prefix, mapping.getValue()); hd.startElement(uri, localName, qName, attributes); hd.endElement(uri, localName, qName); hd.endPrefixMapping(prefix); hd.endDocument(); throw new SAXException(e);
private void writeXMLizable(XMLizable object, File outputFile) throws IOException { //These two approaches do not seem to work in all environments: //Result res = new StreamResult(outputFile); //Result res = new StreamResult(outputFile.toURI().toURL().toExternalForm()); //With an old Xalan version: file:/C:/.... --> file:\C:\..... OutputStream out = new java.io.FileOutputStream(outputFile); out = new java.io.BufferedOutputStream(out); Result res = new StreamResult(out); try { SAXTransformerFactory tFactory = (SAXTransformerFactory)SAXTransformerFactory.newInstance(); TransformerHandler handler = tFactory.newTransformerHandler(); Transformer transformer = handler.getTransformer(); transformer.setOutputProperty(OutputKeys.INDENT, "yes"); handler.setResult(res); handler.startDocument(); object.toSAX(handler); handler.endDocument(); } catch (TransformerConfigurationException e) { throw new IOException(e.getMessage()); } catch (TransformerFactoryConfigurationError e) { throw new IOException(e.getMessage()); } catch (SAXException e) { throw new IOException(e.getMessage()); } finally { IOUtils.closeQuietly(out); } }
(SAXTransformerFactory) SAXTransformerFactory.newInstance(); xmls = txFactory.newTransformerHandler(); } catch (TransformerConfigurationException e) { throw new IOException(e); xmls.getTransformer().setOutputProperties(outputProps); xmls.getTransformer().setOutputProperty(OutputKeys.METHOD, "xml"); xmls.setResult(new StreamResult(out)); if (e.getException() != null && e.getCause() == null) { e.initCause(e.getException());
try { SAXTransformerFactory transformerFactory = (SAXTransformerFactory) SAXTransformerFactory.newInstance(); TransformerHandler transformerHandler = transformerFactory.newTransformerHandler(); _stringWriter = new StringWriter(); transformerHandler.setResult(new StreamResult(_stringWriter)); _active = true; return (T) new SAXResult(transformerHandler); _stringWriter = new StringWriter(); _active = true; return (T) new StreamResult(_stringWriter); } else if (StAXResult.class.equals(resultClass)) { _stringWriter = new StringWriter();
protected void setHandler(final Result result, final Source stylesheet) throws MarcException { try { final TransformerFactory factory = TransformerFactory.newInstance(); if (!factory.getFeature(SAXTransformerFactory.FEATURE)) { throw new UnsupportedOperationException("SAXTransformerFactory is not supported"); } final SAXTransformerFactory saxFactory = (SAXTransformerFactory) factory; if (stylesheet == null) { handler = saxFactory.newTransformerHandler(); } else { handler = saxFactory.newTransformerHandler(stylesheet); } handler.getTransformer().setOutputProperty(OutputKeys.METHOD, "xml"); handler.setResult(result); } catch (final Exception details) { throw new MarcException(details.getMessage(), details); } }
private Document domToSax(final Document doc, final boolean retain) throws TransformerConfigurationException, SAXException, NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException { final DOMResult r = new DOMResult(); final SAXTransformerFactory f = ((SAXTransformerFactory) TransformerFactory.newInstance()); final TransformerHandler h = f.newTransformerHandler(); h.setResult(r); final KeyrefPaser parser = new KeyrefPaser(); parser.setContentHandler(h); final Method m = KeyrefPaser.class.getDeclaredMethod("domToSax", Element.class, boolean.class); m.setAccessible(true); h.startDocument(); h.startElement("", "wrapper", "wrapper", new AttributesImpl()); m.invoke(parser, doc.getDocumentElement(), retain); h.endElement("", "wrapper", "wrapper"); h.endDocument(); return (Document) r.getNode(); }
public static HtmlContentOutput startOutput( final File folder, final String outputFile ) throws Exception { final SAXTransformerFactory tf = XmlDomUtils.saxTransformerFactory(); final TransformerHandler result = XmlDomUtils.newFragmentTransformerHandler( tf ); result.setResult(new StreamResult(new File(folder, outputFile))); final XslFilter filter = new XslFilter(); final ContentHandler content = filter.xsl(result, HTML_TRANSFORMATION_XSL); content.startDocument(); content.startElement("", XSL_PLACEHOLDER, XSL_PLACEHOLDER, new AttributesImpl()); content.startElement("", XSL_DIFF_PLACEHOLDER, XSL_DIFF_PLACEHOLDER, new AttributesImpl()); final HtmlContentOutput contentOutput = new HtmlContentOutput( content ); return contentOutput; }
void generateSuccessNode(int searchNodeId) { try { AttributesImpl atts = new AttributesImpl(); atts.addAttribute("", "", "id", "CDATA", "" + searchNodeId); hdTree.startElement("", "", "succ", atts); hdTree.endElement("", "", "succ"); } catch (SAXException e) { // TODO Auto-generated catch block e.printStackTrace(); } }