#php #xml
#php #xml
Вопрос:
Я читал о DOM и увидел эту функцию DOMCharacterData::appendData
. Он добавляет строковые данные к символьным данным. Итак, с точки зрения непрофессионала, что такое символьные данные?
Ответ №1:
Это определено в терминах непрофессионала в приведенном здесь стандарте.
Проще говоря, символьные данные — это любой текст в HTML, который не является частью тега. Это в отличие от тегов, атрибутов и т.д. Это может быть просто введено как текст, или определено с помощью раздела CDATA в html, или комментария и т.д.
Пример html:
<tag attribute="value">This is character data</tag>
<a><![CDATA[This is also all character data]]></a>
<!-- even this comment is character data -->
В приведенном выше коде «Это все символьные данные» — это символьные данные, но окружающий их тег — нет. То же самое относится к разделу CDATA и комментарию. Одна вещь, которая часто удивляет людей, — это то, что пробелы считаются символьными данными.
Комментарии:
1. Например, являются
<a href="stackoverflow.com">SO</a>
символьными данными? или только часть SO?2. @Doug — ну,
<a href="http://stackoverflow.com">SO</a>
потенциально могут быть символьными данными, но обычно это не так. Для этого и предназначен бит CDATA:<![CDATA[<a href="http://stackoverflow.com">SO</a>]]>
Ответ №2:
Символьные данные — это простой текст. Такие вещи, как DOMText
и DOMComment
, наследуются от DOMCharacterData
, потому что они содержат текстовые данные.
Комментарии:
1. Я собираюсь дать лучший ответ Нику для его примера. Ничего личного, но я также поддержал ваш ответ.