Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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
languagebash
$ 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.

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

LongShortArgumentsDescription
--debug
-d
[file]

Enable the interactive debugger. See the Interactive Debugger documentation for more information.

The optional file argument is a list of debugger commands that are provided to the debugger as if it was type by the user.

This option cannot be used with the --trace option.

--trace-t 

Enable a trace mode. This mode prints out helpful information during every stage of parsing.

This option cannot be used with the --debug option.

--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

 

LongShortArgumentsDescription
--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:

-D{http://example.com}var1=val

 
-T
<tunable>=<value>

Modify Daffodil configuration options to change parsing behavior. See Configuration File#Tunable Parameters for the list of tunable parameters.

--output
-o
<output>
Write output to a given 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. If 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.

Info

The unparse subcommand was implemented as of version 1.1.0.

Usage

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

LongShortArgumentsDescription
--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:

-D{http://example.com}var1=val

 
-T
<tunable>=<value>

Modify Daffodil configuration options to change parsing behavior. See  Configuration File#Tunable Parameters for the list of tunable parameters.

--output
-o
<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. If 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

LongShortArgumentsDescription
--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.
(no long form)
-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:

-D{http://example.com}var1=val

 
 
[outfile]
Write the parser to a give file. If the option is not given or is -, output is written to standard out. If supplied, this must be the last option on the command line.
--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] [-i] <tdmlfile> [testname...]

Options

 

LongShortArgumentsDescription
--info
-i
 

Increment test result information output level, one level for each occurrence of -i.

--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

Performance Subcommand

Run a performance test (parse or unparse), using either a DFDL schema or a saved parser

Info

The unparse option of the performance subcommand was implemented as of version 1.1.0.

Usage

daffodil performance (-s <schema> [-r [{namespace}]<root>] [-p <path>] |  -P <parser) [--unparse] [--validate [mode]] [-N <number of files to process] [-t <threadcount>] [-D[{namespace}]<variable>=<value>] <infile>

Options

 

LongShortArgumentsDescription
--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:

-D{http://example.com}var1=val

 
-T
<tunable>=<value>

Modify Daffodil configuration options to change processing behavior. See Configuration File#Tunable Parameters for the list of tunable parameters.

--unparse
 
 
Perform unparse instead of parse for performance.
--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 or directory containing files to process

--version
  Display the version of Daffodil.
--help
  Display help message.

Example

daffodil performance -s csv.dfdl.xsd -N 1000 -t 5 test_file.csv

...

this page has moved to https://daffodil.apache.org/cli/