我明白如下使用document()。另一台计算机/服务器上的文件的文档()函数
<xsl:value-of select="document('path\to\docuemnt.xml')/RootElement/Element"/>
而这必须是父XSL文件的相对路径。但是如果我需要引用本地网络中另一台服务器上托管的文件呢?我尝试过这样的事情。
<xsl:value-of select="document('\\servername\path\to\document.xml')/RootElement/Element"/>
但是,这将引发一个错误,因为它看起来在
C:\path\to\xsl\\servername\path\to\document.xml
这当然不存在。
答案将取决于您的XSLT处理器,操作系统和文件系统。作为一个经验法则,你可以安全地使用file :: protocol。无论您的XSLT处理器是否支持目录,也可能会影响结果。请告诉我们您的上下文(XSLT处理器等) –
例如,在Saxon处理器上,您可以使用标准file :: protocol引用任何文件,但只能使用短文件名形式。如果您使用长文件名,Saxon将无法找到该文件。 –
作为文件协议的替代方法,如果文件通过http可用,则可以指定它的http协议格式URI。 –