Преобразование XSL в Java с параметрами
У меня есть файл xsl, где мне нужно использовать параметры из внешнего источника. Я использую Java, и мой код выглядит примерно так:
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer xsltTransformer = transformerFactory.newTransformer(xsltSource);
xsltTransformer.setParameter(parameterName, parameterValue);
Однако исключение выбрано во второй строке - переменная или параметр "имя_переменной" undefined. Я понимаю, что XSL скомпилирован и, вероятно, скомпилирован при создании трансформатора.
Итак, как мне передать параметры для моего преобразования? Как должен использоваться метод setParameter?
Ответы
Ответ 1
Если вы передадите параметр, например:
transformer.setParameter("render_id", "1234");
параметр может быть выбран преобразованием:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:output method="xml" encoding="UTF-8" omit-xml-declaration="yes"/>
<!-- Receives the id of the menu being rendered. -->
<xsl:param name="render_id" />
Ответ 2
Ответ на rsp был на месте. Благодарю.
Просто хочу добавить, что вы не можете передавать параметр в переменную одинаково (я устанавливаю параметры через Java TransformerFactory).
Я допустил ошибку мышления переменных и параметров были взаимозаменяемыми:)