Xslt на стороні клієнта

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")

Схожі статті