2013-07-17 4 views
4

Я видел некоторый код Javascript, содержащий CDATA. например ниже которого я скопирован с http://www.w3schools.com/xml/xml_cdata.aspКогда использовать <! [CDATA [в Javascript

<script> 
    <![CDATA[ 
    function matchwo(a,b) 
    { 
    if (a < b && a < 0) then 
     { 
     return 1; 
     } 
    else 
     { 
     return 0; 
     } 
    } 
    ]]> 
    </script> 

Обратите внимание, что я сделал описание содержащегося на ссылку выше. Однако я мог прийти к выводу о том, когда нужно использовать тэг CDATA.

Если кто-нибудь может помочь мне понять цель этого тега и когда его использовать, это будет здорово.

+0

http://stackoverflow.com/q/66837/560648 –

ответ

3

Просто мы можем сказать, что мы нужны CDATA часть нам нужен ваш документ для разбора в XML

+0

Я прочитал это, но до сих пор не ответил на мой вопрос. Когда мы должны использовать его и какова цель, если Parser все равно игнорирует его. –

+0

Речь идет не о валидаторе. Речь идет о любом синтаксическом анализаторе XML, включая браузеры. (Если вы используете XHTML как text/html, чтобы они не анализировались в режиме XML, почему вы используете XHTML?) – Quentin

+0

Это не имеет смысла. – BoltClock

6

В XHTML содержание элементов сценария рассматривается как разметка. Таким образом, у < и & свой обычный смысл. Блок CDATA сообщает парсеру рассматривать контент как текст вместо разметки, поэтому вы можете сказать , если x меньше y без <, рассматриваемого как начало тега. Обратите внимание: если вы обслуживаете XHTML с Content-Type text/html, тогда он будет обрабатываться как сломанный HTML, а не как XML. Я рекомендую избегать XHTML - это полезно только в том случае, если у вас есть XML-процессоры в вашей цепочке инструментов и махинация, чтобы хорошо играть с парсерами HTML, это ненужная работа. Просто напишите HTML и сделайте это.

0

CDATA не имеет смысла в HTML, но в XML используется для обработки символов, таких как угловые скобки и амперсанды. Я использую блок CDATA, когда мне нужно включить JavaScript в мои XSL-преобразования.

Понимание того, что делает CDATA, вероятно, поможет вам понять, когда его использовать: «Некоторые тексты, такие как код JavaScript, содержат много символов« < »или« & ». Чтобы избежать ошибок, код сценария может быть определен как CDATA. " См. Также: What is CDATA in HTML?

Смежные вопросы