Что такое XSLT?
XSLT (eXtensible Stylesheet Language Transformations) — декларативный язык преобразования XML-документов в другие XML-документы, HTML, текст или иные форматы. XSLT-процессор принимает на вход исходный XML и таблицу стилей (шаблон преобразования), а на выходе генерирует новый документ.
Аналогия из жизни: XSLT — это как форма для выпечки. У вас есть тесто (XML-данные), а форма (XSLT-шаблон) определяет, какой формы получится изделие. Одно и то же тесто в разных формах дает разный результат: круглый хлеб, багет или круассан.
Как работает XSLT
- XSLT-процессор загружает исходный XML-документ и строит его DOM-дерево
- Загружает таблицу стилей XSLT (тоже XML-документ)
- Обходит узлы исходного дерева, применяя шаблоны из таблицы стилей
- Формирует результирующий документ
Применение 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 внутри себя).