dtddiff1p
Compare two sgml/xml dtds
Usage
dtddiff [options]
<parsed-dtd1.xml>
<parsed-dtd2.xml>
Overview
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.dtddtdparse --outfile parsed-dtd2.xml dtd2.dtddtddiff 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
notprint differences.
-
--parameter-ents
-
--noparameter-ents -
Print, or not, parameter entity differences. The default is to
notprint 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.
Prerequisites
File::Basename, Getopt::Long, Xml::Parser
Copyright and license
See SGML::DTDParse for copyright and license information.
Releases
6 releases since Debian 8 (Jessie); the text changed 2 times.