Gymterview
middle

Что такое XSLT?

XSLT (eXtensible Stylesheet Language Transformations) — декларативный язык преобразования XML-документов в другие XML-документы, HTML, текст или иные форматы. XSLT-процессор принимает на вход исходный XML и таблицу стилей (шаблон преобразования), а на выходе генерирует новый документ.

Аналогия из жизни: XSLT — это как форма для выпечки. У вас есть тесто (XML-данные), а форма (XSLT-шаблон) определяет, какой формы получится изделие. Одно и то же тесто в разных формах дает разный результат: круглый хлеб, багет или круассан.

Как работает XSLT

  1. XSLT-процессор загружает исходный XML-документ и строит его DOM-дерево
  2. Загружает таблицу стилей XSLT (тоже XML-документ)
  3. Обходит узлы исходного дерева, применяя шаблоны из таблицы стилей
  4. Формирует результирующий документ

Применение XSLT

  • Преобразование XML в HTML для отображения в браузере
  • Трансформация между разными XML-схемами (интеграция систем)
  • Генерация отчетов из XML-данных
  • Преобразование SOAP-сообщений

Использование XSLT в Java

В Java XSLT-трансформации выполняются через JAXP Transformer API:

Пример
TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer(
    new StreamSource("style.xslt"));
transformer.transform(
    new StreamSource("input.xml"),
    new StreamResult("output.html"));

На собеседовании: достаточно объяснить, что XSLT берет XML + шаблон и генерирует новый документ. Частая ошибка — путать XSLT с XPath (XPath — язык запросов для навигации по XML, XSLT использует XPath внутри себя).