Use of '&' in element of XML Document

Richard Tobin richard at cogsci.ed.ac.uk
Wed Jul 28 01:35:07 BST 1999


> 	<!ENTITY amp "&x0026;" >

Actually this isn't quite right.  There's a typo (it should be &#00026;)
but there's also a less obvious error.

The declaration above will define amp to contain the single character
"&", since character entities in entity definitions are expanded.
When the entity is used, it will be re-expanded, producing a syntax
error, since the parser encounters a bare ampersand.  The solution is
to use a "double-escape" in the definition, like this:

     <!ENTITY amp "&#x0026;#x0026;">

or equivalently

     <!ENTITY amp "&#38;#38;">

which is the "canonical" definition given in the XML spec.

The effect of this is that amp is defined as "&#38;" and this is
expanded to produce "&" when the amp is referenced in the document.

-- Richard

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





More information about the Xml-dev mailing list