XML - язык разметки и модель данных XML RSS, СУБД… На сегодняшний день уже всем специалистам в области Web-технологий стало очевидно, что существующих стандартов передачи данных по Интернету недостаточно. Формат HTML позволяет описать то, каким образом должны быть отображены данные на экране пользователя, но не предоставляет никаких средств для эффективного описания передаваемых данных и управления ими. W3C утвердил спецификацию Extensible Markup Language 1.0 еще в начале февраля 1998
2 Основы XML Все файлы XML имеют структуру (иерархическая модель данных). Основные элементы XML – узлы (nodes). Каждый элемент (узел) обязан иметь открывающий и закрывающий тег. Теги XML не заданы с самого начала, вы должны определить свои собственные теги. Элементы могут иметь атрибуты, значения которых заключаются в кавычки. В XML Учитывается регистр символов. Вся информация между начальным и конечным тэгами – это данные, и поэтому учитываются все символы форматирования (пробелы, переводы строк, табуляции). Имеются инструкции обработки файла и комментарии. Пример простого XML файла: Данные элемента item.
3 XML DOM (Document Object Model) – это интерфейс XML-документов, определяющий пути, которыми можно обращаться к XML-документу и производить с ним манипуляции. DOM представляет собой дерево, отображающее структуру XML-документа. Для работы с XML-документами на основе DOM-модели, необходимы программы парсеры (синтаксический анализатор). Парсер (parser) – это COM- компонент для обработки XML-файлов, например, при помощи скриптов JavaScript. Они превращают XML-файл в объектно-ориентированный документ. MS Internet Explorer имеет встроенный парсер msxml3.dll. Другие браузеры требуют установки парсеров. Практически все приложения, работающие с XML, построены на базе парсеров. Элемент documentElement является верхним уровнем дерева DOM. Этот элемент имеет дочерние узлы childNodes, представляющие ветви дерева. Основное свойство элементов – text, содержит всё текстовое содержимое данного узла, включая подчинённые узлы. Например, selectSingleNode(/путь к узлу).text – это содержимое указанного узла (тега). Свойство length – количество элементов в узле. Метод item(индекс) возвращает узел по заданному индексу, например, childNodes.item(1) – обращение ко второму элементу текущего узла. Метод load(URL) – загрузка (чтение) XML-файла.
4 Пример RSS-ленты (rss1.xml) Лента открыта в XML Editor (встроен в MS IE), он контролирует ошибки в XML- коде и сообщает о них. Узлы (nodes) обозначаются + или -
5 XML-теги RSS-ленты XML - Начало любого XML-документа RSS - Корневой элемент, содержит версию RSS-документа (сегодня – 7 версий) CHANNEL - Говорит о том, что дальше идут данные RSS-канала TITLE - Заголовок канала, или его название LINK - Ссылка на сайт, откуда взяты новости DESCRIPTION - Краткое описание RSS-канала, т.е. более подробное IMAGE - Логотип для представления канала (необязательный, но желательный) URL - Ссылка на логотип TITLE - заменяющий текст для логотипа LINK - Ссылка для перехода при щелчке по изображению ITEM - Отдельный заголовок для каждой новости TITLE - Название новости LINK - Ссылка на страничку, содержащую соответствующую новость DESCRIPTION - Краткое описание новости PUBDATE - Дата публикации новости
6 Списки RSS-лент: OPML OPML (Outline Processor Markup Language) – язык описания списков RSS-фидов. Он используется в RSS для экспорта-импорта списков RSS-фидов от одного пользователя к другому. OPML-файлы создаются и читаются агрегаторами.
7 Пример агрегатора для rss1.xml Агрегатор написан для использования на клиентской машине с JavaScript и стандартным MS парсером.
8 Результат работы агрегатора agregator1.htm В файле агрегатора заменена строка xmlDoc.load("rss1.xml") на – xmlDoc.load(" Чтение новостей сторонних RSS-фидов
9 Пример RSS-ленты с рисунками (rss2.xml)
10 Агрегатор для чтения всей ленты rss2.xml
11 Результаты работы агрегатора agregatorListImage с лентой rss2.xml
12 Л/Р «Работа с RSS-Feeds» Подготовить RSS-ленту из нескольких новостей. Написать Web-агрегатор для просмотра локальных и удалённых новостей с международных или украинских RSS-узлов по темам, заданным преподавателям (Наука, Украинская политика, Образование в Украине…). Для сдачи лабораторной работы необходимо знать: основы XML DOM, понятие и задачи «парсера», понятие семантического Web, место RSS в семантическом Web
13 XML СУБД В качестве средства хранения данных иерархическая модель XML располагает преимуществами перед реляционными таблицами БД: данные XML-документов отражают структуру реальных документов манипулировать данными с помощью гиперсвязей легче, чем ключами в РБД XML-СУБД могут работать с данными заранее неизвестной структуры XML-СУБД обеспечивают значительно большую скорость выполнения транзакций в XML-СУБД данные могут быть введены без предварительного описания В своё время, когда была предложена реляционная модель, многие поддались на достаточно абстрактные рассуждения о её неоспоримых преимуществах. На сегодняшний день не сложились единые стандарты для XML-запросов, подобных SQL. Существует несколько языковых стандартов: Xpath, XML-QL, YATL, Lorel, XQL
14 XML СУБД: решения XML СУБД дают возможность оперировать иерархическими массивами данных и метаданных (это информация о документе, понимаемая компьютером ) напрямую, без преобразования в реляционный формат. Научить машины понимать контекст, т.е. анализировать его структуру также, как это делает человек - одна из задач создания метаданных. Наиболее перспективной и общеупотребительной моделью описания метаданных является стандарт RDF (Resource Description Framework) XML сервер Tamino – Ipedo XML Information Hub – Sonic XML Server … Microsoft Office 2003 (всё может сохраняться в XML) Adobe Document Server