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

Тема 7. Сценарии объектной модели документа

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

В этой главе будет рассмотрена совершенно иная программная модель, известная как Объектная модель XML-документа, или DOM (Document Object Model). DOM состоит из группы программных объектов, представляющих различные компоненты XML-документа. Свойства и методы этих объектов позволяют использовать сценарии для отображения XML-документа с HTML-страницы. DOM хранит данные в иерархической, древообразной структуре, отражающей иерархическую структуру XML-документа — независимо от того, структурирован ли он как набор записей — и её можно использовать для доступа к любым компонентам XML-документа, включая элементы, атрибуты, инструкции по обработке, комментарии и объявления нотаций и примитивов.

Консорциум W3C использует термин Объектная модель документа (Document Object Model, или DOM) для обозначения более широкой объектной модели, которая обеспечивает доступ как к HTML-элементам, так и к XML-документам. Однако здесь этот термин применяется к обычной модели DOM XML, поддерживаемой Internet Explorer и рассчитанной на доступ конкретно к XML-документам.

7.1. Связывание xml-документа с html-страницей

Чтобы получить доступ к XML-документу с использованием DOM, необходимо связать XML-документ с HTML-страницей. Самый простой способ - сделать это через фрагмент данных. Напомним, что фрагмент данных создается через HTML-элемент с именем XML. Например, следующий элемент BODY HTML-страницы содержит фрагмент данных, который связывает XML-документ, хранящийся в файле Book.xml:

<BODY>

<XML ID="dsoBook" SRC="Book.xml"></XML>

<!-- другие элементы отображаемой части страницы... -->

</BODY>

Идентификатор ID, который назначается фрагменту данных, указывает на DSO документа (см. главу 6). Можно использовать составляющую XMLDocument DSO для доступа к DOM, как показано в следующей строке кода сценария:

Document = dsoBook.XMLDocument;

Член XMLDocument содержит корневой объект DOM, известный как узел Документ (Document node). Узел Документ можно использовать для доступа к другим объектам DOM.

Так, создание фрагмента данных на HTML-странице предписывает Internet Explorer создать как DSO (представленный непосредственно через ID фрагмента данных), так и DOM (доступ к которой осуществляется через член XMLDocument DSO).

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