Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Вопрос № 1. Отображение XML-документов с использованием таблиц каскадных стилей CSSСтр 1 из 16Следующая ⇒
Самостоятельная работа № 2 «Обработка XML-документов» Введение
XML означает Extensible Markup Language – это расширяемый язык разметки, разработанный рабочей группой XML Working Group консорциума World Wide Web Consortium (W3C). Большинство современных СУБД форматируют результаты запроса к базе данных, т.е., отображают данные в виде XML-файла (XML-страницы). Отображать XML-файлы в браузере с использованием HTML разметки позволяют программы – XML – парсеры – анализаторы кода.
Есть три основных способа сообщить браузеру (в частности, Microsoft Internet Explorer), как обрабатывать и отображать каждый из созданных вами XML-элементов. 1) Таблица стилей. С помощью данного метода вы связываете таблицу стилей с XML-документом. Таблица стилей представляет собой отдельный файл, содержащий инструкции для форматирования индивидуальных XML-элементов. Вы можете использовать либо каскадную таблицу стилей (Cascading Style Sheet – CSS), которая также применяется для HTML-страниц, либо расширяемую таблицу в формате языка стилевых таблиц (Extensible Stylesheet Language – XSL), обладающую значительно более широкими возможностями, нежели CSS, и разработанную специально для XML-документов. 2) Связывание данных. Этот метод требует создания HTML-страницы, связывания с ней XML-документа и установления взаимодействий стандартных HTML-элементов на странице, таких как SPAN или TABLE, с элементами XML. В дальнейшем HTML-элементы автоматически отображают информацию из связанных с ними XML-элементов. 3) Написание сценария. Этот метод требует создания HTML-страницы, связывания с ней XML-документа и получения доступа к индивидуальным XML-элементам с помощью специально написанного кода сценария (JavaScript или Microsoft Visual Basic Scripting Edition [VBScript]). Браузер воспринимает XML-документ как объектную модель документа (Document Object Model – DOM), состоящую из большого набора объектов, свойств и команд. Написанный код позволяет осуществлять доступ, отображение и манипулирование XML-элементами.
Вопрос № 1. Отображение XML-документов с использованием таблиц каскадных стилей CSS Вопрос 2. Отображение XML-документов с использованием XSL- таблиц стилей
Сцепление HTML -элементов с XML-элементами
При сцеплении HTML элемента с XML-элементом, HTML-элемент автоматически отображает содержимое XML-элемента. Например, следующий элемент <SPAN> на HTML-странице сцеплен (атрибут DATASRC) с элементом AUTHOR (атрибут DATAFLD) связанного XML-документа:
<SPAN DATASRC="#dsoInventory" DATAFLD="AUTHOR"> </SPAN>
В результате HTML-элемент <SPAN> отображает содержимое XML-элемента AUTHOR. Тег <SPAN> предназначен для определения строчных элементов документа. C помощью тега <SPAN> можно выделить часть информации внутри других тегов и установить для нее свой стиль. Сцепление HTML-элементов с XML-элементами можно осуществлять двумя основными способами: 1. Табличное сцепление. 2. Сцепление по отдельным записям.
Табличное сцепление
Табличное сцепление означает сцепление HTML-элемента TABLE с данными XML, так что в таблице автоматически отображается весь набор записей, принадлежащих XML-документу. При таком подходе Internet Explorer берет на себя большую часть работы и, поэтому, не нужно писать сценарии или вызывать методы (функции). При связывании таблицы с XML-документом, данные, принадлежащие каждому из элементов записей, отображаются в отдельной строке таблицы, а каждый из дочерних элементов полей – в отдельном столбце. Пример HTML-страницы, которая содержит таблицу, сцепленную с данными документа Inventory.xml:
<!-- Имя файла: Inventory Table.htm --> <HTML> <HEAD> <TITLE> Book Description </TITLE> </HEAD> <BODY> <XML ID="dsoInventory" SRC="Inventory.xml"></XML> <H2> Book Inventory </H2> <TABLE DATASRC="#dsoInventory" BORDER="1" CELLPADDING="5"> <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> </BODY> </HTML>
XML-документ Inventory.xml связан с HTML-страницей Table.htm посредством фрагмента данных на этой странице, имеющего ID dsoInventory . Элемент <TABLE> HTML-страницы сцеплен со всем XML-документом Inventory . xml путем присвоения атрибуту DATASRC элемента идентификатора ID фрагмента данных, предваренного символом #. Таблица определена со стандартным заголовком (элемент THEAD) и с одной строкой (элемент TR). Каждая ячейка в этой строке (т.е., каждый элемент TD) состоит из элемента SPAN, который сцеплен с одним из полей XML-документа таким образом, что этот элемент отображает содержимое поля. Например, первая ячейка содержит элемент SPAN, сцепленный с полем TITLE. Элемент SPAN связывается с полем XML путем присвоения имени поля (в данном примере TITLE) атрибуту DATAFLD элемента. Даже если в элементе TABLE определена только одна строка, то когда браузер отображает таблицу, он повторяет строковый элемент для каждой записи в XML-документе. Т.е., в первой строке, следующей за заголовком, отображены поля (TITLE, AUTHOR и т.д.), принадлежащие первой записи (элемент BOOK для книги Adventures of Huckleberry Finn). В следующей строке отображены поля для второй записи (элемент BOOK для книги Leaves of Grass) и т.д. На рисунке 3.1 показано как выглядит документ в Internet Explorer 5. Следует обратить внимание на то, что ячейки (элементы TD) не сцеплены непосредственно с полями XML. Это потому, что элемент TD не является связываемым HTML-элементом. Следовательно, нужно включить внутрь каждого элемента TD связываемый элемент (обычно SPAN).
Рис. 3.1 – Отображение XML - документа в Internet Explorer 5
Если XML-документ содержит много записей, можно использовать постраничный вывод группы записей за один раз вместо отображения всех записей одновременно в огромной таблице. Для активизации постраничного отображения в обычной связанной таблице надо выполнить следующие действия: 1) Установить для атрибута DATAPAGESIZE сцепленного элемента TABLE значение, равное максимальному числу записей, которые нужно отобразить за один раз. Каждая страница записей будет содержать заданное вами число записей. Например, следующий начальный тег для элемента TABLE присваивает число "5" атрибуту DATAPAGESIZE, в результате чего в таблице будет отображено пять записей за раз:
<TABLE DATASRC="# dsoInventory" DATAPAGESIZE="5">
Присвойте уникальный идентификатор атрибуту ID элемента TABLE, как для следующего начального тега:
<TABLE ID="InventoryTable" DATASRC="#dsoInventory" DATAPAGESIZE="5">
2) Чтобы перемещаться между записями, нужно вызывать методы элемента TABLE, приведенные в таблице 3.1. Для приведенных в последнем столбце примеров предполагается, что таблица имеет идентификатор InventoryTable, т.е. TABLE ID="InventoryTable".
Таблица 3.1
Если в текущий момент отображена первая страница, вызов метода previousPage игнорируется, а если отображена последняя страница, то игнорируется вызов nextPage. Можно вызвать любой из этих методов из написанного вами сценария. Однако наиболее простой способ обращения к одному из методов заключается в присвоении метода атрибуту ONCLICK HTML-элемента BUTTON, как в следующем примере:
<BUTTON ONCLICK="InventoryTable.nextPage()"> Next Page </BUTTON>
Этот элемент отображает кнопку. Когда пользователь щелкает на кнопке, вызывается метод, присвоенный атрибуту ONCLICK, а именно, InventoryTable . nextPage (). Техника использования постраничного вывода демонстрируется в файлах Big . xml и Big _ Table . htm. Файл Big _ Table . htm представляет собой HTML-страницу, которая отображает XML-документ (Big . xml) в таблице, атрибуту DATAPAGESIZE которой присвоено значение "5". В верхней части страницы имеется четыре элемента BUTTON, каждый из которых выполняет действие в соответствии с методами постраничного вывода таблицы. Когда открывается HTML-страница, в таблице отображаются первые пять записей. Щелчок мышью на кнопке Next Page приводит к отображению следующих пяти записей (или, в конце таблицы, оставшегося числа записей), а щелчок на кнопке Previous приводит к отображению предыдущих пяти записей (или, в начале таблицы, первых пяти записей). Щелчок на кнопке First Page или на кнопке Last Page приводит к отображению первых или последних пяти записей. На рисунке 3.2 показано как HTML-страница будет выглядеть в Internet Explorer.
Рис. 3.2. - Вид файла Big_Table.htm в Internet Explorer
Содержание файла Big.xml:
<?xml version="1.0" encoding="windows-1251" ?> <!-- Имя файла: Big.xml --> <INVENTORY> <BOOK> <TITLE> The Adventures of Huckleberry Finn </TITLE> <AUTHOR> Mark Twain </AUTHOR> <BINDING> mass market paperback </BINDING> <PAGES> 298 </PAGES> <PRICE> $5.49 </PRICE> </BOOK> <BOOK> <TITLE> The Adventures of Tom Sawyer </TITLE> <AUTHOR> Mark Twain </AUTHOR> <BINDING> mass market paperback </BINDING> <PAGES> 205 </PAGES> <PRICE> $4.75 </PRICE> </BOOK> <BOOK> <TITLE> The Ambassadors </TITLE> <AUTHOR> Henry James </AUTHOR> <BINDING> mass market paperback </BINDING> <PAGES> 305 </PAGES> <PRICE> $5.95 </PRICE> </BOOK> <BOOK> <TITLE> The Awakening </TITLE> <AUTHOR> Kate Chopin </AUTHOR> <BINDING> mass market paperback </BINDING> <PAGES> 195 </PAGES> <PRICE> $4.95 </PRICE> </BOOK> <BOOK> <TITLE> Billy Budd </TITLE> <AUTHOR> Herman Melville </AUTHOR> <BINDING> mass market paperback </BINDING> <PAGES> 195 </PAGES> <PRICE> $4.49 </PRICE> </BOOK> <BOOK> <TITLE> A Connecticut Yankee in King Arthur's Court </TITLE> <AUTHOR> Mark Twain </AUTHOR> <BINDING> mass market paperback </BINDING> <PAGES> 385 </PAGES> <PRICE> $5.49 </PRICE> </BOOK> <BOOK> <TITLE> Joan of Arc </TITLE> <AUTHOR> Mark Twain </AUTHOR> <BINDING> trade paperback </BINDING> <PAGES> 465 </PAGES> <PRICE> $6.95 </PRICE> </BOOK> <BOOK> <TITLE> Leaves of Grass </TITLE> <AUTHOR> Walt Whitman </AUTHOR> <BINDING> hardcover </BINDING> <PAGES> 462 </PAGES> <PRICE> $7.75 </PRICE> </BOOK> <BOOK> <TITLE> The Legend of Sleepy Hollow </TITLE> <AUTHOR> Washington Irving </AUTHOR> <BINDING> mass market paperback </BINDING> <PAGES> 98 </PAGES> <PRICE> $2.95 </PRICE> </BOOK> <BOOK> <TITLE> The Marble Faun </TITLE> <AUTHOR> Nathaniel Hawthorne </AUTHOR> <BINDING> trade paperback </BINDING> <PAGES> 473 </PAGES> <PRICE> $10.95 </PRICE> </BOOK> <BOOK> <TITLE> Moby-Dick </TITLE> <AUTHOR> Herman Melville </AUTHOR> <BINDING> hardcover </BINDING> <PAGES> 724 </PAGES> <PRICE> $9.95 </PRICE> </BOOK> <BOOK> <TITLE> Passing </TITLE> <AUTHOR> Nella Larsen </AUTHOR> <BINDING> trade paperback </BINDING> <PAGES> 165 </PAGES> <PRICE> $5.95 </PRICE> </BOOK> <BOOK> <TITLE> The Portrait of a Lady </TITLE> <AUTHOR> Henry James </AUTHOR> <BINDING> mass market paperback </BINDING> <PAGES> 256 </PAGES> <PRICE> $4.95 </PRICE> </BOOK> <BOOK> <TITLE> Roughing It </TITLE> <AUTHOR> Mark Twain </AUTHOR> <BINDING> mass market paperback </BINDING> <PAGES> 324 </PAGES> <PRICE> $5.25 </PRICE> </BOOK> <BOOK> <TITLE> The Scarlet Letter </TITLE> <AUTHOR> Nathaniel Hawthorne </AUTHOR> <BINDING> trade paperback </BINDING> <PAGES> 253 </PAGES> <PRICE> $4.25 </PRICE> </BOOK> <BOOK> <TITLE> The Turn of the Screw </TITLE> <AUTHOR> Henry James </AUTHOR> <BINDING> trade paperback </BINDING> <PAGES> 384 </PAGES> <PRICE> $3.35 </PRICE> </BOOK> </INVENTORY>
Файл Big_Table.htm:
<!-- Имя файла: Big_Table.htm --> <HTML> <HEAD> <TITLE> Book Inventory </TITLE> </HEAD> <BODY> <XML ID="dsoBig " SRC="Big.xml"></XML> <H2> Book Inventory </H2> <BUTTON ONCLICK="InventoryTable.firstPage()"> |< First Page </BUTTON> <BUTTON ONCLICK="InventoryTable.previousPage()"> < Previous Page </BUTTON> <BUTTON ONCLICK="InventoryTable.nextPage()"> Next Page > </BUTTON> <BUTTON ONCLICK="InventoryTable.lastPage()"> Last Page >| </BUTTON> <p> <TABLE ID="InventoryTable" DATASRC="#dsoInventory" DATAPAGESIZE="5" BORDER="1" CELLPADDING="5"> <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> </BODY> </HTML>
Перемещение между записями
Если XML-документ содержит более одной записи (как большинство из них), связывание данных по записям становится несколько более сложным, поскольку HTML-элемент может отобразить за раз только одну запись. Отображаемая в данный момент запись называется текущей записью. (Связывание данных по одной записи иногда называют еще связыванием по текущей записи.) Изначально текущей является первая запись в документе. DSO (объект исходных данных), ассоциированный с XML-документом, предоставляет ряд методов (функций), которыми вы можете воспользоваться при перемещении между записями. Эти методы принадлежат объекту recordset DSO и приведены в таблице 3.2. Примеры вызовов, приведенные в последнем столбце. Предполагается, что HTML-страница содержит фрагмент данных XML с идентификатором (ID) dsoInventory.
Таблица 3.2
Примечание. Составной объект recordset DSO соответствует стандарту технологии доступа к данным, которую Microsoft назвала ActiveX Data Objects (ADO). Можно использовать объект общего назначения ADO recordset совместно с множеством различных источников данных, а не только с XML DSO. Более подробную информацию об ADO и объекте ADO recordset можно найти на Web-сайте Microsoft, а документацию по методам, свойствам и событиям объекта recordset - на сайте Microsoft Developer Network: http://msdn.microsoft.com/.
Можно обращаться к этим методам из написанного вами кода сценария. Однако самый простой способ их вызова – это присвоить имя метода атрибуту ONCLICK элемента BUTTON, как в следующем примере:
<BUTTON ONCLICK="dsoInventory.recordset.moveFirst()"> First Record </BUTTON>
Этот элемент отображает кнопку. Когда пользователь щелкает мышью на кнопке, вызывается метод, присвоенный атрибуту ONCLICK - dsoInventory . recordset . moveFirst (). Если текущей является первая запись, вызов метода movePrevious приводит к перемещению в зону начала файла (BOF), где нет записей, поэтому сцепленный элемент будет пуст. Аналогично, вызов метода moveNext, если текущей является последняязапись, приводит к перемещению в зону конца файла (EOF), поэтому сцепленный элемент также будет пуст. К счастью, объект recordset поддерживает свойство BOF, которое принимает значение true (истина), если достигнуто начало файла, а также свойство EOF, которое принимает значение true (истина), если достигнут конец файла. Вы можете использовать эти свойства для определения этих состояний и внесения необходимых корректировок. Например, приведенный ниже код предписывает при щелчке на кнопке в случае, если достигнуто начало файла, быстро отобразить первую запись:
<BUTTON ONCLICK="dsoInventory.recordset.movePrevious(); if (dsoInventory.recordset.BOF) dsoInventory.recordset.moveNext()"> Back </BUTTON>
Следующий код проверяет достижение конца файла:
<BUTTON ONCLICK="dsoInventory.recordset.moveNext(); if (dsoInventory.recordset.EOF) dsoInventory.recordset.movePrevious()"> Forward </BUTTON>
Можно присвоить атрибуту ONCLICK (либо другим атрибутам, относящимся к событиям, например, ONMOUSEOVER) целый блок кода сценария. В этих примерах код написан на языке Microsoft JScript. В следующем упражнении требуется создать HTML-страницу, которая отображает XML-документ (файл Big . xml) по одной записи за один раз. Страница содержит кнопки для перехода к первой, предыдущей, последующей и последней записям.
Структура DOM
В DOM программные объекты, представляющие XML-документ, называются узлами. Когда Internet Explorer обрабатывает связанный XML-документ и сохраняет его в DOM, он создает узел для каждого из основных компонентов XML-документов, таких как элементы, атрибуты и инструкции по обработке. DOM использует различные типы узлов для представления различных типов компонентов XML. Например, элемент хранится в узле Element, а атрибут – в узле Attribute. В таблице 4.1 представлены наиболее важные типы узлов.
Таблица 4.1. Основные типы узлов, используемых для представления различных компонентов XML-документа.
Можно получить каждое из имен узлов (они приведены в третьем столбце) из свойства узла nodeName. Имена, начинающиеся с символа #, представляют компоненты XML, не поименованные в документе. Например, комментарий в XML-документе не обладает именем. В связи с этим DOM использует стандартное имя # comment. Другие имена узлов получаются из имен, присвоенных соответствующим компонентам в XML-документе. Например, узел Element , представляющий элемент типа BOOK, также должен носить имя BOOK . Можно получить каждое из значений узла (перечисленные в последнем столбце) из свойства узла nodeValue. Если компонент XML имеет соответствующее значение (например, атрибут), это значение будет храниться в значении узла. Если компонент XML не имеет значения (например, элемент), DOM устанавливает в качестве значения узла null. DOM организует узлы XML-документа в виде древообразной иерархической структуры, которая отражает иерархическую структуру самого документа. При этом создается единственный узел Document, который представляет весь XML-документ и служит корневым элементом в этой иерархии. Заметим, что логическая иерархическая структура элементов XML, в которой элемент Документ является корневым, это лишь одна из ветвей иерархической структуры узлов DOM, которые представляют весь документ. Рассмотрим XML-документ Inventory_Dom.xml. Этот документ состоит из объявления XML, комментария и корневого элемента, который включает дочерние элементы, а также атрибуты. На рисунке 4.1 показана иерархическая организация узлов, которые создает DOM для представления документа. Для каждого компонента рассматриваемого документа на рисунке указан тип узла, используемого для представления компонента (например, Document , Comment и Element), а также имя узла (оно указано в скобках – например, # document , # comment и INVENTORY).
Рис. 4.1 - Иерархическая организация узлов, которые создает DOM
Содержание файла Inventory_Dom.xml: <?xml version="1.0"?><!-- Имя файла : Inventory_Dom.xml --><INVENTORY> <BOOK Binding="mass market paperback"> <TITLE> The Adventures of Huckleberry Finn </TITLE> <AUTHOR Born="1835"> Mark Twain </AUTHOR> <PAGES>298</PAGES> <PRICE>$5.49</PRICE> </BOOK> <BOOK Binding="trade paperback"> <TITLE> The Marble Faun </TITLE> <AUTHOR Born="1804"> Nathaniel Hawthorne </AUTHOR> <PAGES> 473</PAGES> <PRICE> $10.95 </PRICE> </BOOK> <BOOK Binding="hardcover"> <TITLE> Moby-Dick </TITLE> <AUTHOR Born="1819"> Herman Melville </AUTHOR> <PAGES> 724 </PAGES> <PRICE>$9.95</PRICE> </BOOK></INVENTORY>
Каждый узел, как программный объект, имеет свойства и методы, которые позволяют вам осуществлять доступ, отображать, обрабатывать и получать информацию о соответствующем компоненте XML. Например, свойства nodeName и nodeValue (см. таблицу 4.1) дают имя компонента и его значение. Все типы узлов используют общий набор свойств и методов. Эти свойства и методы разработаны для работы с узлами вообще. В таблице 4.2 представлены некоторые наиболее полезные свойства. Более подробную информацию и примеры использования этих свойств вы найдете далее в этой лекции.
Таблица 4.2. Некоторые полезные свойства, поддерживаемые всеми типами узлов
Подсказка. Все свойства, методы и события, принадлежащие различным типам объектов-узлов, предоставлены MSDN: http://msdn.microsoft.com/xml/reference/scriptref/xmldom_Objects.asp. Обратите внимание, что на этой странице каждому имени узла, которые приведены в Таблице 4.1, предшествует префикс XMLDOM – например, XMLDOMDocument, XMLDOMElement и XMLDOMText. Это имена программных интерфейсов для каждого типа узла. Обратите внимание также, что общие свойства и методы узлов представлены под именем XMLDOMNode.
Помимо общих свойств и методов, каждому типу узла присущи дополнительные свойства и методы, разработанные для работы с определенным XML-компонентом, который представляет узел. Например, узел Document имеет свойство parseError, которое содержит информацию о любой ошибке, возникающей в процессе обработки документа. Данное свойство присуще только узлу Document. В таблице 4.3 представлены наиболее полезные свойства и методы для некоторых типов узлов.
Подсказка. Свойство будет иметь значение null, если данное свойство не применимо к определенному узлу. Например, если узел представляет XML-компонент, который не имеет атрибутов (например, узел Document или Comment), его свойство attributes будет иметь значение null. Если узел представляет XML-компонент, который не имеет типа данных (тип данных имеют только определенные атрибуты), его свойство dataType будет иметь значение null. Если узел не имеет дочернего узла, не являющегося атрибутом, его свойство firstChild будет иметь значение null. Если узел относится к типу, который не имеет значений (например, узел Document или Element), его свойство nodeValue также будет иметь значение null.
Обратите внимание в таблице 4.2, что каждый узел обладает набором свойств, которые позволяют вам перемещаться в иерархии узла – т. е. получать доступ к другим узлам от текущего узла. Например, рассмотрим документ из файла Inventory _ Dom . xml. Если переменная Document содержит корневой узел Document, следующий код приведет к отображению содержимого комментария, расположенного в начале документа (этот комментарий DOM хранит как второй дочерний узел узла Document): alert (Document . childNodes (1). nodeValue);
Эта строка вызовет отображение сообщения, содержащего текст
" Имя файла: Inventory_Dom.xml ".
В третьем вопросе занятия вы узнали, как осуществлять доступ к корневому узлу Document через член XMLDocument DSO, который получается из фрагмента данных XML. Узел Document является шлюзом к XML-документу. Его можно использовать его для доступа к другим узлам.
Заключение
На занятии рассмотрены три основных метода отбражения XML-документов на HTML странице: 1) с помощью таблиц стилей CSS и XSL, 2) путём связывания данных, 3) с помощью написания сценария. Наибольшие возможности предоставляют второй и, особенно, третий способы. Метод связывания данных сводится к установке связи XML-документа с HTML-страницей, а также сцеплению элементов HTML с XML-элементами. В результате HTML-элементы автоматически отображают содержимое XML-элементов, с которыми они сцеплены. В этом случае при открытии HTML-страницы встроенный в Internet Explorer XML-процессор синтаксически анализирует XML-документ. При этом Internet Explorer создаёт программный объект, который носит название "Объект исходных данных" (Data Source Object, DSO). Объект DSO хранит данные XML и обеспечивает доступ к ним. DSO позволяет осуществлять доступ и манипулирование XML-данными посредством ряда методов, свойств и событий. Метод написания сценариев заключатся в написании скриптов на JavaScript или Microsoft Visual Basic Scripting Edition [VBScript]. В основе этих методов лежит знание языков HTML, XSLT, JavaScript.
Вопросы для самоконтроля 1. Какие основные методы обработки XML-документов существуют? 2. Для чего нужен язык описания стилей XSL? 3. Что собой представляет объектная модель документа DOM? 4. Для чего нужны программы-анализаторы, так называемые парсеры (parsers)?
Литература
1. Хабибуллин И. Ш. Самоучитель XML. - СПб.: БХВ-Петербург, 2003. - 336 с: ил.
В.В. Котович Самостоятельная работа № 2 «Обработка XML-документов» Введение
XML означает Extensible Markup Language – это расширяемый язык разметки, разработанный рабочей группой XML Working Group консорциума World Wide Web Consortium (W3C). Большинство современных СУБД форматируют результаты запроса к базе данных, т.е., отображают данные в виде XML-файла (XML-страницы). Отображать XML-файлы в браузере с использованием HTML разметки позволяют программы – XML – парсеры – анализаторы кода.
Есть три основных способа сообщить браузеру (в частности, Microsoft Internet Explorer), как обрабатывать и отображать каждый из созданных вами XML-элементов. 1) Таблица стилей. С помощью данного метода вы связываете таблицу стилей с XML-документом. Таблица стилей представляет собой отдельный файл, содержащий инструкции для форматирования индивидуальных XML-элементов. Вы можете использовать либо каскадную таблицу стилей (Cascading Style Sheet – CSS), которая также применяется для HTML-страниц, либо расширяемую таблицу в формате языка стилевых таблиц (Extensible Stylesheet Language – XSL), обладающую значительно более широкими возможностями, нежели CSS, и разработанную специально для XML-документов. 2) Связывание данных. Этот метод требует создания HTML-страницы, связывания с ней XML-документа и установления взаимодействий стандартных HTML-элементов на странице, таких как SPAN или TABLE, с элементами XML. В дальнейшем HTML-элементы автоматически отображают информацию из связанных с ними XML-элементов. 3) Написание сценария. Этот метод требует создания HTML-страницы, связывания с ней XML-документа и получения доступа к индивидуальным XML-элементам с помощью специально написанного кода сценария (JavaScript или Microsoft Visual Basic Scripting Edition [VBScript]). Браузер воспринимает XML-документ как объектную модель документа (Document Object Model – DOM), состоящую из большого набора объектов, свойств и команд. Написанный код позволяет осуществлять доступ, отображение и манипулирование XML-элементами.
Вопрос № 1. Отображение XML-документов с использованием таблиц каскадных стилей CSS |
Последнее изменение этой страницы: 2019-05-08; Просмотров: 407; Нарушение авторского права страницы