Package org.exist.xquery.value

Examples of org.exist.xquery.value.SequenceIterator


    if (arg.isEmpty())
      {result = Sequence.EMPTY_SEQUENCE;}
        else {
          //TODO : test if a range index is defined *iff* it is compatible with the collator
        final Collator collator = getCollator(contextSequence, contextItem, 2);
        final SequenceIterator iter = arg.unorderedIterator();
        AtomicValue min = null;
        while (iter.hasNext()) {
                final Item item = iter.nextItem();
                if (item instanceof QNameValue)
                {throw new XPathException(this, ErrorCodes.FORG0006, "Cannot compare " + Type.getTypeName(item.getType()), arg);}
                AtomicValue value = item.atomize();

                //Duration values must either all be xs:yearMonthDuration values or must all be xs:dayTimeDuration values.
View Full Code Here


            {result = Sequence.EMPTY_SEQUENCE;}
        else {
          boolean computableProcessing = false;
          //TODO : test if a range index is defined *iff* it is compatible with the collator
        final Collator collator = getCollator(contextSequence, contextItem, 2);
        final SequenceIterator iter = arg.unorderedIterator();
        AtomicValue max = null;
        while (iter.hasNext()) {
                final Item item = iter.nextItem();

                if (item instanceof QNameValue)
                {throw new XPathException(this, ErrorCodes.FORG0006, "Cannot compare " + Type.getTypeName(item.getType()), arg);}
               
                AtomicValue value = item.atomize();                
View Full Code Here

            final FunctionReference ref = (FunctionReference) args[2].itemAt(0);
            ref.analyze(cachedContextInfo);
          Sequence zero = args[1];
          Sequence input = args[0];
          while (!input.isEmpty()) {
            final SequenceIterator i = input.iterate();
            zero = ref.evalFunction(contextSequence, null, new Sequence[] { zero, i.nextItem().toSequence() });
            ValueSequence tail = new ValueSequence();
            while (i.hasNext()) {
              tail.add(i.nextItem());
            }
            input = tail;
          }
          result = zero;
        } else if (isCalledAs("fold-right")) {
            final FunctionReference ref = (FunctionReference) args[2].itemAt(0);
            ref.analyze(cachedContextInfo);
          final Sequence zero = args[1];
          final Sequence input = args[0];
          result = foldRight(ref, zero, input, contextSequence);
        } else if (isCalledAs("map-pairs")) {
            final FunctionReference ref = (FunctionReference) args[0];
            ref.analyze(cachedContextInfo);
          final SequenceIterator i1 = args[1].iterate();
          final SequenceIterator i2 = args[2].iterate();
          while (i1.hasNext() && i2.hasNext()) {
            final Sequence r = ref.evalFunction(contextSequence, null,
                new Sequence[] { i1.nextItem().toSequence(), i2.nextItem().toSequence() });
            result.addAll(r);
          }
        } else if (isCalledAs("for-each-pair")) {
            final FunctionReference ref = (FunctionReference) args[2].itemAt(0);
            ref.analyze(cachedContextInfo);
            final SequenceIterator i1 = args[0].iterate();
            final SequenceIterator i2 = args[1].iterate();
            while (i1.hasNext() && i2.hasNext()) {
                final Sequence r = ref.evalFunction(contextSequence, null,
                        new Sequence[] { i1.nextItem().toSequence(), i2.nextItem().toSequence() });
                result.addAll(r);
            }
        }
    return result;
  }
View Full Code Here

                tmp = new ValueSequence();
                ((ValueSequence)tmp).keepUnOrdered(unordered);
            }
           
            Item item;
            final SequenceIterator iterator = seq.iterate();
            for(int i = 0; i < start; i++) {
                item = iterator.nextItem();
            }
            int i=0;
            while (iterator.hasNext() && i < length) {
                item = iterator.nextItem();
                tmp.add(item);
                i++;
            }
           
            result = i>0?tmp:Sequence.EMPTY_SEQUENCE;
View Full Code Here

       
        SAXSerializer sax = (SAXSerializer) SerializerPool.getInstance().borrowObject(SAXSerializer.class);
        params.setProperty(Serializer.GENERATE_DOC_EVENTS, "false");
       
        try {
            SequenceIterator itSequence = SequenceIterator.EMPTY_ITERATOR;
            if(sequence != null) {
                itSequence = sequence.iterate();
            }
           
            String encoding = params.getProperty(OutputKeys.ENCODING, "UTF-8");
            Writer writer = new OutputStreamWriter(out, encoding);
            sax.setOutput(writer, params);
            Serializer serializer = context.getBroker().getSerializer();
            serializer.reset();
            serializer.setProperties(params);
            serializer.setSAXHandlers(sax, sax);

            sax.startDocument();
           
            while(itSequence.hasNext()) {
               NodeValue next = (NodeValue)itSequence.nextItem();
               serializer.toSAX(next)
            }
           
            sax.endDocument();
            writer.close();
View Full Code Here

      //parse serialization options
        final Properties outputProperties = new Properties();
        if (sSerializeParams.hasOne() && Type.subTypeOf(sSerializeParams.getItemType(), Type.NODE)) {
            SerializerUtils.getSerializationOptions(this, (NodeValue) sSerializeParams.itemAt(0), outputProperties);
        } else {
            SequenceIterator siSerializeParams = sSerializeParams.iterate();
            outputProperties.setProperty(OutputKeys.INDENT, "yes");
            outputProperties.setProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
            while(siSerializeParams.hasNext())
            {
                final String serializeParams = siSerializeParams.nextItem().getStringValue();
                final String params[] = serializeParams.split(" ");
                for(final String param : params)
                {
                    final String opt[] = Option.parseKeyValuePair(param);
                    outputProperties.setProperty(opt[0], opt[1]);
View Full Code Here

     */
    public static StreamSource[] getStreamSource(Sequence s, XQueryContext context) throws XPathException, MalformedURLException, IOException {

        final ArrayList<StreamSource> sources = new ArrayList<StreamSource>();

        final SequenceIterator i = s.iterate();

        while (i.hasNext()) {
            final Item next = i.nextItem();

            final StreamSource streamsource = getStreamSource(next, context);
            sources.add(streamsource);
        }

View Full Code Here

     */
    public static String[] getUrls(Sequence s) throws XPathException {

        final ArrayList<String> urls = new ArrayList<String>();

        final SequenceIterator i = s.iterate();

        while (i.hasNext()) {
            final Item next = i.nextItem();

            final String url = getUrl(next);

            urls.add(url);
        }
View Full Code Here

     */
    public List<String> getAllResults(Sequence sequence){
        List<String> result = new ArrayList<String>();
       
        try {
            final SequenceIterator i = sequence.iterate();        
            while(i.hasNext()){
                final String path =  i.nextItem().getStringValue();
                result.add(path);
            }
           
        } catch (final XPathException ex) {
            logger.error("xQuery issue.", ex);
View Full Code Here

     */
    public String getFirstResult(Sequence sequence){
        String result = null;
       
        try {
            final SequenceIterator i = sequence.iterate();
            if(i.hasNext()){
                result= i.nextItem().getStringValue();
               
                logger.debug("Single query result: '"+result+"'.");
               
            } else {
                logger.debug("No query result.");
View Full Code Here

TOP

Related Classes of org.exist.xquery.value.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.