Xml cdata что это
Перейти к содержимому

Xml cdata что это

  • автор:

Working with Embedded CDATA in XML Documents

Recently while working on the SME Toolkit, a project sponsored by the International Finance Corporation (a member of the World Bank Group), I encountered a problem with CDATA sections in XML documents.

CDATA sections are used in markup languages to identify general character data — data that should only be interpreted as characters, and not as specialized markup or commands. In XML, CDATA sections allow XML markup to be embedded, but not interpreted as part of the XML document itself.

For example, CDATA would allow XHTML to be embedded inside a larger XML document without treating the XHTML as part of the parent document:

*Note: This XML document uses a contrived DTD for the purposes of example – these tags aren’t really part of the standard XML schema.

Unfortunately, there seems to be a great deal of confusion about the proper usage of CDATA sections. This is probably because they are not often worked with, and the CDATA markers behave differently than traditional XML tags. CDATA sections are defined as beginning with the following character sequence:

This means that the following XML document is invalid because the first occurrence of “ ]]> ” within the style section of the embedded XHTML document terminates the first CDATA section, leaving half of the embedded XHTML document to be considered as part of the larger XML document.

The preferred solution to this problem is to break-up the CDATA end markers when nesting them in a new XML document by inserting markers to close and re-open a CDATA section. Then, when the combined CDATA sections are interpreted, the original CDATA markers will be restored. This is accomplished by utilizing the following character sequence: ]] ]]>

Essentially, while CDATA sections cannot be nested, it is possible to escape ending CDATA markers to prevent a CDATA section from being prematurely terminated during parsing. In the example above, parsing of the parent or container XML document will combine the two separate, yet adjacent, CDATA sections into a single set of general character data as intended, preserving the embedded CDATA markers. The nature of the embedded data will be preserved without having it mistakenly treated as part of the XML markup.

Further Reading:

Что такое CDATA?

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

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

XML — Разделы CDATA

Эта глава обсуждает раздел XML CDATA. Середины термине CDATA, данные по характера. CDATA определены как блоки текста которые parsed парсером, но в противном случае узнаны как повышение цены.

Предопределенные реальности как < , > , и & требуйте печатать на машинке и вообще трудны для того чтобы прочитать внутри повышение цены. В такие случаи, раздел CDATA можно использовать. Путем использование раздела CDATA, вы управляете парсером что определенный раздел документа не содержит никакое повышение цены и должен быть обработан как регулярн текст.

Синтаксис

Следование синтаксис для раздела CDATA:

Вышеуказанный синтаксис составлен 3 разделов:

  • Раздел старта CDATA — CDATA начинает с разграничителем 9-характера
  • Раздел конца CDATA — раздел CDATA кончается с ]] > разграничитель.
  • Раздел CData — характеры между этими 2 приложениями интерпретированы как характеры, и не как повышение цены. Этот раздел может содержать характеры повышения цены (, и &), но они проигнорированы обработчиком XML.

Пример

Следующий Код повышения цены показывает пример CDATA. Здесь, каждый характер написанный внутри раздела CDATA проигнорирован парсером.

  Welcome to TutorialsPoint ]] > 

В вышеуказанном синтаксисе, все между и обработаны как данные по характера и не как повышение цены.

Правила CDATA

Необходимы, что следовать, котор дали правила для XML CDATA:

  • CDATA не может содержать строку «]] >» везде в документе XML.
  • Вложенность не позволена в разделе CDATA.
Kickstart Your Career

Get certified by completing the course

CDATASection

Интерфейс CDATASection представляет собой раздел CDATA, который может быть использован внутри XML для добавления extended групп «незакавыченного» текста. Символы < and & не нуждаются в кавычках, как внутри раздела CDATA.

В XML, раздел CDATA выглядит так:

foo>Here is a CDATA section:  & ]]> with all kinds of unescaped text. foo> 

Единственная последовательность (символов), не разрешённая внутри раздела CDATA — это сами символы закрытия раздела CDATA:

will cause an error ]]> 

Заметьте, что разделы CDATA не следует использовать внутри HTML; они работают только в XML.

Свойства

Этот интерфейс не имеет специфических свойств и наследует родительские свойства Text .

Методы

This interface has no specific methods and наследует родительские методы Text .

Спецификации

Specification
DOM Standard
# interface-cdatasection

Совместимость с браузерами

BCD tables only load in the browser

Found a content problem with this page?

  • Edit the page on GitHub.
  • Report the content issue.
  • View the source on GitHub.

This page was last modified on 3 авг. 2023 г. by MDN contributors.

Your blueprint for a better internet.

MDN

Support

  • Product help
  • Report an issue

Our communities

Developers

  • Web Technologies
  • Learn Web Development
  • MDN Plus
  • Hacks Blog
  • Website Privacy Notice
  • Cookies
  • Legal
  • Community Participation Guidelines

Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998– 2023 by individual mozilla.org contributors. Content available under a Creative Commons license.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *