Class CommandLineOptions

java.lang.Object
net.sf.saxon.trans.CommandLineOptions

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

  • Constructor Details

    • CommandLineOptions

      public CommandLineOptions()
  • Method Details

    • getCurrentWorkingDirectory

      public static URI getCurrentWorkingDirectory()
    • addRecognizedOption

      public void addRecognizedOption(String option, int optionProperties, 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(String option, String[] values, 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(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 TransformerException
      Apply options to the Configuration
      Parameters:
      processor - the s9api Processor object
      Throws:
      TransformerException - if invalid options are present
    • setCatalogFiles

      public static void setCatalogFiles(ConfigurableResourceResolver crr, List<String> catalogs)
    • displayPermittedOptions

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

      public String getOptionValue(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 List<String> getPositionalOptions()
      Get the options specified positionally, that is, without a leading "-"
      Returns:
      the list of positional options
    • setParams

      public void setParams(Processor processor, CommandLineOptions.ParamSetter paramSetter) throws SaxonApiException
      Throws:
      SaxonApiException
    • 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(String sourceFileName, boolean useURLs, Processor processor, boolean useSAXSource, List<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(String name)
    • coerceImplicitOutputURI

      public static String coerceImplicitOutputURI(String outputName)
    • loadAdditionalSchemas

      public static void loadAdditionalSchemas(Configuration config, String additionalSchemas) throws SchemaException
      Throws:
      SchemaException
    • featureKeys

      public static String featureKeys(String edition)
    • getCommandName

      public static String getCommandName(Object command)