Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная работа2_связывание XML с HTML

.doc
Скачиваний:
90
Добавлен:
01.02.2015
Размер:
115.2 Кб
Скачать

Лабораторная работа 2. Отображение XML-документов с использованием связывания данных.

Вопросы и задания к лабораторно работе № 2

  1. Сцепите HTML-элемент TABLE с данными документа XML file_1.xml, созданного в лабораторной работе 1:

    1. в текстовом редакторе Notepad создайте новый файл lab2.html:

    1. сохраните файл в той папке, где находится file_1.xml и откройте в браузере Internet Explorer 5;

    2. объясните значение каждого элемента и атрибута.

  1. Создайте новый файл lab2_str.html, в котором реализовать постраничный вывод записей документа file_1.xml:

    1. добавьте элементу TABLE атрибут ID, присвоив ему уникальное значение, и атрибут DATAPAGESIZE, присвоив ему значение 2:

    1. в верхнюю часть страницы добавьте четыре элемента BUTTON, с атрибутом ONCLICK, значение которого для каждой кнопки определяется одним из методов элемента TABLE:

    1. созданный документ должен выглядеть в Internet Explorer 5 следующим образом.

Щелчок мышью на кнопке «Следующая страница» должен приводить к отображению следующих двух записей. Аналогично должно соответствовать подписи действие при щелчке мыши по трем другим кнопкам.

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

  1. Варианты предметных областей создаваемых XML-документов:

вариант 1:

библиографическое описание списка литературы

вариант 2:

описание фильмов видеотеки

вариант 3:

список сотрудников организации

вариант 4:

список моделей мобильных телефонов

вариант 5:

список студентов факультета

вариант 6:

список изучаемых дисциплин

Методический материал к лабораторно работе № 2.

Лабораторная работа 2. Отображение XML-документов с использованием связывания данных. 1

Вопросы и задания к лабораторно работе № 2 1

Методический материал к лабораторно работе № 2. 2

1.Отображение XML-документов с использованием связывания данных. 2

2.Использование табличного сцепления данных 4

3.Использование постраничного отображения 5

  1. Отображение XML-документов с использованием связывания данных.

При связывании данных соединяют XML-документ с HTML-страницей, а затем встраивают стандартные HTML-элементы, такие как SPAN или TABLE, в отдельные XML-элементы. HTML-элементы затем автоматически отображают содержимое XML-элементов, в которые они встроены.

При этом Internet Explorer создаёт программный объект, называемый "Объект исходных данных" (Data Source Object, DSO). Объект DSO хранит данные XML и обеспечивает доступ к ним. DSO позволяет осуществлять доступ и манипулирование XML-данными посредством ряда методов, свойств и событий. Internet Explorer берет на себя большую часть работы; не нужно писать сценарии или вызывать методы (функции). Можно использовать одну таблицу HTML для отображения XML-документа, структурированного как набор записей, или можно использовать вложенные HTML-таблицы для отображения XML-документа, содержащего иерархический набор записей (более сложную структуру записей).

Два основные этапа связывания данных.

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

<XML ID="dsoStudent" SRC="file_1.xml"></XML>,

где атрибут ID — это уникальный идентификатор, который используется для доступа к XML-документу с HTML-страницы

  1. Сцепить HTML-элементы с XML-элементами. Когда HTML-элемент сцепляется с XML-элементом, HTML-элемент автоматически отображает содержимое XML-элемента.

1. Для установки связи XML-документа с HTML-страницей можно использовать две формы записи на HTML-страницу:

  • Поместить весь текст XML-документа между начальным и конечным тегами XML документа HTML

<HTML>

<HEAD>

<TITLE>Лабораторная работа </TITLE>

</HEAD>

<BODY>

<XML ID=”dsoStudent”>

<?xml version="1.0" encoding="windows-1251"?>

<STUDENT>

<FAMILY>Иванов</FAMILY>

<NAME>Сергей </NAME>

<YEAR>1993</YEAR>

<GROUP>ИФ 87</GROUP>

</STUDENT>

</XML>

<!—Другие элементы HTML -->

</BODY>

</HTML>

  • На странице HTML создать пустой HTML-элемент с именем XML. URL адрес XML-документа представлен значением атрибута XML тега. В качестве значения атрибута SRC может выступать как полный, так и относительный URL адрес XML-документа

Пример фрагмента данных на HTML- странице:

<HTML>

<HEAD>

<TITLE>Лабораторная работа </TITLE>

</HEAD>

<BODY>

<XML ID=”dsoStudent” SRC= “file_1.xml”>

