Главная Обратная связь

Дисциплины:

Архитектура (936)
Биология (6393)
География (744)
История (25)
Компьютеры (1497)
Кулинария (2184)
Культура (3938)
Литература (5778)
Математика (5918)
Медицина (9278)
Механика (2776)
Образование (13883)
Политика (26404)
Правоведение (321)
Психология (56518)
Религия (1833)
Социология (23400)
Спорт (2350)
Строительство (17942)
Технология (5741)
Транспорт (14634)
Физика (1043)
Философия (440)
Финансы (17336)
Химия (4931)
Экология (6055)
Экономика (9200)
Электроника (7621)


 

 

 

 



Использование одной HTML-таблицы для отображения простого набора записей



 

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

· корневой элемент содержит множество элементов типа запись (record) (в этой главе подобные элементы иногда называются просто записями);

· каждый элемент типа запись содержит одинаковый набор элементов типа поле (field) (в этой главе подобные элементы иногда называются просто полями);

· каждый элемент типа поле содержит только символьные данные. (Если дочерний элемент элемента запись содержит один или несколько своих собственных дочерних элементов, DSO интерпретирует его как вложенную запись, а не как поле. О том, как отображать вложенные поля, ,будет рассказано в разделе “Использование вложенных таблиц для отображения иерархической структуры записей” далее в этой главе.)

Примером такого типа XML-документов является документ, представленный в Листинге 1.1. В этом документе корневой элемент (INVENTORY) содержит набор из четырёх элементов-записей (элементы BOOK), и каждый из элементов-записей имеет одинаковый набор элементов-полей, которые содержат только символьные данные (TITLE, AUTHOR, BINDING, PAGES, PRICE).

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

В качестве примера возьмем HTML-страницу из Листинга 1.15, которая содержит таблицу, сцепленную с данными документа из Листинга 1.1 (файл "Inventory.xml").

 

<HTML>

<HEAD>

<TITLE>Опись книг</TITLE>

</HEAD>

<BODY>

<XML ID="dsoInventory" SRC="Inventory.xml"></XML>

<H2>Опись книг</H2>

<TABLE DATASRC="#dsoInventory" BORDER="1" CELLPADDING="5">

<THEAD>

<TH>Заголовок</TH>

<TH>Автор</TH>

<TH>Обложка</TH>

<TH>Страниц</TH>

<TH>Цена</TH>

</THEAD>

<TR ALIGN="center">

<TD><SPAN DATAFLD="TITLE" STYLE="font-style:italic"></SPAN></TD>

<TD><SPAN DATAFLD="AUTHOR"></SPAN></TD>

<TD><SPAN DATAFLD="BINDING"></SPAN></TD>

<TD><SPAN DATAFLD="PAGES"></SPAN></TD>

<TD>< SPAN DATAFLD ="РRIСЕ"></SPAN></TD>

</TR>

</TABLE>

</BODY>

</HTML>

Листинг 1.15

 

XML-документ из Листинга 1.1 связан с HTML-страницей из Листинга 1.15 посредством фрагмента данных на этой странице, имеющего ID dsoInventory:

 

<XML ID="dsoInventory" SRC="Inventory.xml"></XML>

 

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

 

<TABLE DATASRC="#dsoInventory" BORDER="1" CELLPADDING="5">

 

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

 

<TD><SPAN DATAFLD="TITLE" STYLE="font-style:italic"></SPAN></TD>

 

Элемент SPAN связывается с полем XML путем присвоения имени поля (в данном примере TITLE) атрибуту DATAFLD элемента.

Вот как работает связывание данных: даже если в элементе TABLE определена только одна строка, когда браузер отображает таблицу, он повторяет строковый элемент для каждой записи в XML-документе. Т.е., в первой строке, следующей за заголовком, отображены поля (TITLE, AUTHOR и т.д.), принадлежащие первой записи (элемент BOOK для книги “Война и мир”). В следующей строке отображены поля для второй записи (элемент BOOK для книги Преступление и наказание) и т.д. На следующем рисунке показано как выглядит документ в Internet Explorer.

Рисунок 38. Отображение XML-документа с простым набором записей

 

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

 



Просмотров 799

Эта страница нарушает авторские права




allrefrs.su - 2025 год. Все права принадлежат их авторам!