Package net.sf.saxon.trans
Class CommandLineOptions
java.lang.Object
net.sf.saxon.trans.CommandLineOptions
This is a helper class for classes such as net.sf.saxon.Transform and net.sf.saxon.Query that process
command line options
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addRecognizedOption
(String option, int optionProperties, String helpText) Set the permitted options.void
applyFileParams
(Processor processor, Xslt30Transformer transformer) Apply XSLT 3.0 file-valued parameters to an XSLT transformer.void
applyStaticParams
(XsltCompiler compiler) Apply XSLT 3.0 static parameters to a compilerInfo.void
applyToConfiguration
(Processor processor) Apply options to the Configurationstatic String
coerceImplicitOutputURI
(String outputName) boolean
Test whether there is any keyword=value option presentDisplay the list the permitted optionsstatic String
featureKeys
(String edition) static String
getCommandName
(Object command) static URI
getOptionValue
(String option) Get the value of a named option.Get the options specified positionally, that is, without a leading "-"static boolean
isImplicitURI
(String name) static void
loadAdditionalSchemas
(Configuration config, String additionalSchemas) static boolean
loadDocuments
(String sourceFileName, boolean useURLs, Processor processor, boolean useSAXSource, List<Source> sources) Load a document, or all the documents in a directory, given a filename or URLvoid
setActualOptions
(String[] args) Set the options actually present on the command linestatic void
setCatalogFiles
(ConfigurableResourceResolver crr, List<String> catalogs) void
setParams
(Processor processor, CommandLineOptions.ParamSetter paramSetter) void
setPermittedValues
(String option, String[] values, String defaultValue) Set the permitted values for an optionvoid
setSerializationProperties
(Serializer serializer) Set any output properties appearing on the command line in the form!indent=yes
as properties of the suppliedSerializer
boolean
Prescan the command line arguments to see if any of them imply use of a schema-aware processor
-
Field Details
-
TYPE_BOOLEAN
public static final int TYPE_BOOLEAN- See Also:
-
TYPE_FILENAME
public static final int TYPE_FILENAME- See Also:
-
TYPE_CLASSNAME
public static final int TYPE_CLASSNAME- See Also:
-
TYPE_ENUMERATION
public static final int TYPE_ENUMERATION- See Also:
-
TYPE_INTEGER
public static final int TYPE_INTEGER- See Also:
-
TYPE_QNAME
public static final int TYPE_QNAME- See Also:
-
TYPE_FILENAME_LIST
public static final int TYPE_FILENAME_LIST- See Also:
-
TYPE_DATETIME
public static final int TYPE_DATETIME- See Also:
-
TYPE_STRING
public static final int TYPE_STRING- See Also:
-
TYPE_INTEGER_PAIR
public static final int TYPE_INTEGER_PAIR- See Also:
-
VALUE_REQUIRED
public static final int VALUE_REQUIRED- See Also:
-
VALUE_PROHIBITED
public static final int VALUE_PROHIBITED- See Also:
-
-
Constructor Details
-
CommandLineOptions
public CommandLineOptions()
-
-
Method Details
-
getCurrentWorkingDirectory
-
addRecognizedOption
Set the permitted options.- Parameters:
option
- A permitted option.optionProperties
- of this option, for example whether it is mandatoryhelpText
- message to be output if the user needs help concerning this option
-
setPermittedValues
Set the permitted values for an option- Parameters:
option
- the option keywordvalues
- the set of permitted valuesdefaultValue
- the default value if the option is supplied but no value is given. May be null if no default is defined.
-
setActualOptions
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
Apply options to the Configuration- Parameters:
processor
- the s9api Processor object- Throws:
TransformerException
- if invalid options are present
-
setCatalogFiles
-
displayPermittedOptions
Display the list the permitted options- Returns:
- the list of permitted options, as a string
-
getOptionValue
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
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
Set any output properties appearing on the command line in the form!indent=yes
as properties of the suppliedSerializer
- Parameters:
serializer
- the suppliedSerializer
, whose serialization properties are to be modified.
-
applyStaticParams
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 directoryuseURLs
- true if the filename argument is to be treated as a URIprocessor
- the Saxon s9api ProcessoruseSAXSource
- true if the method should use a SAXSource rather than a StreamSourcesources
- 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
-
coerceImplicitOutputURI
-
loadAdditionalSchemas
public static void loadAdditionalSchemas(Configuration config, String additionalSchemas) throws SchemaException - Throws:
SchemaException
-
featureKeys
-
getCommandName
-