[Home] [By Thread] [By Date] [Recent Entries]

  • From: "Chris Olds" <colds@n...>
  • To: <roddey@u...>,<xml-dev@i...>
  • Date: Fri, 19 Feb 1999 17:29:56 -0800

Section 3.4 says "If the keyword of the conditional section is IGNORE, then
the contents of the conditional section are not logically part of the DTD."
All productions 63-65 say is that all of the "<![" and" ]]>" (sic) in an
ignored section have to nest properly, and any other characters have to
match 'char'.

As to the entity problem, a general entity containing the string "]]>" is
not well-formed (whether it is used or not), since 4.3.2 says "An internal
general parsed entity is well-formed if its replacement text matches the
production labeled content".  Unfortunately, the next line says "All
internal parameter entities are well-formed by definition.", but there is no
production that actually defines this constraint.  The result of this is
that the following example appears to be legal if the value of
'%IncludeMe;' is either 'INCLUDE' or 'IGNORE':

<![%IncludeMe;[
     <!ENTITY % DangerousOpen "<![%TryMe;[ The text of my first entity">
     <!ENTITY % DangerousClose "The text of my second entity ]]>">
 ]]>

Note that in place of GE definitions, I used PE definitions, which don't
have to match 'content'.  Whether or not you can use these entities as part
of a DTD is unclear to me.  I wouldn't advise it.

Bottom line: productions 63-65 explicitly permit the scanning loop you
showed.

    /cco



xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@i...
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@i... the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo@i... the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa@i...)


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member