Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
27
Добавлен:
01.03.2016
Размер:
358.4 Кб
Скачать

9.4. Технологічні процеси xml

До основних технологічних процесів над XML-документами (рис. ) відносяться:

  • обробка даних;

  • обмін даними;

  • зберігання даними;

  • перевірка даних;

  • перетворення даних;

  • генерація даних.

Рис. Узагальнений погляд на XML технології.

В обробці XML інформації беруть участь різні програмні додатки СУБД XML, XSL процесори і WEB сервер-клієнт компоненти.

Дані на малюнку представлені у форматі XML. Вони необхідні: для безпосереднього зберігання (XML документ), для опису структур даних (XML схеми) і для перетворення даних (XSL правила-програми).

Мова XML забезпечує опис складних структур даних. В першу чергу це: списки, масиви, дерева. Описи можуть мати, залежно від типів елементів, вкладену структуру. На рис., представленому нижче, даний опис деревовидної структури даних.

Рис. . Представлення структур даних у вигляді дерева.

Якщо використовувати спеціальні атрибути або спеціальні елементи, то можна описати і мережні структури даних. В першому випадку атрибути описують посилання на інші вузли мережної структури. Якщо взяти до уваги, що атрибутів може бути довільне число (відзначу, що вони можуть формуватися і оброблятися в додатках), то можна описати розмічений граф довільного вигляду. Якщо для визначення зв'язків виділити окремі елементи типу зв'язок (як в реляційних БД), то аналогічно можна описати довільну мережну структуру даних. Наприклад, дані наступні описи за допомогою елементів-зв'язків і атрибутів:

<Узел id="K Link="1"></Узел>"

<Связь from="1"to="2"/>,

на рис. нижче проілюстрована така сіть.

Рис. . Представлення мережних структур в XML.

Перетворення (трансформація) документів XML на базі XSL

Для обробки документа XML використовуються спеціальні компоненти XSLT процесори. На рис. нижче представлена схема обробки документа з його допомогою.

Рис.. Перетворення документа на базі XSL.

Ідея використовування XSL (Extensible Style Language) схожа з ідеєю використовування CSS для HTML, але ця технологія значно просунута.

В спеціальному файлі (*xsl) задаються правила-шаблони обробки XML документа, результатом є новий файл (XML, HTML і інших довільних типів текстових документів).

Правила-шаблони XSL розділяються на наступні групи:

  • XSLT елементи (умовні, циклічні, вибірки, копіювання і ін.)

  • XSLT функції (інформація про елементи, списки, атрибути і т.д.)

  • XPath функції (символьні, цифрові, булеві і т.д.)

XSL це зручний уніфікований спосіб завдання процедур обробки XML документа без програмування.

Як XSLT елементи можуть використовуватися: арply-imports, арply-templates, for-each, if, when, text, for-each, include, import, template і багато інших. Їх набір залежить від використованого процесора XSLT. В IE 5.0 такий процесор XSLT вбудований.

Як приклад розглянемо найпростіше перетворення документа XML в таблицю формату HTML. Початковим документом XML є документ, представлений на рис нижче. В цьому документі описується каталог (catalog) книг (book), кожна з яких містить: автора, заголовок, жанр, ціну, дату публікації і опис (відповідно: author, title, genre, price, publish_date і description). Кожній книзі привласнений унікальний ідентифікатор за допомогою атрибута id. В даному каталозі показано дві книги. Для простоти демонстрування не дається схема опису правил побудови каталога. Для обробки даного документа XML передбачений файл шаблонів XSL, на який посилається початковий документ (href="xslsem.xsl"). Цей документ приведений на наступному малюнку.

Рис. 8. Початковий файл XML для перетворення XSL

Відзначимо, що тип перетворення заданий: type="text/xsl". Кодування encoding (1251) визначає можливість використовування російського алфавіту для документа.

Рис. 9. Файл правил перетворення XSL (xslsem.xsl).

В цьому файлі заданий метод перетворення HTML документ (output metod="html"). Для кожної книги (правило: for-each select ="//book") будується рядок таблиці HTML, в яку включаються елементи книги (author, title, price) і обчислювана змінна (variable) - bookCount. Заголовок таблиці оформляється звичайним HTML текстом, який містить основні реквізити вибірки (Author, Title, price і Count). Результат роботи XSLT процесора представлений на наступному малюнку, а на останньому малюнку показана таблиця вже в браузері.

Рис. 10. Результат трансформації XSLT

Рис. 11. Результат трансформації XSL в браузере

Таким чином, після обробки XSLT процесором на основі XML документа ми одержуємо результат, який може бути представлений на сторінці WEB. Дані у форматі XML можуть бути отримані з БД, сформовані додатком і на основі описаних файлів перетворений XSL перетворяться в документ іншої форми.

15