Добавление
комментариев
Одним из принципов XML
является создание предельно ясных и простых для
понимания документов. Помещенные в нужном месте
исчерпывающие примечания могут оказать
существенную помощь при восприятии XML-документа,
подобно тому, как комментарии заметно облегчают
чтение исходного кода программы на языке С или
BASIC.
Примечание. В
Microsoft Internet Explorer 5 XML-процессор
не анализирует и не обрабатывает текст
комментариев в XML-разметке. Тем не менее,
он делает тексты комментариев доступными для
написанного внутри HTML-страницы кода
сценария. В лекции 9 вы узнаете, как
применять сценарии для доступа к тексту
комментария, а также к другим компонентам
XML-документа. Internet Explorer 5
отображает все комментарии в XML-документе,
если вы открыли документ в браузере, и если
документ не имеет соответствующей таблицы
стилей.
Форма записи
комментариев
Комментарий
начинается с символов <!-- и заканчивается
символами -->. Между этими двумя ограничителями
вы можете поместить любые символы, за
исключением двойного тире (--). Вы даже можете
вставлять внутрь комментария символ левой
угловой скобки (<) и знак амперсенда (&). Вот
пример правильно записанного комментария:
<!-- Здесь вы можете
поместить любой текст, за исключением
двойного тире.
Символы < и & также допустимы! -->
В каком месте вы можете
поместить комментарий
Вы можете
вставить комментарий в любое место в вашем XML-документе,
но вне описания разметки, например, поместить их
в пролог документа:
<?xml version="1.0"?>
<!-- Это комментарий в прологе. -->
<DOCELEMENT>
This is a very simple XML-document.
</DOCELEMENT>
Вы можете
поместить их вслед за элементом Документ:
<?xml version="1.0"?>
<DOCELEMENT>
This is a very simple XML-document.
</DOCELEMENT>
<!-- Это комментарий, следующий за элементом
Документ. -->.
И вы можете
поместить их внутри содержимого элемента:
<?xml version="1.0"?>
<DOCELEMENT>
<!-- Это комментарий, который является
частью содержимого корневого
элемента. -->
This is a very simple XML-document.
</DOCELEMENT>
Ниже
приведен пример неправильной записи комментария,
поскольку он помещен внутри разметки:
<?xml version="1.0"?>
<DOCELEMENT <!-- Это НЕПРАВИЛЬНАЯ ЗАПИСЬ
комментария! --> >
This is a very simple XML-document.
</DOCELEMENT>
Тем не менее,
вы можете помещать комментарий внутри
определения типа элемента (DTD) – несмотря на то,
что DTD является видом разметки – если только
при этом комментарий не находится внутри другой
разметки, входящей в состав DTD. Подробнее о DTD
и правилах размещения комментариев внутри него
вы узнаете в лекции 5.
Использование
инструкций по обработке
Назначение
инструкций по обработке – сообщить информацию,
передаваемую XML-процессором приложению.
Примечание. XML-процессор
представляет собой программный модуль,
который прочитывает и хранит содержимое XML-документа
(см. лекцию 2). Приложение – это отдельный
программный модуль, который получает
содержимое документа от XML-процессора, а
затем обрабатывает и отображает это
содержимое. Если вы отображаете XML-документ
в Internet Explorer 5, браузер содержит как
XML-процессор, так и часть приложения. (Если
вы пишете сценарий для обработки и
отображения XML-документа, то тем самым
самостоятельно создаете часть приложения.)
Форма записи инструкции
по обработке
Инструкция
по обработке имеет следующую общую форму записи:
<? Кому инструкция ?>
Здесь Кому
есть имя приложения, которому адресована
инструкция. Допускается любое имя при соблюдении
следующих правил:
- имя должно
начинаться с буквы или символа подчеркивания
(_), после чего могут следовать или не
следовать другие буквы, цифры, точки (.),
тире (–) или символы подчеркивания (_);
- имя "xml", в любом
сочетании строчных или прописных букв,
зарезервировано ("xml" строчными буквами
используется в объявлении XML-документа,
которое представляет собой разновидность
инструкции по обработке).
Инструкция есть информация, передаваемая
приложению. Она может состоять из любой
последовательности символов, за исключением пары
?>, зарезервированной для обозначения окончания
инструкции по обработке.
Как вы можете
использовать инструкции по обработке
В
зависимости от процессора, который будет
прочитывать документ, вы можете использовать
различные инструкции по обработке. Если вы
используете в качестве XML-процессора Internet
Explorer 5, у вас есть две основные возможности
применения инструкций по обработке:
В лекции 9
вы узнаете, как использовать сценарии для
доступа к составляющим XML-документа, включая
инструкции по обработке.
Куда вы можете
поместить инструкции по обработке
Вы можете
поместить инструкцию по обработке в любое место
XML-документа вне других элементов разметки –
т.е. вы можете помещать их аналогично
комментариям: в пролог документа, после элемента
Документ, либо внутри содержимого элемента. Ниже
приведен XML-документ с правильно записанными
инструкциями по обработке:
<?xml version="1.0"?>
<!-- Далее следует инструкция по обработке
внутри пролога: -->
<?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.
Форма записи раздела
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"?>
<MUSICAL>
<TITLE_PAGE>
<![CDATA[
<Oklahoma!>
By
Rogers & Hammerstein
]]>
</TITLE_PAGE>
<!-- Здесь расположены другие элементы… -->
</MUSICAL>
Ошибочно
сформированный XML-документ, представленный ниже,
содержит два неправильно записанных раздела
CDATA. Первый из
них не находится внутри содержимого элемента.
Второй находится внутри содержимого элемента, но
также и внутри начального тега разметки.
<?xml version="1.0"?>
<![CDATA[ ОШИБКА: не внутри содержимого
элемента! ]]>
<DOC_ELEMENT>
<SUB_ELEMENT <![CDATA[ ОШИБКА: внутри разметки! ]]> >
содержимое подэлемента…
</SUB_ELEMENT>
</DOC_ELEMENT>
Примечание. Разделы
CDATA не
являются вложениями. Вы не можете поместить
один раздел CDATA
внутрь другого.
|