Что такое cdata в xml
Что означает в XML?
Я часто нахожу этот странный тег CDATA в файлах XML :
Я заметил, что этот тег CDATA всегда приходит в начале, а затем сопровождается некоторыми вещами.
ОТВЕТЫ
Ответ 1
CDATA означает Персональные данные, и это означает, что данные между этими строками включают данные, которые могут быть интерпретированы как разметка XML, но не должны быть.
Ключевыми отличиями между CDATA и комментариями являются:
Это означает, что эти три фрагмента XML из одного хорошо сформированного документа:
Ответ 2
Синтаксически он ведет себя аналогично комментарию:
. но он все еще является частью документа:
Этот код манипуляции DOM либо генерирует исключение (в Firefox), либо приводит к плохо структурированному XML-документу: http://jsfiddle.net/9NNHA/
Ответ 3
Один большой случай использования: ваш xml включает в себя программу в качестве данных (например, учебник для веб-страниц для Java). В этой ситуации ваши данные содержат большой кусок символов, которые включают «&» и ‘
Ответ 4
Мне когда-то пришлось использовать CDATA, когда мой XML-тег должен был хранить HTML-код. Что-то вроде
Таким образом, CDATA означает, что он игнорирует любой символ, который в противном случае можно было бы интерпретировать как XML-тэг типа и т.д.
Ответ 5
Данные, содержащиеся в нем, не будут анализироваться как XML и, следовательно, не должны быть действительными XML или могут содержать элементы, которые могут казаться XML, но не являются.
Ответ 6
[В] документе XML или внешнем анализируемом объекте, раздел CDATA является раздел содержимого элемента, который помечен для интерпретатора для интерпретации как только символьные данные, а не разметка.
Таким образом: текст внутри CDATA рассматривается синтаксическим анализатором, но только как символы не как узлы XML.
Ответ 7
CDATA обозначает символы. Вы можете использовать это, чтобы избежать некоторых символов, которые иначе будут обрабатываться как обычный XML. Данные внутри этого не будут анализироваться. Например, если вы хотите передать URL-адрес, содержащий & в нем, вы можете использовать CDATA для этого. В противном случае вы получите сообщение об ошибке, поскольку оно будет проанализировано как обычный XML.
Ответ 8
В качестве другого примера использования.
Если у вас есть RSS-канал (XML-документ) и вы хотите включить некоторые основные HTML-кодировки в отображение описания, вы можете использовать CData для его кодирования:
RSS Reader извлекает описание и отображает HTML внутри CDATA.
Примечание. Не все HTML-теги работают. Я думаю, что это зависит от используемого вами читателя RSS.
И как объяснение того, почему в этом примере используются CData (а не соответствующие теги pubData и dc: creator). это для отображения веб-сайта с использованием виджета RSS, для которого у нас нет реального управления форматированием.
Это позволяет нам указать высоту и положение включенного изображения, правильно отформатировать имена и дату автора и т.д., без необходимости в новом виджете. Это также означает, что я могу использовать script и не добавлять их вручную.
Ответ 9
Он содержал данные, которые иначе можно было бы рассматривать как xml, поскольку они содержат определенные символы.
Таким образом, данные внутри будут отображаться, но не интерпретироваться.
Ответ 10
Обычно используется для встраивания пользовательских данных, например изображений или звуковых данных в документ XML.
Ответ 11
Литеральное представление XML-раздела CDATA (Visual Basic)
Литерал, представляющий XCData объект.
Синтаксис
Компоненты
Обязательный элемент. Обозначает начало раздела XML CDATA.
content
Обязательный элемент. Текстовое содержимое, отображаемое в разделе CDATA XML.
]]>
Обязательный элемент. Обозначает конец раздела.
Возвращаемое значение
Комментарии
Разделы XML CDATA содержат необработанный текст, который должен быть добавлен, но не проанализирован, с XML-кодом, содержащим его. Раздел CDATA XML может содержать любой текст. Сюда входят зарезервированные символы XML. Раздел CDATA XML заканчивается последовательностью «]] >». Это подразумевает следующие моменты:
Нельзя использовать внедренное выражение в XML-литерале CDATA, так как разделители внедренных выражений являются допустимыми содержимым XML CDATA.
Разделы CDATA XML не могут быть вложенными, поскольку content не могут содержать значение «]] >».
Можно назначить литерал XML CDATA переменной или включить его в литерал XML-элемента.
XML-литерал может охватывать несколько строк, но не использует символы продолжения строки. это позволяет копировать содержимое из XML-документа и вставлять его непосредственно в Visual Basic программу.
компилятор Visual Basic преобразует литерал CDATA XML в вызов XCData конструктора.
Пример
В следующем примере создается раздел CDATA, содержащий текст «может содержать литеральные теги».
Что означает в XML?
Я часто нахожу этот странный CDATA тег в XML файлах:
Я заметил, что этот CDATA тег всегда появляется в начале, а затем сопровождается некоторыми вещами.
CDATA означает Символьные данные, и это означает, что данные между этими строками включают в себя данные, которые могут быть интерпретированы как разметка XML, но не должны.
Основные различия между CDATA и комментариями:
Это означает, что эти четыре фрагмента XML из одного правильно сформированного документа:
Синтаксически, он ведет себя подобно комментарию:
. но это все еще часть документа:
Этот код манипулирования DOM будет либо генерировать исключение (в Firefox), либо приводить к плохо структурированному XML-документу: http://jsfiddle.net/9NNHA/
Один большой пример использования: ваш xml включает программу в качестве данных (например, учебник по веб-страницам для Java). В этой ситуации ваши данные включают в себя большой набор символов, которые включают «&» и « — не-только-йети
источник
Мне когда-то приходилось использовать CDATA, когда мой элемент xml требовал хранения HTML-кода. Что-то вроде
Таким образом, CDATA означает, что он будет игнорировать любой символ, который в противном случае может быть интерпретирован как тег XML, такой как и т. Д.
Содержащиеся в нем данные не будут анализироваться как XML, и поэтому не обязательно должны быть действительными XML или могут содержать элементы, которые могут выглядеть как XML, но не являются таковыми.
Таким образом: текст внутри CDATA воспринимается синтаксическим анализатором, но только как символы, а не как узлы XML.
В качестве другого примера его использования:
Если у вас есть RSS-канал (XML-документ) и вы хотите включить некоторую базовую кодировку HTML в отображение описания, вы можете использовать CData для его кодирования:
RSS Reader извлекает описание и отображает HTML-код в CDATA.
И как объяснение того, почему в этом примере используются CData (а не соответствующие теги pubData и dc: creator): это для отображения веб-сайта с использованием виджета RSS, для которого у нас нет реального элемента управления форматированием.
Это позволяет нам указать высоту и положение включенного изображения, правильно отформатировать имена и дату автора и т. Д. Без необходимости создания нового виджета. Это также означает, что я могу написать это и не добавлять их вручную.
CDATA расшифровывается как Character Data. Вы можете использовать это для экранирования некоторых символов, которые в противном случае будут рассматриваться как обычный XML. Данные внутри этого не будут проанализированы. Например, если вы хотите передать URL-адрес, содержащийся & в нем, вы можете использовать CDATA для этого. В противном случае вы получите ошибку, поскольку она будет проанализирована как обычный XML.
Он используется для хранения данных, которые в противном случае могут рассматриваться как xml, поскольку содержат определенные символы.
Таким образом, данные внутри будут отображаться, но не интерпретироваться.
Разница между PCDATA и CDATA в DTD
в чем разница между #PCDATA и #CDATA на DTD?
6 ответов
PCDATA-проанализированные символьные данные
синтаксические анализаторы XML обычно анализируют весь текст в XML-документе.
термин CDATA используется для текстовых данных, которые не должны анализироваться синтаксическим анализатором XML.
по умолчанию все PCDATA. В следующем примере, игнорируя корень, будет проанализирован, и у него не будет контента, кроме одного ребенок.
в SGML есть несколько моделей контента. Модель содержимого #PCDATA говорит, что элемент может содержать простой текст. «Проанализированная» часть означает, что разметка (включая PiS, комментарии и директивы SGML) в ней анализируется вместо отображения в виде необработанного текста. Это также означает, что ссылки на сущности заменяется.
другой тип модели контента, позволяющий содержание обычного текста является CDATA. В XML модель содержимого элемента не может быть неявно установлена в CDATA, но в SGML это означает, что разметка и ссылки на сущности игнорируются в содержимом элемента. Однако в атрибутах типа CDATA ссылки на сущности заменяются.
в XML #PCDATA является единственной моделью содержимого обычного текста. Вы используете его, если вы вообще хотите разрешить текстовое содержимое в элементе. Модель содержимого CDATA может использоваться явно через разметку блока CDATA в #PCDATA, но содержимое элемента не может быть определено как CDATA по умолчанию.
#PCDATA не подходит для типа атрибута. Он используется для типа «листового» текста.
#PCDATA добавляется хэшем просто по историческим причинам.
потенциально действительно запутанная проблема это там другое » CDATA,» также упоминается как отмеченные разделы. Ля маркированный участок-это часть элемента (#PCDATA) содержимое, разделенное специальные строки: закрыть его. Если вы помните, что PCDATA » анализируется характер данные, » раздел CDATA буквально то же самое, без «проанализированный.»Парсеры передают контент в отмеченном разделе течению применения без икать каждое время, когда они сталкиваются со специальными персонажами
Так вы можно сделать вывод, что исключение правило «любой старый текст» заключается в том, что PCDATA не может включать любой из этих неоставляют специальные символы, если они не падают в рамках CDATA с пометкой раздел.
PCDATA-проанализированные символьные данные. Он анализирует все данные в xml-документе.
здесь элемент family содержит еще 2 элементы «мать» и «отец». Поэтому он разбирает дальше, чтобы получить текст матери и отца, чтобы дать значение семьи как «мама папа»
содержимое CDATA – данные персонажа неразобраться. Это данные, не следует анализировать дальше в XML-документ.
самое главное различие между PCDATA и CDATA является
PCDATA-в основном используется для элементов в то время как
CDATA-используется для атрибутов XML i.E ATTLIST
CDATA (Character данные): это аналогично комментарию, но это часть документа. т. е. CDATA-это данные, это часть документа, но данные не могут быть проанализированы в XML.
Примечание: XML-комментарий опускается при анализе XML, но CDATA показывает, как это есть.
PCDATA (Pлень Character данные) :по умолчанию, все PCDATA. PCDATA-это данные, они могут быть проанализированы в XML.
Рекомендуемые XML-теги для комментариев к документации по C#
В комментариях к документации по C# используются XML-элементы, что позволяет определить структуру выходной документации. Одним из последствий использования этой функции является то, что в комментарии к документации можно добавить любой допустимый XML-код. Компилятор C# копирует эти элементы в выходной XML-файл. Несмотря на то что в комментариях (включая любой допустимый HTML-элемент) можно использовать любой допустимый XML-код, документирование кода рекомендуется по многим причинам.
Далее приводится ряд рекомендаций, распространенные сценарии использования и вопросы, которые нужно иметь в виду при работе с тегами XML-документации в коде C#. Несмотря на то что теги можно поместить в комментарии к документации, в этой статье описываются рекомендуемые теги для наиболее распространенных конструкций языка. Во всех случаях следует соблюдать следующие рекомендации:
XML-файл не предоставляет полную информацию о типе и членах (например, он не содержит никаких сведений о типе). Чтобы получить полную информацию о типе или элементе, используйте файл документации вместе с отражением для текущего типа или элемента.
Некоторые из рекомендуемых тегов можно использовать для любого элемента языка. Другие имеют более специализированное использование. Наконец, некоторые теги используются для форматирования текста в документации. В этой статье описываются рекомендуемые теги, упорядоченные по их использованию.
Комментарии документации не применяются к пространству имен.
Чтобы ввести в текст комментария документации угловые скобки, используйте для символов и > коды HTML и > соответственно. Это показано в следующем примере.
Общие теги
Члены документа
Тег следует использовать в комментариях к объявлению метода для описания возвращаемого значения.
следует использовать в комментариях к объявлению метода для описания одного из параметров такого метода. Чтобы задокументировать несколько параметров, используйте несколько тегов
отображается в IntelliSense, обозревателе объектов и веб-отчете по комментариям к коду.
Тег служит для указания возможных исключений. Этот тег может применяться к определениям методов, свойств, событий и индексаторов.
Форматирование выходных данных документации
создает абзац с двойным отступом. Используйте тег
, если хотите добавить в него один абзац.
Тег используется для указания нескольких строк кода. С помощью тега можно указать, что однострочный текст в описании необходимо пометить как код.
Повторное использование текста документации
Наследование XML-комментариев от базовых классов, интерфейсов и аналогичных методов. Использование inheritdoc позволяет обойтись без копирования и вставки одинаковых XML-комментариев и автоматически поддерживать их синхронизацию. Обратите внимание, что при добавлении тега к типу все члены также будут наследовать эти комментарии.
Тег позволяет задать ссылку на комментарии в другом файле, которые описывают типы и элементы вашего исходного кода. Включение внешнего файла является альтернативой размещению комментариев документации непосредственно в файле исходного кода. Помещая комментарии документации в отдельный файл, вы можете реализовать управление их версиями отдельно от версий исходного кода. В этом случае файл исходного кода может быть извлечен для изменения одним пользователем, а файл документации — другим. Тег использует XML-синтаксис XPath. Сведения об использовании тега см. в документации по XPath.
Создание ссылок и гиперссылок
Атрибут cref
Атрибут cref в теге XML-документации означает «кодовая ссылка». Он указывает, что текст внутри тега представляет собой элемент кода, например тип, метод или свойство. Средства создания документации, такие как DocFX и Sandcastle, используют атрибуты cref для автоматического создания гиперссылок на страницу, где документирован тип или член.
Атрибут href
Атрибут href означает ссылку на веб-страницу. Его можно использовать для прямой ссылки на интерактивную документацию по API или библиотеке.
Универсальные типы и методы
Тег следует использовать в комментариях к объявлению универсального типа или метода для описания параметра типа. Добавьте такой тег для каждого параметра типа универсального типа или метода. Текст для тега будет отображаться в IntelliSense.
Используйте этот тег, чтобы разрешить получателям файла документации форматировать слово определенным образом, например курсивным шрифтом.
Пользовательские теги
Все описанные выше теги распознаются компилятором C#. Тем не менее пользователь может определять собственные теги. Инструменты, такие как Sandcastle, обеспечивают поддержку дополнительных тегов (например, и ) и даже поддержку пространств имен документирования. Средства создания пользовательской или внутренней документации также можно использовать со стандартными тегами. Кроме того, поддерживается несколько выходных форматов — от HTML до PDF.