2012-06-14 1 views
1

Я работаю над проектом, который должен отображать XML-файл с файлами .xsl. Вот часть кода:Как использовать калитки XsltTransformerBehavior, когда у меня есть несколько файлов .xsl

FILE_PATH = "myxsl.xsl" 
... 
Label content = new Label("content",xmlContent); 
content.setEscapeModelStrings(false); 
content.add(new XsltTransformerBehavior(FILE_PATH));  
add(content); 
... 

В настоящее время страница работает, если я использую только один файл .xsl. Однако, поскольку файлы .xsl, с которыми мне нужно иметь дело, могут быть очень длинными, они разделяются на несколько компонентов. , например, у меня будет mymain.xsl, head.xsl, tables.xsl mymain.xsl имеет включение другого, как этот

<xsl:include href="head.xsl"/> 
<xsl:include href="tables.xsl"/> 

Я попытался установить FILE_PATH в mymain.xsl, но не работает. Программа может найти mymain.xsl, но не может скомпилировать таблицу стилей, потому что она не может найти head.xsl и tables.xsl

Я искал долгое время, но до сих пор не знаю, как это сделать. Очень ценю любую помощь. Заранее спасибо.

ответ

0

Я просмотрел документацию XsltTransformerBehavior, и похоже, что он не предоставляет функции для настройки пользовательского разрешающего устройства (что в основном является тем, что вы хотите).

Однако, если у кого-то еще нет лучшего решения, я могу предложить обходное решение: Напишите XSLT, который объединяет ваши XSLT-файлы в один файл. См. here для XSLT, который делает это. Если вы используете Maven как систему сборки, вы можете сделать это автоматически на фазе генерируемых ресурсов, используя transform goalMaven XML Plugin. Затем вы можете связать XsltTransformerBehavior с однофазным XSLT, который будет доступен во время выполнения.