Example usage for javax.xml.transform.sax SAXResult SAXResult

List of usage examples for javax.xml.transform.sax SAXResult SAXResult

Introduction

In this page you can find the example usage for javax.xml.transform.sax SAXResult SAXResult.

Prototype

public SAXResult() 

Source Link

Document

Zero-argument default constructor.

Usage

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;/* ww w  .  j a  v a2  s . com*/
    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 {/*from   ww w. ja va 2s . co m*/
        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 }));
         */
    }
}