Yet another niggling XML syntax question

Richard L. Goerwitz richard at
Tue Mar 2 20:22:01 GMT 1999

John Cowan wrote:

> > Right -- this would violate _validity_ constraints (but a nonvalidating
> > parser should accept it just fine):
> >
> >         <!DOCTYPE Bubba [
> >           <!ENTITY % Part1 "<!ELEMENT ">
> >           <!ENTITY % Part2 " Bubba ANY>">
> >           <!-- next is a validity error in both internal
> >                  and external subsets -->
> >           %Part1;%Part2;
> >         ]>
> >         <Bubba></Bubba>
> >
> It's not 100% clear to me whether the reference to Part2 violates
> the WFC "PEs in Internal Subset"

To restate your message slightly:

The problem with %Part2; is that the markup unit starts with %Part1; and
ends with %Part2;, which is something parsed entities aren't supposed
to do.


The only reason you can get away with

  <!ENTITY % Part3 "%Part1;%Part2;">

is that section 4.3.2 of the XML 1.0 standard says that all internal
parsed entities are by definition well formed.

It's apparently an exception to the "proper nesting" rule, meant spe-
cifically to allow cutting and pasting of parameter entities.  This is
also the motivation for suppressing the addition of spaces before and
after the entities inside the quotation marks above.

Would anyone agree that the standard is not altogether clear on this

(Tim, if my comments are correct, it might make sense to edit them,
in some form, into your annotated version of the spec.)


Richard Goerwitz
PGP key fingerprint:    C1 3E F4 23 7C 33 51 8D  3B 88 53 57 56 0D 38 A0
For more info (mail, phone, fax no.):  finger richard at

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as: and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo at the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at

More information about the Xml-dev mailing list