1

我正在处理需要显示带有 .xsl 文件的 .xml 文件的项目的一部分。以下是部分代码:

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

我一直在寻找很长时间,但仍然不知道如何做到这一点。非常感谢任何帮助。提前致谢。

4

1 回答 1

0

我查看了 XsltTransformerBehavior 的文档,看起来它没有公开设置自定义 URI 解析器的功能(这基本上是您想要做的)。

但是,如果没有其他人有更好的解决方案,我可以提出一个解决方法:编写一个 XSLT,将您的 XSLT 文件合并到一个文件中。有关执行此操作的 XSLT,请参见此处。如果您使用 Maven 作为构建系统,您可以使用Maven XML Plugin的转换目标在generate-resources 阶段自动执行此操作。然后,您可以将 XsltTransformerBehavior 与将在运行时可用的单文件 XSLT 相关联。

于 2012-06-14T16:17:06.707 回答