W3C home > Mailing lists > Public > www-xml-schema-comments@w3.org > July to September 1999

Loss of effective schema validation by DTDs with today's working drafts

From: Arnold, Curt <Curt.Arnold@hyprotech.com>
Date: Mon, 27 Sep 1999 15:24:39 -0600
Message-ID: <61DAD58E8F4ED211AC8400A0C9B468731AAFA4@THOR>
To: "'xml-dev@ic.ac.uk'" <xml-dev@ic.ac.uk>
Cc: "'www-xml-schema-comments@w3.org'" <www-xml-schema-comments@w3.org>
One of the things that has been troubling me with today's schema working
draft release is the reduction of the effectiveness of validating a schema
with the schema DTD.  For example, in the previous draft, an element with an
empty content model was represented by

<elementType name="emptyElement">

The <empty> element was defined as having an empty content model, so the
following fragment would result in a validation error.

<elementType name="emptyElement">
		<elementTypeRef name="otherElement"/>

In todays, draft the same thing poorly formed element would be represented

<element name="emptyElement">
	<archetype content="empty">
		<element name="otherElement"/>

and would validate.

Also, the <datatype> element definition in the schema for datatypes uses the
"all" compositor (equivalent the SGML &) which allows each of the different
facets to appear once, but in any order.  Since the all compositor was not
included in XML, the closest a DTD can do is allow any of the elements to
appear in any order any number of times.  It would seem better for the
schema to define a specific order so that the DTD could enforce the number
of times a particular facet appears.

The changes appear intentional from the previous draft and I'm sure there is
reasoning (and probably a huge amount of debate) behind it.  However, I
really liked the <choice>, <sequence>, <any> and <empty> tags from the
previous public draft.
Received on Monday, 27 September 1999 17:26:43 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 14:49:51 UTC