Package net.sf.saxon.tinytree

Examples of net.sf.saxon.tinytree.TinyBuilder


        if (source == null) {
            return null;
        }
        try {
            Transformer transformer = templates.newTransformer();
            TinyBuilder builder = new TinyBuilder();
            builder.setPipelineConfiguration(context.getController().makePipelineConfiguration());
            while (true) {
                Item param = params.next();
                if (param == null) {
                    break;
                }
                if (param instanceof NodeInfo) {
                    switch (((NodeInfo)param).getNodeKind()) {
                    case Type.ELEMENT:
                    case Type.ATTRIBUTE:
                        setTransformerParameter(param, transformer, source);
                        break;
                    case Type.DOCUMENT:
                        AxisIterator kids = ((NodeInfo)param).iterateAxis(Axis.CHILD, NodeKindTest.ELEMENT);
                        while (true) {
                            NodeInfo kid = (NodeInfo)kids.next();
                            if (kid == null) {
                                break;
                            }
                            setTransformerParameter(kid, transformer, source);
                        }
                        break;
                    default:
                        throw new XPathException(
                                "Parameters passed to saxon:transform() must be element, attribute, or document nodes");
                    }

                } else {
                    throw new XPathException("Parameters passed to saxon:transform() must be nodes");
                }
            }
            transformer.transform(source, builder);
            return (DocumentInfo)builder.getCurrentRoot();
        } catch (TransformerException e) {
            throw XPathException.makeXPathException(e);
        }
    }
View Full Code Here


            current = (Item)pe;
            position++;
            return current;
        } else if (pe instanceof StartDocumentEvent || pe instanceof StartElementEvent) {
            SubtreeIterator sub = new SubtreeIterator(base, pe);
            TinyBuilder builder = new TinyBuilder();
            builder.setPipelineConfiguration(pipe);
            TreeReceiver receiver = new TreeReceiver(builder);
            builder.setPipelineConfiguration(pipe);
            EventIteratorToReceiver.copy(sub, receiver);
            current = builder.getCurrentRoot();
            position++;
            return current;
        } else {
            throw new IllegalStateException(pe.getClass().getName());
        }
View Full Code Here

    public TailCall processLeavingTail(XPathContext context) throws XPathException {
        Controller controller = context.getController();
        XPathContext c2 = context.newMinorContext();
        c2.setOrigin(this);
        SequenceReceiver out = c2.getReceiver();
        TinyBuilder builder = new TinyBuilder();
        Receiver receiver = builder;
        PipelineConfiguration pipe = controller.makePipelineConfiguration();
        pipe.setHostLanguage(getContainer().getHostLanguage());
        receiver.setPipelineConfiguration(pipe);
        receiver.open();
        receiver.startDocument(0);
        c2.changeOutputDestination(null, receiver, false, getHostLanguage(), Validation.PRESERVE, null);
        content.process(c2);
        receiver.endDocument();
        receiver.close();
        DocumentInfo dtdRoot = (DocumentInfo)builder.getCurrentRoot();

        SequenceIterator children = dtdRoot.iterateAxis(Axis.CHILD);
        NodeInfo docType = (NodeInfo)children.next();
        if (docType == null || !("doctype".equals(docType.getLocalPart()))) {
            XPathException e = new XPathException("saxon:doctype instruction must contain dtd:doctype");
View Full Code Here

     */
    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();
    }
View Full Code Here

     * 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);
View Full Code Here

        } else {
            // we have a SAXSource or StreamSource
            Builder b;
            if (config.getTreeModel() == Builder.TINY_TREE) {
                b = new TinyBuilder();
            } else {
                b = new TreeBuilder();
            }
            b.setPipelineConfiguration(pipe);
            if (config.isLineNumbering() ||
View Full Code Here

        {
            if (!(contextNode instanceof NodeInfo))
            {
                getLogger().debug("Input tree is not SAXON TinyTree, converting");
                DOMSource source = new DOMSource(contextNode);
                TinyBuilder result = new TinyBuilder();
                factory.newTransformer().transform(source, result);
                contextNode = (Node)result.getCurrentDocument();
            }

            Expression expression = ExpressionTool.make(
                    str, new Saxon7Context((NodeInfo)contextNode, resolver), 0, -1);
            XPathContext context = new XPathContext((NodeInfo)contextNode);
View Full Code Here

        {
            if (!(contextNode instanceof NodeInfo))
            {
                getLogger().debug("Input tree is not SAXON TinyTree, converting");
                DOMSource source = new DOMSource(contextNode);
                TinyBuilder result = new TinyBuilder();
                factory.newTransformer().transform(source, result);
                contextNode = (Node)result.getCurrentDocument();
            }

            Expression expression = ExpressionTool.make(
                    str, new Saxon7Context((NodeInfo)contextNode, resolver), 0, -1);
            XPathContext context = new XPathContext((NodeInfo)contextNode);
View Full Code Here

                String name = (String)parametersIterator.next();
                String value = (String)parameters.get(name);
                transformer.setOutputProperty(name, value);
              }

              TinyBuilder builder = new TinyBuilder();

              transformer.transform(xmlSource, builder);
              setResultAttribute(builder.getCurrentRoot());
            }
     
      if(logger.isInfoEnabled())
        timer.printElapsedTime("Saxon Transform to dom document took");           
    }
View Full Code Here

        {
            if (!(contextNode instanceof NodeInfo))
            {
                getLogger().debug("Input tree is not SAXON TinyTree, converting");
                DOMSource source = new DOMSource(contextNode);
                TinyBuilder result = new TinyBuilder();
                factory.newTransformer().transform(source, result);
                contextNode = (Node)result.getCurrentDocument();
            }

            Expression expression = ExpressionTool.make(
                    str, new Saxon7Context((NodeInfo)contextNode, resolver));
            XPathContext context = new XPathContext((NodeInfo)contextNode);
View Full Code Here

TOP

Related Classes of net.sf.saxon.tinytree.TinyBuilder

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.