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
 
 
 public class BaseURI extends XProcExtensionFunctionDefinition {
     private static StructuredQName funcname = new StructuredQName("p".,"base-uri");
 
     protected BaseURI() {
         // you can't call this one
     }
 
     public BaseURI(XProcRuntime runtime) {
         .set(runtime);
     }
 
     public StructuredQName getFunctionQName() {
         return ;
     }
 
     public int getMinimumNumberOfArguments() {
         return 0;
     }
 
     public int getMaximumNumberOfArguments() {
         return 1;
     }
 
     public SequenceType[] getArgumentTypes() {
         return new SequenceType[]{.};
     }
 
     public SequenceType getResultType(SequenceType[] suppliedArgumentTypes) {
         return .;
     }
 
     public boolean dependsOnFocus() {
         return true;
     }
 
         return new BaseURICall();
     }
 
     private class BaseURICall extends ExtensionFunctionCall {
         public SequenceIterator call(SequenceIterator[] argumentsXPathContext contextthrows XPathException {
             String baseURI = null;
 
             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);
             }
 
             if (arguments.length > 0) {
                 SequenceIterator iter = arguments[0];
                 NodeInfo item = (NodeInfoiter.next();
                 baseURI = item.getBaseURI();
             } else {
                 NodeInfo item = (NodeInfocontext.getContextItem();
                 baseURI = item.getBaseURI();
             }
            if (baseURI == null) {
                return SingletonIterator.makeIterator(
                        new AnyURIValue(""));
            }
            return SingletonIterator.makeIterator(
                    new AnyURIValue(baseURI));
        }
    }
New to GrepCode? Check out our FAQ X