W3C home > Mailing lists > Public > www-xml-schema-comments@w3.org > October to December 2000

RE: Schema for schemas and XML schema DTD

From: Fuchs, Matthew <matthew.fuchs@commerceone.com>
Date: Thu, 2 Nov 2000 15:01:02 -0800
Message-ID: <4C4A7BE77CE1D311A1D200508BA38C1202F35254@venus.commerceone.com>
To: "'ht@cogsci.ed.ac.uk'" <ht@cogsci.ed.ac.uk>, "Michel, Adrian" <adrian.michel@commerceone.com>
Cc: "'www-xml-schema-comments@w3.org'" <www-xml-schema-comments@w3.org>

When Adrian first brought this issue to me I assumed this was an oversight,
as a Schema for Schemas which can stand independently of a DTD is clearly
more useful going forward than one which can't (not that the DTD is not
useful).  The additional effort to do this is minor - just filling in
default and fixed values.  Then I can truly bootstrap from the Schema for
Schemas - I read it in as a schema, and then use it to validate itself,
without reference to anything external.  None of this makes it impossible to
use the DTD - just makes it optional. 

comments below


> -----Original Message-----
> From: ht@cogsci.ed.ac.uk [mailto:ht@cogsci.ed.ac.uk]
> Sent: Thursday, November 02, 2000 2:29 AM
> To: Michel, Adrian
> Cc: 'www-xml-schema-comments@w3.org'; Fuchs, Matthew
> Subject: Re: Schema for schemas and XML schema DTD
> "Michel, Adrian" <adrian.michel@commerceone.com> writes:
> > Presently, the XML Schema DTD is not normative and its 
> usage optional. At
> > the same time, the Schema for Schemas, which is normative, 
> is dependent on
> > the DTD for the definition of a number of default values 
> for attributes
> > (#FIXED attributes in the DTD), which means an 
> implementation cannot in fact
> > not use the XML Schema DTD.
> I think this is misleading.  The XML Schema DTD is not normative with
> respect to what is or is not a conforming schema document.  That
> doesn't mean it's not useful, or that the XML Schema schema document,
> _as an XML 1.0 document_, should not use a DTD.  I strongly 
> resist the 
> implication that XML Schema processors should not be conformant XML
> 1.0 processors.

But the Schema for Schemas _is_ normative with respect to what is or is not
a conforming schema document and is itself a schema document.  Therefore it
should apply to itself - but it cannot do so without access to non-normative
parts of the spec, because if you were to process the schema for schemas in
standalone - i.e., without the DTD, it would not express XSDL.  Therefore
the non-normative DTD is not merely useful, it is _required_.  Something
normative should not _require_ the presence of something else which is not
normative.  _Allowing_ the presence of something non-normative is a
different issue.

As you well know, XML 1.0 specifies two levels of conformance - well-formed
and validating.  The Schema for schemas currently requires a _validating_
processor.  Making the changes Adrian suggests - just putting in default and
fixed values - would lower the bar to implementation to a well-formed
processor in standalone mode.  This prevents no one from using the DTD, but
doesn't require it - a clear win.  For the schema for schemas, which many
people will want to use to bootstrap implementations, not requiring the DTD
is much more useful.  And schema processors would still be 1.0 conformant.
I strongly resist the implication that XML Schema processors must also be
validating processors.  It is also clearly preferable _not_ to require a
normative reference to a non-normative DTD.

> > The schema for schemas should be self contained (even if 
> valid relative to
> > the DTD), and the Schema for Schemas itself should not contain any
> > declarations that would change the content of an XML Schema 
> (including
> > itself) such as default values for attributes.
> With respect, I don't think any changes are called for.

The requirements state (http://www.w3.org/TR/NOTE-xml-schema-req#Principles
) that:

The XML schema language shall be (shortened list):
expressed in XML; 
usable by a wide variety of applications that employ XML; 
straightforwardly usable on the Internet; 
optimized for interoperability; 

Requiring a DTD breaks all of these principles for the Schema for Schemas:
1) the language is not expressed in instance syntax, but requires a DTD
2) it is not self-describing as written - it requires a DTD, which is not
part of XSDL.
3) not useable by processors which don't want to validate
4) is not straighforwardly useable, as it requires a separate document (the
5) ditto

With respect, changes are obviously called for.

> ht
> -- 
>   Henry S. Thompson, HCRC Language Technology Group, 
> University of Edinburgh
>           W3C Fellow 1999--2001, part-time member of W3C Team
>      2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 
> 131 650-4440
> 	    Fax: (44) 131 650-4587, e-mail: ht@cogsci.ed.ac.uk
> 		     URL: http://www.ltg.ed.ac.uk/~ht/
Received on Thursday, 2 November 2000 18:01:13 UTC

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