What is it about CDATA Sections?
A short, cheeky complaint about the sad state of XML books.
Any fool can crticize, condemn, and complain—and most fools do.
This essay is a little bit cheeky on my part. Authors work hard, I know from personal experience, and maybe it's unfair to judge a book by a single section, to paraphrase a common saying. We all make mistakes, right? I'll try to ameliorate my criticism by not mentioning any names. But I have to ask, what is so hard to understand about CDATA sections?
Wandering through the book store yesterday, I paused to skim the XML books. A few of years ago, just before the bubble burst, when the XML books were coming out fast and furious, I happened to notice an error in one of them. Something to do with CDATA sections, but I've forgotten exactly what, so now when I pick up a random XML book, I always look to see how CDATA sections are described.
The first book I skim says that CDATA sections begin with
“
<![cdata[
”. Bzzzt. Wrong, but thank
you for playing.
The next book I pick up says that CDATA sections cannot contain “]]”. Sigh. Nope.
The third book gets it right.
The fourth book correctly points out that CDATA sections cannot
contain “
]]>
”, but fails to mention
that the string “
]]>
” (unescaped)
can't ever occur in a document except when it ends a CDATA section.
Close, but no cigar.
The last book I picked up didn't mention CDATA sections at all. No points off, I suppose. If I promised to teach you XML in four and a third minutes or something like that, maybe I wouldn't try to explain CDATA sections either.
I wonder if XML 2.0 should even contain CDATA sections?
Comments
Sad that a book author can get this kind of thing wrong. I never remember this kind of thing. but that is what google and http://www.w3.org/TR/2000/REC-xml-20001006#sec-cdata-sect is for. If an author can't be bothered to look up this kind of thing to "GET IT RIGHT" why should I pay for his book. I am not interested in paying for guesses. I need answers.
I can gladly confirm that my copy of Goldfarb's and Prescod's _XML Handbook_ correctly discusses CDATA sections. Unfortunately, another XML book that I own doesn't. Funny that I never picked up that error tho. Thanks for the head's up.
What i'd like from XML 2.0 is a BDATA section so we can embed jpegs directly in XML :-o