Почему при использовании скриптов, приведенных в курсе Основы XML лекция Лекция 8: Отображение XML-документов с использованием связывания данных не происходит связывания XLM документа с HTML? Отображаются пустые поля. Браузер IE11 |
Добавление комментариев, инструкций по обработке и разделов CDATA
Форма записи раздела CDATA
Раздел CDATA начинается с символов <![CDATA[ и заканчивается символами ]]>. Между этими двумя ограничителями вы можете поместить любые символы (включая < или & ), за исключением ]]> (что будет интерпретировано как конец раздела CDATA ). Все символы внутри раздела CDATA трактуются как литеральная часть символьных данных элемента, а не XML-разметка.
Ниже приведен пример правильно записанного раздела CDATA:
<![CDATA[ Здесь вы можете разместить любые символы, за исключением двух правых квадратных скобок с последующим знаком "больше". ]]>
Примечание. Ключевое слово CDATA (как и другие ключевые слова XML) должно быть набрано прописными буквами.
Если вы хотите включить в состав имеющихся символьных данных блок исходного кода или разметку, которые будут отображаться браузером, то можете воспользоваться разделом CDATA с целью предотвратить интерпретацию синтаксическим анализатором символов < или & как XML-разметку. Например:
<A-SECTION> Вот пример очень простой HTML-страницы: <![CDATA[ <HTML> <HEAD> <TITLE>R. Jones & Sons</TITLE> </HEAD> <BODY> <P>Добро пожаловать на нашу домашнюю страницу!</P> </BODY> </HTML> ]]> </A-SECTION>
Внутри раздела CDATA процессор будет предполагать, что <HTML>, например, есть начало вложенного элемента, но не часть символьных данных элемента A-SECTION.
Примечание. Поскольку вы можете непосредственно помещать символы < и & внутрь раздела CDATA, вам не нужно использовать ссылки на символы ( < и & ) либо на предопределенные примитивы общего назначения < и & (см. в "лекцию 6" ). Фактически, если вы используете подобную ссылку, синтаксический анализатор интерпретирует каждый из символов в ссылке как литерал и не замещает ссылку символами < и &.
Куда вы можете поместить раздел CDATA
Вы можете поместить раздел CDATA в любое место, занимаемое символьными данными – т.е. внутри содержимого элемента, но не внутри XML-разметки. Вот правильно записанный раздел CDATA:
<?xml version="1.0" encoding="windows-1251" ?> <MUSICAL> <TITLE_PAGE> <![CDATA[ <Oklahoma!> By Rogers & Hammerstein ]]> </TITLE_PAGE> <!-- Здесь расположены другие элементы… --> </MUSICAL>
Ошибочно сформированный XML-документ, представленный ниже, содержит два неправильно записанных раздела CDATA. Первый из них не находится внутри содержимого элемента. Второй находится внутри содержимого элемента, но также и внутри начального тега разметки.
<?xml version="1.0" encoding="windows-1251" ?> <![CDATA[ ОШИБКА: не внутри содержимого элемента! ]]> <DOC_ELEMENT> <SUB_ELEMENT <![CDATA[ ОШИБКА: внутри разметки! ]]> > содержимое подэлемента… </SUB_ELEMENT> </DOC_ELEMENT>
Примечание. Разделы CDATA не являются вложениями. Вы не можете поместить один раздел CDATA внутрь другого.