Отображение XML-документов с использованием сценариев объектной модели документа
В "Отображение XML-документов с использованием связывания данных" вы познакомились с программной моделью 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-документам. (См. спецификацию "Document Object Model (DOM) Level 1 Specification" по адресу http://www.w3.org/TR/REC-DOM-Level-1.) Однако здесь этот термин применяется к обычной модели DOM XML , поддерживаемой Internet Explorer 5 и рассчитанной на доступ конкретно к XML-документам.
В этой лекции вы сначала узнаете, как связывать XML -документ с HTML -страницей, чтобы вы могли получить доступ к документу через DOM . Затем вы познакомитесь с общей структурой DOM и программными объектами, которые в ней содержатся. В начале лекции представлены приемы программирования DOM , демонстрирующие, как отобразить простой XML -документ с фиксированным числом элементов. После этого вы познакомитесь с общими приемами, используемыми для отображения документов, содержащих неизвестное число элементов. Затем вы узнаете о других способах доступа к XML -элементам, а также о способах доступа к атрибутам, примитивам и нотациям. Далее в лекции вам предложено выполнить упражнение, в котором вы создадите DOM - сценарий , позволяющий обрабатывать любой XML -документ и отображать базовую информацию о каждом из его компонентов. В лекции также представлен сценарий , который вы можете использовать для проверки любого XML -документа на корректность формы и валидность .
Связывание XML-документа с HTML-страницейЧтобы получить доступ к XML -документу с использованием DOM , вы должны связать XML -документ с HTML -страницей. Самый простой способ – сделать это через фрагмент данных. Напомним, что фрагмент данных создается через HTML -элемент с именем XML . Например, следующий элемент BODY HTML -страницы содержит фрагмент данных, который связывает XML -документ, хранящийся в файле Book . xml :
Подробнее о фрагментах данных рассказано в разделе "Шаг первый: установка связи XML -документа с HTML -страницей" в "Отображение XML-документов с использованием связывания данных" .
Идентификатор ID , который вы назначаете фрагменту данных, указывает на DSO документа (см. "Отображение XML-документов с использованием связывания данных" ). Вы можете использовать составляющую XMLDocument DSO для доступа к DOM , как показано в следующей строке кода сценария:
Член XMLDocument содержит корневой объект DOM , известный как узел Document (Document node ). Вы можете использовать узел Document для доступа к другим объектам DOM .
Так, создание фрагмента данных на HTML -странице предписывает Internet Explorer 5 создать как DSO (представленный непосредственно через ID фрагмента данных), так и DOM ( доступ к которой осуществляется через член XMLDocument DSO ).
Подсказка. Если вы хотите иметь доступ к нескольким XML -документам с HTML -страницы, вы можете поместить фрагмент данных для каждого из них. Кроме того, вы можете включить несколько фрагментов данных для одного XML -документа. (Последний прием может оказаться полезным для поддержки нескольких различных версий данных XML , если ваша страница модифицирует содержимое данных DOM , накопленных в памяти. В этой лекции, однако, эти приемы модификации данных DOM не рассматриваются.)
Структура DOMВ DOM программные объекты, представляющие XML -документ, называются узлами. Когда Internet Explorer 5 обрабатывает связанный XML -документ и сохраняет его в DOM , он создает узел для каждого из основных компонентов XML -документов, таких как элементы, атрибуты и инструкции по обработке.
DOM использует различные типы узлов для представления различных типов компонентов XML . Например, элемент хранится в узле Element , а атрибут – в узле Attribute . В таблице 9.1 представлены наиболее важные типы узлов.