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 XSLT system-property() function
    private static StructuredQName funcname = new StructuredQName("p"."xpath-version-available");
    protected XPathVersionAvailable() {
        // you can't call this one
    }
    public XPathVersionAvailable(XProcRuntime runtime) {
        .set(runtime);
    }
    public StructuredQName getFunctionQName() {
        return ;
    }
    public int getMinimumNumberOfArguments() {
        return 1;
    }
    public int getMaximumNumberOfArguments() {
        return 1;
    }
    public SequenceType[] getArgumentTypes() {
        return new SequenceType[]{.};
    }
    public SequenceType getResultType(SequenceType[] suppliedArgumentTypes) {
        return .;
    }
        return new SystemPropertyCall();
    }
    private class SystemPropertyCall extends ExtensionFunctionCall {
        public SequenceIterator call(SequenceIterator[] argumentsXPathContext contextthrows XPathException {
            SequenceIterator iter = arguments[0];
            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);
            }
            DoubleValue value = (DoubleValueiter.next();
            double reqVer = value.getDoubleValue();
            return SingletonIterator.makeIterator((reqVer == 1.0 || reqVer == 2.0) ? . : .);
        }
    }
New to GrepCode? Check out our FAQ X