XSLT може використовуватися для перетворення XML документа в XHTML в самому браузері клієнта.
У попередніх розділах розповідалося як за допомогою XSLT можна перетворювати документ з XML в XHTML. Це робилося за допомогою файлу таблиці стилів XSL, який підключався в XML файлі. Після чого всю роботу по перетворенню виконував клієнтський браузер.
Проте, навіть якщо в цьому випадку все відмінно працює, бувають випадки, коли небажано включати посилання на таблицю стилів в XML файл (наприклад, це не спрацює з браузерами які не вміють працювати з XSLT.)
- проводити специфічні для браузерів перевірки
- використовувати різні таблиці стилів відповідно до потреб користувача і різних браузерів
В цьому і полягає краса XSLT! Однією з метою розробки технології XSLT було завдання зробити можливим перетворення даних з одного формату в інший з підтримкою різних браузерів і різних потреб користувачів.
XML файл і XSL файл
Погляньте на наступний XML документ, який вже фігурував в попередніх розділах:
І на супутню йому таблицю стилів XSL:
ВАЖЛИВО. Зверніть увагу, що в XML файлі немає посилання на XSL файл. Це означає, що XML файл може перетворюватися за допомогою безлічі різних таблиць стилів XSL.
Перетворення XML в XHTML в браузері
Нижче представлений вихідний код, який перетворює XML файл в XHTML на стороні клієнта:
Функція loadXMLDoc () робить наступне:
- Створює об'єкт XMLHttpRequest
- Використовуючи методи open () і send () об'єкта XMLHttpRequest відправляє запит на сервер
- Отримує з сервера запитані дані в форматі XML
Функція displayResult () використовується для відображення XML файлу, перетвореного відповідно до правил XSL файлу:
- Завантажує XML і XSL файли
- Перевіряє, який браузер у користувача
- Якщо Internet Explorer:
- Використовуємо метод transformNode (), щоб застосувати таблицю стилів XSL до XML документу
- Передаємо перетворений XML документ в заданий елемент (id = "example")
- Якщо інші браузери:
- Створюємо новий об'єкт XSLTProcessor і імпортуємо в нього XSL файл
- Використовуємо метод transformToFragment (), щоб застосувати таблицю стилів XSL до XML документу
- Передаємо перетворений XML документ в заданий елемент (id = "example")