# codadd

This documentation describes the functionality of the codadd tool which is part of CODA.

## General description

The codadd tool is a support tool for the CODA Product Format Definition (.codadef) files. It is able to verify and inspect the .codadef contents, it allows generation of HTML documentation for the product format definitions, and provides conversion functions for format definitions.

        codadd [-D definitionpath]
            Try to read all product definitions and report any problems

        codadd [-D definitionpath] doc <directory>
            Generate HTML product format documentation in the specified directory

        codadd [-D definitionpath] list [<list options>]
                                   [<product class> [<product type> [<version>]]]
            Gives an overview of available product definitions
            When all of product class, product type, and format version are provided
            an overview of the product content for the specified product definition
            is given
            List options:
                -e, --expr
                        show expressions for dynamic array sizes
                -q, --quote_strings
                        put "" around string data and '' around character data
                -s, --column_separator '<separator string>'
                        use the given string as column separator (default: ' ')
                -t, --type
                        show basic data type
                -u, --unit
                        show unit information
                --description
                        show description information
                --hidden
                        show record fields with 'hidden' property
                --parent-types
                        show additional lines for records and arrays
                --attributes
                        show additional lines for attributes
                --no_special_types
                        bypass special data types from the CODA format definition -
                        data with a special type is treated using its non-special
                        base type

        codadd [-D definitionpath] xmlschema [<xmlschema options>]
                                   <product class> <product type> <version>
            Create an XML Schema file for a single product definition
            Note that this will only work if the product class/type/version points
            to a product definition for an XML file
            XML Schema options:
                -o, --output <filename>
                        write output to specified file

        codadd [-D definitionpath] definition [<definition options>] <product file>
            Create a CODA definition XML file with the format definition of a
            product. The XML file is a standalone definition file similar to those
            used within .codadef files.
            Definition options:
                -o, --output <filename>
                        write output to specified file

        codadd [-D definitionpath] dtree <format>
            Shows the product recognition detection tree for the given file format.
            Note that ascii and binary formatted products use the same detection
            tree

        codadd -h, --help
            Show help (this text)

        codadd -v, --version
            Print the version number of CODA and exit

        CODA will look for .codadef files using a definition path, which is a ':'
        separated (';' on Windows) list of paths to .codadef files and/or to
        directories containing .codadef files.
        By default the definition path is set to a single directory relative to
        the tool location. A different definition path can be set via the
        CODA_DEFINITION environment variable or via the -D option.
        (the -D option overrides the environment variable setting).