Этот курс познакомит вас с наиболее перспективным языком хранения и предоставления информации в World Wide Web - XML. Обучение построено в виде отдельных упражнений.
В курсе дается знакомство с XML, правила и приемы создания XML-документов на основе официальной спецификации W3C (World Wide Web Consortium), просмотр XML-документов непосредственно в веб-браузере с использованием CSS и XSL, отображение XML-документов
посредством страниц HTML с помощью связывания данных, объектной модели документа XML (DOM), языка скриптов Microsoft Jscript, а также использование XML с Microsoft Internet Explorer.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.03: Прикладная информатика
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Основы XML 2-е издание, исправленное Национальный Открытый Университет “ИНТУИТ” 2016 2
Основы XML/ - М.: Национальный Открытый Университет “ИНТУИТ”, 2016 Этот курс познакомит вас с наиболее перспективным языком хранения и предоставления информации в World Wide Web – XML. Обучение построено в виде отдельных упражнений. В курсе дается знакомство с XML, правила и приемы создания XML-документов на основе официальной спецификации W3C (World Wide Web Consortium), просмотр XML-документов непосредственно в веб-браузере с использованием CSS и XSL, отображение XML-документов посредством страниц HTML с помощью связывания данных, объектной модели документа XML (DOM), языка скриптов Microsoft Jscript, а также использование XML с Microsoft Internet Explorer. (c) ООО “ИНТУИТ.РУ”, 2007-2016 (c) 2007-2016 3
Знакомство с XML Внимание! Для работы с этим курсом необходимы учебные файлы, которые Вы можете загрузить здесь скачать: http://old.intuit.ru/department/internet/xml/1/xml.zip. Язык XML (Extensible Markup Language) был разработан рабочей группой XML Working Group консорциума World Wide Web Consortium (W3C). Вот как описывают его создатели: “Расширяемый язык разметки Extensible Markup Language (XML) представляет собой составную часть языка SGML… Он предназначен для облегчения использования языка SGML в Web и выполнения задач, которые в настоящее время реализуются с помощью языка HTML. XML разработан с целью усовершенствовать применение и взаимодействие языков SGML и HTML.” Это выдержка из спецификации версии 1.0 XML, созданной XML Working Group в феврале 1998 г. Весь документ вы можете найти на сайте W3C по адресу ссылка: http://www.w3.org/TR/1998/REC-xml-19980210. XML – язык разметки, разработанный специально для размещения информации в World Wide Web, аналогично языку гипертекстовой разметки HTML (Hypertext Markup Language), который изначально стал стандартным языком создания Webстраниц. Поскольку язык HTML полностью удовлетворяет всем нашим потребностям, возникает вопрос: для чего понадобился совершенно новый язык для Web? В чем состоят его преимущества и достоинства? Как он взаимодействует с HTML? Заменит ли он HTML, или только усовершенствует его? Наконец, что собой представляет язык SGML, частью которого является XML, и почему нельзя использовать для Webстраниц собственно SGML? В этой лекции я постараюсь ответить на все эти вопросы. Предназначение XML Язык HTML предоставляет фиксированный набор элементов, которые вы можете использовать для размещения компонентов на типовой Web-странице. Примерами таких элементов являются заголовки, абзацы, списки, таблицы, изображения и связи. Например, HTML отлично подходит для создания личной домашней страницы. Ниже приведено описание домашней страницы в кодах HTML: <HTML> <HEAD> <TITLE>Home Page</TITLE> </HEAD> <BODY> <H1><IMG SRC="MainLogo.gif"> Michael Young’s Home Page</H1> <P><EM>Welcome to my Web site!</EM></P> <H2>Web Site Contents</H2> <P>Please choose one of the following topics:</P> <UL> 4
<LI><A Href="Writing.htm"><B>Writing</B></A></LI> <LI><A Href="Family.htm"><B>Family</B></A></LI> <LI><A Href="Photos.htm"><B>Photo Gallery</B></A></LI> </UL> <H2>Other Interesting Web Sites</H2> <P>Click one of the following to explore another Web site:</P> <UL> <LI> <A HREF=http://www.yahoo.com/>Yahoo Search Engine</A> </LI> <LI> <A HREF=http://www.amazon.com/>Amazon Bookstore</A> </LI> <LI> <A HREF=http://mspress.microsoft.com/>Microsoft Press</A> </LI> </UL> </BODY> </HTML> B Microsoft Internet Explorer 5 эта страница будет отображена, как показано на рисунке. 5
Рис. 1.1. Каждый элемент начинается с начального тега: текста, заключенного в угловые скобки (< >), который содержит имя элемента и дополнительную информацию. Большинство элементов заканчиваются конечным тегом, который повторяет соответствующий начальный тег, за исключением того, что имеет символ косой черты (/) перед именем элемента. Элемент содержание представляет собой текст, расположенный между начальным и конечным тегами, как показано на рисунке 1.2. Обратите внимание, что многие элементы в предыдущем примере содержат вложенные элементы. Рис. 1.2. В рассматриваемом примере HTML-страницы содержатся следующие элементы: Элемент HTML Составляющая разметки страницы HTML Вся страница HEAD Информация о заголовке, например, название страницы TITLE Название страницы, которое появляется в строке заголовка окна браузера BODY Основной текст, отображаемый браузером H1 Заголовок верхнего уровня H2 Заголовок второго уровня P Абзац текста UL Маркированный список (Unordered List) LI Отдельный элемент в списке (List Item) IMG Изображение A Связь с другой страницей или с другим местом данной страницы (элемент Anchor) EM Блок текста, набранного курсивом (EMphasized) B Блок текста, набранного полужирным шрифтом Браузер, отображающий HTML-страницу, распознает каждый из этих стандартных элементов и отображает их в соответствующем формате. Например, обычно браузер отображает заголовок Н1 наибольшим размером шрифта, заголовок Н2 – меньшим размером шрифта, а элемент Р – еще меньшим размером шрифта. Элемент LI отображается как абзац текста в составе маркированного списка. Элемент А браузер преобразует в ссылку (подчеркнутый текст), на которой пользователь может щелкнуть, чтобы перейти в другое место текущей страницы или на другую страницу. Хотя набор HTML-элементов был существенно расширен по сравнению с первой версией HTML, язык HTML по-прежнему не пригоден для представления многих типов документов. Ниже приведены примеры документов, которые не могут быть адекватно описаны с 6
помощью языка HTML. Документ, который не содержит типовых компонентов (заголовков, абзацев, списков, таблиц и т.д.) Например, в языке HTML отсутствуют элементы, необходимые для отображения музыкальных символов или математических уравнений. База данных, такая как каталог книг. Вы можете использовать HTML-страницу, чтобы хранить и отображать информацию из статической базы данных (например, перечень книг и их описание). Однако, если вам понадобится осуществить сортировку, фильтрацию, поиск и обработку информации, придется снабдить каждую из составных частей информации соответствующей меткой (как в программе, работающей с базами данных, такой как Microsoft Access). В языке HTML не предусмотрено соответствующих элементов. Документ, который вы хотите представить в виде иерархической структуры. Допустим, вы пишете книгу и хотите разбить ее на части, главы, разделы A, B, C и т.д. В дальнейшем программа может использовать данную структуру документа для создания оглавления, оформления различных уровней в структуре с помощью различных стилей, извлечения определенных разделов, а также обработки информации иными способами. Однако элемент типа заголовок в HTML содержит лишь описание собственно текста. Например: Содержимое Web-сайта Поскольку внутри элемента типа заголовок вы не задаете вложенные элементы текста, которые относятся к разделам документа, эти элементы не могут быть использованы для представления иерархической структуры документа. Язык XML позволяет преодолеть эти ограничения. Язык XML решает проблемы Описание на языке XML представляет собой операторы, написанные с соблюдением определенного синтаксиса. Когда вы создаете XML-документ, то вместо использования ограниченного набора определенных элементов вы имеете возможность создавать ваши собственные элементы и присваивать им любые имена по вашему выбору – именно поэтому язык XML является расширяемым (extensible). Следовательно, вы можете использовать XML для описания практически любого документа, от музыкальной партитуры до базы данных. Например, вы можете описать перечень книг, подобно представленному в следующем XML-документе. <?xml version="1.0"?><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> 7
<BOOK> <TITLE>Moby-Dick</TITLE> <AUTHOR>Herman Melville</AUTHOR> <BINDING>trade paperback</BINDING> <PAGES>605</PAGES> <PRICE>$4.95</PRICE> </BOOK> <BOOK> <TITLE>The Scarlet Letter</TITLE> <AUTHOR>Nathaniel Hawthorne</AUTHOR> <BINDING>trade paperback</BINDING> <PAGES>253</PAGES> <PRICE>$4.25</PRICE> </BOOK> </INVENTORY> Примечание. Для описания базы данных в XML предусмотрена возможность работы с несколькими форматами (например, формат .mdb Access или .dbf dBase): язык XML построен на принципе открытых и доступных стандартов. Имена элементов в XML-документе (такие как INVENTORY, BOOK и TITLE в приведенном выше примере) не являются определениями языка XML. Вы всего лишь назначаете эти имена при создании определенного документа. Для ваших элементов вы можете выбирать любые корректно заданные имена ( LIST вместо INVENTORY, либо ITEM вместо BOOK ). Совет. Когда вы присваиваете имена в XML-документе, старайтесь делать их по возможности наиболее информативными. Одним из преимуществ XML-документа является то, что каждому фрагменту информации может быть присвоено информативное описание. В предыдущем примере XML-документ имеет иерархическую структуру в виде дерева с элементами, вложенными в другие элементы, и с одним элементом верхнего уровня (в нашем примере – INVENTORY ) – он носит название элемент Документ или корневой элемент, – который содержит все другие элементы. Структуру описанного в примере документа можно представить, как показано на рисунке 1.3. Рис. 1.3. 8
Таким образом, с помощью XML вы можете описать иерархическую структуру документа, такого как книга, содержащего части, главы и разделы. Создание XML-документов Поскольку в XML нет типовых элементов, может показаться, что в нем вообще отсутствуют какие-либо стандарты. Тем не менее, язык XML имеет строго определенный синтаксис. Например, в отличие от HTML, каждый элемент XML должен содержать начальный и конечный тег (либо специальный пустой тег, о котором пойдет речь в последующих лекциях). Любой вложенный элемент должен быть полностью определен внутри элемента, в состав которого он входит. На деле гибкость в создании ваших собственных элементов требует строгого соблюдения синтаксиса. Это обусловлено тем, что структура XML-документов должна быть понятной для программы, которая обрабатывает и отображает информацию, содержащуюся в этих документах. Строгий синтаксис придает XML-документу предсказуемую форму и облегчает написание программы обработки. Основное назначение языка XML – облегчить работу с документами в Web. Во второй части курса будут затронуты вопросы создания XML-документов в соответствии с синтаксическими правилами. Вы узнаете, как создавать XML-документ, удовлетворяющий одному из двух уровней синтаксических ограничений. В зависимости от уровня соответствия стандартам документ может быть “верно сформированным” (“well-formed”) либо “валидным” (“valid”). Отображение XML-документов При отображении HTML-страницы браузер определяет, что элемент Н1, например, является заголовком верхнего уровня, и отображает его в соответствующем формате. Это определяется тем, что данный элемент является частью HTML-стандарта. Но каким образом браузер либо другая программа определяет, как обрабатывать и отображать элементы созданного вами XML-документа (такого как BOOK или BINDING в нашем примере), если вы сами составили эти элементы? Есть три основных способа сообщить браузеру (в частности, Microsoft Internet Explorer 5), как обрабатывать и отображать каждый из созданных вами XML-элементов. (Подробнее об этом будет рассказано в 3 части.) Таблица стилей. С помощью данного метода вы связываете таблицу стилей с XML-документом. Таблица стилей представляет собой отдельный файл, содержащий инструкции для форматирования индивидуальных XML-элементов. Вы можете использовать либо каскадную таблицу стилей (Cascading Style Sheet – CSS), которая также применяется для HTML-страниц, либо расширяемую таблицу в формате языка стилевых таблиц (Extensible Stylesheet Language – XSL), обладающую значительно более широкими возможностями, нежели CSS, и разработанную специально для XML-документов. Об этих методах будет рассказано в лекциях 2, 7 и 10. 9
Связывание данных. Этот метод требует создания HTML-страницы, связывания с ней XML-документа и установления взаимодействий стандартных HTMLэлементов на странице, таких как SPAN или TABLE, с элементами XML. В дальнейшем HTML-элементы автоматически отображают информацию из связанных с ними XML-элементов. Об этом способе рассказано в лекции 8. Написание сценария. В этом методе вы создаете HTML-страницу, связываете ее с XML-документом и имеете доступ к индивидуальным XML-элементам с помощью специально написанного кода сценария (JavaScript или Microsoft Visual Basic Scripting Edition [VBScript]). Браузер воспринимает XML-документ как объектную модель документа (Document Object Model – DOM), состоящую из большого набора объектов, свойств и команд. Написанный код позволяет осуществлять доступ, отображение и манипулирование XML-элементами. Этот метод будет описан в лекции 9. SGML, HTML и XML Обобщенный структурированный язык разметки (Structured Generalized Markup Language – SGML) является родоначальником всех языков разметки. Языки HTML и XML образованы из SGML (хотя и различными способами). SGML определяет базовый синтаксис, но дает вам возможность создавать собственные элементы (отсюда термин обобщенный в названии языка). Чтобы использовать SGML для описания определенного документа, вы должны продумать соответствующий набор элементов и структуру документа. Например, чтобы описать книгу, вы должны использовать созданные вами элементы с именами BOOK, PART, CHAPTER, INTRODUCTION, A-SECTION, B SECTION, C-SECTION и т.д. Набор наиболее употребительных элементов, используемых для описания документа определенного типа, называется SGML-приложением. (SGML-приложение также включает в себя правила, устанавливающие способы организации элементов, а также другие особенности их взаимодействия – о чем пойдет речь в лекции 5.) Вы можете определить ваше собственное 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 дает возможность разрабатывать собственные наборы элементов при описании 10