В чем смысл 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?
Ответы
Ответ 1
С <![CDATA[
вы можете вставлять JS в документы XML (и XHTML) без необходимости замены специальные символы XML, такие как <
, >
, &
и т.д. XML-сущностями <
, >
, &
и т.д., чтобы исключить, что 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 и символьные данные, которые проявляются как в обычном синтаксисе, в котором <
и &
будут представлены соответственно <
и &
.
Как я смотрю на него, CDATA
позволяет синтаксическому анализатору XML стерилизовать ваш код (делая его отображаемым как текст, а не код).
Надеюсь, это объяснит некоторые из них...
Ответ 4
CDATA - это символьные данные, которые игнорируются валидатором.
Вы переносите такие вещи, как javascript, в теги CDATA, поэтому ваш html проверяет (конечно, это не обязательно, если вы следуете более поздним стандартам XHTML).
Ответ 5
Это специальная последовательность, позволяющая встроить javascript со специальными символами, сохраняя при этом страницу как действительный xhtml. Подробнее здесь. По существу, не беспокойтесь о его точном значении, но положите его туда!