Основы XML

         

Анатомия элемента


Элемент обычно состоит из начального тега, содержимого и конечного тега, как показано на рисунке 3.3.


Рис. 3.3. 

В отличие от HTML, XML требует наличия как начального, так и конечного тега. (Единственным исключением является элемент без содержимого, для которого вы можете использовать специальный тег пустого элемента, о котором пойдет речь далее в этой лекции.)

Имя, которое содержится в стартовой позиции начального тега и в конечном теге (TITLE в нашем примере), называется типом или родовым идентификатором элемента (GI). Имя элемента идентифицирует особый тип или класс элемента, а не собственно элемент. Таким образом, документ может содержать более одного элемента с одинаковыми именами типа (например, элементы BOOK или TITLE в листинге 3.1).

При добавлении элемента в XML-документ вы можете выбрать любое имя типа по вашему желанию, руководствуясь при этом следующими правилами:

имя должно начинаться с буквы или с символа подчеркивания (_), после чего могут идти буквы, цифры, символы точки (.), тире (–) или подчеркивания;в спецификации XML указано, что имена типов элементов, которые начинаются с префикса "xml" (при любом сочетании строчных или прописных букв), "зарезервированы для стандартных имен". Хотя Internet Explorer 5 не слишком требователен в этом отношении, лучше не использовать этот префикс, дабы избежать будущих неприятностей.

Ниже приведены примеры правильного задания имен типов элементов.

Part _lstPlace A B-SECTION Street.Address.1

Следующие имена использовать недопустимо:

1stPlace <!-- В качестве первого символа нельзя использовать цифру --> B Section <!-- Пробел внутри имени не разрешается --> B/Section <!-- Косая черта внутри имени не разрешается --> :Chapter <!-- Двоеточие нельзя использовать в качестве первого символа --> A:Section <!-- В IE5 допускается только если вы объявили А как пространство имен --> Примечание. В соответствии с XML-спецификацией двоеточие (:) в имени элемента зарезервировано для задания пространства имен. Пространства имен дают возможность дифференцировать элементы с одними и теми же именами. Этот вопрос будет обсуждаться в лекции 7 в разделе "Вставка HTML-элементов в XML-документы и использование пространств имен". Internet Explorer 5 разрешает вам использовать двоеточие в имени элемента только в том случае, если оно следует за пространством имен, объявленным вами в документе. Например, запись A:Section будет корректной только если вы объявили А как пространство имен.

Добавление элементов в документ


Элементы в XML-документе содержат фактическую информацию, имеющуюся в документе (для листинга 3.1, например, это названия книг, фамилии авторов, цена и т. д.), а также отражают логическую структуру информации.

Элементы организованы в иерархическую древовидную структуру, в которой одни элементы вложены в другие. Документ должен иметь один и только один элемент верхнего уровня – элемент Документ, или корневой элемент – а все другие элементы вложены в него. Представленный ниже XML-документ является корректно сформированным.

<?xml version="1.0"?> <!--Корректно сформированный XML-документ.--> <INVENTORY> <BOOK> <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>

А вот следующий документ не является корректно сформированным.

<?xml version="1.0"?> <!--Это НЕ корректно сформированный документ.--> <BOOK> <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>

Элементы также должны быть правильно вложены. При этом если элемент (ограниченный начальным и конечным тегами) начинается внутри другого элемента, то он должен и заканчиваться внутри того же элемента. Например, эти элементы являются корректно сформированными:

<BOOK> <TITLE>Leaves of Grass</TITLE> <AUTHOR>Walt Whitman</AUTHOR> </BOOK>

В то же время эти элементы не являются корректно сформированными:

<!-- НЕ корректно сформированный документ.--> <BOOK><TITLE>The Adventures of Huckleberry Finn</BOOK></TITLE> Примечание. Элемент, который содержит один или более вложенных элементов (например, BOOK в листинге 3.1), называется родительским элементом. Элемент, содержащийся непосредственно внутри родительского элемента (например, TITLE внутри BOOK), называется дочерним элементом, субэлементом, или вложенным элементом.



Наименьший XML-документ


Пролог рассматриваемого XML-документа (см. листинг 3.1) содержит примеры каждого из разрешенных внутри пролога включений. Заметим, однако, что все эти включения не являются обязательными (хотя в спецификации XML заявлено, что вам "следует" включать XML-объявление). Следовательно, и сам пролог является необязательным, что подтверждается следующим минимальным документом, который содержит только элемент Документ, в соответствии с XML-стандартом для корректно сформированного документа.

