dtdflatten - Flatten an SGML/XML DTD.


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



See SGML::DTDParse for an overview of the DTDParse package.


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




Originally developed by Norman Walsh, <ndw@nwalsh.com>.

Earl Hood <earl@earlhood.com> picked up support and maintenance.


See SGML::DTDParse for copyright and license information.

 dtdflatten - Flatten an SGML/XML DTD.