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

6.2. Как хранятся данные xml

Когда Internet Explorer открывает HTML-страницу, его встроенный XML-процессор синтаксически анализирует XML-документ. Internet Explorer также создает программный объект, который носит название “Объект исходных данных” (Data Source Object - DSO), который хранит данные XML и обеспечивает доступ к этим данным. DSO хранит данные XML как набор записей — т.е. множество записей и их полей. Например, при включении документа из листинга 1.1 в страницу как фрагмент данных, DSO будет хранить каждый элемент BOOK как запись, а каждый дочерний элемент внутри BOOK (TITLE, AUTHOR и т.д.) как поле.

При сцеплении HTML-элемента с XML-элементом, DSO автоматически предоставляет значение XML-элемента и управляет всеми его свойствами. DSO также позволяет напрямую осуществлять доступ и манипулирование имеющимся набором записей посредством ряда методов, свойств и событий. Методы представляют собой функции, которые можно вызывать со страницы для доступа или модификации набора записей. (Например, можно использовать методы для перемещения между записями.) Свойства представляют собой установленные на данный момент параметры, которые можно считывать и в ряде случаев изменять со страницы. (Например, можно считать свойство, которое сообщает о достижении последней записи.) События представляют собой определенные смены состояний (например, изменение значений записи), которыми можно управлять посредством функции сценария, который создаётся для страницы.

На странице идентификатор, который присваивается атрибуту ID во фрагменте данных, представляет DSO. (В предыдущем разделе в рассмотренном примере таким идентификатором является dsoBook.)

6.3. Проверка на наличие ошибок

При открытии XML-документа (автономного или с таблицей стилей) непосредственно в Internet Explorer, браузер проверяет, является ли документ корректно сформированным. Если он обнаруживает ошибки, то приостанавливает отображение документа и выводит сообщение о фатальной ошибке, которое помогает выявить ошибку и устранить ее.

При открыти XML-документа через фрагмент данных на HTML-странице, Internet Explorer проверяет, является ли документ корректно сформированным, а также — если документ включает объявление типа документа — является ли он валидным. Однако в том случае, если документ содержит ошибку, Internet Explorer просто не будет отображать данные XML, не выводя сообщение об ошибке.

Чтобы увидеть описание какой-либо ошибки, имеющейся в связанном XML-документе, можно протестировать документ с использованием сценариев проверки на корректность и валидность, представленных в разделе “Проверка валидности XML-документа” в главе 7.

6.4. Шаг второй: сцепление html-элементов с xml-элементами. Использование табличного сцепления

Можно осуществлять сцепление HTML-элементов с XML-элементами двумя основными способами.

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

  • Сцепление по отдельным записям, что означает сцепление не табличных элементов HTML (например, элементов SPAN) с XML-элементами таким образом, что за один раз отображается только одна запись.

Самый простой способ отобразить XML-документ, который состоит из группы записей (такой, как в Листинге 1.1), — это сцепить HTML-элемент TABLE с данными XML таким образом, чтобы в таблице автоматически отображались сразу все записи (или одна страница записей за раз, при установке режима постраничного отображения). При таком подходе Internet Explorer берет на себя большую часть работы; для этого не нужно писать сценарии или вызывать методы (функции). (Одно исключение состоит в том, что при выборе режима пролистывания, потребуется включить несколько вызовов простых функций, о чем пойдет речь далее.)

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