Главная Обратная связь

Дисциплины:

Архитектура (936)
Биология (6393)
География (744)
История (25)
Компьютеры (1497)
Кулинария (2184)
Культура (3938)
Литература (5778)
Математика (5918)
Медицина (9278)
Механика (2776)
Образование (13883)
Политика (26404)
Правоведение (321)
Психология (56518)
Религия (1833)
Социология (23400)
Спорт (2350)
Строительство (17942)
Технология (5741)
Транспорт (14634)
Физика (1043)
Философия (440)
Финансы (17336)
Химия (4931)
Экология (6055)
Экономика (9200)
Электроника (7621)






Перетворення (трансформація) документів 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 перетворяться в документ іншої форми.


Эта страница нарушает авторские права

allrefrs.ru - 2019 год. Все права принадлежат их авторам!