Search in sources :

Example 1 with Emitter

use of net.sf.saxon.serialize.Emitter in project intellij-community by JetBrains.

the class Saxon9Support method init.

public static boolean init(Transformer transformer, final LocalDebugger dbg) {
    if (transformer instanceof Controller) {
        System.out.println("SAXON 9");
        final Controller controller = (Controller) transformer;
        ((Saxon9TraceListener) controller.getConfiguration().getTraceListener()).setDebugger(dbg);
        controller.getConfiguration().setLineNumbering(true);
        controller.getConfiguration().setCompileWithTracing(true);
        controller.getConfiguration().setMultiThreading(false);
        controller.getConfiguration().setSerializerFactory(new SerializerFactory(controller.getConfiguration()) {

            @Override
            protected Receiver createXMLSerializer(Emitter emitter, Properties props, PipelineConfiguration pipe, CharacterMapExpander characterMapExpander, ProxyReceiver normalizer) throws XPathException {
                return super.createXMLSerializer(emitter, props, pipe, characterMapExpander, normalizer);
            }

            @Override
            protected Emitter newXMLEmitter() {
                return new TracingOutputter(dbg.getEventQueue(), super.newXMLEmitter());
            }
        });
        controller.getConfiguration().setDebugger(new Debugger() {

            public SlotManager makeSlotManager() {
                return new SlotManager() {

                    @Override
                    public int allocateSlotNumber(StructuredQName qName) {
                        System.out.println("qName = " + qName);
                        return super.allocateSlotNumber(qName);
                    }
                };
            }
        });
        return true;
    }
    return false;
}
Also used : Debugger(net.sf.saxon.expr.instruct.Debugger) LocalDebugger(org.intellij.plugins.xsltDebugger.rt.engine.local.LocalDebugger) SerializerFactory(net.sf.saxon.lib.SerializerFactory) Emitter(net.sf.saxon.serialize.Emitter) CharacterMapExpander(net.sf.saxon.serialize.CharacterMapExpander) XPathException(net.sf.saxon.trans.XPathException) ProxyReceiver(net.sf.saxon.event.ProxyReceiver) Receiver(net.sf.saxon.event.Receiver) PipelineConfiguration(net.sf.saxon.event.PipelineConfiguration) Controller(net.sf.saxon.Controller) Properties(java.util.Properties) StructuredQName(net.sf.saxon.om.StructuredQName) SlotManager(net.sf.saxon.expr.instruct.SlotManager) ProxyReceiver(net.sf.saxon.event.ProxyReceiver)

Aggregations

Properties (java.util.Properties)1 Controller (net.sf.saxon.Controller)1 PipelineConfiguration (net.sf.saxon.event.PipelineConfiguration)1 ProxyReceiver (net.sf.saxon.event.ProxyReceiver)1 Receiver (net.sf.saxon.event.Receiver)1 Debugger (net.sf.saxon.expr.instruct.Debugger)1 SlotManager (net.sf.saxon.expr.instruct.SlotManager)1 SerializerFactory (net.sf.saxon.lib.SerializerFactory)1 StructuredQName (net.sf.saxon.om.StructuredQName)1 CharacterMapExpander (net.sf.saxon.serialize.CharacterMapExpander)1 Emitter (net.sf.saxon.serialize.Emitter)1 XPathException (net.sf.saxon.trans.XPathException)1 LocalDebugger (org.intellij.plugins.xsltDebugger.rt.engine.local.LocalDebugger)1