Лекция "Язык XML"
Оценка 4.8

Лекция "Язык XML"

Оценка 4.8
Лекции
doc
информатика
Взрослым
24.02.2017
Лекция "Язык XML"
Язык 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 Finn     Mark Twain     mass market paperback     298     $5.49    Moby­Dick     Herman Melville     trade paperback     605     $4.95        The Scarlet Letter     Nathaniel Hawthorne     trade paperback     253     $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,   A­SECTION,   B­ SECTION, C­SECTION и т.д. Набор  наиболее  употребительных  элементов,  используемых   для  описания  документа определенного типа, называется 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/REC­xml. 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 Backus­Naur 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»   (XML­schema­ definition).  Пример Простой пример XML Schema, расположенный в файле "country.xsd", описывает данные о стране:                     Пример документа, отвечающего этой схеме: <страна  xmlns:xsi="http://www.w3.org/2001/XMLSchema­instance"  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).   Отправка электронных бизнес­карт через e­mail.   Обмен финансовой информацией.  Обмен информацией в открытом и понятном формате осуществляется между финансовыми программами (такими как 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"

Лекция "Язык XML"

Лекция "Язык XML"

Лекция "Язык XML"

Лекция "Язык XML"

Лекция "Язык XML"

Лекция "Язык XML"

Лекция "Язык XML"

Лекция "Язык XML"

Лекция "Язык XML"

Лекция "Язык XML"

Лекция "Язык XML"

Лекция "Язык XML"

Лекция "Язык XML"

Лекция "Язык XML"

Лекция "Язык XML"
Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.
24.02.2017