XLink 和 XPointer 简介(简洁版)
| 项目 | XLink(XML Linking Language) | XPointer(XML Pointer Language) |
|---|---|---|
| 发布机构 | W3C | W3C |
| 推荐标准时间 | 2001-06-27(XLink 1.0) 2010-12-09(XLink 1.1) | 2003-03-25(最终成为推荐标准) |
| 主要作用 | 在 XML 文档中定义超链接(比 HTML 的 强大得多) | 精确指向 XML 文档内部的某个节点、范围或点 |
| 命名空间 | http://www.w3.org/1999/xlink | 通常与 xlink:href 一起使用,无独立命名空间 |
| 核心能力 | – 简单链接(类似 ) – 扩展链接(多端点、第三方链接) – 双向链接 – 链接行为可控制(show/actuate) | – 支持完整的 XPath 表达式 – 可以指向元素、文本片段、范围 – 支持 id 简写和多段定位 |
| 最常见写法 | xlink:type=”simple” xlink:href=”…” | 写在 URI 的片段标识符 # 后面 例如:#xpointer(//para[3]) |
一句话总结区别
- XLink 回答“我要从哪里链接到哪里去,以及怎么打开”
- XPointer 回答“目标文档里具体要指向哪个部分”
最典型的组合使用
<ref xmlns:xlink="http://www.w3.org/1999/xlink"
xlink:type="simple"
xlink:href="novel.xml#xpointer(//chapter[@id='ch5']/para[contains(.,'宝藏')])"
xlink:title="第五章提到宝藏的那一段">
查看原文出处
</ref>
这就是“XML 世界的超精准超链接”。
现代实际还在广泛使用的场景(2025年)
- SVG(图形内部链接)
- EPUB 3(电子书导航和脚注)
- TEI(学术文本编码)
- DocBook(技术文档)
- SMIL(多媒体同步)
- XML 数据库、出版流水线、XProc 管道
虽然普通网页浏览器早已放弃支持,但是在专业 XML 应用领域,XLink + XPointer 仍然是不可替代的标准。