Хранение, передача и обработка данных Хранение данных: - Эффективный доступ к большим объемам данных - Надежность хранения данных Обмен данными: - Независимость от формата данных - Возможность обработки стандартным инструментарием - Эффективность обмена данными Обработка данных - Стандартные языки для стандартных операций - Совместная работа с данными - Транзакции Знакомство с XML Язык разметки XML (eXtensible Markup Language) представляет собой подмножество стандарта обобщенного языка разметки SGML (Standart Generalized Markup Language). Язык разметки SGML был разработан в 60-x годах группой исследователей из компании IBM для переноса документов между платформами и операционными системами. SGML является стандартом ISO. Достаточно громоздкий стандарт. Гипертекстовый язык разметки HTML (HyperText Markup Langiage) разработан в 80-x годах в Европейской лаборатории физики частиц для публикации и представления связанных документов. HTML - независимый от платформы простой язык. В определенном смысле HTML может считаться словарем XML Языки разметки и языки форматирования Язык форматирования определяет как должен отображаться документ независимо от его содержания. Пример языка разметки - RTF (Rich Text Format) Язык разметки предназначен для описания содержания документа. Пример - XML Некоторые языки могут применяться как для определения разметки, так и для форматирования. Пример - HTML. Разделение структуры и отображения - для задания структуры применяется язык разметки (XML), а для определения способа представления тех или иных элементов документа - язык форматирования или язык описания стиля (XSL) Спецификации XML XML Core XSL - Extensible Stylesheet Language XML Binary Characterization XML Linking Language (XLink) and the XML Pointer Language (XPointer). XML Query and XML Path XML Schema Пример 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> <BOOK> <TITLE>Leaves of Grass</TITLE> <AUTHOR>Walt Whitman</AUTHOR> <BINDING>hardcover</BINDING> <PAGES>462</PAGES> <PRICE>$7.75</PRICE> </BOOK> </INVENTORY> Пример XML документа. Часть 2. Имена элементов в XML-документе (такие как BOOK, INVENTORY) не являются элементами языка. Они назначаются при создании определенного документа XML имеет строго определенный синтаксис - каждый элемент имеет начальный и конечный теги (либо состоит из одного пустого тега). Любой вложенный элемент должен быть полностью определен внутри элемента, в состав которого он входит INVENTORY BOOK TITLE AUTHOR BOOK PRICE TITLE AUTHOR PRICE Структура XML-документа XML-документ содержит пролог и один корневой элемент, называемый иногда документом. <?xml version="1.0"?> пролог <!-- File Name: Inventory.xml --> комментарий <INVENTORY> начало корневого документа <BOOK> <TITLE>The Adventures of Huckleberry Finn</TITLE> <AUTHOR>Mark Twain</AUTHOR> <BINDING>mass market paperback</BINDING> <PAGES>298</PAGES> <PRICE>$5.49</PRICE> </BOOK> </INVENTORY> Структура XML документа. Часть 2. Пролог XML должен содержать объявление XML-документа <?xml version=“1.0”?> Пролог XML может задавать кодировку документа <?xml version=“1.0” encoding=“utf-8”?> <?xml version=“1.0” encoding=“utf-16”?> <?xml version=“1.0” encoding=“windows-1251”?> Также пролог XML может содержать определение типа документа и команды обработки. Элементы XML <AUTHOR>Mark Twain</AUTHOR> Имя, которое содержится в первой позиции начального тега называется типом или родовым идентификатором Имя идентифицирует класс, особый тип, а не сам элемент. Элементов с одним именем может быть несколько Имя должно начинаться с буквы или с символа подчеркивания, после чего могут идти буквы, цифры, символы точки, тире, подчеркивания Имена типов, начинающиеся с xml зарезервированы для служебного использования Символ двоеточие зарезервирован для пространства имен Содержание элементов XML Содержимым элемента считается текст, расположенный между начальным и конечным тегами. Элемент XML может содержать: Вложенные элементы Символьные данные Комментарии Инструкции по обработке Ссылки на символы &amp; == & == &#38; &lt; == < == &#62; &gt; == > == &#60; &apos; == ‘ == &#39; &quot; == “ == &#34; Разделы CDATA <![CDATA[ This is not a <xml>”construction”</xml> ]]> Атрибуты В начальный тег элемента можно включить одно или несколько описаний атрибутов. Описание атрибутов представляет собой пару имя = значение Имя атрибута начинается с буквы или символа подчеркивания, за ним могут следовать буквы, цифры, символы подчеркивания, тире,точки Атрибуты, начинающиеся с xml зарезервированы для служебного использования Каждое имя атрибута может присутствовать в одном и том же теге только один раз, в том числе в пустом теге Значение атрибута является строкой символов, заключенной в одинарные или двойные кавычки. XML-приложения Можно создавать не только отдельные документы XML, а определить необходимый набор элементов XML и структуру документа, которые будут применяться для определенного класса документов.Такой набор элементов и структуры называют XML-приложением или XML-словарем. XML является не только языком разметки, но и метаязыком, предназначенным для определения новых языков разметки. XML-приложение обычно определяется описателем типа документа DTD (Document Type Definition) DTD построен по принципу базы данных и определяет имена элементов, порядок в котором элементы могут появляться, доступные к применению атрибуты и др.