如何使用XSLT 1.0版检索当前工作目录? 我已经在这里查看了这些帖子: XSL, get current working directory How to get current document uri in XSLT?
但它需要2.0版本,我不确定我是否有这样的,因为当我尝试切换到2.0时,我得到一个错误。 以下是我尝试的XSL片段:
<xsl:variable name="myURI" select="resolve-uri('my.xsl')"/>
或
<xsl:variable name="myURI" select="document-uri(document(''))" />
在这两种情况下我都会收到错误:
Error! Error checking type of the expression 'funcall(resolve-uri, [literal-expr(junit-frames.xsl)])'.
Fatal Error! Could not compile stylesheet
Error! Error checking type of the expression 'funcall(document-uri, [funcall(document, [literal-expr()])])'.
Fatal Error! Could not compile stylesheet
然后我也在这里看到了这篇文章:xslt get the file current folder path
但由于我是XSLT新手,我不明白答案或如何实现它。任何人都可以提供示例代码段吗?谢谢!
答案 0 :(得分:1)
你在评论中说你正在使用Ant 1.8.2附带的处理器。在这种情况下,最简单的答案可能是将当前目录作为参数传递
<xslt style="stylesheet.xsl" in="in.xml" out="out.xml">
<param name="basedir" expression="${basedir}" />
</xslt>
并在样式表中添加顶级
<xsl:param name="basedir" />
现在您可以访问当前目录路径$basedir
。
如果您需要路径作为URI而不是本机文件路径,则可以使用makeurl
:
<makeurl file="${basedir}" property="basedir.url" />
<xslt style="stylesheet.xsl" in="in.xml" out="out.xml">
<param name="basedir" expression="${basedir.url}" />
</xslt>