<minimal>A minimalist document.</minimal>

B Internet Explorer 5 этот документ будет отображен, как показано на рисунке 3.2.


Рис. 3.2. 



on_load_lecture()

Дальше »

  Если Вы заметили ошибку - сообщите нам.  
Страницы:

1

|

2

|

3

|

4

|

5

|

вопросы | »

|

для печати и PDA

Курсы | Учебные программы | Учебники | Новости | Форум | Помощь



Телефон: +7 (495) 253-9312, 253-9313, факс: +7 (495) 253-9310, email: info@intuit.ru

© 2003-2007, INTUIT.ru::Интернет-Университет Информационных Технологий - дистанционное образование



Правила для корректного задания значений атрибутов


Значение, которое вы присваиваете атрибуту, представляет собой группу символов, ограниченных кавычками, называемую также литералом. Вы можете присвоить атрибуту в качестве значения любой литерал, придерживаясь при этом следующих правил:

строка может быть заключена как в одинарные ('), так и в двойные кавычки (");строка не может содержать внутри себя тот же символ кавычек, которыми она ограничена;строка может содержать ссылку на символ или ссылку на внутренние примитивы общего назначения; (Об этом будет рассказано в лекции 6.)строка не может содержать символ < (Синтаксический анализатор может воспринять этот символ как начало описания XML-разметки.)строка не может содержать символ &, если это не ссылка на символ или примитив.

Вы уже познакомились с правильными описаниями атрибутов. Ниже приведены неправильные описания:

<EMPLOYEE Status=""downsized""> <!-- Нельзя использовать символы-ограничители внутри строки. --> <ALBUM Type="<CD>"> <!-- Нельзя использовать символ < внутри строки --> <WEATHER Forecast="Cold & Windy"> <!-- Нельзя использовать символ &, если это не ссылка -->

Если вы хотите использовать двойные кавычки (") внутри значения атрибута, вам следует применить в качестве ограничителей одинарные кавычки ('), как показано в примере:

<EMPLOYEE Status='"downsized"'> <!-- Правильное значение атрибута. -->

Аналогично, чтобы включить одинарные кавычки в значение атрибута, следует использовать в качестве ограничителей двойные кавычки:

<CANDIDATE name="W.T. 'Bill' Bagley"> <!-- Правильное значение атрибута. -->

Совет. Вы можете избавиться от всех ограничений и вводить в имя атрибута любой символ, если воспользуетесь ссылкой на символ или – если это возможно – ранее определенной ссылкой на примитив общего назначения. О таких ссылках будет рассказано в лекции 6.

Если вы создаете корректно сформированный документ, не имеющий объявления типа документа (как вы делали в упражнениях данной лекции), вы можете присвоить атрибуту любое значение, соответствующее приведенным выше правилам. Однако, если вы создаете описание типа документа и определяете внутри него атрибуты, то можете ограничить типы значений, которые могут быть присвоены конкретному атрибуту. Например, вы можете определить атрибут, которому могут быть присвоены только значения "yes" или "no". Таким образом, одно из преимуществ задания определенного типа информации через атрибуты элементов в отличие от задания через содержимое элемента заключается в том, что при этом вы можете обеспечить контроль надо всеми типами данных, которые могут быть присвоены атрибуту, и указываете синтаксическому анализатору учитывать эти ограничения типов. (Как вы узнаете в лекции 5, в основной спецификации XML не указаны средства для ограничения типов символьных данных для элемента.)



Правила для создания атрибутов


Описание атрибута состоит из имени атрибута, вслед за которым идет знак равенства и значение атрибута. Вы можете выбрать любое имя атрибута, придерживаясь при этом следующих правил:

имя должно начинаться с буквы или символа подчеркивания (_), после чего могут следовать или не следовать другие буквы, цифры, символы точки (.), тире (–) или подчеркивания;спецификация XML оговаривает, что имена атрибутов, начинающиеся с префикса "xml" (в любом сочетании строчных или прописных букв), "зарезервированы для стандартного использования". Хотя для Internet Explorer 5 это ограничение значения не имеет, во избежание проблем в будущем лучше не использовать этот префикс;каждое имя атрибута может только один раз присутствовать в одном и том же начальном теге или в теге пустого элемента.

Например, следующие описания имен в стартовых тегах являются допустимыми:

<ANIMATION FileName="Waldo.ani"> <LIST _1stPlace="Sam"> <ENTRY Zip.Code="94941">

Приведенные ниже имена атрибутов недопустимы:

<!-- Дублирование имени атрибута внутри одного тега: --> <ANIMATION FileName="Waldo1.ani" Filename="Waldo2.ani"> <LIST 1stPlace=""Sam"> <!-- Первый символ не может быть цифрой --> <ITEM A:Category="cookware"> <!--B IE5 допускается, только если вы объявили А как пространство имен --> Примечание. В соответствии с XML-спецификацией двоеточие (:) в имени элемента зарезервировано для задания пространства имен. Пространства имен дают возможность дифференцировать элементы с одними и теми же именами; этот вопрос будет обсуждаться в лекции 7 в разделе "Вставка HTML-элементов в XML-документы и использование пространств имен." Internet Explorer 5 разрешает вам использовать двоеточие в имени элемента только в том случае, если оно следует за пространством имен, объявленным вами в документе. Например, запись A:Category будет корректной только если вы объявили



Преобразуйте содержимое в атрибуты


    Откройте новый, пустой текстовый файл в вашем текстовом редакторе и наберите XML-документ, представленный в Листинге 3.3. При желании можете воспользоваться ранее созданным вами документом Inventory.xml в качестве отправной точки.Воспользуйтесь командой Save (Сохранить) вашего текстового редактора, чтобы сохранить документ на жестком диске под именем Inventory04.xml.

    Листинг 3.3. Inventory04.xml (html, txt)

    Примечание. Созданный вами документ использует CSS-таблицу с именем Inventory02.css, которую вы создали в предыдущем упражнении. Проверьте, что этот файл таблицы стилей находится в той же папке, что и файл Inventory04.xml.

    В Windows Explorer (Проводник) или в окне папки дважды щелкните на имени файла Inventory04.xml. Internet Explorer 5 отобразит документ, как показано на рисунке 3.11.


    увеличить изображение
    Рис. 3.11. 

    Данный документ основан на документе Inventory.xml, который вы создали в одном из предыдущих упражнений, однако он содержит несколько дополнительных элементов. В частности, два внесенных изменения демонстрируют использование атрибутов:

    в каждом элементе BOOK информация о виде переплета преобразована из содержимого (в форме вложенного элемента BINDING) в атрибут с именем Binding. Это преобразование необходимо, если вы хотите хранить информацию о виде переплета, но не желаете ее показывать вместе с другой информацией о книге при представлении документа с использованием CSS-таблицы; (Посмотрите на рис. 3.11 и убедитесь, что Internet Explorer 5 не отобразил значения атрибута.)к каждому элементу AUTHOR был добавлен атрибут с именем Born, содержащий дату рождения автора. Это пример малозначительной информации, которую вы хотели бы хранить, но отображать ее нет необходимости. Один из способов скрыть такую информацию – и объявить ее малозначительной – назначить ее в качестве значения атрибуту, а не размещать в содержимом элемента.

    Это только несколько из обширных возможностей применения атрибутов. Подробнее эти вопросы будут обсуждены в лекции 5.



    Пустые элементы


    Вы также можете помещать пустой элемент – т.е. элемент, не имеющий содержимого – в ваш документ. Пустой элемент создается путем размещения конечного тега сразу же после начального тега. Например:

    <HR></HR>

    Либо вы можете использовать специальный тег пустого элемента:

    <HR/>

    Обе эти нотации являются эквивалентными.

    Поскольку пустой элемент не имеет содержимого, у вас может возникнуть вопрос о его предназначении. Здесь есть два варианта:

    вы можете использовать пустой элемент, чтобы указать XML-приложению выполнить действие или отобразить объект. Аналогом в HTML является пустой элемент BR, который является указанием браузеру вставить разрыв строки, а также пустой элемент HR, указывающий на вставку горизонтальной разделительной линии. Другими словами, само присутствие элемента с определенным именем – без какого-либо содержимого – может послужить важной информацией для приложения;пустой элемент может нести информацию посредством атрибутов, о которых вы узнаете далее в этой лекции. (С элементами, которые имеют атрибуты, вы еще не встречались.) Аналогом в HTML является пустой элемент IMG (изображение), содержащий атрибуты, которые сообщают процессору, где искать графический файл и как его отобразить.Совет. Таблица каскадных стилей может использовать пустой элемент для отображения рисунка, подробнее об этом вы можете узнать в лекции 7. В лекции 8 вы узнаете, как применять связывание данных для доступа к атрибутам пустого или непустого элемента. В лекции 9 вы научитесь использовать HTML-сценарии, а в лекции 10 – XSL-таблицы стилей, для доступа к элементам и их атрибутам, и для последующего выполнения соответствующих действий.

    on_load_lecture()

    Дальше »

      Если Вы заметили ошибку - сообщите нам.  
    Страницы:

    « |

    1

    |

    2

    |

    3

    |

    4

    |

    5

    |

    вопросы | »

    |

    для печати и PDA

    Курсы | Учебные программы | Учебники | Новости | Форум | Помощь



    Телефон: +7 (495) 253-9312, 253-9313, факс: +7 (495) 253-9310, email: info@intuit.ru

    © 2003-2007, INTUIT.ru::Интернет-Университет Информационных Технологий - дистанционное образование



    Составные части корректно сформированного XML-документа


    В лекции 2 вы узнали, что XML-документ состоит из двух основных частей: пролога и элемента Документ (корневого элемента). Помимо этого, вслед за элементом Документ корректно сформированный XML-документ может содержать комментарии, инструкции по обработке, а также пробелы. На рисунке 3.1 приведен пример корректно сформированного XML-документа, отражающий различные части документа и включения, которые вы можете добавлять в каждую из частей.


    увеличить изображение
    Рис. 3.1. 

    В листинге 3.1 представлена полная версия документа для данного примера.

    Листинг 3.1. Parts.xml (html, txt)

    Номер версии в XML-объявлении в начале пролога документа может быть заключен как в одинарные, так и в двойные кавычки. Строки в кавычках в XML-разметке – носят название литерал. Таким образом, обе приведенные ниже записи являются допустимыми:

    <?xml version='1.0'?>

    <?xml version="1.0"?>

    XML-объявление в примере (см. Листинг 3.1) также включает в себя объявление документа автономным (standalone=’yes’). Это объявление может использоваться в некоторых XML-документах с целью упростить обработку документа. (Об объявлении документа автономным будет рассказано в лекции 6.)

    В рассматриваемом примере имеется комментарий в прологе, а также другой комментарий, следующий за элементом Документ. (Подробнее о комментариях вы узнаете в лекции 4.)

    Документ содержит две пустые строки в прологе и две пустые строки в разделе, следующем за элементом Документ. Пустая строка состоит из одного или нескольких пробелов, символа табуляции, возврата каретки или перевода строки. Чтобы улучшить внешний вид и восприятие XML-документа, вы можете свободно добавлять пробелы и пустые строки между элементами XML-разметки – такими как начальные и конечные теги, комментарии и инструкции по обработке – а также во многих случаях внутри элементов разметки – например, пробел между "yes" и ? в конце XML-объявления в рассматриваемом примере. Процессор просто игнорирует пропуски, если только они не находятся внутри элемента, непосредственно содержащего символьные данные. (В этом случае процессор передает пропуски приложению как часть символьных данных элемента.)

    В нашем примере имеется одна инструкция по обработке в прологе, а также другая инструкция по обработке в разделе, следующем после элемента Документ. (Об инструкциях по обработке речь пойдет в лекции 4.)

    Наконец, документ включает в себя sine qua non (обязательную часть) XML-документа: элемент Документ. Создание элемента Документ и вложенных в него элементов является основным предметом рассмотрения в этой лекции.

    Примечание. Валидный документ должен содержать один дополнительный компонент, не включенный в листинг рассматриваемого в примере документа: объявление типа документа, которое может быть помещено в любое место внутри пролога, но вне других элементов разметки и после XML-объявления. Объявление типа документа задает структуру валидного XML-документа. (Подробнее об этом вы узнаете в лекции 5.)



    Создайте различные типы элементов


      Откройте новый, пустой текстовый файл в вашем текстовом редакторе и наберите XML-документ, содержащийся в Листинге 3.2. Если хотите, можете воспользоваться документом Inventory.xml, созданным вами в лекции 2 в качестве отправной точки.Воспользуйтесь командой Save (Сохранить) вашего текстового редактора, чтобы сохранить документ на жестком диске, присвоив ему имя Inventory03.xml.

      Листинг 3.2. Inventory03.xml (html, txt)

      Примечание. Созданный вами документ использует CSS с именем Inventory02.css, который вы создали в предыдущем упражнении. Проверьте, чтобы файл с этой таблицей стилей был в той же папке, что файл Inventory03.xml.

      В Windows Explorer или в окне папки дважды щелкните на имени ранее сохраненного файла Inventory03.xml. Internet Explorer 5 отобразит документ, как показано на рисунке 3.10.


      увеличить изображение
      Рис. 3.10. 

      Документ содержит следующие типы элементов:

      элемент с комментарием в качестве его содержимого (INVENTORY). Обратите внимание, что браузер не отображает текст комментария;пустой элемент с именем COVER_IMAGE в начале каждого элемента BOOK. Назначение этого элемента – указать XML-приложению отобразить определенную картинку для книжной обложки. (Атрибут Source содержит имя файла картинки.) Чтобы иметь возможность использовать такой элемент, вам потребуется отобразить XML-документ на HTML-странице посредством сценария, либо с помощью XSL-таблицы стилей (об этом будет рассказано в лекциях 9 и 10), вместо того, чтобы использовать простую CSS-таблицу, как это делается в рассматриваемом примере;элемент (элемент TITLE для Moby-Dick), который содержит символьные данные и дочерний элемент (SUBTITLE). Заметим, что браузер отображает и символьные данные, и дочерний элемент в одной строке, и в одном и том же формате. (CSS-формат, назначенный элементу TITLE, наследуется элементом SUBTITLE.)




      В Windows Explorer или в окне папки дважды щелкните на имени ранее сохраненного файла Inventory03.xml. Internet Explorer 5 отобразит документ, как показано на рисунке 3.10.


      увеличить изображение
      Рис. 3.10. 

      Документ содержит следующие типы элементов:

      элемент с комментарием в качестве его содержимого (INVENTORY). Обратите внимание, что браузер не отображает текст комментария;пустой элемент с именем COVER_IMAGE в начале каждого элемента BOOK. Назначение этого элемента – указать XML-приложению отобразить определенную картинку для книжной обложки. (Атрибут Source содержит имя файла картинки.) Чтобы иметь возможность использовать такой элемент, вам потребуется отобразить XML-документ на HTML-странице посредством сценария, либо с помощью XSL-таблицы стилей (об этом будет рассказано в лекциях 9 и 10), вместо того, чтобы использовать простую CSS-таблицу, как это делается в рассматриваемом примере;элемент (элемент TITLE для Moby-Dick), который содержит символьные данные и дочерний элемент (SUBTITLE). Заметим, что браузер отображает и символьные данные, и дочерний элемент в одной строке, и в одном и том же формате. (CSS-формат, назначенный элементу TITLE, наследуется элементом SUBTITLE.)


      Типы содержимого элемента


      Содержимым элемента считается текст, расположенный между начальным и конечным тегами. Вы можете использовать в качестве содержимого элемента следующие типы сообщений:

      вложенные элементы – в Листинге 3.1 элемент INVENTORY и элемент BOOK имеют в своем содержимом вложенные элементы, как показано на рисунке 3.4;


      Рис. 3.4. 

      символьные данные – это текст, выражающий информационное содержание элемента, например, название определенной книги в элементе TITLE, как показано на рисунке 3.5.


      Рис. 3.5. 

      Ниже приведен пример содержимого элемента, состоящего из сочетания символьных данных и вложенного элемента, как показано на рисунке 3.6.


      Рис. 3.6. 

      При добавлении в элемент символьных данных вы можете использовать любые символы, за исключением левой угловой скобки (<), амперсенда (&) и строки ]]>.

      Примечание. Синтаксический анализатор XML сканирует символьные данные элемента для XML-разметки. Вы не можете использовать левую угловую скобку (<), амперсенд (&) или строку ]]> в составе символьных данных, поскольку анализатор может интерпретировать < как начало вложенного элемента, & как начало ссылки на примитив или символ, а ]]> как окончание раздела CDATA. (О ссылках на примитивы и ссылках на символы пойдет речь в лекции 6; о разделе CDATA в лекции 4). Если вы хотите использовать символы < или & как часть символьных данных, вам необходимо воспользоваться разделом CDATA. Вы также можете использовать любые символы (в том числе те, которых нет на клавиатуре), воспользовавшись ссылкой на символ. Некоторые символы (например, < или &) вы можете вставлять с использованием предопределенных ссылок на общие примитивы.

      Ссылки на общие примитивы и ссылки на символы. На рисунке 3.7 приведен элемент, содержащий оба вида таких ссылок.


      Рис. 3.7. 

      Разделы CDATA – это текстовый блок, в котором вы можете свободно размещать любые символы, за исключением строки ]]>. Пример раздела CDATA внутри элемента, показан на рисунке 3.8.


      Рис. 3.8. 

      Инструкции по обработке содержат информацию, необходимую для XML-приложений. (См. лекцию 4.)Комментарии – это примечания к вашему XML-документу, которые прочитываются людьми, но игнорируются XML-процессором. (См. лекцию 4.)На рисунке 3.9 приведен элемент, содержащий инструкцию по обработке и комментарий.


      Рис. 3.9. 



      Задание атрибутов для элементов


      В начальный тег элемента, либо в тег пустого элемента вы можете включить одно или несколько описаний атрибутов. Описание атрибута представляет собой пару имя – значение, связанную с данным элементом. Например, следующий элемент PRICE включает атрибут с именем Type, которому присвоено значение retail:

      <PRICE Type="retail">$10.95</PRICE>

      Следующий элемент BOOK включает два атрибута, Category и Display:

      <BOOK Category="fiction" Display="emphasize"> <TITLE>The Marble Fauh</TITLE> <AUTHOR>Nathaniel Hawthorne</AUTHOR> <BINDING>trade paperback</BINDING> <PAGES>473</PAGES> <PRICE>$10.95</PRICE> </BOOK>

      Следующий пустой элемент включает атрибут с именем Source, который указывает на имя файла, содержащего картинку, которую следует отобразить:

      <COVER_IMAGE Source="Faun.gif" />

      Задание атрибутов обеспечивает альтернативный способ включения информации в элемент. Обычно вы помещаете все относящиеся к элементу данные, которые хотите отобразить, внутри содержимого элемента. Атрибуты же используются для хранения различных свойств элемента, которые не обязательно будут отображены (например, категория, или указания по отображению). В спецификации XML не установлено строгих разграничений относительно типа информации, которую можно описывать с помощью атрибутов или внутри содержимого элемента.

      Примечание. Когда вы отображаете XML-документ с использованием CSS-таблицы (данный метод будет обсуждаться в лекции 7), браузер не выводит атрибуты или их значения. Отображение же XML-документа с использованием связывания данных (см. лекцию 8), сценария для HTML-страницы (см. лекцию 9), либо XSL-таблицы стилей (см. лекцию 10) дает вам возможность иметь доступ к атрибутам и их значениям, а также отображать значение или выполнять соответствующие действия.



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


      Одним из принципов XML является создание предельно ясных и простых для понимания документов. Помещенные в нужном месте исчерпывающие примечания могут оказать существенную помощь при восприятии XML-документа, подобно тому, как комментарии заметно облегчают чтение исходного кода программы на языке С или BASIC.

      Примечание. В Microsoft Internet Explorer 5 XML-процессор не анализирует и не обрабатывает текст комментариев в XML-разметке. Тем не менее, он делает тексты комментариев доступными для написанного внутри HTML-страницы кода сценария. В лекции 9 вы узнаете, как применять сценарии для доступа к тексту комментария, а также к другим компонентам XML-документа. Internet Explorer 5 отображает все комментарии в XML-документе, если вы открыли документ в браузере, и если документ не имеет соответствующей таблицы стилей.



      Форма записи инструкции по обработке


      Инструкция по обработке имеет следующую общую форму записи:

      <? Кому инструкция ?>

      Здесь Кому есть имя приложения, которому адресована инструкция. Допускается любое имя при соблюдении следующих правил:

      имя должно начинаться с буквы или символа подчеркивания (_), после чего могут следовать или не следовать другие буквы, цифры, точки (.), тире (–) или символы подчеркивания (_);имя "xml", в любом сочетании строчных или прописных букв, зарезервировано ("xml" строчными буквами используется в объявлении XML-документа, которое представляет собой разновидность инструкции по обработке).

      Инструкция есть информация, передаваемая приложению. Она может состоять из любой последовательности символов, за исключением пары ?>, зарезервированной для обозначения окончания инструкции по обработке.



      Форма записи комментариев


      Комментарий начинается с символов <!-- и заканчивается символами -->. Между этими двумя ограничителями вы можете поместить любые символы, за исключением двойного тире (--). Вы даже можете вставлять внутрь комментария символ левой угловой скобки (<) и знак амперсенда (&). Вот пример правильно записанного комментария:

      <!-- Здесь вы можете поместить любой текст, за исключением двойного тире. Символы < и & также допустимы! -->



      Форма записи раздела 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, вам не нужно использовать ссылки на символы (&#60; и &#38;), либо на предопределенные примитивы общего назначения &lt; и &amp; (см. в лекцию 6). Фактически, если вы используете подобную ссылку, синтаксический анализатор интерпретирует каждый из символов в ссылке как литерал и не замещает ссылку символами < и &.



      Использование инструкций по обработке


      Назначение инструкций по обработке – сообщить информацию, передаваемую XML-процессором приложению.

      Примечание. XML-процессор представляет собой программный модуль, который прочитывает и хранит содержимое XML-документа (см. лекцию 2). Приложение – это отдельный программный модуль, который получает содержимое документа от XML-процессора, а затем обрабатывает и отображает это содержимое. Если вы отображаете XML-документ в Internet Explorer 5, браузер содержит как XML-процессор, так и часть приложения. (Если вы пишете сценарий для обработки и отображения XML-документа, то тем самым самостоятельно создаете часть приложения.)

      on_load_lecture()

      Дальше »

        Если Вы заметили ошибку - сообщите нам.  
      Страницы:

      1

      |

      2

      |

      3

      |

      вопросы | »

      |

      для печати и PDA

      Курсы | Учебные программы | Учебники | Новости | Форум | Помощь



      Телефон: +7 (495) 253-9312, 253-9313, факс: +7 (495) 253-9310, email: info@intuit.ru

      © 2003-2007, INTUIT.ru::Интернет-Университет Информационных Технологий - дистанционное образование



      Использование разделов CDATA


      Внутри символьных данных в содержимом элемента, нельзя помещать символ левой угловой скобки (<) или знак амперсанда (&) (см. лекцию 3). Одним из способов преодолеть это ограничение является использование ссылки на символ (< или &), либо на предопределенный общий примитив (< или &) (см. лекцию 6). Однако в том случае, если вам требуется многократно вставлять символы < или &, использование ссылок неудобно и затрудняет восприятие данных. В этом случае проще поместить текст, содержащий такие символы, в раздел CDATA.

      on_load_lecture()

      Дальше »

        Если Вы заметили ошибку - сообщите нам.  
      Страницы:

      « |

      1

      |

      2

      |

      3

      |

      вопросы | »

      |

      для печати и PDA

      Курсы | Учебные программы | Учебники | Новости | Форум | Помощь



      Телефон: +7 (495) 253-9312, 253-9313, факс: +7 (495) 253-9310, email: info@intuit.ru

      © 2003-2007, INTUIT.ru::Интернет-Университет Информационных Технологий - дистанционное образование



      Как вы можете использовать инструкции по обработке


      В зависимости от процессора, который будет прочитывать документ, вы можете использовать различные инструкции по обработке. Если вы используете в качестве 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"?> <!-- Далее следует инструкция по обработке внутри пролога: --> <?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


      Вы можете поместить раздел 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 внутрь другого.

      on_load_lecture()

      Перейти к вопросам »

        Если Вы заметили ошибку - сообщите нам.  
      Страницы:

      « |

      1

      |

      2

      |

      3

      |

      вопросы | »

      |

      для печати и PDA

      Курсы | Учебные программы | Учебники | Новости | Форум | Помощь



      Телефон: +7 (495) 253-9312, 253-9313, факс: +7 (495) 253-9310, email: info@intuit.ru

      © 2003-2007, INTUIT.ru::Интернет-Университет Информационных Технологий - дистанционное образование



      В каком месте вы можете поместить комментарий


      Вы можете вставить комментарий в любое место в вашем 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.