我在jar中有一个xsl文件。我还有一个名为 language.xml 的XML文件,它位于jar旁边。
在xsl中,我想加载XML文档。这就是我试图实现这个目标的方式:
<xsl:variable name="strs" select="document('../language.xml')/LanguageFile/Strings"/>
但是从不加载xml文件。是否有可能在jar中有一个文件而另一个在外面,或者它们是否必须在jar内部/外部?
答案 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')