Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемАнтонина Селиванкина
2 160 XML XML = eXtensible Markup Language (расширяемый язык разметки) Поддерживается W3C (World Wide Web Consortium) ; первая рекомендация (описание) – 1998 год Подмножество SGML (Standard Generalized Markup Language) : упрощенная версия SGML XML - метаязык Документ – дерево элементов Элемент состоит из открывающего и закрывающего тегов Описание элемента может быть дополнено атрибутами, помещаемыми в открывающий тег Элемент может ссылаться или описывать мультимедийный объект Отличия от HTML (также базирующегося на SGML): HTML - для описания внешнего представления документа ; XML – для описания структуры и семантики документа Расширяемый: можно задавать свои собственные теги HTML - язык для публикации в Веб; XML - для более широкого применения
3 161 XML Термин XML иногда используется неправильно: Ошибочные представления о XML: XML – не язык программирования (но язык программирования можно описать с помощью XML- разметки) XML – не протокол передачи данных (но типичная задача XML описывать структуру документов/данных, передаваемых по компьютерным сетям) XML – не структура базы данных (но XML может храниться в бд и можно выполнять различные запросы к XML- данным)
4 162 XML Пример: Principles of Multimedia Database Systems Subrahmanian Multimedia and Imaging Databases Khoshafian Baker books book* titleauthors author+
5 163 XML Языки разметки базируемые на XML: Wireless Markup Language (WML): формат данных для (беспроводных) устройств, работающих с протоколом WAP (мобильные телефоны) Synchronized Multimedia Integration Language (SMIL): Задает временную разметку, внешнее вид и т.д. для мультимедийных презентаций Определяет порядок воспроизведения мультимедийных файлов Для просмотра требуется SMIL-совместимый плеер (AMBULANT, MS IE6) Руководство и примеры: Scalable Vector Graphics (SVG): для описания двухмерной векторной графики Mathematical Markup Language (MathML): для описания математических обозначений (формул) Chemical Markup Language (CML): для представления химических формул... множество других
6 164 XML-термины DTD = Document Type Definition: Определяет структуру документа Коллекция похожих документов обычно имеет одинаковый DTD Задает описание документа: какие элементы, какие атрибуты, в каком порядке, количестве и т.д. XML Schema: DTD с более широкими возможностями Замена DTD Сравнение XML Schema и DTD: DTD описывается не на XML (т.е. с помощью своего не XML формата) XML Schema позволяет создавать более расширяемые и гибкие описания XML Schema позволяет определять ограничения на тип данных
7 165 XML-термины Пространства имен (namespaces): Позволяют избегать многозначных толкований элементов и атрибутов (с одинаковыми именами) Группируют понятия, относящиеся к одному и тому же приложению (объекту, понятию и т.д.) Используются уникальные идентификаторы – определяющие пространства имен Элемент или атрибут однозначно идентифицируется по своему имени плюс по пространству имен к которому элемент/атрибут относится
8 166 XML-термины XSL = EXtensible Stylesheet Language (расширяемый язык таблиц стилей): Преобразование XML-документа Изменение структуры XML-документов; например, для представления одних и тех же XML-данных на различных носителях (экране, бумаге, мобильном телефоне) XML-документ после преобразования может оказаться не XML-документом (например, документом в формате PDF) XSL-спецификация состоит из двух частей: –XSL Transformations (XSLT): реорганизация структуры и содержимого –XSL Formatting Objects (XSL-FO): визуальное представление
9 167 XML-термины XPath: Язык для адресации определенных частей в XML-документах Используется в XSLT, XPointer, XQuery CSS - каскадные таблицы стилей (Cascading Style Sheets): Применяется в HTML Более ограниченные возможности по сравнению с XSL-FO XLink: Ссылки между документами Определяет действия, связанные с ссылками (например, как отображать документ по ссылке) XPointer: Расширение XPath, используемое XLink, для указания на любой фрагмент в другом документе XHTML: HTML, переформулированный на XML Поддерживается W3C с 2000 года
10 168 Программные средства для работы с XML XML-Парсер: Проверки структуры документов и типов данных, задаваемых DTD/XML Schema Пример: Xerces XSLT-процессор: Преобразование XML-документа в другой тип документа (XML, HTML, текстовый и т.д.) Пример: Xalan Процессор форматирования (formatting objects processor) : Основан на XSL-FO Результат форматирования: PDF, PCL, PS, SVG и ряд других Пример: Apache FOP XML-редактор: Множество разных Создание, редактирование XML-документов, DTD, XML Schema и т.д. Пример: XML Spy XML-браузер: Преобразование XML в HTML Реализовано во всех основных - MSIE, Firefox, Opera
11 169 Программные интерфейсы (API) для XML XML-документы – обычные текстовые файлы; в принципе можно обойтись без API Тем не менее, в почти каждом приложении, работающим с XML-данными, используются стандартные операции для доступа к XML-данным Document Object Model (DOM): Рассматривает документы как объекты Строит древовидную структуру документа в памяти Предоставляет методы для движения по дереву и манипуляцией с узлами дерева Также применима к грамматически правильным HTML-документам Спецификация от W3C Simple API for XML (SAX): Две версии: SAX1 и SAX2 Основана на модели событий (под событием понимается начало тега, конец тега и т.д.) Элементы обрабатываются в том порядке в каком встречаются Streaming API for XML (StAX): Лишено ряда недостатков DOM и SAX
12 170 Хранение XML в СУБД Два способа хранить XML-данные в базе данных: Преобразование схемы (схем) XML-документов в схему базы данных: –Использование своей собственной модели данных – реляционной, иерархической, объектно- ориентированной –Например, хранение документа с описанием заказа (в XML) в реляционной база данных – данные распределяются в реляционной бд по таблицам «Заказы», «Наименования», «Клиенты» и т.д. –База данных, поддерживающая этот способ, называется базой данных с XML-поддержкой (XML- enabled); XML-функциональность может быть добавлена к бд с помощью стороннего программного обеспечения –Единица хранения (в случае реляционной модели данных): запись (строка в таблице)
13 171 Хранение XML в СУБД Два способа хранить XML-данные в базе данных: Использование определенного набора структур, позволяющего хранить любой XML-документ: –XML-модель данных –Используется набор таблиц, позволяющий хранить произвольные XML-документы (Элементы, Атрибуты, Текст, и т.д.) –Хранение документов с произвольной схемой или даже с неизвестной (отсутствующей) схемой –База данных, поддерживающая этот способ, - нативная (или прирожденная) XML-база данных (native XML database) –Единица хранения: XML-документ
14 172 Хранение XML в СУБД База данных для хранения данных или документов? Дата-ориентированные документы (data-centric): –Документы, использующие XML для транспортировки данных –Преимущественно для машинной обработки –Примеры: торговые заказы, расписания рейсов, биржевые индексы, научные данные (не всегда), многие контентно- насыщенные документы (вроде страницы с описанием книги на Ozon.ru) –Регулярная структура –Порядок элементов обычно не имеет значения –Многие контентно-насыщенные документы Документо-ориентированные документы (document-centric): –Документы с которыми работают люди –Примеры: книги, сообщения электронной почты, реклама, почти все создаваемые вручную XHTML-документы –Менее регулярная или иррегулярная структура –Порядок элементов в большинстве случаев важен На практике, разделение между дата-ориентированными и документо-ориентированными документами не всегда однозначно Тем не менее, разделение важно: Данные: хранить в базе данных с XML-поддержкой Документы: в нативной XML-базе данных
15 173 Хранение XML в СУБД Нативная XML база данных: Формальное техническое определение отсутствует Задает (логическую) модель XML-документа; как минимум, модель должна включать в себя элементы, атрибуты, секции PCDATA, и порядок документа; примеры моделей – модель данных XPath, модели, основанные на DOM и событиях в SAX 1.0 Фундаментальная единица (логического) хранения - XML-документ (в то время как в реляционной базе данных – запись) Использование определенной физической структуры хранения не обязательно; например, нативная XML-бд может строиться на основе реляционной, иерархической или объектно- ориентированной базе данных или использовать собственный формат хранения, например, в виде индексированных и заархивированных файлов
16 174 Хранение XML в СУБД Нативная XML-база данных или традиционная (в первую очередь, подразумеваем, реляционную) база данных? Открытый вопрос Реляционная модель данных (начало 1970-х годов) – устоявшаяся технология: множество решений, методик, продуктов, множество специалистов,...; солидный математический и научный базис XML-модель данных (стандарт с 1998г) – первые шаги... Причины не использовать нативную XML-бд: слабые гарантии производительности при больших и очень больших объемах документов; зачаточные возможности индексирования (над совершенствованием сейчас ведется активная работа) Рекомендация на данный момент: при выборе реляционная бд с (или даже без) поддержкой XML должна иметь приоритет, но(!) активно использовать XML как формат описания данных Тем не менее, для ряда приложений нативная XML-бд хороший вариант: в частности, когда требуется интенсивное выполнение запросов к XML-данным
17 175 Пример нативной XML-базы данных: Sedna 1 : Открытый исходный код Разработана «с нуля» (не на основе какой-то бд) Поддержка XQuery Поддержка ACID транзакций Безопасность (пользователи, роли, привилегии) Индексы по структуре и по значениям API к нескольким языкам программирования 1 Хранение XML в СУБД
18 176 XQuery Язык запросов XML Разработан в W3C; первая версия - XQuery 1.0 в 2003г. Надмножество XPath Совместим с другими XML-стандартами Изначально предназначен для извлечения информации и не включал средств для модификации существующих документов XML XQuery аналог SQL для баз данных XQuery поддерживается тремя главными производителями бд (IBM, Oracle, Microsoft), а также многими другими бд
19 177 Ссылки на литературу [1] Aiken and Allen. XML in Data Management: Understanding and Applying Them Together (The Morgan Kaufmann Series in Data Management Systems). Morgan Kaufmann, 2004 [2] R. Bourret. XML and Databases. Сентябрь 2005, есть перевод на русский
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.