XSLT

См. также:
Пример XML-преобразования

XSLT настройки в IDEA
Вызов XSLT-преобразователя через VBA

 

 

XSLT – язык описания шаблона трансформации одного XML-документа в другой.

 

Спецификация трансформации сохраняется в файле .xsl формата (/.xslt).

 

Чтобы отработала трансформация XML через описанный XSLT-шаблон иногда достаточно открыть входящий XML-файл в интернет-браузере, в котором в шапке указан путь к xsl-файлу.

 

Интернет-браузер откроет преобразованный XML.

 

Но это не всегда работает и в целом удобнее всё делать через IntelliJ IDEA:

 

Работать с XML-документами, разрабатывать, отлаживать и запускать XSLT-шаблоны,

Выводить на один экран в вертикальном разделении сразу 3 файла: входящий XML, XSLT-шаблон, исходящий XML, например:

 

 

 

Ниже приведён пример – некое упражнение, которое можно сделать своими руками, для знакомства с XSLT.

 

1. Организуем папку "XSLT Test" для проекта преобразования файлов.
В папке будут размещены файлы:

 

input.xml

– входящий файл

output.xml

– исходящий файл

transform.xsl

– файл со спецификацией преобразования input.xml в output.xml

 

2. Откроем проект – папку "XSLT Test" – в IDEA.

 

3. Через IDEA создадим новый файл input.xml в папке проекта:

 

 

 

4. Раздобудем какой-нибудь XML – будет примером входящего файла.
Например, это будет XML одного из сервисов Центробанка – DVXML:
(см. Знакомство с веб-сервисом)

 

 

 

5. Вставим этот XML в файл input.xml:
 

 

 

6. Создим новый "XSLT Stylesheet" в папке проекта:

 

 

 

7. Сохраним новый XSLT Stylesheet как transform:

 

 

8. Добавим RUN configuration для проекта:

 

 

 

9. Проверим не выключены ли xsl plugins.
File –> Settings –> Plugins –> поиск по xsl:

 

 

 

10. Включим XSL Plugins:
(если были выключены)

 


 
 

11. Откроем настройки RUN Сonfiguration:

 

 

 

12. Выставим настройки RUN Сonfiguration для проекта "XSLT Test":

 

 

 

13. Перейдём к настройке XSLT-шаблона.
 Настроим первую спецификацию на тест "Hello World":

 

 

 

14. Отобразим результат теста "Hello World" с помощью кнопки Run:
 (элемент и его значение должны появиться в output.xml)

 

 

 

15.  Переходим на входящий файл и смотрим чего бы из него взять в исходящий:

      (например, думаем взять вложенный элемент <Date> из <DV> элемента)

 

 

16. Возвращаемся к настройке XSLT-шаблона.
 Убираем тест "Hello World" и вместо него настраиваем for-each:

 

 

 

17. В этот for-each, для каждого элемента "DV", указываем создать элемент "test":
 (для предварительного тестирования for-each)

 

 

 

18. Run и просмотр результата создания элемента "test" для каждого DV:
 (предварительное тестирования for-each)

 

 

 

19. Переходим снова на входящий файл, смотрим чего бы из него ещё взять в исходящий, вместо тестового "test":

     (например, думаем взять элемент VIDay из DV)

 

 

 

20. Продолжаем настройку выражения for-each -- указываем для каждого элемента DV создать элемент "date",
 (вместо "test") со значением элемента VIDay:

 

 

 

21. Run и просмотр результата создания элемента "VIDay" для каждого DV:

 

 

 

22. Отформатировать код:

 

 

 

23. Результат:

 

 

24. IDEA указывает на ошибку в результирующем XML:
(ошибка, что нет корневого элемента)

 

 

25. Исправляем ошибку – добавляем в xml XSLT-шаблона корневой элемент "document":

 

 

 

26. Run и просмотр исправленного результата:

 

 

 

27. Для дальнейшей удобнейшей разработки XSLT:
 Разделить окно редактирования файлов по вертикали – шаг 1 – Split Veritically для output.xml:

 

 

 

28. Разделить окно редактирования файлов по вертикали – шаг 2 – Split Veritically для transform.xsl:

 

 

 

29. Окна редактирования файлов разделены по вертикали:

 

 

 

Это очень круто! Я вижу на одном экране входящий XML, XSLT-шаблон и исходящий XML!

 

 

 

См. также:
Ещё один пример XML-преобразования

XSLT настройки в IDEA
Вызов XSLT-преобразователя через VBA

 



© 2006-2026 | Анна Петросян | pashelp@yandex.ru