dtdflatten(1) Flatten an SGML/XML DTD.


dtdflatten [options]


dtdflatten parses a DTD and prints out a flatten/expanded version of it with all parameter entities expanded.

The first non-option-related argument provided on the command-line specifies the file to parse. If no filename is given, then the DTD is read from standard input.

The flatten DTD is printed to standard output unless the "--output" option is specified.


--catalog <catalog>
Specify catalog files to parse for resolving external entity references. This option can be specified multiple times.

NOTE: Currently, only SGML Open Catalog format is supported. XML Catalog support is not implemented (yet).

Extra debugging output. This option can be specified multiple times to increase the amount of output.

Debugging output is sent to standard error.

--declaration <file>
Specify the SGML declaration. The SGML declaration is parsed to determine the type of DTD being parsed, XML or SGML. The key parts of the SGML declaration examined are the NAMECASE and CHARSET directives to determine the DTD type.

If no SGML declaration is available, the "--xml", "--namecase-general", and "--namecase-entity" options can be used.

--output <file>
Output file. If not specified, standard output is used.
--preserve <entity-name>
Preserve parameter entity declaration denoted by <entity-name>. This option can be specified multiple times.

Note, if <entity-name> matches any portion of a parameter entity, the parameter entity declaration will be preserved.

Print parsing progress. By default, this option is enabled. Verbose output is sent to standard error.

If "--debug" is specified, then this option is automatically enabled.

Print version and synopsis.
Print synopsis and options available.
Print manual page.


Getopt::Long, Text::DelimMatch, XML::Parser


Originally developed by Norman Walsh, <[email protected]>.

Earl Hood <[email protected]> picked up support and maintenance.


See SGML::DTDParse for copyright and license information.