CharData and escaping ]]>

Liam Quin liamquin at interlog.com
Tue Dec 16 17:43:31 GMT 1997


Michael Kay at ICL wrote:
> If we assume that most XML will be software-generated, then it
> appears the only purpose of CDATA is to allow the software-writer
> to copy in a chunk of text without bothering to convert the <'s and
> &'s to &lt and &amp. But since he still has to check for any "]]>"
> in the text, and has no clear course of action if he finds one,
> it's not at all clear that it achieves this aim.

I'd say firstly that if you are writing software that works a character
at a time, it is generally easier to avoid CDATA marked sections and to
escape every < and & directly.  If you use a marked section, you need up
to 3 characters of lookahead, and you need to make sure that all of the
following sequences pass through unscathed:
    ]]]]]]]]]]]
    ]>
    a]b]]c]]]d

Secondly, the simplest way to escape ]]> is to insert a Unicode
zero-width non-printing non-combining space between the ] and the >.
This might be a pain for some applications, though.

> In practice I will just get round it by escaping all my >'s 
> as well as my <'s.

That's what I would do too.

Lee

-- 
Liam Quin --  the barefoot typographer -- Toronto
lq-text: freely available Unix text retrieval
IRC: Learn about XML/SGML/XSL/XLL/DSSSL on irc.dragonnet.org in #xml
email address: l i a m q u i n, at host: i n t e r l o g  dot  c o m


xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)




More information about the Xml-dev mailing list