Re: Schema for schemas and XML schema DTD

Jonathan Robie <Jonathan.Robie@SoftwareAG-USA.com> writes:

> Henry Thompson wrote:
> 
> >Yes it would.  All the defaults in the DTD just re-interate defaults
> >already expressed in the prose (or the schema for schemas).  There are
> >three ways a conforming processor can be built:
> 
> [!!! SNIP !!!]
> 
> >The crucial point for the current discussion is that it doesn't
> >_matter_ where the defaults come from.  The only default values in the
> >DTD for schemas are also in the schema for schemas and the prose of
> >the REC.
> 
> Henry argues that it doesn't matter whether they are represented in
> the schema, as long as they are represented in the prose or in the
> DTD. I don't understand this.

No, what I said was it doesn't matter if they're in the DTD as long as 
they're in the schema and the prose.

> If the Schema for Schemas can represent defaults or fixed values, and
> it does not,

Sorry, I'm now completely lost in a sea of generalities.  Return to
the particular:

  <element name="schema" id="schema"> . . .</element> [from the s-for-s]

What precisely are you unhappy about?  That it doesn't read e.g.

  <element name="schema" id="schema" abstract="false">...</element>

?

That's an understandable objection, but I think it's misguided.  If it 
turns out that _is_ all you're unhappy about, I'll return to this
point when you say so.

Or that it _does_ read, higher up,

<!DOCTYPE schema SYSTEM "...XMLSchema.dtd"...>

and that in that DTD we find

  <!ATTLIST schema ... abstract CDATA "false"...>

?

Why is that a problem?  The s-for-s would mean _exactly_ the same
thing without the DTD (see below).  Having the DTD simply gives
DTD-based XML tools (and there are lots of them) something to work with.

Why is the the DTD declaration irrelevant to the semantics (i.e. the
correspondence of the above-quoted element to an element declaration
component whose {abstract} property has the boolean value 'false'?
Because

  a) The s-for-s identifies its namespace as
  "http://www.w3.org/2000/10/XMLSchema", and the schema at that NS URI
  declares the type for the element named 'element' with a type
  definition which includes, inter alia, an attribute declaration
  whose {name} is 'abstract' and whose {value constraint} is
  ('false','default'), via the following

  <attribute name="abstract" type="boolean" use="default" value="false"/>

  b) The REC itself defines the mapping from XML representations to
components for {abstract} as follows [1]

    "The normalized value of the 'abstract' [attribute], if present,
    otherwise false"

Belt-and-braces, yes, but something to complain about?  I don't think so.

Or is what you are worried about that the defaults in the DTD are
not reflected in the s-for-s?  But as the above example calls out,
this is simply false to fact.  Every default in the DTD _is_ reflected 
in the s-for-s, or at least it should be, and I've checked a number of 
times that all _three_ loci are in agreement.

So what _are_ you concerned about?

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 Saturday, 4 November 2000 05:43:46 UTC