Confusion about conditional sections

John Cowan cowan at
Fri Feb 19 21:53:03 GMT 1999

roddey at wrote:

> Once you see a conditional ignore section, can you effectively just scan
> for <![ and ]]> parts of the text inside there without actually doing
> regular parsing? Is there a reason that this cannot be done?

That's definitely what the spec says, based on productions 63-65.
Whether it *should* say that is a question.

> Also, does the specification of a conditional section basically imply that
> you cannot have a ']]>' character [sequence] anywhere in an ignored section,
> even if it's in a literal?
> So something like this:
> <![IGNORE[
> <!ENTITY MyEntity "The ]]> text of my entity">
> ]]>

So it seems.  Such an entity, BTW, can't be referenced from
character data, since "]]>" is illegal there (production 14),
but can be referenced from attribute values.

As a result, we now have the idiosyncratic property that MyEntity can be
declared as above outside a conditional section, or in an
INCLUDE conditional section, whereas the declaration cannot
appear as above inside an IGNORE conditional section.

This point seems to me to belong to the XML Syntax WG, so I have copied
this response to xml-editor at
> Since it actually does not look at what follows the <![ part, which is
> theoretically supposed to either be INCLUDE or IGNORE or CDATA, right?

CDATA is impossible within the DTD, and INCLUDE/IGNORE are impossible
outside the DTD, so one cannot be inside the other.  It's interesting
though that you can "comment out" non-XML declarations, or indeed
almost any sort of junk, using an IGNORE section:

	<!USEMAP this that>
	<!SHORTREF putcha trash here>
	random floating text
	<EM>even looks like instance text</EM>

John Cowan		cowan at
	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)

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