Confused about & in entity literal

David Brownell david-b at
Mon May 10 02:05:30 BST 1999

roddey at wrote:
> Ok, I'm a little confused about the issues with & in entity literals. Here is
> one JC test:
>   <!DOCTYPE doc [
>   <!ELEMENT doc (#PCDATA)>
>   <!ENTITY e "<![CDATA[&foo;]]>">
>   ]>
>   <doc>&e;</doc>
> In this one, there is definitely an ampersand in an entity literal which is not
> part of a numeric character reference or an intrinsic character reference. The
> spec does not seem to day "No raw & in an entity value unless its a numeric ref
> or intrinsic ref, or some other reference that's just left unexpanded", right?
> It just says that there can be no ampersands in an entity value unless its part
> of a numeric reference or an intrinsic reference.

Have a closer look at production 9:

	[9] EntityValue ::=
		'"' ([^%&"] | PEReference | Reference)* '"' |
		"'" ([^%&'] | PEReference | Reference)* "'"

Which _does_ say that you can't have a raw '&' in an entity value etc.
That's what the excslusion syntax means.

- Dave

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