protected void setXMLConsumer()

in src/main/java/org/apache/sling/scripting/xproc/cocoon/transform/SlingTransformer.java [87:111]


    protected void setXMLConsumer(XMLConsumer consumer) {
        TransformerHandler transformerHandler;
        try {
            transformerHandler = this.createTransformerHandler();
        } catch (Exception ex) {
            throw new RuntimeException("Could not initialize transformer handler.", ex);
        }

        final Map<String, Object> map = this.getLogicSheetParameters();
        if (map != null) {
            final Transformer transformer = transformerHandler.getTransformer();

            for (Entry<String, Object> entry : map.entrySet()) {
                transformer.setParameter(entry.getKey(), entry.getValue());
            }
        }

        final SAXResult result = new SAXResult();
        result.setHandler(consumer);
        // According to TrAX specs, all TransformerHandlers are LexicalHandlers
        result.setLexicalHandler(consumer);
        transformerHandler.setResult(result);

        super.setXMLConsumer(new XMLConsumerAdapter(transformerHandler, transformerHandler));
    }