table of contents
| DTDDIFF(1p) | User Contributed Perl Documentation | DTDDIFF(1p) | 
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¶
dtdparse, dtddiff2html
See SGML::DTDParse for an overview of the DTDParse package.
PREREQUISITES¶
File::Basename, Getopt::Long, Xml::Parser
AVAILABILITY¶
AUTHORS¶
Earl Hood, <earl@earlhood.com>
COPYRIGHT AND LICENSE¶
See SGML::DTDParse for copyright and license information.
| 2022-01-21 | perl v5.32.1 |