Re: Regarding XSchema : Section 4.3.1

John Cowan (cowan@locke.ccil.org)
Wed, 14 Oct 1998 11:31:26 -0400


Amit Rekhi wrote:

>
> * The section 4.3.1 of the XSchema spec "Converting DTDs to
> XSchema Documents" states that Parameter entity declarations may be
> converted to parsed general entity declarations and use.
>
> If this were to happen then this means that the resulting
> XSchema would have a DTD (internal/external subset) which would house the
> converted parameter entity declarations as general entity declarations since
> XSchema does not give any construct for Parsed General Entity declarations.
> Am I right?

Yes.

> If we may transform parameter entity declarations (from a source
> DTD) into corresponding general parsed entity declarations (in the target
> XSchema),

Not in the XSchema as such, but in the *DTD* of the XSchema, presumably
though not necessarily in its internal subset.

> then why the restriction in case of general parsed entity
> declarations?

Because unless we are willing to abandon compatibility with XML 1.0 and
SGML entirely (and we, the XSchema team, are *not* willing), there is
no *point* in recording general parsed entities in the XSchema, since
by the time the XSchema is processed, basic XML processing has to have
already been done, including expanding entities.

It is simply not WF XML to have entity references to entities that don't
appear in the DTD of the document. DTDs serve three functions: entity
declaration, attribute defaulting/rationalizing, and validation. XSchema
handles the third and perhaps the second, but not the first.

The only reason to allow *unparsed* entities to be declared in XSchemas
is to validate ENTITY/ENTITIES attributes.

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