- •Основные шаги
- •Шаг первый: установка связи xml-документа с html страницей
- •Как хранятся данные xml
- •Шаг второй: сцепление html-элементов с xml-элементами
- •Использование табличного сцепления данных
- •Использование одной html-таблицы для отображения простого набора записей
- •Использование постраничного отображения
- •Использование вложенных таблиц для отображения иерархической структуры записей
- •Перемещение между записями
- •Использование связывания данных по одной записи
- •Отобразите документ по отдельным записям
- •Другие способы связывания данных
- •Связывание с другими html-элементами
- •Передача html-разметки
- •Обновление накопленных данных xml
- •Использование dtd при связывании данных
- •Создайте валидный xml-документ для связывания данных
- •Связывание html-элементов с xml-атрибутами
- •Использование сценариев для dso
Отобразите документ по отдельным записям
Откройте новый, пустой текстовый файл в вашем текстовом редакторе и введите содержимое HTML-страницы:
<!-- Имя файла: Inventory Single.htm -->
<HTML>
<HEAD>
<TITLE>Book Inventory</TITLE>
</HEAD>
<BODY>
<XML ID="dsoInventory" SRC="Inventory Big.xml"></XML>
<H2>Book Description</H2>
<SPAN STYLE="font-style:italic">Title: </SPAN>
<SPAN DATASRC="#dsoInventory" DATAFLD="TITLE"
STYLE="font-weight:bold"></SPAN>
<BR>
<SPAN STYLE="font-style:italic">Author: </SPAN>
<SPAN DATASRC="#dsoInventory" DATAFLD="AUTHOR"></SPAN>
<BR>
<SPAN STYLE="font-style:italic">Binding type: </SPAN>
<SPAN DATASRC="#dsoInventory" DATAFLD="BINDING"></SPAN>
<BR>
<SPAN STYLE="font-style:italic">Number of pages: </SPAN>
<SPAN DATASRC="#dsoInventory" DATAFLD="PAGES"></SPAN>
<BR>
<SPAN STYLE="font-style:italic">Price: </SPAN>
<SPAN DATASRC="#dsoInventory" DATAFLD="PRICE"></SPAN>
<HR>
<BUTTON ONCLICK="dsoInventory.recordset.moveFirst()">
|< First
</BUTTON>
<BUTTON ONCLICK="dsoInventory.recordset.movePrevious();
if (dsoInventory.recordset.BOF)
dsoInventory.recordset.moveNext()">
< Back
</BUTTON>
<BUTTON ONCLICK="dsoInventory.recordset.moveNext();
if (dsoInventory.recordset.EOF)
dsoInventory.recordset.movePrevious()">
Forward >
</BUTTON>
<BUTTON ONCLICK="dsoInventory.recordset.moveLast()">
Last >|
</BUTTON>
</BODY>
</HTML>
Воспользуйтесь командой Save (Сохранить) вашего текстового редактора, чтобы сохранить страницу на вашем жестком диске, присвоив ей имя файла Inventory Single.htm.
Internet Explorer откроет страницу и отобразит ее, как показано на рисунке:
Заметим, что изначально, пока пользователь еще не щелкнул мышью на какой-либо кнопке, Internet Explorer отображает только первую запись в документе.
Другие способы связывания данных
Существует ряд других способов для связывания не табличных HTML-элементов. Это могут быть как индивидуальные HTML-элементы, используемые для связывания данных по одной записи, так и HTML-элементы, содержащиеся в сцепленной таблице HTML.
В таблице 3 сведена важная информация, которая вам потребуется при изучении материала последующих разделов. В ней содержатся HTML-элементы, которые вы можете использовать для связывания данных по одной записи – т.е., все сцепляемые HTML-элементы, за исключением элемента TABLE. Для каждого элемента описано его назначение, указано свойство элемента, через которое он сцепляется с полем XML, указано, может ли элемент передавать HTML-разметку, содержащуюся в поле XML, с которым он сцеплен, а также может ли элемент обновлять содержимое поля XML. Эта информация будет значимой при изучении последующих разделов.
Таблица 3. Сцепляемые HTML-элементы (за исключением элемента TABLE) |
||||
HTML-элемент |
Назначение элемента |
Свойство (или свойства) для сцепления элемента |
Передает ли разметку HTML, содержащуюся в поле XML? |
Обновляет ли сцепленное поле XML? |
A |
Элемент "анкер"; указывает на начало или место назначения гиперссылки |
href |
Нет |
Нет |
APPLET |
Добавляет на страницу фрагмент кода Java |
param |
Нет |
Да |
BUTTON |
Отображает кнопку управления |
innerHTML и innerText |
Да |
Нет |
DIV |
Используется для форматирования части документа, такой как глава, раздел или приложение |
innerHTML и innerText |
Да |
Нет |
FRAME |
Содержит отдельный фрейм (кадр) в наборе фреймов |
src |
Нет |
Нет |
IFRAME |
Создает не выделенный обтекаемый фрейм |
src |
Нет |
Нет |
IMG |
Отображает рисунок или видеоклип |
src |
Нет |
Нет |
INPUT TYPE=CHECKBOX |
Отображает поле флажка в форме |
checked |
Нет |
Да |
INPUT TYPE=HIDDEN |
Хранит и предоставляет информацию на сервер, вместо отображения в форме |
value |
Нет |
Да |
INPUT TYPE=PASSWORD |
Аналогично INPUT TYPE=TEXT, но вводимый пользователем текст не отображается |
value |
Нет |
Да |
INPUT TYPE=RADIO |
Отображает в форме радио-кнопку |
checked |
Нет |
Да |
INPUT TYPE=TEXT |
Разрешает пользователю ввести однострочный текст в форме |
value |
Нет |
Да |
LABEL |
Отображает текстовую надпись (этикетку) |
innerText и innerHTML |
Да |
Нет |
MARQUEE |
Отображает текст с прокруткой |
innerText и innerHTML |
Да |
Нет |
SELECT |
Отображает поле списка |
Свойство text для выбранного элемента списка |
Нет |
Да |
SPAN |
Используется для форматирования фрагмента текста (например, текста внутри элемента P [абзац] или DIV) |
innerText и innerHTML |
Да |
Нет |
TEXTAREA |
Разрешает пользователю вводить многострочный текст |
value |
Нет |
Да |
