在xsl中的jar外面打开文档

时间:2015-07-17 13:36:22

标签: xml xslt jar

我在jar中有一个xsl文件。我还有一个名为 language.xml 的XML文件,它位于jar旁边。

在xsl中,我想加载XML文档。这就是我试图实现这个目标的方式:

<xsl:variable name="strs" select="document('../language.xml')/LanguageFile/Strings"/>

但是从不加载xml文件。是否有可能在jar中有一个文件而另一个在外面,或者它们是否必须在jar内部/外部?

1 个答案:

答案 0 :(得分:0)

document函数的调用尝试解析相对于样式表本身的URI的URI引用../language.xml。如果样式表位于jar文件中,则样式表URI的格式可能为jar:file:/path/to/your.jar!/stylesheet.xsl

通过解析相对引用,您无法从这样的URI获取对jar文件本身或其目录的引用;你需要这样做programmatically

引用XML文件的最简单方法可能只是使用文件URI。

如果您知道文件的完整路径:

document('file:/path/to/language.xml')

或者,如果完整路径未知且已修复但您可以控制当前工作目录,则可以引用相对于当前工作目录的文件:

document('file:language.xml')