Почему при использовании скриптов, приведенных в курсе Основы XML лекция Лекция 8: Отображение XML-документов с использованием связывания данных не происходит связывания XLM документа с HTML? Отображаются пустые поля. Браузер IE11 |
Добавление комментариев, инструкций по обработке и разделов CDATA
Форма записи инструкции по обработке
Инструкция по обработке имеет следующую общую форму записи:
<?Кому инструкция ?>
Здесь Кому есть имя приложения, которому адресована инструкция. Допускается любое имя при соблюдении следующих правил:
- имя должно начинаться с буквы или символа подчеркивания (_), после чего могут следовать или не следовать другие буквы, цифры, точки (.), тире (–) или символы подчеркивания (_);
- имя xml, в любом сочетании строчных или прописных букв, зарезервировано ( xml строчными буквами используется в объявлении XML-документа, которое представляет собой разновидность инструкции по обработке).
Инструкция есть информация, передаваемая приложению. Она может состоять из любой последовательности символов, за исключением пары ?>, зарезервированной для обозначения окончания инструкции по обработке.
Как вы можете использовать инструкции по обработке
В зависимости от процессора, который будет прочитывать документ, вы можете использовать различные инструкции по обработке. Если вы используете в качестве XML-процессора Internet Explorer 5, у вас есть две основные возможности применения инструкций по обработке:
- вы можете применять стандартные, зарезервированные инструкции, чтобы сообщить Internet Explorer 5, как отображать документ с использованием соответствующей таблицы стилей. Например, следующая инструкция по обработке предписывает Internet Explorer 5 использовать CSS-таблицу из файла Inventory01.css:
<?xml-stylesheet type="text/css" href="Inventory01.css"?>
- если вы пишете Web-сценарий для управления и отображения XML-документа, вы можете поместить в документ любые не зарезервированные инструкции по обработке, а ваша программа-сценарий будет считывать эти инструкции и выполнять определенные действия. Например, вы можете вставить в документ следующую инструкцию по обработке, сообщающую вашему сценарию уровень детализации при отображении:
<?MyScript detail="2"?>
В "лекции 9" вы узнаете, как использовать сценарии для доступа к составляющим XML-документа, включая инструкции по обработке.
Куда вы можете поместить инструкции по обработке
Вы можете поместить инструкцию по обработке в любое место XML-документа вне других элементов разметки – т.е. вы можете помещать их аналогично комментариям: в пролог документа, после элемента Документ, либо внутри содержимого элемента. Ниже приведен XML-документ с правильно записанными инструкциями по обработке:
<?xml version="1.0" encoding="windows-1251" ?> <!-- Далее следует инструкция по обработке внутри пролога: --> <?xml-stylesheet type="text/css" href="Inventory01.css"?> <INVENTORY> <BOOK> <!-- Это инструкция по обработке внутри содержимого элемента: --> <?ScriptA emphasize="yes" ?> <TITLE> The Adventures of Huckleberry Finn</TITLE> <AUTHOR>Mark Twain</AUTHOR> <BINDING>mass market paperback</BINDING> <PAGES>298</PAGES> <PRICE>$5.49</PRICE> </BOOK> <BOOK> <TITLE>Leaves of Grass</TITLE> <AUTHOR>Walt Whitman</AUTHOR> <BINDING>hardcover</BINDING> <PAGES>462</PAGES> <PRICE>$7.75</PRICE> </BOOK> </INVENTORY> <!-- Это инструкция по обработке после элемента Документ: --> <?ScriptA Category="books" Style="formal" ?>
Вот пример инструкции по обработке, неверно помещенной внутрь элемента разметки:
<!-- Следующий элемент содержит НЕВЕРНУЮ инструкцию по обработке: --> <BOOK <?ScriptA emphasize="yes" ?> > <TITLE>Leaves of Grass</TITLE> <AUTHOR>Walt Whitman</AUTHOR> <BINDING>hardcover</BINDING> <PAGES>462</PAGES> <PRICE>$7.75</PRICE> </BOOK>
Тем не менее, вы можете помещать инструкцию по обработке внутри определения типа документа (DTD) – несмотря на то, что DTD представляет собой форму разметки – если только она не находится внутри имеющегося в DTD другого элемента разметки (подробнее в "лекции 5" ).
Использование разделов CDATA
Внутри символьных данных в содержимом элемента, нельзя помещать символ левой угловой скобки (<) или знак амперсанда (&) (см. "лекцию 3" ). Одним из способов преодолеть это ограничение является использование ссылки на символ ( < или & ), либо на предопределенный общий примитив ( < или & ) (см. "лекцию 6" ). Однако в том случае, если вам требуется многократно вставлять символы < или &, использование ссылок неудобно и затрудняет восприятие данных. В этом случае проще поместить текст, содержащий такие символы, в раздел CDATA.