Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package com.xmlcalabash.library;
  
 
 
Created by IntelliJ IDEA. User: ndw Date: Oct 8, 2008 Time: 7:46:15 AM To change this template use File | Settings | File Templates.
 
 public class DefaultStep implements XProcStep {
     public static final QName _byte_order_mark = new QName("""byte-order-mark");
     public static final QName _cdata_section_elements = new QName("""cdata-section-elements");
     public static final QName _doctype_public = new QName("""doctype-public");
     public static final QName _doctype_system = new QName("""doctype-system");
     public static final QName _encoding = new QName("""encoding");
     public static final QName _escape_uri_attributes = new QName("""escape-uri-attributes");
     public static final QName _include_content_type = new QName("""include-content-type");
     public static final QName _indent = new QName("""indent");
     public static final QName _media_type = new QName("""media-type");
     public static final QName _method = new QName("""method");
     public static final QName _normalization_form = new QName("""normalization-form");
     public static final QName _omit_xml_declaration = new QName("""omit-xml-declaration");
     public static final QName _standalone = new QName("""standalone");
     public static final QName _undeclare_prefixes = new QName("""undeclare-prefixes");
     public static final QName _version = new QName("""version");
 
     private Hashtable<QName,RuntimeValueoptions = null;
     protected XProcRuntime runtime = null;
     protected XAtomicStep step = null;
     protected Logger logger = Logger.getLogger(this.getClass().getName());
 
     //private String logger = null;
 
     public DefaultStep(XProcRuntime runtimeXAtomicStep step) {
         this. = runtime;
         this. =step;
 
     }
 
     public XAtomicStep getStep() {
         return ;
     }
 
     public void setInput(String portReadablePipe pipe) {
         throw new XProcException("No inputs allowed.");
     }
 
     public void setOutput(String portWritablePipe pipe) {
         throw new XProcException("No outputs allowed.");
     }
 
     public void setParameter(QName nameRuntimeValue value) {
         throw new XProcException("No parameters allowed.");
     }
 
     public void setParameter(String portQName nameRuntimeValue value) {
         throw new XProcException("No parameters allowed on port '" + port + "'");
     }
 
     public void setOption(QName nameRuntimeValue value) {
         if ( == null) {
              = new Hashtable<QName,RuntimeValue> ();
         }
         .put(name,value);
     }
 
     public RuntimeValue getOption(QName name) {
         if ( != null && .containsKey(name)) {
             return .get(name);
         } else {
             return null;
         }
     }
 
     public String getOption(QName nameString defaultValue) {
         if ( == null || !.containsKey(name)) {
             return defaultValue;
        }
        return .get(name).getString();
    }
    public QName getOption(QName nameQName defaultValue) {
        if ( == null || !.containsKey(name)) {
            return defaultValue;
        }
        return .get(name).getQName();
    }
    public boolean getOption(QName nameboolean defaultValue) {
        if ( == null || !.containsKey(name)) {
            return defaultValue;
        }
        return .get(name).getBoolean();
    }
    public int getOption(QName nameint defaultValue) {
        if ( == null || !.containsKey(name)) {
            return defaultValue;
        }
        return .get(name).getInt();
    }
    public void reset() {
        throw new XProcException("XProcStep implementation must override reset().");
    }
    public void error(XdmNode nodeString messageQName code) {
        .error(thisnodemessagecode);
    }
    public void warning(XdmNode nodeString message) {
        .warning(thisnodemessage);
    }
    public void info(XdmNode nodeString message) {
        .info(thisnodemessage);
    }
    public void fine(XdmNode nodeString message) {
        .fine(thisnodemessage);
    }
    public void finer(XdmNode nodeString message) {
        .finer(thisnodemessage);
    }
    public void finest(XdmNode nodeString message) {
        .finest(thisnodemessage);
    }
    public void run() throws SaxonApiException {
        String type = null;
            type = .getType().getLocalName();
        } else {
            type = .getType().getClarkName();
        }
        fine(null"Running " + type + " " + .getName());
    }
    public Serializer makeSerializer() {
        Serializer serializer = new Serializer();
        if ( == null) {
            return serializer;
        }
        if (.containsKey()) {
            serializer.setOutputProperty(..getOption(false) ? "yes" : "no");
        }
            String list = getOption().getString();
            // FIXME: Why is list="" sometimes?
            if (!"".equals(list)) {
                String[] names = list.split("\\s+");
                list = "";
                for (String name : names) {
                    QName q = new QName(name.getNode());
                    list += q.getClarkName() + " ";
                }
                serializer.setOutputProperty(..list);
            }
        }
        if (.containsKey()) {
        }
        if (.containsKey()) {
        }
        if (.containsKey()) {
        }
            serializer.setOutputProperty(..getOption(true) ? "yes" : "no");
        }
        if (.containsKey()) {
            serializer.setOutputProperty(..getOption(true) ? "yes" : "no");
        }
        if (.containsKey()) {
            serializer.setOutputProperty(..getOption(true) ? "yes" : "no");
        }
        if (.containsKey()) {
        }
        if (.containsKey()) {
            serializer.setOutputProperty(..getOption().getString());
        }
        if (.containsKey()) {
        }
        if (.containsKey()) {
           serializer.setOutputProperty(..getOption(true) ? "yes" : "no");
        }
        if (.containsKey()) {
            String standalone = getOption().getString();
            if ("true".equals(standalone)) {
                serializer.setOutputProperty(.."yes");
            } else if ("false".equals(standalone)) {
                serializer.setOutputProperty(.."no");
            }
            // What about omit?
        }
        if (.containsKey()) {
            serializer.setOutputProperty(..getOption(true) ? "yes" : "no");
        }
        if (.containsKey()) {
            serializer.setOutputProperty(..getOption().getString());
        }
        return serializer;
    }
    public Vector<XdmItemevaluateXPath(XdmNode docHashtable<String,StringnsBindingsString xpathHashtable<QName,RuntimeValueglobals) {
        Vector<XdmItemresults = new Vector<XdmItem> ();
        try {
            XPathCompiler xcomp = .getProcessor().newXPathCompiler();
            xcomp.setBaseURI(.getNode().getBaseURI());
            // Extension functions are not available here...
            for (QName varname : globals.keySet()) {
                xcomp.declareVariable(varname);
            }
            for (String prefix : nsBindings.keySet()) {
                xcomp.declareNamespace(prefixnsBindings.get(prefix));
            }
            XPathExecutable xexec = null;
            try {
                xexec = xcomp.compile(xpath);
            } catch (SaxonApiException sae) {
                Throwable t = sae.getCause();
                if (t instanceof XPathException) {
                    XPathException xe = (XPathExceptiont;
                    if (xe.getMessage().contains("Undeclared variable")) {
                        throw XProcException.dynamicError(26, xe.getMessage());
                    }
                }
                throw sae;
            }
            XPathSelector selector = xexec.load();
            for (QName varname : globals.keySet()) {
                XdmAtomicValue avalue = globals.get(varname).getUntypedAtomic();
                selector.setVariable(varname,avalue);
            }
            if (doc != null) {
                selector.setContextItem(doc);
            }
            try {
                Iterator<XdmItemvalues = selector.iterator();
                while (values.hasNext()) {
                    results.add(values.next());
                }
            } catch (SaxonApiUncheckedException saue) {
                Throwable sae = saue.getCause();
                if (sae instanceof XPathException) {
                    XPathException xe = (XPathExceptionsae;
                    if ("http://www.w3.org/2005/xqt-errors".equals(xe.getErrorCodeNamespace()) && "XPDY0002".equals(xe.getErrorCodeLocalPart())) {
                        throw XProcException.dynamicError(26,"Expression refers to context when none is available: " + xpath);
                    } else {
                        throw saue;
                    }
                } else {
                    throw saue;
                }
            }
        } catch (SaxonApiException sae) {
            if (S9apiUtils.xpathSyntaxError(sae)) {
                throw XProcException.dynamicError(23, "Invalid XPath expression: '" + xpath + "'.");
            } else {
                throw new XProcException(sae);
            }
        }
        return results;
    }
New to GrepCode? Check out our FAQ X