РАСШИРЯЕМЫЙ
ЯЗЫК
РАЗМЕТКИ
ХML
(EXTENSIBLE MARKUP LANGUAGE)
Предназначение XML
Язык HTML предоставляет фиксированный набор элементов, которые вы можете использовать для размещения компонентов на типовой Web-странице. Примерами таких элементов являются заголовки, абзацы, списки, таблицы, изображения и связи. Хотя набор HTML-элементов был существенно расширен по сравнению с первой версией HTML, язык HTML по-прежнему не очень удобен для представления многих типов документов. Ниже приведены примеры документов, которые не могут быть адекватно описаны с помощью языка HTML.
Документ, который не содержит типовых компонентов (заголовков, абзацев, списков, таблиц и т.д.) Например, в языке HTML отсутствуют элементы, необходимые для отображения музыкальных символов или математических уравнений.
База данных, такая как каталог книг. Вы можете использовать HTML-страницу, чтобы хранить и отображать информацию из статической базы данных (например, перечень книг и их описание). Однако, если вам понадобится осуществить сортировку, фильтрацию, поиск и обработку информации, придется снабдить каждую из составных частей информации соответствующей меткой (как в программе, работающей с базами данных, такой как Microsoft Access). В языке HTML не предусмотрено соответствующих элементов.
Документ, который вы хотите представить в виде иерархической структуры. Допустим, вы пишете книгу и хотите разбить ее на части, главы, разделы A, B, C и Язык XML позволяет преодолеть эти ограничения.
Описание на языке XML представляет собой операторы, написанные с соблюдением определенного синтаксиса. Когда вы создаете XML-документ, то вместо использования ограниченного набора определенных элементов вы имеете возможность создавать ваши собственные элементы и присваивать им любые имена по вашему выбору – именно поэтому язык XML является расширяемым (extensible). Следовательно, вы можете использовать XML для описания практически любого документа, от музыкальной партитуры до базы данных.
Создание xml-документов
Поскольку в XML нет типовых элементов, может показаться, что в нем вообще отсутствуют какие-либо стандарты. Тем не менее, язык XML имеет строго определенный синтаксис. Например, в отличие от HTML, каждый элемент XML должен содержать начальный и конечный тег (либо специальный пустой тег, о котором пойдет речь в последующих лекциях). Любой вложенный элемент должен быть полностью определен внутри элемента, в состав которого он входит.
На деле гибкость в создании ваших собственных элементов требует строгого соблюдения синтаксиса. Это обусловлено тем, что структура XML-документов должна быть понятной для программы, которая обрабатывает и отображает информацию, содержащуюся в этих документах. Строгий синтаксис придает XML-документу предсказуемую форму и облегчает написание программы обработки. Основное назначение языка XML – облегчить работу с документами в Web.
Отображение xml-документов
При отображении HTML-страницы браузер определяет, что элемент Н1, например, является заголовком верхнего уровня, и отображает его в соответствующем формате. Это определяется тем, что данный элемент является частью HTML-стандарта. Но каким образом браузер либо другая программа определяет, как обрабатывать и отображать элементы созданного вами XML-документа (такого как BOOK или BINDING в нашем примере), если вы сами составили эти элементы?
Есть три основных способа сообщить браузеру , как обрабатывать и отображать каждый из созданных вами XML-элементов.
Таблица стилей. С помощью данного метода вы связываете таблицу стилей с XML-документом. Таблица стилей представляет собой отдельный файл, содержащий инструкции для форматирования индивидуальных XML-элементов.
Связывание данных. Этот метод требует создания HTML-страницы, связывания с ней XML-документа и установления взаимодействий стандартных HTML-элементов на странице, таких как SPAN или TABLE, с элементами XML. В дальнейшем HTML-элементы автоматически отображают информацию из связанных с ними XML-элементов.
Написание сценария. В этом методе вы создаете HTML-страницу, связываете ее с XML-документом и имеете доступ к индивидуальным XML-элементам с помощью специально написанного кода сценария (JavaScript или Microsoft Visual Basic Scripting Edition [VBScript]). Браузер воспринимает XML-документ как объектную модель документа (Document Object Model – DOM), состоящую из большого набора объектов, свойств и команд. Написанный код позволяет осуществлять доступ, отображение и манипулирование XML-элементами.
Создание XML-документа
Поскольку описание XML-документа представляет собой простой текст, вы можете создать его, используя любой текстовый редактор, например, редактор Notepad.
Создайте XML-документ
Откройте новый файл в вашем текстовом редакторе и введите текст XML-документа, листинг которого представлен ниже.
Воспользуйтесь командой Save (Сохранить) текстового редактора, для сохранения документа на вашем жестком диске, присвоив ему имя Inventory.xml.
Листинг 1. Пример создания xml документа
<?xml version="1.0"?>
<!-- File Name: Inventory.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>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>The Portrait of a Lady</TITLE>
<AUTHOR>Henry James</AUTHOR>
<BINDING>mass market paperback</BINDING>
<PAGES>256</PAGES>
<PRICE>$4.95</PRICE>
</BOOK>
</INVENTORY>
XML-документ состоит из двух основных частей (рис.1): пролога и элемента Документ (его также называют корневым элементом).
Рис. 2.1. Структура XML-документа
Пролог
В данном примере документа пролог состоит из следующих строк:
<?xml version="1.0"?>
<!-- File Name: Inventory.xml -->
Первая строка представляет собой объявление XML, указывающее на то, что это XML-документ и содержащее номер версии. Объявление XML не является обязательным, хотя спецификация требует его включения. Если вы включаете XML-объявление, оно должно находиться в начале документа.
Вторая строка пролога представляет собой комментарий. Добавление комментариев в XML-документ не обязательно, но позволяет сделать его более понятным. Комментарий начинается с символов <!-- и заканчивается символами -->. Между этими двумя группами символов вы можете поместить любой текст (за исключением двойного тире --); XML-процессор проигнорирует его.
Пролог может также содержать следующие необязательные компоненты:
объявление типа документа, определяющее тип и структуру документа. Объявление типа документа должно следовать после XML-объявления;
одна или несколько инструкций по обработке, содержащих информацию о порядке проходов при обработке приложения XML-процессором. Далее в этой лекции вы познакомитесь с инструкцией по обработке для связывания таблицы стиля с XML-документом.
