एक CDATA अनुभाग " तत्व सामग्री का एक भाग है जिसे पार्सर के लिए केवल वर्ण डेटा के रूप में व्याख्या करने के लिए चिह्नित किया जाता है, मार्कअप नहीं। "
सिंथेटिक रूप से, यह एक टिप्पणी के समान व्यवहार करता है:
<exampleOfAComment>
<!--
Since this is a comment
I can use all sorts of reserved characters
like > < " and &
or write things like
<foo></bar>
but my document is still well-formed!
-->
</exampleOfAComment>
... लेकिन यह अभी भी दस्तावेज़ का हिस्सा है:
<exampleOfACDATA>
<![CDATA[
Since this is a CDATA section
I can use all sorts of reserved characters
like > < " and &
or write things like
<foo></bar>
but my document is still well formed!
]]>
</exampleOfACDATA>
निम्नलिखित को एक .xhtml
फ़ाइल ( नहीं .html
) के रूप में सहेजने का प्रयास करें और टिप्पणी और सीडीएटीए अनुभाग के बीच अंतर देखने के लिए इसे फायरफॉक्स ( इंटरनेट एक्सप्लोरर नहीं ) का उपयोग करके खोलें ; जब आप किसी ब्राउज़र में दस्तावेज़ को देखते हैं तो यह टिप्पणी नहीं दिखाई देगी, जबकि CDATA अनुभाग होगा:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" >
<head>
<title>CDATA Example</title>
</head>
<body>
<h2>Using a Comment</h2>
<div id="commentExample">
<!--
You won't see this in the document
and can use reserved characters like
< > & "
-->
</div>
<h2>Using a CDATA Section</h2>
<div id="cdataExample">
<![CDATA[
You will see this in the document
and can use reserved characters like
< > & "
]]>
</div>
</body>
</html>
CDATA वर्गों के साथ कुछ ध्यान रखना है कि उनके पास कोई एन्कोडिंग नहीं है, इसलिए ]]>
उनमें स्ट्रिंग को शामिल करने का कोई तरीका नहीं है। किसी भी वर्ण डेटा जिसमें सम्मिलित ]]>
है - जहां तक मुझे पता है - इसके बजाय एक पाठ नोड हो। इसी तरह, एक डोम हेरफेर के नजरिए से आप एक CDATA अनुभाग नहीं बना सकते हैं जिसमें शामिल हैं ]]>
:
var myEl = xmlDoc.getElementById("cdata-wrapper");
myEl.appendChild(xmlDoc.createCDATASection("This section cannot contain ]]>"));
यह डोम हेरफेर कोड या तो एक अपवाद (फ़ायरफ़ॉक्स में) फेंक देगा या खराब संरचित एक्सएमएल दस्तावेज़ में परिणाम देगा: http://jsfiddle.net/9NNHA/