> 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)