2010-12-02 4 views
16

Гуру,В чем смысл CDATA

Я самоучитель. Там много чего вы просвещенные звонок basic Я ничего не знаю.

Чтение этой 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?

+17

CDATA. CDATA Run. Запуск данных! – 2010-12-02 20:51:59

ответ

15

С <![CDATA[ вы можете embed JS in XML (and XHTML) documents без необходимости замены special XML characters как <, >, & и т.д. с помощью XML-сущностей &lt;, &gt;, &amp; и т.д., чтобы предотвратить то, что синтаксис XML получить неверен, что вы получаете ошибки, как The entity name must immediately follow the '&' in the entity reference. Однако общая рекомендация заключается в том, чтобы поставить JS-код в свой собственный файл .js, который затем включается в <script src>.

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

+0

Я начал кодировать проект с помощью Netbeans 6.9.Весь мой код (html/PHP) начинается с . Спасибо за ваш вклад. – Chris 2010-12-02 21:10:34

+0

Добро пожаловать. – BalusC 2010-12-02 21:13:13

3

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

2

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

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

1

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

3

Википедия подводит итог очень хорошо:

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

Способ, которым я смотрю на него, CDATA хранит синтаксический анализатор XML от стерилизации кода (делая его отображаемым только как текст, а не код).

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