• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

XSL,获取当前工作目录

xml 来源:Mike 6次浏览

我正在寻找将当前工作目录存储到变量中的XSL样式表的具体示例。XSL,获取当前工作目录

我需要这个,因为在我的情况下,我需要使用相对路径导入某些库样式表。了解我的处理器正在选择的路径作为当前目录就足够了。

编辑

没有供应商特定的请。

===========解决方案如下:

在XSLT 2.0中,可以使用标准的XPath 2.0函数resolve-uri()。

待办事项,所包括的/导入的样式表模块的相对URI是相对于基地包括/导入样式表模块的URI – 而不是从“工作目录”!

下面是该函数的从W3˚F&输出规格说明书的一部分:

8.1 FN:解决-URI

FN:解决-URI(相对$如 的xs:字符串?)作为xs:anyURI?

fn:resolve-uri($ relative为 xs:string?,$ base为xs:string)为 xs:anyURI?

摘要:此功能 的目的是使相对URI成为 针对绝对URI进行解析。

该函数的第一种形式 解决了相对于 静态上下文中base-uri属性的值 的$ relative问题。如果在 静态上下文中没有初始化base-uri 属性,则会引发错误 [err:FONS0005]。

这里是一个非常简单的例子

<xsl:stylesheet version="2.0" 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:output method="text"/> 

<xsl:template match="/"> 
    <xsl:sequence select= 
    "resolve-uri('resolve-uri-example2.xsl')"/> 
</xsl:template> 
</xsl:stylesheet> 

当该转化针对任何XML文档(未使用)时,结果是施加:

file:///c:/tests/resolve-uri-example2.xsl 

这是正确的结果,因为我们的主要样式表模块保存为:

c:/tests/resolve-uri-example2.xsl 

版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)