Package net.sf.saxon.om

Examples of net.sf.saxon.om.SequenceIterator


    public Item evaluateItem(XPathContext context) throws XPathException {
        // Note: these functions do not need to sort the underlying sequence,
        // but they do need to de-duplicate it
        switch (operation) {
            case COUNT:
                SequenceIterator iter = argument[0].iterate(context);
                return new IntegerValue(count(iter));
            case SUM:
                return total(argument[0].iterate(context), context);
            case AVG:
                return average(argument[0].iterate(context), context);
View Full Code Here


    private static String getCombinedKey(Value[] params) throws XPathException {
        StringBuffer sb = new StringBuffer(120);

        for (int i = 0; i < params.length; i++) {
            Value val = params[i];
            SequenceIterator iter = val.iterate(null);
            while (true) {
                Item item = iter.next();
                if (item == null) {
                    break;
                }
                if (item instanceof NodeInfo) {
                    NodeInfo node = (NodeInfo) item;
View Full Code Here

    /**
    * Evaluate the function to return an iteration of selected values or nodes.
    */

    public SequenceIterator iterate(XPathContext context) throws XPathException {
        SequenceIterator iter = argument[0].iterate(context);
        Object[] info = new Object[2];
        info[0] = new HashSet();
        info[1] = getAtomicSortComparer(1, context);
        return new MappingIterator(iter, this, null, info);
    }
View Full Code Here

        while (true) {
            Item item = population.next();
            if (item==null) {
                break;
            }
            SequenceIterator keys = keyExpression.iterate(c2);
            boolean firstKey = true;
            while (true) {
                AtomicValue key = (AtomicValue) keys.next();
                if (key==null) {
                    break;
                }
                AtomicSortComparer.ComparisonKey comparisonKey = comparer.getComparisonKey(key);
                ArrayList g = (ArrayList) index.get(comparisonKey);
View Full Code Here

    public SequenceIterator iterate(XPathContext context) throws XPathException {
        Controller controller = context.getController();
        if (controller.isTracing()) {
            controller.getTraceListener().enter(getInstructionInfo(), context);
        }
        SequenceIterator result = child.iterate(context);
        if (controller.isTracing()) {
            controller.getTraceListener().leave(getInstructionInfo());
        }
        return result;
    }
View Full Code Here

    * Enumerate the results of the expression
    */

    public SequenceIterator iterate(XPathContext context) throws XPathException {

        SequenceIterator iter = select.iterate(context);
        if (iter instanceof EmptyIterator) {
            return iter;
        }
        XPathContext xpc = context.newMinorContext();
        xpc.setOrigin(this);
View Full Code Here

            return this;
        }
    }

    public SequenceIterator iterate(XPathContext context) throws XPathException {
        SequenceIterator iter = new SortedTupleIterator(context, base.iterate(context), sortKeys);
        MappingIterator mapper = new MappingIterator(iter, this, context, null);
        return mapper;
    }
View Full Code Here

    */

    public Item evaluateItem(XPathContext context) throws XPathException {
        AtomicComparer collator = getAtomicComparer(2, context);

        SequenceIterator op1 = argument[0].iterate(context);
        SequenceIterator op2 = argument[1].iterate(context);

        Configuration config =
                (this.config!=null ? this.config : context.getController().getConfiguration());
        return BooleanValue.get(deepEquals(op1, op2, collator, config));
    }
View Full Code Here

            return this;
        }
    }

    public SequenceIterator iterate(XPathContext context) throws XPathException {
        SequenceIterator forwards = operand.iterate(context);
        if (forwards instanceof ReversibleIterator) {
            return ((ReversibleIterator)forwards).getReverseIterator();
        } else {
            SequenceExtent extent = new SequenceExtent(forwards);
            return extent.reverseIterate();
View Full Code Here

public class NamespaceForPrefix extends SystemFunction {

    public Item evaluateItem(XPathContext context) throws XPathException {
        NodeInfo element = (NodeInfo)argument[1].evaluateItem(context);
        String prefix = argument[0].evaluateItem(context).getStringValue();
        SequenceIterator nsNodes = element.iterateAxis(Axis.NAMESPACE);
        while (true) {
            NodeInfo ns = (NodeInfo)nsNodes.next();
            if (ns == null) {
                break;
            }
            if (ns.getLocalPart().equals(prefix)) {
                return new StringValue(ns.getStringValue());
View Full Code Here

TOP

Related Classes of net.sf.saxon.om.SequenceIterator

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.