Подтвердить что ты не робот

В чем смысл CDATA

Gurus,

Я самоучкой. Там много того, что вы просвещенные называют базовым, о котором я ничего не знаю.

Прочитав этот jQuery Tutorial, я заметил этот тег (из-за отсутствия лучшего слова): "CDATA", как показано здесь (третья строка сверху):

<script src="http://jquery.com/src/jquery-latest.js"></script>
<script> 
//<![CDATA[    
$(document).ready(function(){
$(".article .thebody").hide();
$("#container .article ul")
       .prepend("<li class='readbody'><a href='' title='Read the article'>Read Body</a></li>");

$(".actions li.readbody a").click(function(event){
$(this).parents("ul").prev(".thebody").toggle();
event.preventDefault();
     });
   });
//]]></script>

В чем смысл CDATA? Есть ли теги, похожие на CDATA?

4b9b3361

Ответ 1

С <![CDATA[ вы можете вставлять JS в документы XML (и XHTML) без необходимости замены специальные символы XML, такие как <, >, & и т.д. XML-сущностями &lt;, &gt;, &amp; и т.д., чтобы исключить, что XML синтаксис будет искажен и вы получите ошибки, такие как Имя объекта должно немедленно следовать за символом & в ссылке на объект. Однако общая рекомендация заключается в том, чтобы поставить JS-код в свой собственный .js файл, который затем включается <script src>.

<![CDATA[ не требуется в простых HTML-документах. Если вы не разрабатываете технологию просмотра на основе XML, например Facelets (для JSF) или ASP.NET MVC, нет необходимости объявлять ваш HTML как XHTML. Просто <!DOCTYPE html> хватит

Ответ 2

Причиной CDATA в этом сценарии является разрешить загрузку документа как прямой XML. В XML // будет рассматриваться как текст вместо комментария, и поэтому он будет видеть CDATA как тег XML.

Ответ 3

Википедия подводит итог:

В документе XML или внешнем анализируемом объекте секция CDATA представляет собой раздел содержимого элемента, который помечен для анализатора, чтобы интерпретировать его как только символьные данные, а не разметку. Раздел CDATA является просто альтернативным синтаксисом для выражения символьных данных; не существует семантической разницы между символьными данными, которые проявляются как раздел CDATA и символьные данные, которые проявляются как в обычном синтаксисе, в котором < и & будут представлены соответственно &lt; и &amp;.

Как я смотрю на него, CDATA позволяет синтаксическому анализатору XML стерилизовать ваш код (делая его отображаемым как текст, а не код).

Надеюсь, это объяснит некоторые из них...

Ответ 4

CDATA - это символьные данные, которые игнорируются валидатором.

Вы переносите такие вещи, как javascript, в теги CDATA, поэтому ваш html проверяет (конечно, это не обязательно, если вы следуете более поздним стандартам XHTML).

Ответ 5

Это специальная последовательность, позволяющая встроить javascript со специальными символами, сохраняя при этом страницу как действительный xhtml. Подробнее здесь. По существу, не беспокойтесь о его точном значении, но положите его туда!