W3C home > Mailing lists > Public > xml-editor@w3.org > January to March 1999

Re: Confusion about conditional sections

From: John Cowan <cowan@locke.ccil.org>
Date: Fri, 19 Feb 1999 16:52:38 -0500
Message-ID: <36CDDD26.77529605@locke.ccil.org>
To: XML Dev <xml-dev@ic.ac.uk>, xml-editor@w3.org
roddey@us.ibm.com 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@w3.org.
 
> 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:

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

-- 
John Cowan	http://www.ccil.org/~cowan		cowan@ccil.org
	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)
Received on Friday, 19 February 1999 16:52:56 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:59:29 GMT