Что такое CDATA?
CDATA — сокращение от character data что в переводе с английского обозначает «символьные данные.» Используется для разных, но связных между собой целей в языках разметки SGML и XML. CDATA показывает, что определённая часть документа представляет собой символьные данные, в отличие от несимвольных или символьных, но особым образом структурированных данных.
В XML документах фрагмент помещённый внутрь CDATA это часть содержания элемента помеченная для парсера, что она содержит только символьные данные, не разметку. CDATA — это просто альтернативный синтаксис для отображения символьных данных, нет никакой смысловой разницы между символьными данными, которые объявлены как CDATA и символьными данным которые объявлены в обычном синтаксисе и где «
Литеральное представление XML-раздела CDATA (Visual Basic)
Обязательный. Обозначает начало раздела XML CDATA.
content
Обязательный. Текстовое содержимое, отображаемого в разделе XML CDATA.
]]>
Обязательный. Обозначает конец раздела.
Возвращаемое значение
Комментарии
Разделы XML CDATA содержат необработанный текст, который должен быть включен, но не проанализирован с XML-кодом, который его содержит. Раздел XML CDATA может содержать любой текст. Сюда входят зарезервированные XML-символы. Раздел XML CDATA заканчивается последовательностью «]]>». Это подразумевает следующие моменты:
- Нельзя использовать внедренное выражение в xml-литерале CDATA, так как разделители внедренных выражений являются допустимым содержимым XML CDATA.
- Разделы XML CDATA не могут быть вложенными, так как content не могут содержать значение «]]>».
Вы можете назначить литерал XML CDATA переменной или включить его в литерал xml-элемента.
XML-литерал может охватывать несколько строк, но не использует символы продолжения строки. Это позволяет копировать содержимое из XML-документа и вставлять его непосредственно в программу Visual Basic.
Компилятор Visual Basic преобразует xml-литерал CDATA в вызов конструктора XCData .
Пример
В следующем примере создается раздел CDATA, содержащий текст «Может содержать литеральные «.
Dim cdata As XCData = tags]]>
См. также раздел
- XCData
- XML-литерал элемента
- XML-литералы
- Создание XML в Visual Basic
Совместная работа с нами на GitHub
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.
XML CDATA
Весь текст в документе XML будут обрабатываться анализатором.
Только раздел CDATA, текст будет игнорироваться анализатором.
PCDATA — синтаксический анализ данных символов
XML парсеры обычно разобрать весь текст в документе XML.
Когда XML-элемент анализируется, текст между тегами он будет решен:
Парсер сделал это потому, что XML-элементы могут содержать другие элементы, как в данном случае, где содержит два элемента (первый и последний):
Анализатор будет разбить его на суб-элементы, как это:
Разбираемые символьных данных (PCDATA) это термин, используемый в текстовых данных в XML-анализатор.
CDATA — (неразрешенный) символьных данных
Термин CDATA текстовые данные не должны быть разобраны с помощью XML-анализатором.
«&» Будет генерировать ошибку, потому что анализатор будет интерпретировать как символ сущностей стартового символа.
Все содержимое раздела CDATA будет игнорироваться анализатором.
В приведенном выше примере, анализатор будет игнорировать все секции CDATA содержание.
Замечания по разделу CDATA:
CDATA секция не может содержать строку «]]>». Это не позволяет вложенные секции CDATA.
Отмечает конец раздела CDATA. «]]>» Не могут содержать пробелы или разрывы строк.
CDATA — текстовые данные XML
Однако текст внутри секции CDATA парсером игнорируется.
PCDATA — Анализируемые символьные данные
Обычно XML парсеры анализируют и разбирают все текстовые данные в XML документе.
Когда парсится XML элемент, текст между тегами XML также анализируется:
Этот текст тоже парсится
Это делается по той причине, что XML элементы могут содержать другие элементы.
Например, в следующем примере элемент содержит еще два элемента (first и last):
Bill Gates
и парсер разобьет его на подэлементы следующим образом:
Bill Gates
Анализируемые символьные данные (PCDATA) — это термин, используемый по отношению к текстовым данным, которые подвергаются анализу и разбору XML парсером.
CDATA — (Неанализируемые) Символьные данные
Термин CDATA используется по отношению текстовых данных, которые не должны анализироваться и разбираться XML парсером.
Символ «&» вызовет ошибку, потому что парсер будет интерпретировать его, как начало символьной сущности.
Тем не менее, некоторые текстовые данные, например, код JavaScript, могут содержать множество символов »
Все что расположено внутри секции CDATA полностью игнорируется парсером.
В приведенном примере все текстовые данные внутри секции CDATA будут игнорироваться парсером.
Обратите внимание на особенность секции CDATA:
Секция CDATA не может содержать строку «]]>«.
Вложенные секции CDATA запрещены.
Символы «]]>«, обозначающие конец секции CDATA, не должны содержать пробельные символы или символы конца строки.