NAME
dtddiff - Compare two SGML/XML DTDs
SYNOPSIS
dtddiff [options] <parsed-dtd1.xml> <parsed-dtd2.xml>
DESCRIPTION
dtddiff compares two SGML/XML DTDs based upon the XML 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 XML 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 -
(minus followed by a space) denote items removed. Lines starting with a +
(plus followed by a space) denote items added. Lines starting with a !
(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 DTD. When this option is specified, only a single DTD is dumped. This is mainly used for debugging purposes.
- --version
-
Print version and synopsis.
- --help
-
Print synopsis and options available.
- --man
-
Print manual page.
SEE ALSO
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, <earl@earlhood.com>
COPYRIGHT AND LICENSE
See SGML::DTDParse for copyright and license information.