Основы XML


           

Использование вложенных таблиц для отображения иерархической структуры записей - часть 2


<TABLE DATASRC="#dsoInventory" DATAFLD="BOOK" BORDER=0 CELLSPACING=10> <THEAD> <TH>Title</TH> <TH>Author</TH> <TH>Binding</TH> <TH>Pages</TH> <TH>Price</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="PRICE"></SPAN></TD> </TR> </TABLE>

Обратите внимание, что вы должны сцепить вложенную таблицу не только с XML-документом (DATASRC="#dsoInventory"), но и с вложенными записями BOOK (DATAFLD="BOOK"), чтобы в таблице отображалось содержимое каждой записи BOOK, вложенной в текущую запись CATEGORY. Другими словами, строковый элемент (TR) в этой таблице будет повторен для каждого из этих элементов BOOK. (Заметим, что внешняя таблица по умолчанию сцеплена с записями верхнего уровня – в данном случае, с записями CATEGORY – поэтому каждая из этих записей отображается при переходе к новой категории.)

На рисунке 8.3 показано как документ из Листинга 8.6 будет выглядеть в Internet Explorer 5.


Рис. 8.3. 

Вы можете использовать дополнительные вложенные таблицы для отображения документа, который содержит дополнительные уровни вложенных записей. Рассмотрим в качестве примера документ из Листинга 8.5. Предположим, вы заменили каждое поле AUTHOR:

<AUTHOR>Geoffrey Chaucer</AUTHOR>

на нуль или несколько записей AUTHOR:

<AUTHOR> <FIRSTNAME>Geoffrey</FIRSTNAME> <LASTNAME>Chaucer</LASTNAME> </AUTHOR>

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




Содержание  Назад  Вперед