XSLT怎么获取基本URI base-uri()


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

xslt怎么获取基本uri base-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.xmlhttps://example.com/data.xml);
  • 对于元素、属性、文本等节点,继承其最近的祖先(含自身)声明的 xml:base 属性值;
  • 如果没有显式 xml:base,就沿用父元素或文档的 base URI;
  • 对临时构造的节点(如 <element></element> 动态创建的),base URI 默认为 ()(空序列),除非显式用 xsl:copy + select="@*" inherit-namespaces="yes" 等方式保留。

常见用法示例

假设你有如下 XML:







对应 XSLT 片段:



+


输出可能为:

Boomy Boomy

AI音乐生成工具,创建生成音乐,与世界分享.

Boomy 368 查看详情 Boomy https://example.com/base/ + page.html
https://example.com/base/subdir/ + inner.xml

注意事项和兼容性

  • XSLT 1.0 不支持 base-uri() —— 它没有该函数。若必须用 1.0,只能靠外部传入 base URI(如通过 <param name="base">),或依赖处理器扩展(如 Saxon 的 saxon:base-uri(),但不通用);
  • 确保使用 XSLT 2.0+ 处理器(如 Saxon-HE/PE/EE、libxslt 1.1.29+、Altova RaptorXML);
  • 调用时注意上下文节点:写成 base-uri() 默认作用于当前 context node;也可显式指定:base-uri(some-node)
  • 如果节点没有 base URI(例如内存中构造的文档),函数返回空序列 (),建议配合 string() 或判断避免报错:string(base-uri())if (base-uri()) then base-uri() else 'unknown'

结合 resolve-uri() 构建绝对地址

常与 resolve-uri(@href, base-uri()) 配合,把相对引用转为绝对 URI:

例如 @href="page.html" 在 base 为 https://example.com/base/ 下,结果就是 https://example.com/base/page.html

基本上就这些。用好 base-uri() 能让 XSLT 更可靠地处理带路径引用的 XML 场景,尤其在聚合、重发布或生成链接时很实用。

上就是XSLT怎么获取基本URI base-uri()的详细内容,更多请关注其它相关文章!


# 从哪里  # 湖北seo助手怎么赚钱  # seo搜索优化目的  # 资深网站seo的价格  # 中药营销推广文案简短版  # 网站优化员招聘  # 奥迪的营销推广手段  # 淮阴区关键词seo排名优化  # 宁波酒业网站建设  # 那个seo培训  # 东莞商城网站推广方案  # 中文网  # html  # 相关文章  # 你有  # 也可  # 常与  # 什么用  # 转换为  # 而不  # 文档  # 处理器  # node 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: 天堂漫画网页版在线阅读 天堂漫画手机版入口  Golang如何使用crypto/md5生成哈希_Golang MD5哈希生成方法  iCloud官方网站 iCloud网页版在线登录入口  Win10怎么设置快速启动 Win10开启快速启动设置方法  Microsoft Edge网页字体太淡看不清怎么办_Microsoft Edge字体渲染优化技巧  Windows Audio服务启动失败怎么办_电脑没声音的终极服务修复法【修复】  Python定时发送QQ消息  windows10怎么开启卓越性能_windows10电源选项代码激活  吃完饭就犯困是什么原因 餐后嗜睡如何缓解  qq邮箱格式填写示例 qq邮箱标准填写规范  cad视图选项卡不见了怎么办_cad视图标签恢复显示方法  悟空浏览器网页版链接 悟空浏览器网页版最新有效地址  稻壳阅读器官方直达网址链接 稻壳阅读器文档阅读平台主页资源入口  抄漫画官网防走失地址_抄漫画最新漫画完整版阅读入口  申通快递查询 申通物流快递单实时查询入口  一加 Ace 6V 快充无法启用_一加 Ace 6V 充电优化  J*aScript实现网页表单实时输入字段比较与验证教程  使用TinyButStrong生成HTML并结合Dompdf创建PDF教程  火狐浏览器无法自动更新怎么办 手动更新火狐浏览器到最新版本【解决】  淘口令快速解析技巧  《爱南宁》认证电动车方法  苹果11如何更换iCloud账号_苹果11账号切换的具体步骤  Pandas中基于动态偏移量实现DataFrame列值位移的策略  《绝区零》2.3前瞻|直播|内容介绍  小米手机屏幕失灵乱跳怎么办 屏幕触控问题自检与临时解决方法【应急】  QQ阅读小说搜索入口地址_QQ阅读小说搜索入口地址搜索在线阅读  发布小红书怎么屏蔽粉丝?屏蔽粉丝能看到吗?  C++ static关键字作用_C++静态成员变量与静态函数  《王者荣耀世界》英雄获取攻略  TikTok私信无法发送表情怎么办 TikTok消息表情发送修复方法  银信通自动开通原因揭秘  自定义你的VS Code状态栏,监控关键信息  iPhone12是否要更新ios16  解决CSS布局中意外顶部空白问题的教程  WooCommerce 新客户订单自动添加管理员备注教程  Win10如何关闭操作中心通知 Win10免打扰设置全攻略【清爽】  Scipy Sparse CSR 矩阵非零元素行级遍历的最佳实践  sublime如何自定义文件类型图标_AFileIcon插件的主题切换与个性化配置  《战地6》反作弊已成功拦截240万次作弊 发售第一周98%比赛没有作弊  蜻蜓FM如何设置移动流量播放  动漫之家观看全集库 动漫之家免费资源网地址  FotoBalloon图片左右镜像教程  如何用mysql开发用户注册登录功能_mysql用户注册登录数据库设计  怎么恢复删除的电脑文件_数据恢复软件使用教程  C#中的Record类型有什么优势?C# 9新特性Record与Class的用法区别  快递查询,一键速查  《撕歌》会员开通方法  sublime如何处理超大文件不卡顿 _sublime打开大日志文件技巧  处理含命名空间的XML文件 Power Query中的高级技巧  《幻兽帕鲁》手游帕鲁捕捉技巧分享 

 2025-12-20

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.