Class CommandLineOptions


  • public class CommandLineOptions
    extends java.lang.Object
    This is a helper class for classes such as net.sf.saxon.Transform and net.sf.saxon.Query that process command line options
    • Constructor Detail

      • CommandLineOptions

        public CommandLineOptions()
    • Method Detail

      • getCurrentWorkingDirectory

        public static java.net.URI getCurrentWorkingDirectory()
      • addRecognizedOption

        public void addRecognizedOption​(java.lang.String option,
                                        int optionProperties,
                                        java.lang.String helpText)
        Set the permitted options.
        Parameters:
        option - A permitted option.
        optionProperties - of this option, for example whether it is mandatory
        helpText - message to be output if the user needs help concerning this option
      • setPermittedValues

        public void setPermittedValues​(java.lang.String option,
                                       java.lang.String[] values,
                                       java.lang.String defaultValue)
        Set the permitted values for an option
        Parameters:
        option - the option keyword
        values - the set of permitted values
        defaultValue - the default value if the option is supplied but no value is given. May be null if no default is defined.
      • setActualOptions

        public void setActualOptions​(java.lang.String[] args)
                              throws XPathException
        Set the options actually present on the command line
        Parameters:
        args - the options supplied on the command line
        Throws:
        XPathException - if an unrecognized or invalid option is found
      • definesParameterValues

        public boolean definesParameterValues()
        Test whether there is any keyword=value option present
        Returns:
        true if there are any keyword=value options
      • testIfSchemaAware

        public boolean testIfSchemaAware()
        Prescan the command line arguments to see if any of them imply use of a schema-aware processor
        Returns:
        true if a schema-aware processor is needed
      • applyToConfiguration

        public void applyToConfiguration​(Processor processor)
                                  throws javax.xml.transform.TransformerException
        Apply options to the Configuration
        Parameters:
        processor - the s9api Processor object
        Throws:
        javax.xml.transform.TransformerException - if invalid options are present
      • displayPermittedOptions

        public java.lang.String displayPermittedOptions()
        Display the list the permitted options
        Returns:
        the list of permitted options, as a string
      • getOptionValue

        public java.lang.String getOptionValue​(java.lang.String option)
        Get the value of a named option. Returns null if the option was not present on the command line. Returns "" if the option was present but with no value ("-x" or "-x:").
        Parameters:
        option - the option keyword
        Returns:
        the option value, or null if not specified.
      • getPositionalOptions

        public java.util.List<java.lang.String> getPositionalOptions()
        Get the options specified positionally, that is, without a leading "-"
        Returns:
        the list of positional options
      • setSerializationProperties

        public void setSerializationProperties​(Serializer serializer)
        Set any output properties appearing on the command line in the form !indent=yes as properties of the supplied Serializer
        Parameters:
        serializer - the supplied Serializer, whose serialization properties are to be modified.
      • applyStaticParams

        public void applyStaticParams​(XsltCompiler compiler)
                               throws SaxonApiException
        Apply XSLT 3.0 static parameters to a compilerInfo. Actually this sets all parameter values, whether static or dynamic. This is possible because the stylesheet is compiled for once-only use.
        Parameters:
        compiler - The XsltCompiler object into which the parameters are copied
        Throws:
        SaxonApiException - if invalid options are found
      • applyFileParams

        public void applyFileParams​(Processor processor,
                                    Xslt30Transformer transformer)
                             throws SaxonApiException
        Apply XSLT 3.0 file-valued parameters to an XSLT transformer. Most parameters are applied before compilation, so that the compiler can take advantage of knowing their values; but file-valued parameters (provided as +name=value) are deferred until run-time because of complications storing their values in a SEF file.
        Parameters:
        transformer - The Xslt30Transformer object into which the parameters are copied
        Throws:
        SaxonApiException - if invalid options are found
      • loadDocuments

        public static boolean loadDocuments​(java.lang.String sourceFileName,
                                            boolean useURLs,
                                            Processor processor,
                                            boolean useSAXSource,
                                            java.util.List<javax.xml.transform.Source> sources)
                                     throws SaxonApiException
        Load a document, or all the documents in a directory, given a filename or URL
        Parameters:
        sourceFileName - the name of the source file or directory
        useURLs - true if the filename argument is to be treated as a URI
        processor - the Saxon s9api Processor
        useSAXSource - true if the method should use a SAXSource rather than a StreamSource
        sources - an empty list which the method will populate. If sourceFileName represents a single source document, a corresponding XdmNode is added to the list. If sourceFileName represents a directory, multiple XdmNode objects, one for each file in the directory, are added to the list
        Returns:
        true if the supplied sourceFileName was found to be a directory
        Throws:
        SaxonApiException - if access to documents fails
      • isImplicitURI

        public static boolean isImplicitURI​(java.lang.String name)
      • coerceImplicitOutputURI

        public static java.lang.String coerceImplicitOutputURI​(java.lang.String outputName)
      • featureKeys

        public static java.lang.String featureKeys​(java.lang.String edition)
      • getCommandName

        public static java.lang.String getCommandName​(java.lang.Object command)