我明白如下使用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。 –