XLink 是 xml 中用于创建链接的标准技术,支持单向、双向和多向链接,通过 xlink:type、xlink:href 等属性定义链接行为,可用于简单链接和复杂扩展链接,适用于自定义 XML 文档互联,但在浏览器中需特殊处理,svg 和专业文档系统中应用较广。

XLink 是 XML 中用于创建链接的一种标准技术,它允许在 XML 文档之间建立类似 html 超链接的功能,但更加灵活和强大。与 HTML 的 a 标签不同,XLink 可以支持单向链接、双向链接甚至多向链接,并且适用于任意的 XML 语言。
理解 XLink 的基本概念
XLink 全称是 XML Linking Language,由 W3C 定义,用来为 XML 元素添加链接行为。它不局限于网页跳转,而是提供一套通用机制,让 XML 文档能指向其他资源(如文档、图片、服务等)。
XLink 的核心是通过特定的属性来定义链接行为,这些属性属于 XLink 命名空间。常见的 XLink 属性包括:
- xlink:type:指定链接类型,如 simple(简单链接)或 extended(扩展链接)
- xlink:href:指定目标资源的 URI
- xlink:role:描述链接目标的作用
- xlink:title:为链接提供可读标题
- xlink:show:控制如何展示目标,如 new(新窗口)、replace(替换当前)等
- xlink:actuate:控制何时激活链接,如 onLoad、onRequest 或 user
使用 XLink 创建简单链接
最常用的 XLink 类型是 simple 链接,功能类似于 HTML 的超链接。下面是一个使用 XLink 的示例:
<?xml version=”1.0″?>
<book xmlns:xlink="http://www.w3.org/1999/xlink">
<title xlink:type="simple"
xlink:href=”http://example.com/book1.pdf“
xlink:show="new"
xlink:actuate="onRequest">
深入学习 XML
</title>
</book>
说明:
- 声明了 XLink 命名空间:
xmlns:xlink="http://www.w3.org/1999/xlink" -
xlink:type="simple"表示这是一个单向链接 -
xlink:href指向一个 pdf 文件 -
xlink:show="new"表示在新窗口打开目标 -
xlink:actuate="onRequest"表示由用户点击时触发
当支持 XLink 的应用程序解析该文档时,点击“深入学习 XML”就会打开指定的 PDF。
实现跨文档的复杂链接(Extended Link)
XLink 还支持更复杂的链接结构 —— extended 类型,可以连接多个资源并定义它们之间的关系。
<exlink xmlns:xlink="http://www.w3.org/1999/xlink"
xlink:type=”extended”>
<Resource xlink:type=”locator”
xlink:href=”http://example.com/intro.html“
xlink:role=”introduction”/>
<resource xlink:type=”locator”
xlink:href=”http://example.com/advanced.xml”
xlink:role=”advanced-content”/>
<arc xlink:type=”arc”
xlink:from=”introduction”
xlink:to=”advanced-content”
xlink:show=”replace”
xlink:actuate="onRequest"/>
</exlink>
这个例子中:
- 定义了一个扩展链接,包含两个资源定位器(locator)
- 使用 role 属性标记每个资源的角色
- 通过 arc(弧)定义从“introduction”到“advanced-content”的导航路径
这种结构适合构建知识图谱、文档导航系统等复杂应用场景。
注意事项与兼容性
尽管 XLink 功能强大,但在实际应用中有几点需要注意:
- 大多数浏览器原生不支持 XLink 渲染,需借助专用解析器或 javaScript 处理
- XLink 在 SVG 中有良好支持(如 SVG 的 a 元素基于 XLink)
- 建议在自定义 XML 格式(如 DocBook、TEI)中使用 XLink 实现文档互联
- 确保正确声明 XLink 命名空间,否则链接不会被识别
基本上就这些。XLink 提供了一种标准化方式让 XML 文档具备超链接能力,虽然普及度不如 HTML 链接,但在专业文档系统中仍有重要价值。掌握它有助于构建结构化、互连的数据体系。


