What is the meaning of CDATA What is the meaning of CDATA xml xml

What is the meaning of CDATA


With <![CDATA[ you can embed JS in XML (and XHTML) documents without the need to replace special XML characters like <, >, &, etc by XML entities <, >, & etc to prevent that the XML syntax get malformed and that you get errors like The entity name must immediately follow the '&' in the entity reference. The general recommendation is however to put JS code in its own .js file which you then include by a <script src>.

The <![CDATA[ is not needed in plain HTML documents. Unless you're developing with a XML based view technology like Facelets (for JSF) or ASP.NET MVC, there's absolutely no need to declare your HTML as XHTML. Just a <!DOCTYPE html> would suffice


The reason for CDATA in this scenario is to allow the document to be loaded as straight XML. In XML the // will be treated as text instead of a comment and hence it will then see CDATA as an XML tag.


Wikipedia sums it up really well:

In an XML document or external parsed entity, a CDATA section is a section of element content that is marked for the parser to interpret as only character data, not markup. A CDATA section is merely an alternative syntax for expressing character data; there is no semantic difference between character data that manifests as a CDATA section and character data that manifests as in the usual syntax in which < and & would be represented by < and &, respectively.

The way I look at it, CDATA keeps the XML parser from sterilizing your code (making it display as just text, not code).

I hope that explains some of it...