2010-08-25 33 views

回答

1

無法更改文檔的基本URI。從XML Base W3C Spec

「的外部實體由 RFC 3986的規則,即所確定的文件實體或 的基URI,該基 URI是URI用於檢索 文件實體或外部實體「。

文檔中的任何節點的基URI(具有的document-node()除外)可以使用​​(再次there

「的屬性的XML進行設置:基插入XML文檔中可能爲 ,指定 除基本URI之外的其他基本URI,即文檔或外部實體「

1

http://www.w3.org/TR/xslt#document

URI引用可以是相對的。在文檔順序中第一個參數節點集 中 節點的 基準URI(請參閱[3.2基本URI])是 ,用作將相對URI解析爲絕對URI的基本URI。如果 省略了第二個參數,則 它默認爲 樣式表中包含 表達式的節點,該表達式包含對文檔函數 的調用。

而且從http://www.w3.org/TR/xslt#base-uri

每個節點還具有相關聯的URI 稱爲它的基URI,其用於 解析屬性值即代表 相對URI成絕對 的URI。如果在外部實體中發生指令或處理指令,則該元件 或處理指令的基本URI是外部實體的URI ;否則, 基本URI是 文檔的基本URI。文檔 節點的基本URI是文檔 實體的URI。文本節點的基本URI,註釋節點,屬性節點或 命名空間節點是該節點的父節點的基本URI。

所以這個:

<xsl:copy-of select="document('external.xml')" xml:base="http://example.org"> 

應該被解析爲

<xsl:copy-of select="document('http://example.org/external.xml')">