Svoboda | Graniru | BBC Russia | Golosameriki | Facebook

Для установки нажмите кнопочку Установить расширение. И это всё.

Исходный код расширения WIKI 2 регулярно проверяется специалистами Mozilla Foundation, Google и Apple. Вы также можете это сделать в любой момент.

4,5
Келли Слэйтон
Мои поздравления с отличным проектом... что за великолепная идея!
Александр Григорьевский
Я использую WIKI 2 каждый день
и почти забыл как выглядит оригинальная Википедия.
Статистика
На русском, статей
Улучшено за 24 ч.
Добавлено за 24 ч.
Альтернативы
Недавние
Show all languages
Что мы делаем. Каждая страница проходит через несколько сотен совершенствующих техник. Совершенно та же Википедия. Только лучше.
.
Лео
Ньютон
Яркие
Мягкие

Из Википедии — свободной энциклопедии

CDATA (/ˈsi.deɪ.tə/) — сокращение от «character data» (в переводе с англ. — «символьные данные»). Используется для разных, но связанных между собой целей в языках разметки SGML и XML. CDATA показывает, что определённая часть документа представляет собой символьные данные, в отличие от несимвольных или символьных, но особым образом структурированных, данных.

CDATA в XML

В XML документах фрагмент, помещённый внутрь CDATA, — это часть содержания элемента, которая помечена для парсера как содержащая только символьные данные, а не разметку. CDATA — это просто альтернативный синтаксис для отображения символьных данных, нет никакой смысловой разницы между символьными данными, которые объявлены как CDATA и символьными данными, которые объявлены в обычном синтаксисе и где «<» и «>» будут представлены как «<» и «>», соответственно.

Синтаксис и интерпретация

Раздел CDATA начинается со следующей последовательности символов:

<![CDATA[

и заканчивается с первым появлением последовательности:

]]>

Все символы, заключённые между этими двумя последовательностями, интерпретируются как символы, а не как разметка или ссылки на объект. Например, в этой строке:

<sender>John Smith</sender>

открывающий и закрывающий теги «sender» будут интерпретированы как разметка. Однако, если записать её вот так:

<![CDATA[<sender>John Smith</sender>]]>

то этот код будет интерпретирован так же, как если бы было записано:

<sender>John Smith</sender>

Таким образом, теги sender будут восприниматься так же, как «John Smith», то есть как текст.

Аналогично, если в содержимом элемента появляется цифровая последовательность ð, это будет интерпретировано как простой символ Юникода 00F0. Но если эта последовательность появится в разделе CDATA, она будет разделена на 6 символов: амперсанд, знак октоторпа, цифру 2, цифру 4, цифру 0 и точку с запятой.

Использование CDATA

Новички в использовании XML часто неверно представляют назначение раздела CDATA как «защиту» от обработки данных внутри этого раздела. Некоторые API для работы с XML документами предоставляют независимый доступ к разделу CDATA, но эти возможности существуют поверх и вне обычных требований к системе обработки XML и не меняют смысл этих данных. Символьные данные — это символьные данные, независимо от того, записаны они в раздел CDATA или же с помощью обычной разметки.

Раздел CDATA полезен, когда надо написать XML код как текстовые данные внутри XML документа. Например, если надо набрать книгу про XML на XSL с примерами использования XML приложений, то встречающиеся примеры будут заключены в CDATA. Однако, CDATA не может содержать строку «]]>» и, следовательно, невозможно создавать вложенные разделы CDATA. Если текст содержит «]]>», то можно его отобразить, используя, например, несколько разделов CDATA, оканчивая один из них перед символом «>». Пример:

<![CDATA[]]]]><![CDATA[>]]>

Поэтому для того чтобы закодировать ]]> в разделе CDATA, заменяют все вхождения этого набора символов на следующее:

]]]]><![CDATA[>

CDATA в DTD

Значения атрибутов типа CDATA

В DTD-файлах и в SGML и в XML атрибуту может быть назначен тип CDATA — произвольные символьные данные. Внутри атрибута типа CDATA разрешены указатели на символ и ссылки на сущность, они будут обрабатываться при чтении документа.

Например, если XML DTD содержит

<!ATTLIST foo a CDATA #IMPLIED>

это значит, что элементы, названные foo, имеют необязательный атрибут «a» типа CDATA. В XML документе, который соответствует этому DTD, может появиться такой элемент:

<foo a="1 & 2 are < 3 ">

и XML-парсер интерпретирует атрибут «a» как символьные данные «1 & 2 are < 3».

Сущности типа CDATA

SGML и XML DTD могут также включать объявления сущностей, в которых маркер CDATA используется, чтобы указать, что сущность представляет собой символьные данные. Символьные данные могут появиться в самом описании или же могут быть доступны как внешний ресурс по ссылке URI. Так или иначе в этой сущности разрешены указатели на символ и ссылки на сущность, которые будут обрабатываться при чтении документа.

Содержание элемента типа CDATA

SGML DTD может объявить содержание элемента типа CDATA. Внутри элемента типа CDATA не обрабатывается никакая разметка. Можно провести аналогию с разделом CDATA в XML, но в данном случае нет никакой специальной разметки, тип CDATA действует сразу на всё содержимое элемента.

См. также

Эта страница в последний раз была отредактирована 16 августа 2022 в 16:38.
Как только страница обновилась в Википедии она обновляется в Вики 2.
Обычно почти сразу, изредка в течении часа.
Основа этой страницы находится в Википедии. Текст доступен по лицензии CC BY-SA 3.0 Unported License. Нетекстовые медиаданные доступны под собственными лицензиями. Wikipedia® — зарегистрированный товарный знак организации Wikimedia Foundation, Inc. WIKI 2 является независимой компанией и не аффилирована с Фондом Викимедиа (Wikimedia Foundation).