Что именно такое символьные данные?

#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. Я собираюсь дать лучший ответ Нику для его примера. Ничего личного, но я также поддержал ваш ответ.