Язык XML (Extensible Markup Language) был разработан рабочей группой XML Working Group консорциума World Wide Web Consortium (W3C). Вот как описывают его создатели:
"Расширяемый язык разметки Extensible Markup Language (XML) представляет собой составную часть языка SGML… Он предназначен для облегчения использования языка SGML в Web и выполнения задач, которые в настоящее время реализуются с помощью языка HTML. XML разработан с целью усовершенствовать применение и взаимодействие языков SGML и HTML."
lect_15_2_XML.doc
2 семестр. Лекция 15.
Основы XML
1. Знакомство с XML.................................................................................................................1
1.1. Предназначение XML..................................................................................................................2
1.2. Язык XML решает проблемы.....................................................................................................2
1.3. Создание XMLдокументов.........................................................................................................3
1.4. Отображение XMLдокументов.................................................................................................4
1.6. Заменит ли XML HTML?............................................................................................................5
1.7. Официальные концептуальные цели XML..............................................................................6
1.8. Стандартные XMLприложения................................................................................................7
1.9. XMLприложения, повышающие качество XMLдокументов..............................................8
1.9.1. Стилевые таблицы XSL.............................................................................................................................8
1.9.2. XML Schema (XSD)...................................................................................................................................9
1.10. Реальное использование XML................................................................................................10
2. Создание и отображение вашего первого XMLдокумента.........................................12
2.1. Создание XMLдокумента.........................................................................................................12
2.2. Анатомия XMLдокумента........................................................................................................12
2.2.1. Пролог.......................................................................................................................................................13
2.2.2. Элемент Документ...................................................................................................................................13
2.3. Некоторые базовые правила XML...........................................................................................14
2.4. Отображение XMLдокумента.................................................................................................15
2.5. Обнаружение ошибок XML в Internet Explorer.....................................................................15
1. Знакомство с XML
Язык XML (Extensible Markup Language) был разработан рабочей группой XML Working
Group консорциума World Wide Web Consortium (W3C). Вот как описывают его создатели:
"Расширяемый язык разметки Extensible Markup Language (XML) представляет собой
составную часть языка SGML… Он предназначен для облегчения использования языка
SGML в Web и выполнения задач, которые в настоящее время реализуются с помощью
языка HTML. XML разработан с целью усовершенствовать применение и взаимодействие
языков SGML и HTML."
XML – язык разметки, разработанный специально для размещения информации в World
Wide Web, аналогично языку гипертекстовой разметки HTML (Hypertext Markup
Language), который изначально стал стандартным языком создания Webстраниц.
Поскольку язык HTML полностью удовлетворяет всем нашим потребностям, возникает
вопрос: для чего понадобился совершенно новый язык для Web? В чем состоят его преимущества и достоинства? Как он взаимодействует с HTML? Заменит ли он HTML, или
только усовершенствует его? Наконец, что собой представляет язык SGML, частью
которого является XML, и почему нельзя использовать для Webстраниц собственно
SGML?
1.1. Предназначение XML
Ниже приведены примеры документов, которые не могут быть адекватно описаны с
помощью языка HTML.
Документ, который не содержит типовых компонентов (заголовков, абзацев,
списков, таблиц и т.д.) Например, в языке HTML отсутствуют элементы,
необходимые для отображения музыкальных символов или математических
уравнений.
База данных, такая как каталог книг. Вы можете использовать HTMLстраницу,
чтобы хранить и отображать информацию из статической базы данных (например,
перечень книг и их описание). Однако, если бы вам понадобится осуществить
сортировку, фильтрацию, поиск и обработку информации, придется снабдить
каждую из составных частей информации соответствующей меткой (как в
программе, работающей с базами данных, такой как Microsoft Access). В языке
HTML не предусмотрено соответствующих элементов.
Документ, который вы хотите представить в виде иерархической структуры.
Допустим, вы пишете книгу и хотите разбить ее на части, главы, разделы A, B, C
и т.д. В дальнейшем программа может использовать данную структуру документа
для создания оглавления, оформления различных уровней в структуре с помощью
различных стилей, извлечения определенных разделов, а также обработки
информации иными способами. Однако элемент типа заголовок в HTML
содержит лишь описание собственно текста. Например:
Содержимое Webсайта
Поскольку внутри элемента типа заголовок вы не задаете вложенные элементы текста,
которые относятся к разделам документа, эти элементы не могут быть использованы для
представления иерархической структуры документа.
Язык XML позволяет преодолеть эти ограничения.
1.2. Язык XML решает проблемы
Описание на языке XML представляет собой операторы, написанные с соблюдением
определенного синтаксиса. Когда вы создаете XMLдокумент, то вместо использования
ограниченного набора определенных элементов вы имеете возможность создавать ваши
собственные элементы и присваивать им любые имена по вашему выбору – именно поэтому
язык XML является расширяемым (extensible). Следовательно, вы можете использовать
XML для описания практически любого документа, от музыкальной партитуры до базы
данных. Например, вы можете описать перечень книг, подобно представленному в
следующем XMLдокументе.
The Adventures of Huckleberry FinnMark Twainmass market paperback298$5.49MobyDickHerman Melvilletrade paperback605$4.95The Scarlet LetterNathaniel Hawthornetrade paperback253$4.25
Примечание. Для описания базы данных в XML предусмотрена возможность работы с
несколькими форматами (например, формат .mdb Access или .dbf dBase): язык XML
построен на принципе открытых и доступных стандартов.
Имена элементов в XMLдокументе (такие как INVENTORY, BOOK и TITLE в
приведенном выше примере) не являются определениями языка XML. Вы всего лишь
назначаете эти имена при создании определенного документа. Для ваших элементов вы
можете выбирать любые корректно заданные имена (LIST вместо INVENTORY, либо ITEM
вместо BOOK).
Одним из преимуществ XMLдокумента является то, что каждому фрагменту
информации может быть присвоено информативное описание.
В предыдущем примере XMLдокумент имеет иерархическую структуру в виде дерева с
элементами, вложенными в другие элементы, и с одним элементом верхнего уровня (в
нашем примере – INVENTORY) – он носит название элемент Документ или корневой
элемент, – который содержит все другие элементы. Структуру описанного в примере
документа можно представить, как показано на рисунке 1.
Рис. 1.
Таким образом, с помощью XML вы можете описать иерархическую структуру
документа, такого как книга, содержащего части, главы и разделы.
1.3. Создание XMLдокументов
Поскольку в XML нет типовых элементов, может показаться, что в нем вообще
отсутствуют какиелибо стандарты. Тем не менее, язык XML имеет строго определенный
синтаксис. Например, в отличие от HTML, каждый элемент XML должен содержать
начальный и конечный тег (либо специальный пустой тег, о котором пойдет речь в последующих лекциях). Любой вложенный элемент должен быть полностью определен
внутри элемента, в состав которого он входит.
На деле гибкость в создании ваших собственных элементов требует строгого
соблюдения синтаксиса. Это обусловлено тем, что структура XMLдокументов должна
быть понятной для программы, которая обрабатывает и отображает информацию,
содержащуюся в этих документах. Строгий синтаксис придает XMLдокументу
предсказуемую форму и облегчает написание программы обработки. Основное назначение
языка XML – облегчить работу с документами в Web.
Во второй части курса будут затронуты вопросы создания XMLдокументов в
соответствии с синтаксическими правилами. Вы узнаете, как создавать XMLдокумент,
удовлетворяющий одному из двух уровней синтаксических ограничений. В зависимости от
уровня соответствия стандартам документ может быть "верно сформированным" ("well
formed") либо "валидным" ("valid").
1.4. Отображение XMLдокументов
При отображении HTMLстраницы браузер определяет, что элемент Н1, например,
является заголовком верхнего уровня, и отображает его в соответствующем формате. Это
определяется тем, что данный элемент является частью HTMLстандарта. Но каким
образом браузер либо другая программа определяет, как обрабатывать и отображать
элементы созданного вами XMLдокумента (такого как BOOK или BINDING в нашем
примере), если вы сами составили эти элементы?
Есть три основных способа сообщить браузеру (в частности, Microsoft Internet Explorer),
как обрабатывать и отображать каждый из созданных вами XMLэлементов.
Таблица стилей. С помощью данного метода вы связываете таблицу стилей с XML
документом. Таблица стилей представляет собой отдельный файл, содержащий
инструкции для форматирования индивидуальных XMLэлементов. Вы можете
использовать либо каскадную таблицу стилей (Cascading Style Sheet – CSS), которая
также применяется для HTMLстраниц, либо расширяемую таблицу в формате
языка стилевых таблиц (Extensible Stylesheet Language – XSL), обладающую
значительно более широкими возможностями, нежели CSS, и разработанную
специально для 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элементами. 1.5. SGML, HTML и XML
Обобщенный структурированный язык разметки (Structured Generalized Markup
Language – SGML) является родоначальником всех языков разметки. Языки HTML и XML
образованы из SGML (хотя и различными способами). SGML определяет базовый
синтаксис, но дает вам возможность создавать собственные элементы (отсюда термин
обобщенный в названии языка). Чтобы использовать SGML для описания определенного
документа, вы должны продумать соответствующий набор элементов и структуру документа. Например, чтобы описать книгу, вы должны использовать созданные вами
элементы с именами BOOK, PART, CHAPTER, INTRODUCTION, ASECTION, B
SECTION, CSECTION и т.д.
Набор наиболее употребительных элементов, используемых для описания документа
определенного типа, называется SGMLприложением. (SGMLприложение также включает
в себя правила, устанавливающие способы организации элементов, а также другие
особенности их взаимодействия.) Вы можете определить ваше собственное SGML
приложение, чтобы описать тип документа, с которым вы работаете, либо в теле основной
программы должно быть определено SGMLприложение для описания типовых
документов. Наиболее известным примером последнего типа приложений является HTML,
который представляет собой SGMLприложение, разработанное в 1991 г. для описания
Webстраниц.
Казалось бы, язык SGML вполне подходит для описания Webдокументов. Однако
разработчики из консорциума W3C посчитали, что он является слишком сложным и
фундаментальным, чтобы эффективно представлять информацию в Web. Гибкость и
большое обилие средств, поддерживаемых SGML, затрудняет написание программного
обеспечения, необходимого для обработки и отображения SGMLинформации в Web
браузерах. Следовало бы приспособить часть языка SGML специально для помещения
информации в Web. В 1996 г. группа XML Working Group разработала ветвь языка SGML,
назвав его расширяемым языком разметки – Extensible Markup Language.
XML является упрощенной версией SGML, приспособленной для Web. Как и SGML,
XML дает возможность разрабатывать собственные наборы элементов при описании
определенного документа. Как и в SGML, в теле программы может быть определено XML
приложение (или словарь), которое содержит набор наиболее употребительных элементов
общего назначения и структуру документа, которая может быть использована для
описания документа определенного типа (например, документов, содержащих
математические формулы или векторную графику). Об XMLприложениях вы подробнее
узнаете далее в этой лекции.
Синтаксис XML более простой, чем SGML, что облегчает восприятие XML
документов, а также написание программ браузеров, кодов и Webстраниц для доступа и
представления информации документа.
1.6. Заменит ли XML HTML?
На сегодняшний день ответ на этот вопрос отрицательный. HTML попрежнему остается
основным языком для сообщения браузеру, как отображать информацию в Web.
B Internet Explorer вы можете открывать XMLдокументы с вложенными таблицами
стилей непосредственно браузером, не используя HTMLстраницы. Однако в двух других
основных методах отображения XMLдокументов – связывании данных и DOMсценариях
– отображение XMLдокументов осуществляется через HTML Webстраницы. (Даже при
применении метода таблиц стилей в случае, если вы используете язык XSL, вам
потребуется воспользоваться HTML, чтобы сообщить браузеру, каким образом
форматировать XMLданные.)
Не заменяя HTML, XML в настоящее время используется в сочетании с ним,
существенно расширяя возможности Webстраниц для:
виртуального представления документов любого типа;
сортировки, фильтрации, упорядочения, поиска и манипулирования информацией
иными способами;
представления информации в структурированном виде. Как заявляют сами разработчики, XML был создан для взаимодействия с HTML и
совместного с ним использования.
1.7. Официальные концептуальные цели XML
Ниже представлено десять концепций предназначения и целей применения XML,
заявленных в официальной спецификации W3C, которые содержатся на Webсайте
http://www.w3.org/TR/RECxml.
1. "XML должен стать языком прямого использования в Internet."
2. Как вы уже могли понять, XML был разработан главным образом для хранения и
распространения информации в Web.
3. "XML будет поддерживать большое количество приложений.
4. Хотя основным его назначением является распространение информации в Web
через серверы и программыбраузеры, XML также разработан для использования
его другими программами. Например, XML применяется для обмена информацией
между финансовыми программами, для распространения и обновления
программных продуктов, а также написания голосовых сценариев при доставке
информации по телефону.
5. "XML будет совместим с SGML.
6. XML является специализированной ветвью SGML. Преимущество здесь
заключается в простоте адаптации программных средств SGML для работы с
HTML.
7. "Будет легче писать программы, обрабатывающие XMLдокументы.
8. Для практического использования XML необходимо, чтобы было достаточно
просто писать браузеры и другие программы, обрабатывающие XMLдокументы. На
деле основной причиной выделения XML из SGML была доступность написания
программ для обработки XMLдокументов.
9. Все перечисленные далее свойства являются в той или иной степени производными
этой основной концепции.
10. "Количество дополнительных функций в XML должно быть минимальным, а в
идеале – нулевым.
11. Минимальное число дополнительных функций в XML упрощает написание
программ для обработки XMLдокументов.
Изобилие дополнительных
подключаемых функций в SGML стало основной причиной, обусловившей его
практическую непригодность для представления Webдокументов. Дополнительные
функции SGML требуют переопределения символовразделителей для тегов
(обычно ) и пропуск конечного тега с целью обнаружения процессором конца
элемента. При строгом написании программы обработки SGMLдокументов
необходимо учитывать возможность появления всех дополнительных функций, даже
если они редко встречаются.
12. "XMLдокументы должны быть понятными и ясными для пользователя.
13. XML призван стать lingua franca (универсальным языком) для обмена информацией
среди пользователей и программ по всему миру. В соответствии с этой концепцией
пользователи, а также специализированные программы, должны иметь возможность
создавать и прочитывать XMLдокументы. Доступность и прозрачность для
пользователя выделяют XML из большинства других форматов, применяемых при
построении баз данных и текстовых документов.
14. Пользователь может легко прочесть XMLдокумент, поскольку он описан простым
текстом и имеет логичную иерархическую структуру в виде дерева. Вы можете
упростить XMLдокументы, назначив информативные имена для элементов, атрибутов и объектов, а также добавив полезные комментарии. (Об этом пойдет
речь далее в данной лекции.)
15. "Разработка XML должна быть завершена достаточно быстро.
16. XML станет общепринятым стандартом лишь в том случае, если программисты и
пользователи примут его. Следует создать этот стандарт до того, как общество
примет альтернативные стандарты, которые все быстрее создаются компаниями
разработчиками программного обеспечения.
17. "Язык XML должен быть формальным и кратким.
18. Спецификация XML написана на формальном языке, используемом для
представления компьютерных языков, с нотацией, известной как расширенная
форма БакусНаура (Extended BackusNaur Form (EBNF)). Этот формальный язык,
хотя и достаточно сложен для восприятия, лишен двусмысленности и существенно
облегчает написание XMLдокументов, а в особенности программ для их
обработки.
19. "XMLдокументы будет проще создавать.
20. При практическом использовании XML как языка разметки для Webдокументов
упрощается не только написание обрабатывающих программ, но и процесс создания
самих XMLдокументов.
21. "Сжатой форме при XMLразметке придается минимальное значение.
22. В соответствии с пунктом 6 (XMLдокумент должен быть ясным и понятным для
пользователя), XMLразметка не должна быть излишне сжатой, чтобы не вступать в
противоречие с указанной целью.
1.8. Стандартные XMLприложения
Вы можете использовать XML не только для описания отдельного документа.
Индивидуальный пользователь, компания или комитет по стандартам может определить
необходимый набор элементов XML и структуру документа, которые будут применяться
для особого класса документов. Подобный набор элементов и описание структуры
документа называют XMLприложением или XMLсловарем.
Например, организация может определить XMLприложение для создания документов,
описывающих молекулярные структуры, людские ресурсы, мультимедиа презентации или
содержащих векторную графику. В конце лекции будет приведен список некоторых уже
созданных общеупотребительных XMLприложений, либо приложений, создание которых
планируется.
XMLприложение обычно определяется созданием описателя типа документа (DTD),
который является допустимым компонентом XMLдокумента. DTD построен по схеме
базы данных: он устанавливает и определяет имена элементов, которые могут быть
использованы в документе, порядок, в котором элементы могут появляться, доступные к
применению атрибуты элементов и другие особенности документа. Для практического
использования XMLприложения вы обычно включаете его DTD в ваш XMLдокумент;
наличие DTD в документе ограничивает круг элементов и структур, которые вы будете
использовать, вследствие чего ваш документ отвечает стандартам данного приложения.
Описания XMLдокументов, рассмотренных ранее в этой лекции, не включали DTD.
Преимущества применения стандартных XMLприложений при разработке ваших
документов состоят в том, что вы можете совместно использовать документы со всеми
другими пользователями приложения, а документ может обрабатываться и отображаться с
помощью программного обеспечения, которое уже создано для данного приложения. 1.9. XMLприложения, повышающие качество XMLдокументов
Кроме XMLприложений для описания определенных классов документов имеется
несколько XMLприложений, которые вы можете применять внутри XMLдокумента
любого типа. Эти приложения облегчают создание документа и улучшают его качество.
Ниже приведены примеры таких приложений.
Extensible Stylesheet Language (XSL) позволяет вам создавать мощные стилевые
таблицы с использованием синтаксиса XML.
XML Schema (XSD) позволяет разрабатывать подробные схемы для ваших XML
документов с использованием стандартного синтаксиса XML, что является более
мощной альтернативой применения DTD.
XML Linking Language (XLink) дает возможность связывать ваши XML
документы. Он поддерживает множественные целевые ссылки и другие полезные
функции, обеспечивая большую свободу по сравнению с механизмом организации
ссылок в HTML.
XML Pointer Language (XPointer) позволяет определять гибкие целевые ссылки.
При совместном использовании XPointer и XLink вы можете организовывать ссылки
на любое место в целевом документе – а не только переходы к специально
выделенным пунктам.
Как видите, XML является не только полезным инструментом для описания
документов, но и служит основой для построения приложений и расширений, которые
могут оказаться востребованными по мере развития Internet.
1.9.1. Стилевые таблицы XSL
Стилевыми таблицами (стилевыми листами) принято называть специальные инструкции,
управляющие процессом отображения элемента в окне программыклиента(например, в
окне броузера).
Являясь очень мощным средством оформления HTML страниц, CSS таблицы не могут
применяться в XMLдокументах, т.к. набор тэгов в этом языке не ограничен и
использование статических ссылок на форматируемые объекты документа в этом случае
невозможно.
Поэтому для форматирования XML элементов был разработан новый язык разметки,
являющийся подмножеством XML, и специально был предназначен для форматирования
XML элементов.
Некоторые его отличия от CSS:
Вопервых, стилевые таблицы XSL позволяют определять оформление элемента
в зависимости от его месторасположения внутри документа, т.е. к двум
элементам с одинаковым названием могут применяться различные правила
форматирования.
Вовторых, языком, лежащем в основе XSL, является XML, а это означает, что
XSL более гибок, универсален и у разработчиков появляется возможность
использования средства для контроля за корректностью составления таких
стилевых списков(используя DTD или схемы данных)
Втретьих, таблицы XSL не являются каскадными, подобно CSS, т.к.
чрезвычайно сложно обеспечить "каскадируемость" стилевых описаний, или, другими словами,
возможность объединения отдельных элементов
форматирования путем вложенных описаний стиля, в ситуации, когда структура
выходного документа заранее неизвестна и он создается в процессе самого
разбора. Однако в XSL существует возможность задавать правила для стилей,
при помощи которых можно изменять свойства стилевого оформления, что
позволяет использовать довольно сложные приемы форматирования
В настоящий момент язык XSL находится на стадии разработки в W3C[3] и в будущем,
видимо, станет частью стандарта XML. Это означает, что использование этого механизма
является наиболее перспективным способом оформления XML документов. В текущем
рабочем варианте W3C, XSL рассматривается не только как язык разметки, определяющий
стилевые таблицы в него заложены средства, необходимые для выполнения действий по
фильтрации информации, выводимой в окно клиента, поиска элементов, сложного поиска,
основанного на зависимостях между элементами и т.д. На сегодняшний день единственным
броузером, поддерживающим некоторые из этих возможностей, является бэтаверсия
Internet Explorer.0, однако в самом ближайшем будущем, безусловно, XSL будет
использоваться также широко, как сегодня стандартные тэги HTML
Принцип обработки XML документов стилевыми таблицами заключается в следующем:
при разборе XSLдокумента программаанализатор обрабатывает инструкции этого языка
и каждому элементу, найденному в XML дереве ставит в соответствие набор тэгов,
определяющих форматирование этого элемента. Другими словами, мы задаем шаблон
форматирования для XML элементов, причем сам этот шаблон может иметь структуру
соответствующего фрагмента XMLдокумента. Инструкции XSL определяют точное
месторасположение элемента XML в дереве, поэтому существует возможность применять
различные стили оформления к одинаковым элементам, в зависимости от контекста их
использования.
В общем случае, XSL позволяет автору задавать параметры отображения элемента
XML, используя любые языки, предназначенные для форматирования HTML, RTF и т.д. В
этом разделе мы будем использовать в качестве такого языка HTML, т.к. документы,
созданные при помощи этого языка разметки, могут просматриваться любой подходящей
программой просмотра Webстраниц
1.9.2. XML Schema (XSD)
XML Schema — один из языков описания структуры XML документа.
XML Schema получила статус рекомендации Консорциума W3C 2 мая 2001 года, став
первым стандартом описания XML, получившим статус рекомендации.
Как большинство языков описания XML, XML Schema была задумана для определения
правил, которым должен подчиняться документ. Но, в отличие от других языков, XML
Schema была разработана так, чтобы её можно было использовать в создании программного
обеспечения для обработки документов XML.
После проверки документа на соответствие XML Schema, читающая программа может
создать модель данных документа, которая включает:
словарь (названия элементов и атрибутов)
модель содержания (отношения между элементами и атрибутами и их структура)
типы данных
Каждый элемент в этой модели ассоциируется с определённым типом данных, позволяя
строить в памяти объект, соответствующий структуре XMLдокумента. Языкам Объектно ориентированного программирования гораздо легче иметь дело с таким объектом, чем с
текстовым файлом.
Другим удобством XML Schema является то, что один словарь может ссылаться на
другой, и таким образом разработчик может использовать уже существующие словари, и
легче устанавливать и распространять стандарты XML структуры для определённых задач
(например, словарь протокола SOAP).
Файл, содержащий XML Schema, обычно имеет расширение «.xsd» (XMLschema
definition).
Пример
Простой пример XML Schema, расположенный в файле "country.xsd", описывает данные
о стране:
Пример документа, отвечающего этой схеме:
<страна
xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance"
xsi:noNamespaceSchemaLocation="country.xsd">
<название>Франция
<население>59.7
1.10. Реальное использование XML
Хотя концепция XML весьма интересна, у вас может возникнуть вопрос, как его
применить на практике. В этом разделе приведен перечень примеров такого применения
XML, как уже широко используемых, так и перспективных. Если имеются
соответствующие XMLприложения для практического использования, они будут
приведены в скобках. Например, вы сможете узнать, что XMLприложение MathML
позволит вам форматировать математические формулы.
Работа с базами данных. Подобно традиционным базам данных XML может быть
использован для присвоения метки каждому полю информации внутри каждой
записи базы данных. (Например, можно пометить каждое имя, адрес и номер
телефона внутри записей списка адресов.) После этого вы сможете отображать
данные различными способами и организовывать поиск, сортировку, фильтрацию и
иную обработку данных.
Структурирование документов. Иерархическая структура XMLдокументов
идеально подходит для разметки структуры таких документов, как романы,
научные труды, пьесы. Например, вы можете использовать XML для разметки пьесы
на акты, сцены, размечать действующих лиц, сюжетные линии, декорации и т. д. XMLразметка дает возможность программам отображать или распечатывать
документ в необходимом формате; находить, извлекать или манипулировать
информацией в документе; генерировать оглавления, резюме и аннотации;
обрабатывать информацию иными способами.
Работа с векторной графикой (VML – Vector Markup Language).
Мультимедиа презентации (SMIL – Synchronized Multimedia Integration Language,
HTML + TIME – HTML Timed Interactive Multimedia Extensions).
Описание каналов. Каналы представляют собой Webстраницы, которые
автоматически рассылаются подписчикам. (CDF – Channel Definition Format).
Описание программных пакетов и их взаимосвязей. Такие описания
обеспечивают распространение и обновление программных продуктов в сети. (OSD
– Open Software Description).
Взаимодействие приложений через Web с использованием XMLсообщений.
Эти сообщения являются независимыми от операционных систем, объектных
моделей и компьютерных языков. (SOAP – Simple Object Access Protocol).
Отправка электронных бизнескарт через email.
Обмен финансовой информацией. Обмен информацией в открытом и понятном
формате осуществляется между финансовыми программами (такими как Quicken и
Microsoft Money) и финансовыми институтами (банками, общественными фондами).
(OFX – Open Financial Exchange).
Создание, управление и использование сложных цифровых форм для
коммерческих Internetтранзакций. Подобные формы могут включать
оцифрованные подписи, которые делают их признанными юридически. (XFDL –
Extensible Forms Description Language).
Обмен запросами по приему на работу и резюме (HRMML – Human Resource
Management Markup Language).
Форматирование математических формул и научной информации в Web.
(MathML – Mathematical Markup Language).
Описание молекулярных структур (CML – Chemical Markup Language).
Кодирование и отображение информации о ДНК, РНК и цепочках (BSML –
Bioinformatic Sequence Markup Language).
Кодирование генеалогических данных (GeDML – Genealogical Data Markup
Language).
Обмен астрономическими данными (AML – Astronomical Markup Language). Создание музыкальных партитур (MusicML –Music Markup Language).
Работа с голосовыми сценариями для доставки информации по телефону.
Голосовые сценарии могут быть использованы, например, для генерирования
голосовых сообщений, справок о наличии товаров и прогнозов погоды (VoxML).
Обработка и доставка информации курьерскими службами. Служба Federal
Express, например, уже использует XML для этих целей.
Представление рекламы в прессе в цифровом формате (Ad Markup).
Заполнение юридических документов и электронный обмен юридической
информацией (XCL – XML Court Interface).
Кодирование прогнозов погоды (OMF – Weather Observation Markup Format).
Обмен страховой информацией.
Обмен новостями и информацией с использованием открытых Web
стандартов (XMLNews).
Представление религиозной информации и разметка текстов богослужений
(ThML – Theological Markup Language, LitML – Liturgical Markup Language).
2. Создание и отображение вашего первого XMLдокумента
2.1. Создание XMLдокумента
Поскольку описание XMLдокумента представляет собой простой текст, вы можете
создать его, используя ваш любимый текстовой редактор, например, редактор Notepad,
входящий в состав Microsoft Windows. Еще лучше воспользоваться редактором, в котором
предусмотрена возможность анализа исходных кодов, например, текстовым редактором
Microsoft Visual Studio, рассчитанным на работу с Microsoft Visual C++, Microsoft Visual
InterDev, Microsoft Visual J++ и другими приложениями Visual Studio.
2.2. Анатомия XMLдокумента
XMLдокумент состоит из двух основных частей: пролога и элемента Документ (его
также называют корневым элементом), как показано на рисунке 2. Рис. 2
2.2.1. Пролог
В данном примере документа пролог состоит из двух строк:
Первая строка представляет собой объявление XML, указывающее на то, что это XML
документ и содержащее номер версии. (На момент создания курса последняя версия XML
имела номер 1.0.) Объявление XML не является обязательным, хотя спецификация требует
его включения. Если вы включаете XMLобъявление, оно должно находиться в начале
документа.
Вторая строка пролога представляет собой комментарий. Добавление комментариев в
XMLдокумент не обязательно, но позволяет сделать его более понятным. Комментарий
начинается с символов . Между этими двумя группами
символов вы можете поместить любой текст (за исключением >); XMLпроцессор
проигнорирует его.
Пролог может также содержать следующие необязательные компоненты:
объявление типа документа, определяющее тип и структуру документа. Объявление
типа документа должно следовать после XMLобъявления;
одна или несколько инструкций по обработке, содержащих информацию о порядке
проходов при обработке приложения XMLпроцессором. Далее в этой лекции вы
познакомитесь с инструкцией по обработке для связывания таблицы стиля с XML
документом.
2.2.2. Элемент Документ
Второй основной частью XMLдокумента является единый элемент Документ, или
корневой элемент, который в свою очередь содержит дополнительные элементы. В XMLдокументе элементы определяют его логическую структуру и несут в себе
информацию, содержащуюся в документе (в нашем примере это информация о книгах,
такая как название, автор, цена). Типовой элемент состоит из начального тега,
содержимого элемента и конечного тега. Содержимым элемента могут быть символьные
данные, другие (вложенные) элементы, либо сочетание данных и вложенных элементов.
В рассматриваемом примере элемент Документ – INVENTORY. Его начальный тег –
, конечный тег – , а содержимое – восемь вложенных
элементов BOOK.
В свою очередь, каждый элемент BOOK содержит ряд вложенных элементов, как
показано на рисунке 3.
Каждый из элементов, вложенных в элемент BOOK, например, элемент TITLE,
содержит только символьные данные, как показано на рисунке 4.
Рис. 3.
Рис. 4.
2.3. Некоторые базовые правила XML
Ниже приведено несколько основных правил создания форматированного XML
документа. Форматированный документ соответствует минимальному набору правил,
обеспечивающих возможность обработки документа браузером или другой программой.
Документ, составленный вами ранее в этой лекции, является примером форматированного
XMLдокумента, удовлетворяющего этим правилам. Документ должен иметь только один элемент верхнего уровня (элемент
Документ или корневой элемент). Все другие элементы должны быть вложены в
элемент верхнего уровня.
Элементы должны быть вложены упорядоченным образом. То есть, если
элемент начинается внутри другого элемента, он должен и заканчиваться внутри
этого элемента.
Каждый элемент должен иметь начальный и конечный тег. В отличие от
HTML, в XML не разрешается опускать конечный тег – даже в том случае, когда
браузер в состоянии определить, где заканчивается элемент.
Имя типа элемента в начальном теге должно в точности соответствовать
имени в соответствующем конечном теге.
Имена типов элементов чувствительны к регистру, в котором они набраны. В
действительности весь текст внутри XMLразметки является чувствительным к
регистру. Например, следующее описание элемента является неправильным,
поскольку имя типа элемента в начальном теге не соответствует имени типа в
конечном теге:
Leaves of grass
2.4. Отображение XMLдокумента
Вы можете открыть XMLдокумент непосредственно через Internet Explorer, точно так
же, как вы бы открыли HTML Webстраницу.
Если XMLдокумент не содержит связи с таблицей стилей, Internet Explorer помечает
различные составные части документа различным цветом, чтобы облегчить их
распознавание, а также представляет элемент Документ в виде иерархического дерева с
возможностью свертывания и развертывания структуры и просмотра с меньшей или
большей степенью детализации.
Если же XMLдокумент имеет связь с таблицей стиля, Internet Explorer отобразит
только символьные данные из элементов документа, отформатировав их в соответствии с
правилами, установленными в таблице стиля. Вы можете использовать либо таблицу
каскадных стилей (CSSтаблицу, аналогичную той, которая используется для HTML
страниц), либо XSLтаблицу стилей (Extensible Stylesheet Language), которая является
более мощным инструментом и строится в соответствии с синтаксисом, принятым для
XML. Такие таблицы могут использоваться исключительно для XMLдокументов.
2.5. Обнаружение ошибок XML в Internet Explorer
Прежде чем Internet Explorer отобразит ваш XMLдокумент, его встроенный
синтаксический XMLанализатор (parser) просматривает содержимое документа. Если он
обнаружит ошибку, Internet Explorer отобразит страницу с сообщением об ошибке, не
предпринимая попытки отобразить документ. Internet Explorer отобразит страницу с
сообщением об ошибке независимо от того, связан ли XMLдокумент с таблицей стиля.
Лекция "Язык XML"
Лекция "Язык XML"
Лекция "Язык XML"
Лекция "Язык XML"
Лекция "Язык XML"
Лекция "Язык XML"
Лекция "Язык XML"
Лекция "Язык XML"
Лекция "Язык XML"
Лекция "Язык XML"
Лекция "Язык XML"
Лекция "Язык XML"
Лекция "Язык XML"
Лекция "Язык XML"
Лекция "Язык XML"
Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.