XML spec issues: param entities

I hope you can clarify some issues here.

The table in 4.4 doesn't distinguish internal and external parameter
(parsed) entities, the way it does for general parsed entities.  There's
only one column, not two.  Since that's a summary (according to the intro
to the section) I used it only for clarification.  But found none here...

One interpretation (in James Clark's XMLTEST suite) is that this means
that there's no distinction.  Specifically, that it's OK to use external
parameter entities wherever you use internal parameter entities.  Like
in internal entity values definitions.  (Or presumably, defining attribute
defaults within external PEs/subset; the "PEs within markup decls" is
another bit I find confusing at best.  See below.)

Another interpretation is that this is an oversight, the summary (also
James!) just missed the text in 2.8 before the external subset production.
That says that "any external parameter entities" must match [30] extSubset.
That agrees with what 4.3.2 says about [79] extPE; it's more inclusive.
(Why do both exist?)  So the text in 4.4.8 about "Included as PE" using
extra spaces in expansions is needed only for internal PEs, since there's
already a grammar rule achieving the intended constraint on replacement
text for external PEs.

That's not a reason not to let such entities be treated just like internal
entity values; unless 4.2.1 is missing a WF constraint (such as "No
External Paramater Entity References") corresponding to the constraint in
section 3.1 for attribute values.  One potential rationale to prevent such
treatment:  where could you legally expand a reference whose replacement
text included a text decl that came from %expansion; of an external PE?
(And without such a text decl, what character encoding would it use?)

In general, I've got to say that I find the PE bits of the spec to be the
most confusing ones.

In particular the bit about letting PEs expand "within" markup decls in
external PEs/subset.  The DTD for XML itself includes comments with text
such as "%illus.class;" so it's clear that the "markup declarations" where
PEs can be expanded aren't [29] markupdecl, but presumably exclude comments
and PIs while including conditional sections.  And again, shouldn't that
be allowing inclusion of _internal_ PEs within markup, to eliminate such
problems as parsing "<![ <?xml encoding='iso-latin-8'?> ... [ ... ]]>" ?

- Dave

p.s. Who gets mail to xml-editor@w3.org?  Tim Bray and others, according
    to the annotated XML spec.

Received on Monday, 22 June 1998 21:31:47 UTC