Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何设置XSLT脚本的基本URI?_Xslt_Xslt 2.0 - Fatal编程技术网

如何设置XSLT脚本的基本URI?

如何设置XSLT脚本的基本URI?,xslt,xslt-2.0,Xslt,Xslt 2.0,是否有一种方法可以在XSLT中设置基本URI,使其适用于整个文档(如XQuery) 即 我认为您需要的是文档根节点上的xml:base属性 请参阅以确认这将执行您想要的操作。无法更改文档的基本URI。从中: “文档实体的基本URI或 外部实体由以下因素决定: RFC 3986规则,即 URI是用于检索数据的URI 文档实体或外部实体。” 可以使用xml:base(同样)设置文档中任何节点的基本URI(文档-node()除外) “属性xml:base可能是 插入到XML文档中以指定 的基URI以外

是否有一种方法可以在XSLT中设置基本URI,使其适用于整个文档(如XQuery)


我认为您需要的是文档根节点上的
xml:base
属性


请参阅以确认这将执行您想要的操作。

无法更改文档的基本URI。从中:

“文档实体的基本URI或 外部实体由以下因素决定: RFC 3986规则,即 URI是用于检索数据的URI 文档实体或外部实体。”

可以使用
xml:base
(同样)设置文档中任何节点的基本URI(文档-node()除外)

“属性xml:base可能是 插入到XML文档中以指定 的基URI以外的基URI “文件或外部实体”

URI引用可能是相对的。这个 数据库的基本URI(请参见[3.2基本URI]) 第二个参数节点集中的节点 这是文件顺序中的第一个 用作解析 将相对URI转换为绝对URI。如果 第二个参数被省略,然后 它默认为中的节点 包含 包含对的调用的表达式 文档功能

来自

每个节点也有一个关联的URI 调用其基本URI,该URI用于 正在解析 将相对URI表示为绝对URI URI。如果是元素或处理 指令发生在外部环境中 实体,该元素的基本URI 或处理指令是URI 外部实体的名称;否则 基本URI是的基本URI 文件。文档的基本URI 节点是文档的URI 实体。文本节点的基URI, 注释节点、属性节点或 namespace节点是 节点的父节点

因此:

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

应作为

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

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