Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК_XML.doc
Скачиваний:
16
Добавлен:
03.05.2019
Размер:
3.94 Mб
Скачать

Лабораторная работа №9

  1. Удалите связь XML-документа, созданного в лабораторной работе №4, с таблицей каскадных стилей.

  2. Отобразите полученный таким образом XML-документ при помощи HTML-страницы, представив его как одну большую таблицу с несколькими вложенными таблицами.

  3. Оформите созданную HTML-страницу по согласованию с преподавателем.

  4. Сохраните XML-документ и HTML-страницу в папке под своей фамилией.

  5. Откройте для просмотра созданную HTML-страницу в браузере Internet Explorer.

  6. При появлении сообщений об ошибках, постарайтесь их найти и устранить.

  7. Сдайте работу преподавателю.

6.8. Использование связывания данных по одной записи

Связывание данных по одной записи используется для HTML-элементов, которые не являются таблицами и не включены в связанную таблицу. HTML-элемент - например, SPAN, BUTTON или LABEL - связывается с отдельным полем XML. После этого HTML-элемент автоматически отображает содержимое поля XML, с которым он связан (сцеплен). Например, следующий HTML-элемент SPAN сцеплен с полем TITLE XML-документа, доступ к которому осуществляется через фрагмент данных dsoBook:

<SPAN DATASRC="#dsoBook" DATAFLD="TITLE"></SPAN>

Поскольку HTML-элемент не имеет множественных частей, подобно таблице, он способен отобразить значение поля только для одной записи за раз. Чтобы использовать связывание данных по одной записи, XML-до-кумент должен быть организован как простой набор записей. (См. раздел “Использование одной HTML-таблицы для отображения простого набора записей” в начале этой главы.)

Наипростейшим случаем связывания данных по одной записи является случай, когда XML-документ состоит только из одной записи, подобно документу из Листинга 1.14.

В Листинге 1.19 представлена HTML-страница, которая связывает отдельный элемент SPAN с каждым из полей рассматриваемого документа (TITLE, AUTHOR, BINDING, PAGES, PRICE).

<HTML>

<HEAD>

<TITLE>Описание книги</TITLE>

</HEAD>

<BODY>

<XML ID="dsoBook" SRC="Book.xml"></XML>

<H2>Описание книги</H2>

<SPAN STYLE="font-style:italic">Заголовок:</SPAN>

<SPAN STYLE="font-weight:bold" DATASRC="#dsoBook"

DATAFLD="TITLE"></SPAN>

<BR>

<SPAN STYLE="font-style:italic">Автор:</SPAN>

<SPAN DATASRC="#dsoBook" DATAFLD="AUTHOR"></SPAN>

<BR>

<SPAN STYLE="font-style:italic">Тип обложки:</SPAN>

<SPAN DATASRC="#dsoBook" DATAFLD="BINDING"></SPAN>

<BR>

<SPAN STYLE="font-style:italic">Количество страниц:</SPAN>

<SPAN DATASRC="#dsoBook" DATAFLD="PAGES"></SPAN>

<BR>

<SPAN STYLE="font-style:italic">Цена:</SPAN>

<SPAN DATASRC"#dsoBook" DATAFLD="PRICE"></SPAN>

</BODY>

</HTML>

Листинг 1.19

На следующем рисунке показано, как Internet Explorer отобразит эту страницу.

Рисунок 41. Отображение данных по одной записи

6.9. Перемещение между записями

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

DSO (объект исходных данных), ассоциированный с XML-документом, предоставляет ряд методов (функций), которыми можно воспользоваться при перемещении между записями. Эти методы принадлежат объекту recordset DSO и приведены в таблице 5.17. Заметим, что примеры вызовов, приведенные в последнем столбце, предполагают, что HTML-страница содержит фрагмент данных XML с идентификатором (ID) dsoInventory.

Таблица 5.17