List of usage examples for javax.xml.transform.sax SAXResult setHandler
public void setHandler(ContentHandler handler)
From source file:nl.nn.adapterframework.pipes.ForEachChildElementPipe.java
protected void iterateInput(Object input, IPipeLineSession session, String correlationID, Map threadContext, ItemCallback callback) throws SenderException, TimeOutException { Reader reader = null;//from w w w. j a va 2s . co m try { if (input instanceof Reader) { reader = (Reader) input; } else if (input instanceof InputStream) { reader = new InputStreamReader((InputStream) input, getCharset()); } else if (isProcessFile()) { // TODO: arrange for non-namespace aware processing of files reader = new InputStreamReader(new FileInputStream((String) input), getCharset()); } } catch (FileNotFoundException e) { throw new SenderException("could not find file [" + input + "]", e); } catch (UnsupportedEncodingException e) { throw new SenderException("could not use charset [" + getCharset() + "]", e); } ItemCallbackCallingHandler handler = new ItemCallbackCallingHandler(callback); if (getExtractElementsTp() != null) { log.debug("transforming input to obtain list of elements using xpath [" + getElementXPathExpression() + "]"); try { SAXResult transformedStream = new SAXResult(); Source src; if (reader != null) { src = new StreamSource(reader); } else { src = XmlUtils.stringToSourceForSingleUse((String) input, isNamespaceAware()); } transformedStream.setHandler(handler); getExtractElementsTp().transform(src, transformedStream, null); } catch (Exception e) { if (handler.getTimeOutException() != null) { throw handler.getTimeOutException(); } if (!handler.isStopRequested()) { throw new SenderException( "Could not extract list of elements using xpath [" + getElementXPathExpression() + "]", e); } } } else { try { if (reader != null) { XmlUtils.parseXml(handler, new InputSource(reader)); } else { XmlUtils.parseXml(handler, (String) input); } } catch (Exception e) { if (handler.getTimeOutException() != null) { throw handler.getTimeOutException(); } if (!handler.isStopRequested()) { throw new SenderException("Could not parse input", e); } } } }
From source file:org.xchain.namespaces.sax.NullResultCommand.java
public boolean execute(JXPathContext context) throws Exception { SAXResult result = new SAXResult(); // configure the null result. result.setHandler(new HandlerWrapper()); result.setSystemId("resource://context-class-loader/com/meltmedia/xchain/sax/null"); // set the result in the pipeline config. PipelineCommand.getPipelineConfig().getCompositeStage().setResult(result); return false; }
From source file:uk.ac.cam.caret.sakai.rwiki.component.service.impl.XSLTEntityHandler.java
public ContentHandler getOutputHandler(OutputStream out) throws IOException { if (!isAvailable()) return null; try {// w w w . j a va 2s .c om XSLTTransform xsltTransform = (XSLTTransform) transformerHolder.get(); if (xsltTransform == null) { xsltTransform = new XSLTTransform(); xsltTransform.setXslt(new InputSource(this.getClass().getResourceAsStream(xslt))); transformerHolder.set(xsltTransform); } SAXResult sr = new SAXResult(); TransformerHandler th = xsltTransform.getContentHandler(); Transformer transformer = th.getTransformer(); if (transformParameters != null) { for (Map.Entry<String, String> entry : transformParameters.entrySet()) { transformer.setParameter(entry.getKey(), entry.getValue()); } } Properties p = OutputPropertiesFactory.getDefaultMethodProperties("xml"); // SAK-14388 - use the alternate XHTMLSerializer2 for Websphere environments if ("websphere".equals(ServerConfigurationService.getString("servlet.container"))) { // SAK-16712: null in java.util.Properties causes NullPointerException if (getXalan270ContentHandler() != null) { outputProperties.put("{http://xml.apache.org/xalan}content-handler", getXalan270ContentHandler()); } } p.putAll(outputProperties); /* S_KEY_CONTENT_HANDLER:{http://xml.apache.org/xalan}content-handler S_KEY_ENTITIES:{http://xml.apache.org/xalan}entities S_KEY_INDENT_AMOUNT:{http://xml.apache.org/xalan}indent-amount S_OMIT_META_TAG:{http://xml.apache.org/xalan}omit-meta-tag S_USE_URL_ESCAPING:{http://xml.apache.org/xalan}use-url-escaping */ Serializer s = SerializerFactory.getSerializer(p); s.setOutputStream(out); sr.setHandler(s.asContentHandler()); th.setResult(sr); return th; } catch (Exception ex) { throw new RuntimeException("Failed to create Content Handler", ex); //$NON-NLS-1$ /* * String stackTrace = null; try { StringWriter exw = new * StringWriter(); PrintWriter pw = new PrintWriter(exw); * ex.printStackTrace(pw); stackTrace = exw.toString(); } catch * (Exception ex2) { stackTrace = * MessageFormat.format(defaultStackTrace, new Object[] { * ex.getMessage() }); } out.write(MessageFormat.format(errorFormat, * new Object[] { ex.getMessage(), stackTrace })); */ } }