</XML>

<!—Другие элементы HTML -->

</BODY>

</HTML>

Текст XML-документа должен содержаться в отдельном файле file_1.xml:

<?xml version="1.0" encoding="windows-1251"?>

<STUDENT>

<FAMILY>Иванов</FAMILY>

<NAME>Сергей </NAME>

<YEAR>1993</YEAR>

<GROUP>ИФ 87</GROUP>

</STUDENT>

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

Вторая форма облегчает работу с XML-документом, особенно если один документ отображается на нескольких различных HTML-страницах.

2. Сцепление HTML-элементов с XML-элементами можно осуществить двумя способами:

  • табличное сцепление — сцепление HTML-элемента TABLE с данными XML, так чтобы в таблице автоматически отображался весь набор записей, принадлежащих XML;

  • сцепление по отдельным записям — сцепление на табличных элементов HTML с XML-элементами, так что за один раз отображается только одна запись.

  1. Использование табличного сцепления данных

Самый простой способ отобразить XML-документ, который состоит из группы записей (file_1.xml, лабораторная работа_1), – это сцепить HTML-элемент TABLE с данными XML таким образом, чтобы в таблице автоматически отображались сразу все записи (или одна страница записей за раз, если установить режим постраничного отображения).

Можно использовать один HTML-элемент TABLE для отображения XML-документа, составленного по следующим правилам:

  • корневой элемент содержит множество элементов типа запись;

  • каждый элемент типа запись содержит одинаковый набор элементов типа полей;

  • каждый элемент типа поле содержит только символьные данные.

В созданном в лабораторной работе № 1 документе file_1.xml корневой элемент FILE_1 содержит набор из четырех элементов-записей (элементы STUDENT ), и каждый из элементов-записей имеет одинаковый набор элементов-полей, которые содержат только символьные данные ( FAMILY, NAME, YEAR, GROUP).

Сцепление элемента TABLE  с данными XML требует следующего синтаксиса:

<TABLE datasrc=”#[ссылка]”>

<TR>

<TD> <SPAN datafld = “имя элемента”/></SPAN></TD>

… инструкции для каждого поля

</TR>

</TABLE>

Элемент TABLE страницы сцеплен со всем XML-документом путем присвоения атрибуту DATASRC элемента идентификатора (ID) фрагмента данных, предваренного символом #:

<TABLE DATASRC="#dsoStudent" BORDER="6" CELLPADDING="5" width=”100%”>

Таблица определена с одной строкой (элемент TR). Каждая ячейка в этой строке (т.е. каждый элемент TD) состоит из элемента SPAN, который сцеплен с одним из полей XML-документа таким образом, что этот элемент отображает содержимое поля.

Так как элемент TD не является связываемым HTML- элементом, то он не может быть непосредственно сцеплен с полями XML, поэтому необходимо использовать элемент SPAN в качестве контейнера для данных XML. Атрибут datafld этого элемента, задает конкретное поле, которое должно связываться. Например, для связывания элемента SPAN с элементом FAMILY из документа file_1.xml можно использовать следующую строку:

<TD> < SPAN DATAFLD = “FAMILY” > </SPAN> <TD>

Не смотря на то, что в элементе TABLE определена только одна строка, когда браузер отображает таблицу, он повторяет строковый элемент для каждой записи в XML- документе.

Для обеспечения заголовков всех столбцов таблицы можно использовать раздел стандартного заголовка:

<THEAD style=”background-color:aqua”>

<TH> Фамилия </TH>

… инструкции для каждого заголовка…

</THEAD>

  1. Использование постраничного отображения

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

  • Для сцепленного элемента TABLE  добавляется атрибут  DATAPAGESIZE,   значение которого равное максимальному числу записей, отображаемых за раз. Каждая страница записей будет содержать заданное число записей;

  • Для сцепленного элемента TABLE  добавляется атрибут  ID и присвоить ему уникальный идентификатор;

  • Для перемещения между записями таблицы вызывать методы элемента TABLE, с использованием его значения его уникального идентификатора в качестве объекта, вызывающего метод.

Использование методов элемента TABLE

Отображает первую страниц записей

ID_таблицы.firstPage ()

Отображает предыдущую страницу записей

ID_таблицы.previousPage()

Отображает следующую страницу записей

ID_таблицы.nextPage()

Отображает последнюю страницу записей

ID_таблицы.lastPage()

В простейшем случае обращения к методам элемента TABLE заключается в присвоении метода атрибуту ONCLICK HTML-элемента BUTTON

5