/** * Simple test program * Usage: java StaxBridge in.xml [out.xml] * @param args command line arguments */ public static void main(String[] args) throws Exception { for (int i=0; i<1; i++) { long startTime = System.currentTimeMillis(); PipelineConfiguration pipe = new Configuration().makePipelineConfiguration(); StaxBridge puller = new StaxBridge(); File f = new File(args[0]); puller.setInputStream(f.toURI().toString(), new FileInputStream(f)); XMLEmitter emitter = new XMLEmitter(); emitter.setPipelineConfiguration(pipe); emitter.setOutputProperties(new Properties()); if (args.length > 1) { emitter.setOutputStream(new FileOutputStream(args[1])); } else { emitter.setOutputStream(System.out); } NamespaceReducer r = new NamespaceReducer(); r.setUnderlyingReceiver(emitter); puller.setPipelineConfiguration(pipe); r.setPipelineConfiguration(pipe); new PullPushCopier(puller, r).copy(); System.err.println("Elapsed time: " + (System.currentTimeMillis() - startTime) + "ms"); } } }
/** * Simple test program * Usage: java StaxBridge in.xml [out.xml] * @param args command line arguments */ public static void main(String[] args) throws Exception { for (int i=0; i<1; i++) { long startTime = System.currentTimeMillis(); PipelineConfiguration pipe = new Configuration().makePipelineConfiguration(); StaxBridge puller = new StaxBridge(); File f = new File(args[0]); puller.setInputStream(f.toURI().toString(), new FileInputStream(f)); XMLEmitter emitter = new XMLEmitter(); emitter.setPipelineConfiguration(pipe); emitter.setOutputProperties(new Properties()); if (args.length > 1) { emitter.setOutputStream(new FileOutputStream(args[1])); } else { emitter.setOutputStream(System.out); } NamespaceReducer r = new NamespaceReducer(); r.setUnderlyingReceiver(emitter); puller.setPipelineConfiguration(pipe); r.setPipelineConfiguration(pipe); new PullPushCopier(puller, r).copy(); System.err.println("Elapsed time: " + (System.currentTimeMillis() - startTime) + "ms"); } } }
/** * Take the results of a query (or any other SequenceIterator) and create * an XML document containing copies of all items in the sequence, each item wrapped in a containing * element that identifies its type * @param iterator The values to be wrapped * @param config The Saxon configuration used to evaluate the query * @return the document containing the wrapped results * @throws XPathException * @since 8.8 */ public static DocumentInfo wrap(SequenceIterator iterator, Configuration config) throws XPathException { PipelineConfiguration pipe = config.makePipelineConfiguration(); TinyBuilder builder = new TinyBuilder(); builder.setPipelineConfiguration(pipe); NamespaceReducer reducer = new NamespaceReducer(); reducer.setUnderlyingReceiver(builder); reducer.setPipelineConfiguration(pipe); ComplexContentOutputter outputter = new ComplexContentOutputter(); outputter.setPipelineConfiguration(pipe); outputter.setReceiver(reducer); sendWrappedSequence(iterator, outputter); return (DocumentInfo)builder.getCurrentRoot(); }
/** * Take the results of a query (or any other SequenceIterator) and create * an XML document containing copies of all items in the sequence, each item wrapped in a containing * element that identifies its type * @param iterator The values to be wrapped * @param config The Saxon configuration used to evaluate the query * @return the document containing the wrapped results * @throws XPathException * @since 8.8 */ public static DocumentInfo wrap(SequenceIterator iterator, Configuration config) throws XPathException { PipelineConfiguration pipe = config.makePipelineConfiguration(); TinyBuilder builder = new TinyBuilder(); builder.setPipelineConfiguration(pipe); NamespaceReducer reducer = new NamespaceReducer(); reducer.setUnderlyingReceiver(builder); reducer.setPipelineConfiguration(pipe); ComplexContentOutputter outputter = new ComplexContentOutputter(); outputter.setPipelineConfiguration(pipe); outputter.setReceiver(reducer); sendWrappedSequence(iterator, outputter); return (DocumentInfo)builder.getCurrentRoot(); }
/** * Create a TinyTree to hold a document or element node. * @throws net.sf.saxon.trans.XPathException */ private void createTree() throws XPathException { builder = new TinyBuilder(); builder.setPipelineConfiguration(getPipelineConfiguration()); builder.setSystemId(getSystemId()); NamespaceReducer reducer = new NamespaceReducer(); reducer.setUnderlyingReceiver(builder); reducer.setPipelineConfiguration(getPipelineConfiguration()); ComplexContentOutputter cco = new ComplexContentOutputter(); cco.setHostLanguage(getPipelineConfiguration().getHostLanguage()); cco.setPipelineConfiguration(getPipelineConfiguration()); cco.setReceiver(reducer); outputter = cco; outputter.setSystemId(systemId); outputter.setPipelineConfiguration(getPipelineConfiguration()); outputter.open(); }
/** * Create a TinyTree to hold a document or element node. * @throws net.sf.saxon.trans.XPathException */ private void createTree() throws XPathException { PipelineConfiguration pipe = getPipelineConfiguration(); builder = pipe.getController().makeBuilder(); builder.setPipelineConfiguration(pipe); builder.setSystemId(getSystemId()); builder.setTiming(false); NamespaceReducer reducer = new NamespaceReducer(); reducer.setUnderlyingReceiver(builder); reducer.setPipelineConfiguration(getPipelineConfiguration()); ComplexContentOutputter cco = new ComplexContentOutputter(); cco.setHostLanguage(getPipelineConfiguration().getHostLanguage()); cco.setPipelineConfiguration(getPipelineConfiguration()); cco.setReceiver(reducer); outputter = cco; outputter.setSystemId(systemId); outputter.setPipelineConfiguration(getPipelineConfiguration()); outputter.open(); }
/** * Method to construct the node when this is required. * * @throws XPathException if any failure occurs */ void construct() throws XPathException { PipelineConfiguration pipe = savedXPathContext.getController().makePipelineConfiguration(); PullProvider puller = getPuller(); puller.setPipelineConfiguration(pipe); TinyBuilder builder = new TinyBuilder(); builder.setPipelineConfiguration(pipe); builder.setSystemId(pipe.getLocationProvider().getSystemId(instruction.getLocationId())); builder.setBaseURI(pipe.getLocationProvider().getSystemId(instruction.getLocationId())); NamespaceReducer reducer = new NamespaceReducer(); reducer.setUnderlyingReceiver(builder); reducer.setPipelineConfiguration(pipe); ComplexContentOutputter outputter = new ComplexContentOutputter(); outputter.setReceiver(reducer); outputter.setPipelineConfiguration(pipe); //outputter.open(); new PullPushCopier(puller, outputter).copy(); //outputter.close(); node = builder.getCurrentRoot(); }
/** * Method to construct the node when this is required. * * @throws XPathException if any failure occurs */ void construct() throws XPathException { PipelineConfiguration pipe = savedXPathContext.getController().makePipelineConfiguration(); PullProvider puller = getPuller(); puller.setPipelineConfiguration(pipe); TinyBuilder builder = new TinyBuilder(); builder.setPipelineConfiguration(pipe); builder.setSystemId(pipe.getLocationProvider().getSystemId(instruction.getLocationId())); builder.setBaseURI(pipe.getLocationProvider().getSystemId(instruction.getLocationId())); NamespaceReducer reducer = new NamespaceReducer(); reducer.setUnderlyingReceiver(builder); reducer.setPipelineConfiguration(pipe); ComplexContentOutputter outputter = new ComplexContentOutputter(); outputter.setReceiver(reducer); outputter.setPipelineConfiguration(pipe); //outputter.open(); new PullPushCopier(puller, outputter).copy(); //outputter.close(); node = builder.getCurrentRoot(); }