dtddiff
list the changes that have occured in a DTD.
dtddiff
will
output the following information:
dtddiff
is invoked from the Unix shell as follows:
% dtddiff [options] olddtd newdtd
The following are the list of options available:
-catalog
filenameUse filename as the file for mapping public
identifiers and external entities to system files. If
-catalog
is not specified, "catalog
" is
used as the default filename.
See
Resolving External Entities for more
information.
-compact
Generate a compact listing.
-help
Print a brief usage description. No other action is performed.
-nocompact
Generate a long listing.
Here is an example output generated by dtddiff
:
---------------------------------------------------------------------- New Elements/Attributes (sgm/html2.0/html.dtd) ---------------------------------------------------------------------- <a sdapref> <address sdaform> <address sdapref> <b sdaform> <blockquote sdaform> <br> <br sdapref> <cite sdaform> <code sdaform> <dd sdaform> <dir sdaform> <dir sdapref> <dl compact> <dl sdaform> <dl sdapref> <dt sdaform> <em sdaform> <form> ... ---------------------------------------------------------------------- Old/removed Elements/Attributes (sgm/html.dtd) ---------------------------------------------------------------------- <dfn> <key> <link name> <u> ---------------------------------------------------------------------- Content Rule Differences ---------------------------------------------------------------------- ------------------------------------------------------------ <A> << old content rule << (#PCDATA|img|em|tt|strong|b|i|U|code|samp|kbd|KEY|var|DFN|cite) >> new content rule >> (h1|h2|h3|h4|h5|h6|#PCDATA|a|img|br|em|strong|code|samp|kbd|var|cite|tt| b|i)* -(a) ------------------------------------------------------------ <ADDRESS> << old content rule << (a|#PCDATA|img|em|tt|strong|b|i|U|code|samp|kbd|KEY|var|DFN|cite|p)+ >> new content rule >> (#PCDATA|a|img|br|em|strong|code|samp|kbd|var|cite|tt|b|i|p)* ...
The "..." represents text that has been deleted in order to save space.
If the -nocompact
option is specified, then each
listing in the New Elements/Attributes and
Old/removed Elements/Attributes is on its own line.
Defining the mapping between external entities to system files
may be done via the -catalog
command-line option. The catalog provides you with the
capability of mapping public identifiers to system identifiers
(files) or to map entity names to system identifiers.
Catalog Syntax
The syntax of a catalog is a subset of SGML catalogs (as defined in SGML Open Draft Technical Resolution 9401:1994).
A catalog contains a sequence of the following types of entries:
PUBLIC
public_id system_idThis maps public_id to system_id.
ENTITY
name system_idThis maps a general entity whose name is name to system_id.
ENTITY %
name system_idThis maps a parameter entity whose name is name to system_id.
Syntax Notes
A system_id string cannot contain any spaces. The system_id is treated as pathname of file.
Any line in a catalog file that does not follow the previously mentioned entries is ignored.
In case of duplicate entries, the first entry defined is used.
Example catalog file:
-- ISO public identifiers -- PUBLIC "ISO 8879-1986//ENTITIES General Technical//EN" iso-tech.ent PUBLIC "ISO 8879-1986//ENTITIES Publishing//EN" iso-pub.ent PUBLIC "ISO 8879-1986//ENTITIES Numeric and Special Graphic//EN" iso-num.ent PUBLIC "ISO 8879-1986//ENTITIES Greek Letters//EN" iso-grk1.ent PUBLIC "ISO 8879-1986//ENTITIES Diacritical Marks//EN" iso-dia.ent PUBLIC "ISO 8879-1986//ENTITIES Added Latin 1//EN" iso-lat1.ent PUBLIC "ISO 8879-1986//ENTITIES Greek Symbols//EN" iso-grk3.ent PUBLIC "ISO 8879-1986//ENTITIES Added Latin 2//EN" ISOlat2 PUBLIC "ISO 8879-1986//ENTITIES Added Math Symbols: Ordinary//EN" ISOamso -- HTML public identifiers and entities -- PUBLIC "-//IETF//DTD HTML//EN" html.dtd PUBLIC "ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML" ISOlat1.ent ENTITY "%html-0" html-0.dtd ENTITY "%html-1" html-1.dtd
Environment Variables
The following envariables (ie. environment variables) are supported:
This is a colon (semi-colon for MSDOS users) separated list of paths for finding catalog files or system identifiers. For example, if a system identifier is not an absolute pathname, then the paths listed in P_SGML_PATH are used to find the file.
This envariable is a colon (semi-colon for MSDOS users) separated list of catalog files to read. If a file in the list is not an absolute path, then file is searched in the paths listed in the P_SGML_PATH and SGML_SEARCH_PATH.
This is a colon (semi-colon for MSDOS users) separated list of paths for finding catalog files or system identifiers. This envariable serves the same function as P_SGML_PATH. If both are defined, paths listed in P_SGML_PATH are searched first before any paths in SGML_SEARCH_PATH.
The use of P_SGML_PATH is for compatibility with earlier versions.
SGML_CATALOG_FILES and SGML_SEARCH_PATH
are supported for compatibility with James Clark's nsgmls(1)
.
The file specified by
-catalog
is read first before any files specified by SGML_CATALOG_FILES.
This program is part of the perlSGML package; see <URL:file:/usr/doc/perlsgml/perlSGML.html>