Для путинского пути здесь добавьте мой ответ:
res = pd.DataFrame(columns=('lib', 'qty1', 'qty2'))
res = res.append([{'qty1':10.0}], ignore_index=True)
print(res.head())
lib qty1 qty2
0 NaN 10.0 NaN
Секция CDATA требуется, если вам нужен документ для анализа в формате XML (например, когда страница XHTML интерпретируется как XML) , и вы хотите иметь возможность писать литералы i<10
и a && b
вместо i<10
и a && b
, поскольку XHTML будет анализировать код JavaScript как проанализированные символьные данные, а не по умолчанию. Это не проблема со сценариями, которые хранятся во внешних исходных файлах, но для любого встроенного JavaScript в XHTML вы , вероятно, хотите использовать раздел CDATA.
Обратите внимание, что многие XHTML страницы никогда не должны анализироваться как XML, и в этом случае это не будет проблемой.
Для хорошей записи по этому вопросу см. http://javascript.about.com/library/ blxhtml.htm
Парсер HTML будет обрабатывать все между <script>
и </script>
как часть скрипта. Некоторым реализациям даже не нужен правильный закрывающий тег; они останавливают интерпретацию сценария на «</
», что верно в соответствии со спецификациями .
Обновление В HTML5 и с текущими браузерами это уже не так.
blockquote>Итак, в HTML это не :
<script> var x = '</script>'; alert(x) </script>
Раздел
CDATA
не имеет никакого эффекта. Вот почему вам нужно написатьvar x = '<' + '/script>'; // or var x = '<\/script>';
или аналогичный.
Это также относится к файлам XHTML, которые используются как
text/html
. (Поскольку IE не поддерживает типы содержимого XML, это в основном верно.)XML
В XML применяются разные правила. Обратите внимание, что (не IE) браузеры используют только синтаксический анализатор XML, если XHMTL-документ обслуживается типом содержимого XML.
Для анализатора XML тег
script
не лучше, чем любой другой тег. В частности, узел сценария может содержать нетекстовые дочерние узлы, инициируемые «<
»; и знак «&
» обозначает объект символа.Таким образом, в XHTML это не возможно:
<script> if (a<b && c<d) { alert('Hooray'); } </script>
Чтобы обойти это, вы можете обернуть весь скрипт в секции
CDATA
. Это говорит синтаксическому анализатору: «В этом разделе не обрабатывайте«<
»и«&
»в качестве управляющих символов. Чтобы механизм JavaScript не интерпретировал метки «<![CDATA[
» и «]]>
», вы можете их обернуть комментариями.Если ваш скрипт не содержит никаких «
<
» или «&
", вам все равно не нужен разделCDATA
.
В принципе, это позволяет написать документ, который является как XHTML, так и HTML. Проблема в том, что в XHTML анализатор XML будет интерпретировать символы & amp;, & lt;,> в теге script и вызывать ошибку синтаксического анализа XML. Таким образом, вы можете написать свой JavaScript с объектами, например :
if (a > b) alert('hello world');
Но это нецелесообразно. Большая проблема заключается в том, что если вы читаете страницу в HTML, скрипт считается по умолчанию CDATA], и такой JavaScript не будет работать. Поэтому, если вы хотите, чтобы одна и та же страница была в порядке, используя синтаксические анализаторы XHTML и HTML, вам необходимо заключить тег script в элемент CDATA в XHTML, но НЕ прилагать его в HTML.
Этот трюк обозначает начало элемента CDATA в качестве комментария JavaScript; в HTML парсер JavaScript игнорирует тег CDATA (это комментарий). В XHTML анализатор XML (который запускается перед JavaScript) обнаруживает его и обрабатывает остальные до конца CDATA как CDATA.
Когда вы собираетесь выполнять строгое соответствие XHTML, вам нужно, чтобы CDATA так меньше, и амперсанды не помечены как недопустимые символы.
Если вы хотите, чтобы он проверял (в XML / XHTML - спасибо, Loren Segal ).
Это вещь X (HT) ML. Когда вы используете символы, подобные <
и >
в JavaScript, например. для сравнения двух целых чисел это должно быть проанализировано как XML, поэтому они будут отмечать как начало или конец тега.
CDATA означает, что следующие строки (все до ]]>
а не XML и, следовательно, не следует анализировать таким образом.
, чтобы избежать ошибок xml во время проверки xhtml.
CDATA сообщает браузеру отображать текст как есть, а не отображать его как HTML.
Чтобы убедиться, что проверка XHTML работает правильно, когда у вас есть JavaScript, встроенный в вашу страницу, а не с внешней ссылкой.
XHTML требует, чтобы ваша страница строго соответствовала требованиям разметки XML. Поскольку JavaScript может содержать символы со специальным значением, вы должны обернуть их в CDATA, чтобы убедиться, что проверка не означает, что он неверен.
С HTML-страницами в Интернете вы можете просто включить требуется JavaScript между и тегами. Когда вы проверяете HTML на своей веб-странице, содержимое JavaScript считается CDATA (символьные данные), которое поэтому игнорируется валидатором. То же самое не верно, если вы следуете более поздним стандартам XHTML при настройке своей веб-страницы. С XHTML код между тегами скрипта считается PCDATA (анализируемые символьные данные), который поэтому обрабатывается валидатором.
Из-за этого вы не можете просто включать JavaScript между тегами сценария на своем страницы без «взлома» вашей веб-страницы (по крайней мере, насколько это касается валидатора).
blockquote> blockquote>Вы можете узнать подробнее о CDATA здесь и подробнее о XHTML здесь .
CDATA указывает, что содержимое внутри не является XML.
Используйте not использовать CDATA в HTML4, но вы должны использовать CDATA в XHTML, а должны использовать CDATA в XML, если у вас есть неэкранированные символы типа & lt; ; и>.
Когда браузер обрабатывает разметку как XML:
<script>
<![CDATA[
...code...
]]>
</script>
Когда браузер обрабатывает разметку как HTML:
<script>
...code...
</script>
Когда браузер обрабатывает разметку как HTML, и вы хотите, чтобы XHTML 1.0 (например) для проверки.
<script>
//<![CDATA[
...code...
//]]>
</script>
/* ... */
, поскольку в противном случае, если разрывы строк будут удалены, код сломается
– BryanH
3 November 2015 в 21:05
Таким образом, старый браузер не анализирует Javascript-код, и страница не прерывается.
Обратная совместимость. Должен любить это.
CDATA указывает, что содержимое внутри не является XML.
Вот объяснение в wikipedia
&
и<
, вам не нужен раздел CDATA; он будет хорошо работать как в HTML, так и в XHTML. Вы можете легко достичь этого, поместив весь значительный код во внешние скрипты и просто используя встроенные скрипты, например. инициализировать переменные (экранирование&
/<
до\x26
/\x3C
в строковых литералах, если вам нужно). – bobince 20 September 2009 в 10:10