base-uri() 返回当前上下文节点的基本 URI:文档节点返回文档URI,其他节点继承最近xml:base或祖先URI,动态节点默认为空序列;常与resolve-uri()配合解析相对路径。

base-uri() 是 XSLT 2.0 及更高版本(包括 XSLT 3.0)中用于获取当前节点**基本 URI(Base URI)** 的内置函数。它返回一个字符串,表示该节点在解析时所依据的 URI(通常是文档或片段的来源地址),对处理相对路径、解析 xlink:href、xml:base 或生成绝对链接非常有用。
base-uri() 返回什么
它返回当前上下文节点的 base URI,具体取决于节点类型:
- 对于文档节点(
/),通常返回整个 XML 文档的 URI(如file:///path/to/doc.xml或https://example.com/data.xml); - 对于元素、属性、文本等节点,继承其最近的祖先(含自身)声明的
xml:base属性值; - 如果没有显式
xml:base,就沿用父元素或文档的 base URI; - 对临时构造的节点(如
<element></element>动态创建的),base URI 默认为()(空序列),除非显式用xsl:copy+select="@*" inherit-namespaces="yes"等方式保留。
常见用法示例
假设你有如下 XML:
对应 XSLT 片段:
输出可能为:
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~