SYNOPSIS

  dtddiff [options] <parsed-dtd1.xml> <parsed-dtd2.xml>

DESCRIPTION

dtddiff compares two \s-1SGML/XML\s0 DTDs based upon the \s-1XML\s0 dumps generated by dtdparse. The following summarizes the typically usage of dtddiff:

dtdparse --outfile parsed-dtd1.xml dtd1.dtd dtdparse --outfile parsed-dtd2.xml dtd2.dtd dtddiff parsed-dtd1.xml parsed-dtd2.xml > dtd.diff

Since dtddiff processes the \s-1XML\s0 dumps from dtdparse, a full reparse of the DTDs is avoided.

dtddiff does a structural-based comparision. Therefore, the order of declarations in the DTDs does not affect the comparison.

The output generated by dtddiff is similiar in style to a context-based diff done by the program diff\|(1). The following is an example of the type of output generated:

*** DocBook 4.1 DTD --- DocBook 4.2 DTD *************** Elements Added --- DocBook 4.2 DTD ---- + bibliocoverage + biblioid + bibliorelation + bibliosource + blockinfo + citebiblioid + coref + errortext + personblurb + personname + refsection + refsectioninfo + textdata *************** Elements Changed ... [snip] ...

*** DocBook 4.1 DTD ****

! entrytbl ::= (colspec*, spanspec*, thead?, tbody) -(entrytbl)

entrytbl Attributes: ! charoff NUTOKEN #IMPLIED ! colname NMTOKEN #IMPLIED ! cols NUMBER #REQUIRED ! colsep NUMBER #IMPLIED ! nameend NMTOKEN #IMPLIED ! namest NMTOKEN #IMPLIED ! rowsep NUMBER #IMPLIED ! spanname NMTOKEN #IMPLIED ! tgroupstyle NMTOKEN #IMPLIED

--- DocBook 4.2 DTD ----

! entrytbl ::= (colspec*, spanspec*, thead?, tbody)

entrytbl Attributes: ! charoff CDATA #IMPLIED ! colname CDATA #IMPLIED ! cols CDATA #REQUIRED ! colsep CDATA #IMPLIED ! nameend CDATA #IMPLIED ! namest CDATA #IMPLIED ! rowsep CDATA #IMPLIED ! spanname CDATA #IMPLIED ! tgroupstyle CDATA #IMPLIED

... [snip] ...

*** DocBook 4.1 DTD ****

graphic Attributes: ! depth NUTOKEN #IMPLIED ! format [Enumeration] #IMPLIED ! BMP, CGM-CHAR, CGM- ! BINARY, CGM-CLEAR, ! DITROFF, DVI, EPS, EQN, ! FAX, GIF, GIF87a, GIF89a, ! JPG, JPEG, IGES, PCX, ! PIC, PNG, PS, SGML, TBL, ! TEX, TIFF, WMF, WPG, ! linespecific ! scale NUMBER #IMPLIED ! scalefit NUMBER #IMPLIED ! width NUTOKEN #IMPLIED

--- DocBook 4.2 DTD ----

graphic Attributes: + contentdepth CDATA #IMPLIED + contentwidth CDATA #IMPLIED + valign [Enumeration] #IMPLIED + top, middle, bottom ! depth CDATA #IMPLIED ! format [Enumeration] #IMPLIED ! BMP, CGM-CHAR, CGM- ! BINARY, CGM-CLEAR, ! DITROFF, DVI, EPS, EQN, ! FAX, GIF, GIF87a, GIF89a, ! JPG, JPEG, IGES, PCX, ! PIC, PNG, PS, SGML, TBL, ! TEX, TIFF, WMF, WPG, SVG, ! linespecific ! scale CDATA #IMPLIED ! scalefit CDATA #IMPLIED ! width CDATA #IMPLIED

... [snip] ...

Lines starting with a \*(C`- \*(C' (minus followed by a space) denote items removed. Lines starting with a \*(C`+ \*(C' (plus followed by a space) denote items added. Lines starting with a \*(C`! \*(C' (explanation point followed by a space) denote items changed.

OPTIONS

--attributes
--noattributes

Print, or not, element attribute differences. The default is to print differences.

--content-model-expanded
--nocontent-model-expanded

Expand, or not expand, element content models during comparison. Expanded models have all parameter entities resolved. The default is to use expanded content model.

--elements
--noelements

Print, or not, element content model differences. The default is to print differences.

--general-ents
--nogeneral-ents

Print, or not, general entity differences. The default is to not print differences.

--parameter-ents
--noparameter-ents

Print, or not, parameter entity differences. The default is to not print differences.

--dump

Do a textual dump of a \s-1DTD\s0. When this option is specified, only a single \s-1DTD\s0 is dumped. This is mainly used for debugging purposes.

--version

Print version and synopsis.

--help

Print synopsis and options available.

--man

Print manual page.

RELATED TO dtddiff…

dtdparse, dtddiff2html

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

PREREQUISITES

File::Basename, Getopt::Long, Xml::Parser

AVAILABILITY

<http://dtdparse.sourceforge.net/>

AUTHORS

Earl Hood, <[email protected]>

COPYRIGHT AND LICENSE

See SGML::DTDParse for copyright and license information.