Provided by: libsgml-dtdparse-perl_2.00-3_all bug

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

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

AUTHORS

       Earl Hood, <earl@earlhood.com>

COPYRIGHT AND LICENSE

       See SGML::DTDParse for copyright and license information.