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

6.11. Связывание с другими html-элементами

При связывании элемента SPAN с полем XML элемент просто отображает содержимое поля. Это происходит потому, что свойство innerText элемента SPAN, которое определяет текст, отображаемый элементом, сцеплено с полем XML.

В DHTML, поддерживаемом Internet Explorer, каждый HTML-элемент обладает набором свойств, которые можно использовать для установки или извлечения различных характеристик элемента с помощью кода сценария. Кроме того, для свойства автоматически устанавливается значение поля XML, с которым оно сцеплено.

Однако, как видно из таблицы 5.18, для некоторых сцепляемых HTML-элементов с полем XML сцепляются и другие свойства.

При связывании с элементом SPAN реально сцепляются его свойства innerText и innerHTML. Свойство inner-Text устанавливает или получает текстовое содержимое элемента, не включая в него HTML-разметку. Свойство innerHTML устанавливает или получает полное содержимое элемента, включая любую HTML-разметку.

Например, для следующего сцепленного элемента А (элемент “анкер”, используемый для создания гиперссылок) свойство href сцеплено с полем XML:

<А DATASRC="dsolnventory" DATAFLD="REVIEWS">

Щёлкните здесь для просмотра

</A>

Это свойство, как и атрибут HREF элемента, устанавливает URL для гиперссылки. Следовательно, из поля XML извлекается URL гиперссылки для сцепленного элемента А, а не его текстовое содержимое. (XML-поле REVIEWS в рассматриваемом примере должно содержать корректный URL.)

В качестве другого примера рассмотрим связывание поля флажка элемента INPUT через свойство checked (которое изменяет статус выбора элемента (установлен или сброшен флажок)) с XML-полем:

<INPUTTYPE="CHECKBOX" DATASRC="#dsolnventory" DATAFLD="INSTOCK">

Если XML-поле INSTOCK пусто, либо содержит текст "0" или "false", то поле флажка очищается. Если оно содержит какой-либо другой текст, флажок устанавливается.

В качестве последнего примера рассмотрим элемент IMG (изображение), свойство src которого сцеплено с XML-полем. Это свойство, как и атрибут SRC элемента, задает URL файла, содержащего графические данные. Листинги 1.21 и 1.22 иллюстрируют технику сцепления для элемента

IMG.

<?xml version=”1.0”?>

<!-- Имя файла: Inventory03.xml -->

<INVENTORY>

<BOOK>

<COVERIMAGE>VoiMir.bmp</COVERIMAGE>

<TITLE>Война и мир</TITLE>

<AUTHOR>Лев Толстой</AUTHOR>

<BINDING>Жёсткая обложка</BINDING>

<PAGES>510</PAGES>

<PRICE>12 000 рублей</PRICE>

</BOOK>

<BOOK>

<COVERIMAGE>PresNak.bmp</COVERIMAGE>

<TITLE>Преступление и наказание</TITLE>

<AUTHOR>Фёдор Достоевский</AUTHOR>

<BINDING>Мягкая обложка</BINDING>

<PAGES>590</PAGES>

<PRICE>14 000 рублей</PRICE>

</BOOK>

<BOOK>

<COVERIMAGE>KorMar.bmp</COVERIMAGE>

<TITLE>Королева Марго</TITLE>

<AUTHOR>Александр Дюма</AUTHOR>

<BINDING> Мягкая обложка </BINDING>

<PAGES>410</PAGES>

<PRICE>10 000 рублей</PRICE>

</BOOK>

<BOOK>

<COVERIMAGE>ZaterMir.bmp</COVERIMAGE>

<TITLE>Затерянный мир</TITLE>

<AUTHOR>Артур Конан Дойль</AUTHOR>

<BINDING>Жёсткая обложка</BINDING>

<PAGES>350</PAGES>

<PRICE>9 000 рублей</PRICE>

</BOOK>

</INVENTORY>

Листинг 1.21

<HTML>

<HEAD>

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

</HEAD>

<BODY>

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

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

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

<THEAD>

<TH>Рисунок</TH>

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

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

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

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

<ТН>Цена</TH>

</THEAD>

<TR AUGN="center">

<TD><IMG DATAFLD="COVERIMAGE"></TD>

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

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

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

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

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

</TR>

</TABLE>

</BODY>

</HTML>

Листинг 1.22

Листинг 1.21 есть XML-документ, который содержит поле с именем COVERIMAGE в каждой записи BOOK. Каждое поле COVERIMAGE содержит URL графического файла, который хранит рисунок обложки книги. Листинг 1.22 - это та же самая HTML-страница, что и в Листинге 1.15, за исключением того, что в начало каждой строки таблицы добавлена дополнительная ячейка (элемент TD), которая содержит элемент IMG, а не SPAN. Элемент IMG сцеплен с полем COVERIMAGE XML-документа, и поэтому отобразит рисунок обложки для каждой книги, как показано на следующем рисунке.

Рисунок 43. Сцепление с элементами XML-документа, в которых указано имя файла рисунка

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