CLI Usage
daffodil [GLOBAL_OPTIONS] <subcommand> [SUBCOMMAND_OPTIONS]
Environment Variables
Setting environment variables may be necessary to allow for importing/includes to work and when running tdml files.
DAFFODIL_CLASSPATH
The Daffodil implementation will look on the classpath for includes and imports, and some tdml files. To define additional directories where Daffodil should look for files, set the DAFFODIL_CLASSPATH
environment variable, for example:
Code Block | ||
---|---|---|
| ||
$ export DAFFODIL_CLASSPATH="/path/to/imports/:/path/to/includes/" |
In addition to defining directories to search for imports and includes, you can add a CatalogManager.properties
file to the DAFFODIL_CLASSPATH
to direct Daffodil to a relative path location of a user XML Catalog. For information on the CatalogManager.properties
file, visit the following website:
http://xerces.apache.org/xml-commons/components/resolver/tips.html#properties
DAFFODIL_JAVA_OPTS
If you need to specify java options specific to Daffodil, you can set the DAFFODIL_JAVA_OPTS
environment variable. If not specified, the JAVA_OPTS
environment variable will be used. If that is not specified, reasonable defaults for Daffodil will be used.
Global Options
Long | Short | Arguments | Description |
---|---|---|---|
--debug | -d | [file] | Enable the interactive debugger. See the Interactive Debugger documentation for more information. The optional This option cannot be used with the |
--trace | -t | Enable a trace mode. This mode prints out helpful information during every stage of parsing. This option cannot be used with the | |
--verbose | -v | Enable verbose mode and increment verbosity level. Each additional v provides a new level of information. | |
--version | Display the version of Daffodil. | ||
--help | Display help message. |
Parse Subcommand
Parse a file, using either a DFDL schema or a saved parser.
Usage
daffodil parse (-s <schema> [-r [{<namespace>}]<root>] [-p <path>] | -P <parser>) [-D[{namespace}]<variable>=<value>...] [-T<tunable>=<value>] [-o <output>] [-V [mode]] [-c <file>] [infile]
Options
Long | Short | Arguments | Description |
---|---|---|---|
--schema | -s | <schema> | The annotated DFDL schema to use to create the parser. This option cannot be used with the --parser option. |
--root | -r | [{<namespace>}]<root> | The root element of the DFDL schema to use. This must be one of the top-level elements of the schema defined with --schema. This requires the --schema option to be defined. If not supplied, the first element of the schema defined with --schema is used. A namespace may be specified by prefixing it with {namespace}. |
--path | -p | <path> | The path to the node from the root element to create the parser from. |
--parser | -P | <parser> | Use a previously saved parser, created using the save-parser subcommand. This option cannot be used with the --schema option or with the --validate option set to 'on'. |
-D | [{<namespace>}]<variable>=<value> | Variables to be used when parsing. The variable can be prefixed with {namespace} to define which namespace the variable belongs in, for example:
| |
-T | <tunable>=<value> | Modify Daffodil configuration options to change parsing behavior. See Configuration File#Tunable Parameters for the list of tunable parameters. | |
--output | <output> | Write output to a give file. If the option is not given or is -, output is written to standard out. | |
--validate | -V | [mode] | The validation mode. 'on', 'limited' or 'off'. If 'mode' is not provided, defaults to 'on'. If --validate is not provided, defaults to 'off'. Mode cannot be 'on' when used with the --parser option. |
--config | -c | <file> | XML file containing configuration items, such as external variables or Daffodil tunables. See Configuration File for details on the file format. |
[infile] | Input file to parse. If not specified, or is a value of -, reads from standard in. In supplied, this must be the last option on the command line. | ||
--version | Display the version of Daffodil. | ||
--help | Display help message. |
Example
daffodil parse -s csv.dfdl.xsd test_file.csv
Unparse Subcommand
Unparse an infoset file, using either a DFDL schema or a saved parser.
Usage
Note that the Unparse subcommand is not implemented as of 0.16.0.
daffodil unparse (-s <schema> [-r [{<namespace>}]<root>] [-p <path>] | -P <parser>) [-D[{<namespace>}]<variable>=<value>...] [-T<tunable>=<value>] [-o <output>] [-V [mode]] [-c <file>] [infile]
Options
Long | Short | Arguments | Description |
---|---|---|---|
--schema | -s | <schema> | The annotated DFDL schema to use to create the parser. This option cannot be used with the --parser option. |
--root | -r | [{<namespace>}]<root> | The root element of the DFDL schema to use. This must be one of the top-level elements of the schema defined with --schema. This requires the --schema option to be defined. If not supplied, the first element of the schema defined with --schema is used. A namespace may be specified by prefixing it with {namespace}. |
--path | -p | <path> | The path to the node from the root element to create the parser from. |
--parser | -P | <parser> | Use a previously saved parser, created using the save-parser subcommand. This option cannot be used with the --schema option or with the --validate option set to 'on'. |
-D | [{<namespace>}]<variable>=<value> | Variables to be used when unparsing. The variable can be prefixed with {namespace} to define which namespace the variable belongs in, for example: | |
-T | <tunable>=<value> | Modify Daffodil configuration options to change parsing behavior. See Configuration File#Tunable Parameters for the list of tunable parameters. | |
--output | <output> | Write output to a give file. If the option is not given or is -, output is written to standard out. | |
--validate | -V | [mode] | The validation mode. 'on', 'limited' or 'off'. If 'mode' is not given, defaults to 'on'. If --validate is not present, defaults to 'off'. Mode cannot be 'on' when used with the --parser option. |
--config | -c | <file> | XML file containing configuration items, such as external variables or Daffodil tunables. See Configuration File for details on the file format. |
[infile] | Input file to unparse. If not specified, or is a value of -, reads from standard in. In supplied, this must be the last option on the command line. | ||
--version | Display the version of Daffodil. | ||
--help | Display help message. |
Example
daffodil unparse -s csv.dfdl.xsd test_file.infoset
Save Parser Subcommand
Create a save a parser that can be reused for parsing and unparsing.
Usage
daffodil save-parser -s <schema> [-r [{namespace}]<root>] [-p <path>] [-o <output>] [outfile]
Options
Long | Short | Arguments | Description |
---|---|---|---|
--schema | -s | <schema> | The annotated DFDL schema to use to create the parser. This option must be supplied. |
--root | -r | [{<namespace>}]<root> | The root element of the DFDL schema to use. This must be one of the top-level elements of the schema defined with --schema. This requires the --schema option to be defined. If not supplied, the first element of the schema defined with --schema is used. A namespace may be specified by prefixing it with {namespace}. |
--path | -p | <path> | The path to the node from the root element to create the parser from. |
--validate | -V | [mode] | The validation mode. 'limited' or 'off'. Mode is required. If --validate is not present, defaults to 'off'. Mode cannot be set to 'on' as possible in other commands. |
--config | -c | <file> | XML file containing configuration items, such as external variables or Daffodil tunables. See Configuration File for details on the file format. |
| | [outfile] | Write the parser to a give file. If the option is not given or is -, output is written to standard out. |
--version | Display the version of Daffodil. | ||
--help | Display help message. |
Example
daffodil save-parser -s csv.dfdl.xsd csv_parser.xml
Test Subcommand
List or execute tests in a TDML file.
Usage
daffodil test [-l] [-r] <tdmlfile> [testname...]
Options
Long | Short | Arguments | Description |
---|---|---|---|
--list | -l | | Show names and descriptions in a TDML file instead of running them. |
--regex | -r | | Read <testnames> as regular expressions. |
| | <tdmlfile> | Test Data Markup Language (TDML) file. |
| | [testname...] | Name of one or more test case in the tdml file. If not given, all tests in <tdmlfile> are run. |
--version | Display the version of Daffodil. | ||
--help | Display help message. |
Example
daffodil test csv.tdml
...