XLink 是 W3C 定义的 XML 链接标准,提供简单链接和扩展链接两类机制,支持多目标、多语义、跨资源的结构化链接关系,并通过 xlink:role、xlink:title 等属性附加元数据,但浏览器原生支持极低,主要用于专业 XML 应用场景。

XLink 是 W3C 定义的一套 XML 链接标准,全称是 XML Linking Language。它不是浏览器直接渲染的“超链接”,而是一组规范化的属性和元素,让 XML 文档能以比 HTML 的 更灵活、更结构化的方式表达复杂链接关系。
XLink 支持多种链接类型,不止是“跳转”
HTML 的链接基本是单向、单目标、用户点击即跳转。XLink 则区分两类核心链接:
-
简单链接(Simple Link):类似 HTML 的
,用xlink:type="simple"声明,支持xlink:href指向目标资源,还可通过xlink:show(如replace、new)和xlink:actuate(如onRequest、onLoad)控制打开方式和触发时机; -
扩展链接(Extended Link):真正体现 XLink 高级能力的部分。它不绑定在单个元素上,而是独立存在(用
xlink:type="extended"),可同时关联多个本地或远程资源()、定义多对多关系(描述起点与终点的语义连接),甚至支持资源分组与角色标注(xlink:role、xlink:title)。
链接目标可以是任意资源,不仅限于文档
XLink 的 xlink:href 值是标准 URI,因此目标可以是:
- 另一个 XML 或 HTML 文档;
- 同一文档内的带 ID 的元素(如
#section2); - 图片、PDF、音频等外部二进制资源;
- 甚至是一个返回数据的服务端接口(如
https://api.example.com/data.xml)。
只要解析器支持,就能按需获取并处理这些资源——这为构建数据驱动的复合文档(如技术手册嵌入动态参数表)提供了基础。
链接本身可携带元数据和行为逻辑
XLink 允许在链接元素上附加语义信息,不依赖外部描述:
-
xlink:role说明链接作用(例如"http://example.org/roles/glossary-definition"); -
xlink:title提供人类可读的链接说明(支持多语言xml:lang); -
xlink:arcrole在扩展链接中定义弧(arc)的语义(如"causes"、"part-of"),便于机器理解关系类型; - 配合
xlink:actuate="onLoad",还能实现文档加载时自动预取关联资源。
实际使用需注意兼容性与工具链
原生浏览器对 XLink 支持非常有限(现代浏览器基本忽略 XLink 属性),它更多用于专业场景:
- 出版系统(如 DITA、DocBook)中管理内容重用与跨文档引用;
- 地理信息(GML)、科学数据(SensorML)等标准中表达要素间拓扑或因果关系;
- 需要定制解析器的 XML 处理流程(如用 XSLT 或 Java DOM 提取并执行 XLink 逻辑)。
简单说:XLink 不是给网页加链接的工具,而是给结构化 XML 数据“打关系标签”的语言——它把链接从表现层提升到了语义建模层。










