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:
$ 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, vist 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 | Description |
---|---|---|
--debug | -d | Enable the interactive debugger. See the Interactive Debugger documentation for more information. |
--version | -v | Enable verbose output. |
Parse Subcommand
Parse a file, using either a DFDL schema or a saved parser.
Usage
Note that the -P
or --parser
feature is not yet implemented (April 2013)
daffodil parse (-s <schema> [-r <root> [-n <namespace>]] [-p <path>] | -P <parser>) [-D<variable>=<value>...] [-o <output>] [<infile>]
Options
Long | Short | Arguments | Description |
---|---|---|---|
--schema | -s | <schema> | The annotated DFDL schema to use to create the parser. This option may be supplied multiple times for multi-schema support. This option cannot be used with the --parser option. |
--root | -r | <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 first schema defined with --schema is used. |
--namespace | -n | <namespace> | The namespace of the root element. Requires the --root option. |
--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. |
-D | <variable>=<value> | Variables to be used when parsing. | |
--output | -o | <output> | Write output to a give file. If the option is not given or is -, output is written to standard out. |
<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. |
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 currently implemented (April 2013).
daffodil unparse (-s <schema> [-r <root> [-n <namespace>]] [-p <path>] | -P <parser>) [-D<variable>=<value>...] [-o <output>] [<infile>]
Options
Long | Short | Arguments | Description |
---|---|---|---|
--schema | -s | <schema> | The annotated DFDL schema to use to create the parser. This option may be supplied multiple times for multi-schema support. This option cannot be used with the --parser option. |
--root | -r | <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 first schema defined with --schema is used. |
--namespace | -n | <namespace> | The namespace of the root element. Requires the --root option. |
--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. |
-D | <variable>=<value> | Variables to be used when unparsing. | |
--output | -o | <output> | Write output to a give file. If the option is not given or is -, output is written to standard out. |
<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. |
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
Note that the save-parser command is not currently implemented (April 2013).
daffodil save-parser -s <schema> [-r <root> [-n <namespace>]] [-p <path>] [-o <output>] [<infile>]
Options
Long | Short | Arguments | Description |
---|---|---|---|
--schema | -s | <schema> | The annotated DFDL schema to use to create the parser. This option may be supplied multiple times for multi-schema support. This option must be supplied. |
--root | -r | <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 first schema defined with --schema is used. |
--namespace | -n | <namespace> | The namespace of the root element. Requires the --root option. |
--path | -p | <path> | The path to the node from the root element to create the parser from. |
<outfile> | Write the parser to a give file. If the option is not given or is -, output is written to standard out. |
Example
daffodil save-parser -s csv.dfdl.xsd csv_parser.xml
Test Subcommand
List or execute tests in a TDML file.
Usage
daffodil test [-t] [-r] <tdmlfile> [<testname>...]
Options
Long | Short | Arguments | Description |
---|---|---|---|
--list | -l | Show names and descriptions in a TDML file instead of running them. | |
--regex | -r | Tread <testnames> as regular expressions. | |
<tdmlfile> | Test Data Markup Language (TDML) file. | ||
<testname> | Name of test case(s) in the tdml file. If not give, all tests in <tdmlfile> are run. |
Example
daffodil test csv.tdml