A CDATA is coded like this.
<![CDATA[<b>Your Code Goes Here</b>]]>
The CDATA Tag starts with
<![CDATA[
and ends with
]]>
Your code goes in between.
NOTE that you cannot nest cdata blocks. the first ]]> terminates the block
A comment is coded like this:
<!-- My comment goes here.
and it can span multiple lines -->
The comment starts with
<!--
and ends with
-->
NOTE that you cannot nest comments AND you cannot use a double dash -- within the span of the comment
A processing instruction is coded like this:
<?ignore
....
what ever I want here, including <!-- comments -->
...
?>
A processing instruction is not part of the XML stream, but rather is a special directive to the parser that is processing the XML. By definition, an XML parser ignores any processing instruction that it does not understand.
Therefore, you can use a bogus processing instruction to wrap blocks of XML that you wish to ignore, even if those blocks include embedded comments.
NOTE that you cannot nest processing instructions. the first ?> terminates the block