![]()
Главная Обратная связь Дисциплины:
Архитектура (936) ![]()
|
Перетворення (трансформація) документів 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 перетворяться в документ іншої форми.
![]() |