1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
<?xml version="1.0" encoding="UTF-8"?>
<!--[ CDATA Section ]-->
<!-- $Date: 2001/11/26 22:34:22 $ $Revision: 1.1.1.1 $ -->
<interface name="CDATASection" inherits="Text" id="ID-667469212">
<descr><p>CDATA sections are used to escape blocks of text containing
characters that would otherwise be regarded as markup. The only
delimiter that is recognized in a CDATA section is the "]]>" string
that ends the CDATA section. CDATA sections cannot be
nested. Their primary purpose is for including
material such as XML fragments, without needing to escape all
the delimiters.</p><p>The <code>DOMString</code> attribute of the
<code>Text</code> node holds the text that is contained by the CDATA
section. Note that this <emph>may</emph> contain characters
that need to be escaped outside of CDATA sections and that, depending on
the character encoding ("charset") chosen for serialization, it may be
impossible to write out some characters as part of a CDATA section. </p>
<p> The <code>CDATASection</code> interface inherits from the
<code>CharacterData</code> interface through the <code>Text</code>
interface. Adjacent <code>CDATASection</code> nodes are not merged by
use of the <code>normalize</code> method of the <code>Node</code>
interface.</p>
<note>
<p>Because no markup is recognized within a <code>CDATASection</code>,
character numeric references cannot be used as an escape mechanism
when serializing. Therefore, action needs to be taken when serializing
a <code>CDATASection</code> with a character encoding where some of
the contained characters cannot be represented. Failure to do so would
not produce well-formed XML.</p>
<p>One potential solution in the serialization process is to end the
CDATA section before the character, output the character using a
character reference or entity reference, and open a new CDATA section
for any further characters in the text node. Note, however, that some
code conversion libraries at the time of writing do not return an
error or exception when a character is missing from the encoding,
making the task of ensuring that data is not corrupted on serialization
more difficult.</p>
</note>
</descr>
</interface>
|