CERN – European Organization for Nuclear Research IT Department – e – Business Section Практическое использование XML Ростислав Титов Группа е-бизнеса.

Презентация:



Advertisements
Похожие презентации
Язык запросов XML. XML (Extensible Markup Language) - это новый SGML-производный язык разметки документов, позволяющий структурировать информацию разного.
Advertisements

XSLT-ТРАНСФОРМАЦИЯ XML- ТЕХНОЛОГИИ Лекция 4. Трансформация XML- данных Категории трансформации Структурные трансформации – трансформация одного словаря.
БАЗЫ ДАННЫХ ЛЕКЦИЯ 14. тема: XML-ТЕХНОЛОГИИ В БАЗАХ ДАННЫХ.
WEB- ТЕХНОЛОГИИ Лекция 4. Задача преобразования XML- данных 1 Задача преобразования Для передачи данных между разными приложениями необходимо преобразовать.
Java Advanced XML Transformations 1.0 (XSLT 1.0).
XML eXtensible Markup Language 1.Пространства имён (Namespaces) 2.Язык навигации внутри XML-документа (XPath)
XML eXtensible Markup Language 1.Язык навигации внутри XML-документа (XPath) 2.Пространства имён (Namespaces) 3.Язык трансформаций (XSLT)
Программный доступ к XML DOM, SAX,.NET среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря.
XSL eXtensible Stylesheet Language среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря.
XML - ПРАВИЛА ПОСТРОЕНИЯ ДОКУМЕНТОВ. Элементы электронного УМК Учебный план Программа дисциплины Структура курса Электронный конспект Обучающие и аттестующие.
Автоматическая обработка естественного языка I. Обработка письменного текста.
160 XML XML = eXtensible Markup Language (расширяемый язык разметки) Поддерживается W3C (World Wide Web Consortium) ; первая рекомендация (описание) –
SAX Simple API for XML Презентацию подготовила Иванова Анна, гр. 950б.
Реализация концепции построения и формирования отраслевой системы государственного учета, регистрации и мониторинга (ОСГУРМ) информационных ресурсов сферы.
Технологии создания Web-документов. Введение 1991 – год рождения WWW (World Wide Web - Всемирная паутина). Тим Бернерс-Ли, сотрудник CERN (Швейцария)
Базы данных – это совокупность сведений (о реальных объектах, процессах, событиях или явлениях), относящихся к определенной теме или задаче, организованная.
Технология обработки текстовой информации. Процесс подготовки печатного издания включает в себя следующие этапы: Набор; Редактирование; Форматирование.
Языки, технологии и средства создания Web-сайтов. Компонентная структура. Выполнил Федорова Я.В., студентка СФУ ИППС 1 курс заочное отделение.
XML - расширенный язык разметки Моисеевой О. Макушиной Д. (eXtensible Markup Language)
КАФЕДРА СИСТЕМ АВТОМАТИЗИРОВАННОГО ПРОЕКТИРОВАНИЯ (САПР) УПРАВЛЕНИЕ БАЗАМИ ДАННЫХ.
Транксрипт:

CERN – European Organization for Nuclear Research IT Department – e – Business Section Практическое использование XML Ростислав Титов Группа е-бизнеса отдела ИТ ЦЕРН – Женева, Швейцария

CERN e – Business XML eXtensible Markup Language «Расширяемый язык разметки» SGML (стандарт ISO, 1986) В основном для технической документации XML (стандарт W3C, 1998) Упрощение и развитие SGML, широкая область применения

CERN e – Business Bevezetés Szöveg Jelölés Mégtöbb dokumentum jelölés Foglalt attribútumok Feldolgozó utasítások Введение Текст Разметка Дополнительные данные о разметке Зарезервированные атрибуты Инструкции по обработке Зачем нужна разметка данных? Разметка позволяет добавить информацию о структуре документа

CERN e – Business Rostislav Titov XML (Extensible Markup Language) is … XML: Правила построения Заголовок Один корневой тэг Иерархия тэгов Атрибуты Некоторые правила Имена элементов чувствительны к регистру букв Каждый элемент должен закрываться Элементы не могут пересекаться ( ) Значения атрибутов - в кавычках или апострофах Текстовые элементы Пустые элементы

CERN e – Business XML: Дерево presentation author firstname lastname chapter text

CERN e – Business XML: Передача данных Независимость от платформы и языка Простота создания, простота обработки Понятность для человека и компьютера Открытый стандарт –Большое количество библиотек обработки –Большое количество литературы –Специализированные XML-редакторы Возможность проверки структуры

CERN e – Business XML: Передача данных Внешняя программа EDH XML Автоматическая генерация форм из внешних программ XML в качестве формата передачи данных Анализ XML-схемы - гарантия правильности данных Пример: CERN Electronic Document Handling (EDH)

