| dtddiff - Compare two SGML/XML DTDs |
dtddiff - Compare two SGML/XML DTDs
dtddiff [options] <parsed-dtd1.xml> <parsed-dtd2.xml>
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.
dtdparse, dtddiff2html
See SGML::DTDParse for an overview of the DTDParse package.
File::Basename, Getopt::Long, Xml::Parser
<http://dtdparse.sourceforge.net/>
Earl Hood, <earl@earlhood.com>
See SGML::DTDParse for copyright and license information.
| dtddiff - Compare two SGML/XML DTDs |