dtddiff of XSDL 5/99 and 9/99
Date: Tue, 28 Sep 1999 11:23:38 -0400 From: "DuCharme, Robert" <DuCharmR@moodys.com> To: 'xml-dev' <xml-dev@ic.ac.uk> Subject: dtddiff of XSDL 5/99 and 9/99
I ran Earl Hood's dtddiff on the DTD provided in Appendix B of the September 24th W3C Schema WD to compare it to the May version, and thought others might be interested in the output. (See http://www.oac.uci.edu/indiv/ehood/perlSGML.html for Earl's excellent collection of DTD manipulation tools which, although written for SGML DTDs, work fine with XML DTDs.) It's a nice, concise summary of differences.
If your mail reader [browser] displays it in a proportional font, set it to a monospaced font to make the columns line up properly.
----------------------------------------------------------------------
New Elements/Attributes (xmlschema9-99.dtd)
----------------------------------------------------------------------
<archetype content> <archetype default>
<archetype fixed> <archetype order>
<archetype schemaabbrev> <archetype schemaname>
<archetype type> <attribute>
<attribute default> <attribute fixed>
<attribute maxoccurs> <attribute minoccurs>
<attribute name> <attribute schemaabbrev>
<attribute schemaname> <attribute type>
<component> <component name>
<component type> <datatypequal>
<element> <element archref>
<element default> <element export>
<element fixed> <element maxoccurs>
<element minoccurs> <element name>
<element ref> <element schemaabbrev>
<element schemaname> <element type>
<encoding> <export elements>
<group> <group collection>
<group maxoccurs> <group minoccurs>
<group name> <group order>
<import elements> <include elements>
<maxabsolutevalue> <minabsolutevalue>
<modelgroup order> <modelgroupref maxoccurs>
<modelgroupref minoccurs> <refines name>
<refines schemaabbrev> <refines schemaname>
<schema targetns>
----------------------------------------------------------------------
Old/removed Elements/Attributes (xmlschema5-99.dtd)
----------------------------------------------------------------------
<all> <all maxoccur>
<all minoccur> <any>
<archetype export> <archetyperef>
<archetyperef name> <archetyperef schemaabbrev>
<archetyperef schemaname> <attrdecl>
<attrdecl name> <attrdecl required>
<choice> <choice maxoccur>
<choice minoccur> <datatyperef>
<datatyperef name> <datatyperef schemaabbrev>
<datatyperef schemaname> <default>
<elementtype> <elementtype export>
<elementtype model> <elementtype name>
<elementtyperef> <elementtyperef maxoccur>
<elementtyperef minoccur> <elementtyperef name>
<elementtyperef schemaabbrev> <elementtyperef schemaname>
<empty> <entityref>
<entityref name> <entityref schemaabbrev>
<entityref schemaname> <export elementtypes>
<fixed> <import elementtypes>
<include elementtypes> <mixed>
<modelgroupref maxoccur> <modelgroupref minoccur>
<notationref> <notationref name>
<notationref schemaabbrev> <notationref schemaname>
<schema name> <sequence>
<sequence maxoccur> <sequence minoccur>
----------------------------------------------------------------------
Content Rule Differences
----------------------------------------------------------------------
------------------------------------------------------------
<ARCHETYPE>
<< old content rule <<
(refines?,
(DATATYPEREF|
(ANY|EMPTY|ALL|CHOICE|ELEMENTTYPEREF|ELEMENTTYPE|SEQUENCE|MIXED|
modelgroupref))?,
(ATTRDECL|attrgroupref)*)
>> new content rule >>
(refines*,
((element|group|modelgroupref)*|datatypequal?),
(attribute|attrgroupref)*)
------------------------------------------------------------
<ATTRGROUP>
<< old content rule <<
(ATTRDECL|attrgroupref)+
>> new content rule >>
(attribute|attrgroupref)+
------------------------------------------------------------
<DATATYPE>
<< old content rule <<
(basetype,
(((mininclusive|minexclusive)?,
(maxinclusive|maxexclusive)?)|precision|scale|lexicalrepresentation|
enumeration|length|maxlength)*)
>> new content rule >>
(basetype,
((mininclusive|minexclusive)|
(maxinclusive|maxexclusive)|
(maxabsolutevalue,minabsolutevalue)?|precision|scale|
lexicalrepresentation|enumeration|length|maxlength|encoding)*)
------------------------------------------------------------
<IMPORT>
<< old content rule <<
((ELEMENTTYPEREF|ARCHETYPEREF|DATATYPEREF|modelgroupref|attrgroupref|
ENTITYREF|NOTATIONREF)*)
>> new content rule >>
(component*)
------------------------------------------------------------
<INCLUDE>
<< old content rule <<
((ELEMENTTYPEREF|ARCHETYPEREF|DATATYPEREF|modelgroupref|attrgroupref|
ENTITYREF|NOTATIONREF)*)
>> new content rule >>
(component*)
------------------------------------------------------------
<MODELGROUP>
<< old content rule <<
(ALL|CHOICE|ELEMENTTYPEREF|ELEMENTTYPE|SEQUENCE)
>> new content rule >>
(element|group|modelgroupref)+
------------------------------------------------------------
<REFINES>
<< old content rule <<
(ARCHETYPEREF)*
>> new content rule >>
EMPTY
------------------------------------------------------------
<SCHEMA>
<< old content rule <<
((import*,include*,export?,
(comment|datatype|archetype|ELEMENTTYPE|attrgroup|modelgroup|notation|
textentity|externalentity|unparsedentity)*))
>> new content rule >>
((import*,include*,export?,
(comment|datatype|archetype|element|attrgroup|modelgroup|notation|
textentity|externalentity|unparsedentity)*))
Bob DuCharme www.snee.com/bob <bob@ snee.com> see www.snee.com/bob/xmlann for "XML: The Annotated Specification" from Prentice Hall.
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@ic.ac.uk Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
Prepared by Robin Cover for the The SGML/XML Web Page archive.

