Re: XSchema Spec, Sections 2.0 and 2.1 (Draft 1)

John Cowan (cowan@locke.ccil.org)
Mon, 08 Jun 1998 14:01:00 -0400


Chris Maden wrote:

> The biggest problem with DTDs (IMO) is that they conflate definitions
> for a class of documents with definitions for a single document
> instance. A schema should try, as cleanly as possible, to refer only
> to the *class* of documents, and leave entities out of it. After
> XSchema is successful, then we can move on to tackle a new and better
> syntax for entity declaration.

I concede that many, perhaps most, general entities are document
specific, but not all. Consider the MIXED element from the
my early drafts of XSchema itself. The form

<MIXED> <REF .../> <REF .../> ... </MIXED>

declared #PCDATA-and-element content, whereas "<MIXED/>" declared
#PCDATA-only content as a degenerate case. The DTD could have declared
(though actually it didn't) <!ENTITY PCDATA "<MIXED/>"> to allow
people to write "&PCDATA;" in XSchemas as a better-documented
version of "<MIXED/>".

Surely this entity would be worthy of declaration in the XSchema
XSchema?

> Now, it may be that the "Entity" element is only intended for use
> within the schema. If so, great, but I think the name should reflect
> that. Maybe call it "module"?

No, not at all. There is no XSchema equivalent of parameter entities.

-- 
John Cowan	http://www.ccil.org/~cowan		cowan@ccil.org
	You tollerday donsk?  N.  You tolkatiff scowegian?  Nn.
	You spigotty anglease?  Nnn.  You phonio saxo?  Nnnn.
		Clear all so!  'Tis a Jute.... (Finnegans Wake 16.5)