У меня проблема с частью моего приложения, в которой у меня есть несколько служебных классов для функциональности преобразования xslt. Я использую SaxonHE в качестве реализации XSLT Transformer.
Мой вспомогательный класс имеет функцию: URL mapFile(URL input, String stylesheetPath)
.
Принимает URL-адрес одного XML -файла в качестве входного и возвращает URL для созданного XML -Файла. Он обрабатывает инициализацию и выполнение XSLT-преобразования.
Но таблица стилей теоретически может создавать несколько файлов XML с тегами xsl: result-document, и я хотел бы, чтобы мой служебный класс мог распознавать, если заданный Таблица стилей будет делать это и обрабатывать это правильно.
Моя идея состояла в том, чтобы проанализировать / проанализировать таблицу стилей из моего Java кода и подсчитать все вхождения xsl: result-document.
С помощью значения атрибутов href, я бы также знал, где таблица стилей создает выходные файлы XML, поскольку я хочу вернуть URL-адрес, указывающий на их местоположение.
Таким образом, мой измененный служебный метод будет: List<URL> mapFile(URL input, String stylesheetPath)
и возвращает количество URL-адресов в зависимости от того, сколько файлов создано данной таблицей стилей.
Но я понятия не имею, как это сделать в коде Java и во всех моих поисках в Google, касающихся подсчета элементов в xsl. Таблица стилей привела к объяснениям, как считать XML элементов ввода XML из таблицы стилей, это не то, что я хочу сделать.
РЕДАКТИРОВАТЬ: я закончил тем, что вообще не делал никакого анализа таблицы стилей. Я просто создаю папку, и если кто-то пишет таблицу стилей, которая не помещает все файлы результатов в эту папку, то это их вина, если они не получают URL-адрес для этого документа результата. Хакерское решение, но оно работает для моего варианта использования.