I would like to request a clarification on the grammar for CDATA secion.
Production [20] states...
[20] CData ::= (Char* - (Char* ']]>' Char*))
which would imply that characters which do not meed the Char [2] production
are not allowed in CDATA sections. Further, section 2.11 states...
To simplify the tasks of applications, wherever an external parsed
entity or the literal entity value of an internal parsed entity contains
either the literal two-character sequence "#xD#xA" or a standalone
literal #xD, an XML processor must pass to the application the single
character #xA. (This behavior can conveniently be produced by normalizing
all line breaks to #xA on input, before parsing.)
This implies that the new-line processing takes place in the CDATA sections
because of the last sentence.
However, Tim Bray states in his annotation to XML...
When you look at CDATA, you might get the impression that you could
maybe jam your binary data in a CDATA section. You'd be right, but
you'd have to guarantee that it never included a byte sequence that
looks like ]]>.
which would be incorrect if either only Char data is allowed or if new-line
processing does takes place as described.
Is it the intention that either restriction apply to CDATA sections? Or any
other restriction that would prevent binary data (other than ]]>) from
being represented in CDATA sections? Thank you.
Michael Lee Finney
michael.finney@acm.orgmichael.finney@computer.org