как передать параметры в файл xsl и использовать его для ответа - PullRequest
1 голос
/ 05 декабря 2011

У меня есть и XSL-файл, который отображает вопрос в пользовательском интерфейсе. Вопрос распределен по разным категориям.

Теперь мое требование состоит в том, чтобы передать параметр из кода Java в файл xsl, и на основе этого параметра я хотел бы выполнить специальную операцию для создания пользовательского интерфейса.

Может ли кто-нибудь помочь мне с предложением передать параметр в файл XSL из кода JAVA?

Пример:

/form/A/Question-Category,
/form/B/Question-Category,
/form/c/Question-Category,
/form/D/Question-Category

A, B, C, D - категории, которые я передам из Java-кода и использую этот токен для получения моего XPATh вопроса Скажем, если токен, переданный из кода Java, равен B, тогда выражение будет '/form/B/Question-Category'.

Теперь моя проблема в том, что я не знаю, как передать параметр из кода Java и как я могу использовать его в XSL?

1 Ответ

1 голос
/ 05 декабря 2011

Объявите параметр следующим образом:

<xsl:param name="category"/>

Используйте его следующим образом

select="/form/*[name()=$category]/Question-Category

Затем передайте его из Java следующим образом (при условии, что вы используете JAXP API):

transformer.setParameter("category", "a");

Кстати, я не думаю, что это особенно умный дизайн документа XML.Я думаю, что список категорий - это данные, а не метаданные, поэтому я бы использовал <category name="A">, а не <A>, чтобы определить категорию А. Но у вашего преподавателя курса могут быть другие идеи (я предполагаю, что это упражнение для студента, потому что реализация анкетыобычно есть.)

...