CDATA Section

Gordon, Simon Simon.Gordon at
Wed Oct 27 18:13:50 BST 1999

Thanks for the info. I guess I was trying to mix the ATTLIST and ELEMENT
syntax. The !ATTLIST  declaration allows CDATA but then doesn't seem to use
it in the same way as when you specify <!ELEMENT x (#PCDATA)> then use
<![CDATA[...]]> in the XML. Most confusing.

Now for the next question; binary data and CDATA sections. According to Tim
Bray's annotated XML spec., I can use a CDATA section to send binary data
yet I can't get it to work. [The annotation link is the last in the first
paragraph of section 2.7 CDATA Sections].

This (IMHO) seems to contradict the XML Spec. where it defines the CDATA
data to consist of chars which is further defined as consisting of TAB, CR,
LF and 0x20-..etc. That is, not all possible binary values. I've checked
this using the RXP parser (good, very good) and it does reject any values
outside the defined ranges. Big disappointment.

Now I'll have to look at using base64 to exchange binary data with our
vendors; we'll all have to implement an encoding/decoding scheme, probably
involving attributes and NOTATIONs and a load more work. Unless anyone has a
better idea?


Simon Gordon

-----Original Message-----
From: John Cowan [mailto:cowan at]
Sent: Wednesday, October 20, 1999 13:23
To: Simon.Gordon at
Cc: xml-dev at
Subject: Re: CDATA Section

Gordon, Simon scripsit:

> > <?xml version='1.0'?>

The problem is with this line, which says that TEST elements must contain
a single *element* whose name is "CDATA".  This has nothing to do with
CDATA sections.

> > Warning: CDATA section not allowed here
> >  in unnamed entity at line 5 char 16 of file:test.xml

Quite right; your document is invalid because your TEST element
contains character data instead of an element named CDATA.

> > PS. Just tried <!ELEMENT TEST {#PCDATA)> and removing the DOCTYPE
> > altogether. The former passes the validation test and the latter passes
> > the well-formedness test (rxp -xs test.xml)!

And rightly so.  You cannot *compel* the content of an element to be
a CDATA section or not by using DTD-based validation.  Elements declared
with #PCDATA content may express that content with or without
CDATA sections.

John Cowan                                   cowan at
       I am a member of a civilization. --David Brin

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 unsubscribe, mailto:majordomo at the following message;
unsubscribe 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