XLink 是 XML 中用于创建超链接的标准机制,支持简单链接(单向单目标)和扩展链接(多源多目标),需声明命名空间 xmlns:xlink="http://www.w3.org/1999/xlink",其行为依赖应用程序处理而非浏览器原生支持。

XLink 是 XML 中用于创建超链接的标准机制,它让 XML 文档能像 HTML 一样支持跳转、资源引用和复杂链接关系。不过它不依赖浏览器内置支持,需要解析器或应用显式处理。
启用 XLink 命名空间
要在 XML 中使用 XLink,必须声明 XLink 命名空间。最常用的是 XLink 1.0 的命名空间 URI:
- 在根元素或链接所在元素上添加:xmlns:xlink="http://www.w3.org/1999/xlink"
- 声明后,所有以 xlink: 开头的属性(如 xlink:href)才被识别为 XLink 属性
- 不需要引入 DTD 或 Schema 即可使用基础功能,但验证时可能需要对应声明
简单链接(Simple Link)——类似 HTML 的 a 标签
简单链接是单向、单目标的链接,结构简洁,适合“从当前元素跳到某资源”这种场景。
- 给任意元素加上 xlink:type="simple" 表示这是一个简单链接
- 用 xlink:href 指定目标 URI(可以是外部 URL、同一文档内的 fragment,如 #section2)
- 可选属性:xlink:show(replace/new/embed)控制打开方式;xlink:actuate(onLoad/onRequest)控制触发时机
示例:
扩展链接(Extended Link)——支持多源多目标的复杂关系
扩展链接用于描述多个资源之间的结构化关联(比如一个术语链接到定义、示例、参考文献等多个地方),必须配合 xlink:role、xlink:arcrole 和 xlink:title 等语义属性使用。
- 扩展链接元素本身带 xlink:type="extended"
- 用 xlink:locator 元素定义链接源或目标资源(每个有独立 xlink:href 和 xlink:label)
- 用 xlink:arc 元素定义两个 locator 之间的关系,通过 xlink:from 和 xlink:to 引用 label
- 实际应用中较少直接手写,多由工具生成或用于特定领域(如 SVG、DocBook)
注意事项与常见问题
XLink 不是“开箱即用”的点击跳转功能,它的行为完全取决于处理它的应用程序。
- 浏览器原生只对 SVG 中的部分 XLink 属性(如 xlink:href 在 中)有支持,普通 XML 文件不会自动跳转
- XLink 1.1 已被 W3C 搁置,主流采用 XLink 1.0;新项目建议优先考虑 XML Base + 自定义属性或迁移到 JSON-LD 等现代链接方案
- 避免混用 XLink 和自定义 href 属性;如果同时存在 href 和 xlink:href,应以 XLink 属性为准
基本上就这些。XLink 理念清晰,但真实落地要看解析环境——理解它的设计意图,比死记语法更重要。