CERN e – Business Web Services Web service WSDL XML SOAP XML Обмен данными между программами через Интернет Стандарт Независимость от платформы и языка (Java,.Net, …) WSDL – Web Service Definition Language SOAP – Simple Object Access Protocol

CERN e – Business XML: Хранение данных Хранение структуры данных вместе с данными Объектное «дополнение» реляционных СУБД Проверка структуры Поддержка на уровне баз данных –Microsoft SQL Server , Oracle 9i +, –Специальный тип данных для хранения XML –Специализированные XML-индексы –Запросы к XML (XQuery и пр.) –Выдача данных в формате XML

CERN e – Business XML: Хранение данных Пример: Поисковая система EDH Решение: Все документы хранятся в XML Контекстный поиск по XML (Oracle InterMedia) Пример: «Найти документы, которые создал Титов»: Select DOC_ID from DOC_XML where Contains(XML, Titov within creator) > 0; Проблема: Эффективный поиск по произвольному числу критериев – нетривиальная задача

CERN e – Business XML: Преобразование данных XML может быть преобразован в HTML, текст, PDF,... –Не требуется специальных программных средств –Коммерческие визуальные редакторы –Платформонезависимость

CERN e – Business XML: Стандарты на базе XML Возможность формального описания структуры Независимость от платформы и языка Понятность для человека и компьютера Возможность использования XML-средств (преобразования XSLT, запросы XQuery)… –XHTML (HTML, удовлетворяющий стандарту XML) –WSDL (Web Services Definition Language) –SOAP (Simple Object Access Protocol) –SVG (Scalable Vector Graphics) –ebXML (XML for e-Business) –…

CERN e – Business Формализация структуры XML Существуют способы формального определения структуры XML-документов DTD (Document Type Definition) XML-Схема (XML Schema) Устарело! Не для новых разработок Устарело! Не для новых разработок

CERN e – Business XML-схема: когда это нужно? Формальное описание структуры для будущего использования Программисты могут не беспокоиться о правильности входных данных Создатели XML-документов могут заблаговременно проверить их правильность

CERN e – Business XML-схема: когда это НЕ нужно? Когда заведомо известно, что XML имеет правильную структуру Когда правильность структуры не играет роли Когда нужна максимальная скорость обработки Небольшие «одноразовые» проекты

CERN e – Business XML-схема: возможности Набор и порядок следования элементов Последовательный порядок элементов (sequence) или выбор (choice) Количество повторений элементов и групп элементов Набор и наличие/отсутствие атрибутов Тип элементов и атрибутов Ограничения на значения элементов и атрибутов Значения атрибутов по умолчанию Уникальность значений Поддержка пространств имен (namespaces)

CERN e – Business XML-схема: демонстрация

CERN e – Business XPath: Навигация по XML Обеспечивает доступ к отдельным элементам XML Результатом XPATH-выражения может быть: C:\presentation\author\firstname/presentation/author/firstname Элемент XML Набор элементов Логическое выражение Строка Число Пустое множество

CERN e – Business XPath: Примеры Найти имя ректора /institute/rector/person/text() Найти названия факультетов Найти всех сотрудников //person Найти имя декана факультета «Б» Найти имя второго по счету заместителя Малюка А. А. //dean/person[starts-with(., Малюк)] /../../deputies/person[position() = 2]

CERN e – Business XPath: Примеры Пример: Система обработки событий Сравнение события c XPath подписки XML События Подписка на события XPath Система обработки Уведомление пользователей «Хочу уведомления о всех документах на сумму более 600 CHF» / document [amount > 600]

