Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 package com.xmlcalabash.functions;
 
//
// The contents of this file are subject to the Mozilla Public License Version 1.0 (the "License");
// you may not use this file except in compliance with the License. You may obtain a copy of the
// License at http://www.mozilla.org/MPL/
//
// Software distributed under the License is distributed on an "AS IS" basis,
// WITHOUT WARRANTY OF ANY KIND, either express or implied.
// See the License for the specific language governing rights and limitations under the License.
//
// The Original Code is: all this file.
//
// The Initial Developer of the Original Code is Michael H. Kay.
//
// Portions created by Norman Walsh are Copyright (C) Mark Logic Corporation. All Rights Reserved.
//
// Contributor(s): Norman Walsh.
//
Implementation of the XProc p:iteration-position function
    private static StructuredQName funcname = new StructuredQName("p"."iteration-size");
    protected IterationSize() {
        // you can't call this one
    }
    public IterationSize(XProcRuntime runtime) {
        .set(runtime);
    }
    public StructuredQName getFunctionQName() {
        return ;
    }
    public int getMinimumNumberOfArguments() {
        return 0;
    }
    public int getMaximumNumberOfArguments() {
        return 0;
    }
    public SequenceType[] getArgumentTypes() {
        return new SequenceType[]{.};
    }
    public SequenceType getResultType(SequenceType[] suppliedArgumentTypes) {
        return .;
    }
        return new IterationPositionCall();
    }
    private class IterationPositionCall extends ExtensionFunctionCall {
        public SequenceIterator call(SequenceIterator[] argumentsXPathContext contextthrows XPathException {
            XProcRuntime runtime = .get();
            XStep step = runtime.getXProcData().getStep();
            // FIXME: this can't be the best way to do this...
            // step == null in use-when
            if (step != null && !(step instanceof XCompoundStep)) {
                throw XProcException.dynamicError(23);
            }
            return SingletonIterator.makeIterator(
                    new Int64Value(runtime.getXProcData().getIterationSize()));
        }
    }
New to GrepCode? Check out our FAQ X