[
Lists Home |
Date Index |
Thread Index
]
- From: "Chris Olds" <colds@nwlink.com>
- To: <roddey@us.ibm.com>,<xml-dev@ic.ac.uk>
- 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@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@ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo@ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa@ic.ac.uk)
|