CERN e – Business XPath: Использование в программах Element root = xml.getDocumentElement(); Node child; for (child = root.getFirstChild(); child != null; child = child.getNextSibling()) if (child.getNodeName().equals("report") && ( (Element)child ).getAttribute("name").equals("Slava")) break; for (child = ((Element)child).getFirstChild(); child != null; child = child.getNextSibling()) { if (child.getNodeName().equals("title") ) { for (Node child2 = child.getFirstChild(); child2 != null; child2 = child2.getNextSibling()) if ( child2 instanceof Text ) System.out.println(( (Text)child2 ).getData().trim()); } System.out.println(((XMLDocument)xml).selectSingleNode( XPath DOM Model

CERN e – Business Зачем нужен XPath «XPath является критической составляющей XML-преобразований (XSLT) и запросов XQuery. »

CERN e – Business XQuery – Язык XML запросов XQuery – это SQL для XML –Независимость от конкретной СУБД –Простота использования Поддержка популярными СУБД (Microsoft SQL Server 2003, Oracle 9i и10g) Базируется на XPath, но более понятен и может работать на множестве документов

CERN e – Business XSLT: XML Transformations Transforms XML to HTML, text or other XML XSLT 1.0 (Current), XSLT 2.0 (Draft) XSLT is a Human Interface to XML Supported by Web Browsers XSLT

CERN e – Business XSLT: Упрощенная структура xsl:stylesheet xsl:template xsl:value-of xsl:apply-templates … XSLT – это файл в формате XML Активное использование XPath … … … Применить шаблон к элементу исходного XML Напечатать значение XPath Применить шаблоны к другим элементам

CERN e – Business XSLT: Пример Author: Table of Contents Chapter..

CERN e – Business XSLT: Другие возможности Условия ( ) Циклы ( ) Переменные ( ) Сортировка ( ) Нумерация [1., 1.1., 1.1.а, 2.,] ( ) Форматирование чисел (format-number()) Многошаговая обработка (mode) Работа со строками (через XPath) XSLT 2.0 (Draft) XPath 2.0 Создание собственных функций Анализ строк при помощи регулярных выражений Форматирование даты и времени

CERN e – Business XSLT: Web Skins Person Search Full Name … Maksym TITOV C08 … Oleg TITOV EXT … … 4

CERN e – Business XSLT: Web Skins - 2 XSLT

CERN e – Business XSLT: Интерфейс пользователя CERN Stores Catalog Загрузка данных через XML Все данные хранятся в XML Чистый XML-XSLT наименований пользователей Используется ежесекундно ~15-20K XML на каждую страницу Страницы разного формата (переопределение XSLT)

CERN e – Business XSLT: XML to Text Пример: Автоматическая генерация кода … Интерфейс XML-описаниеПрограмма Бизнес-логика SQL...

CERN e – Business XSLT: XML to XML Обновление конфигурационных файлов XSL:FO

CERN e – Business XSL-FO: Formatting Objects FO: XML-описание макета документа XSL-FO: XSLT преобразование документа XML в документ FO FOP Processor: программа, преобразующая документ FO в формат для печати (PDF, PS,...) XXX XXX Документ XML Документ FO Документ PDF Преобразование XSL:FO FOP Processor

CERN e – Business XSL-FO: Formatting Objects Шрифты Разбивка на страницы Колонтитулы Нумерация страниц Четные/нечетные страницы Отступы и интервалы Неразрывные абзацы «Висячие» строки Таблицы Графика … FO обладает всеми возможностями современных текстовых редакторов: FOP Processor: Apache FOP Processor

CERN e – Business XSL-FO: Пример XML «Банковская система» XSLT Web Interface Client Statement (PDF) XSL:FO FOP Processor Поддержка PDF не требует написания дополнительного программного кода!

CERN e – Business XML: Программная обработка DOM (Document Object Model) –Построение дерева SAX (Simple API for XML) –Обработка событий –startElement() –endElement() Java, C++: –Apache Xalan –Oracle XML Parser –… PERL,.Net: – Встроенные библиотеки SAX - быстрее, DOM - универсальнее

CERN e – Business IT-корпорации и XML Чтобы лучше понять значение XML, посмотрим как относятся к нему ведущие IT-корпорации Microsoft Adobe Sun Oracle

CERN e – Business XML и Microsoft Internet Explorer: просмотр XML, поддержка XSLT и XML-схем Разработчики стандарта XML-cхем Microsoft XML Parser Поддержка внутри Microsoft Office 2003 (XML, схемы) Поддержка в.Net Поддержка в SQL Server 2005: FOR XML (SQL Server 2000), XML Data Type, XQuery-запросы, поддержка схем, индексирование XML,...

CERN e – Business XML и Microsoft InfoPath 2003 –Корпоративная система обработки электронных форм –Полностью основана на XML –Описание бизнес-правил в виде XML- схемы –Проверка правильности ввода данных при помощи XML-схемы

CERN e – Business XML и Adobe Adobe Intellegent Document Platform

CERN e – Business XML и Oracle Oracle XML Parser Основной формат описания данных в JDeveloper, Oracle IAS,... Oracle 9i: XML Data Type, XQuery-запросы, поддержка схем, индексирование XML,... Oracle 10g: еще больше XML

CERN e – Business XML и Sun XML API – стандартная библиотека Java 2 Веб-приложения - описание при помощи XML Сотрудничество с W3C и Apache XML Group

CERN e – Business Заключение «XML является одним из важнейших достижений ИТ-технологий последних лет. Сегодня в мире насчитывается огромное количество XML-приложений, и с каждым годом это количество будет расти» Вывод: XML нужно знать и уметь его применять! «XML является одним из важнейших достижений ИТ-технологий последних лет. Сегодня в мире насчитывается огромное количество XML-приложений, и с каждым годом это количество будет расти» Вывод: XML нужно знать и уметь его применять!