XLink - ссылки в XML

XLink определяет методы создания гиперссылок внутри XML документов.

Как используется XLink

  • XLink используется для создания гиперссылок внутри XML документов
  • Любой элемент XML документа может вести себя как ссылка
  • XLink поддерживает простые ссылки (как HTML) и расширенные ссылки (для связывания нескольких ресурсов)
  • При помощи XLink ссылки могут определяться за пределами связанных файлов
  • XLink является стандартом W3C

Поддержка XLink браузерами

В настоящее время XLink в XML документах не поддерживается ни одним браузером.

Тем не менее, все основные браузеры поддерживают XLinks в SVG.

Синтаксис XLink

В HTML гиперссылки определяются при помощи элемента <a>. В XML же это работать не будет. В XML документах разрешено использовать элементы с любыми именами, таким образом браузеры не могут знать заранее, какие элементы в XML документах используются в качестве гиперссылок.

Ниже приводится простой пример того, как XLink используется для создания гиперссылок в XML документе:


<?xml version="1.0" encoding="UTF-8"?>
<homepages xmlns:xlink="http://www.w3.org/1999/xlink">
   <homepage xlink:type="simple" xlink:href="https://msiter.ru">Наш учебный сайт</homepage>
   <homepage xlink:type="simple" xlink:href="//www.w3.org">Консорциум W3C</homepage>
</homepages>

Чтобы иметь возможность использовать XLink, мы должны декларировать пространство имен XLink. Пространством имен XLink является: "http://www.w3.org/1999/xlink".

Атрибуты xlink:type и xlink:href в элементе <homepage> берутся из пространства имен XLink.

Атрибут xlink:type="simple" создает простую "HTML-подобную" ссылку (означает "нажмите сюда, чтобы перейти туда").

Атрибут xlink:href определяет URL ссылки.

Пример XLink

Следующий XML документ содержит функционал XLink:


<?xml version="1.0" encoding="UTF-8"?>
<bookstore xmlns:xlink="http://www.w3.org/1999/xlink">
   <book title="Harry Potter">
      <description xlink:type="simple" xlink:href="/images/HPotter.gif" xlink:show="new">
         As his fifth year at Hogwarts School of Witchcraft and Wizardry approaches, ...
      </description>
   </book>

   <book title="XQuery Kick Start">
      <description xlink:type="simple" xlink:href="/images/XQuery.gif" xlink:show="new">
         XQuery Kick Start delivers a concise introduction to the XQuery standard...
      </description>
   </book>
</bookstore>

Объяснение примера:

  • В начале документа декларируется пространство имен XLink (xmlns:xlink="http://www.w3.org/1999/xlink")
  • Атрибут xlink:type="simple" создает простую "HTML-подобную" ссылку
  • Атрибут xlink:href определяет URL ссылки (в данном случае - изображение)
  • Атрибут xlink:show="new" определяет, что ссылка должна открываться в новом окне

XLink - Идем дальше

В примере выше были показаны простые ссылки XLink. Однако XLink становится интереснее, когда необходимо создать доступ к удаленный ресурсам, а не к отдельным страницам.

Если установить атрибуту xlink:show значение "embed", то ресурс, на который создается ссылка, будет встроен в код страницы. Если создается такая ссылка на другой XML документ, то появляется возможность создавать иерархию XML документов.

Также, вы можете определять то, когда ресурс должен отображаться. За это отвечает атрибут xlink:actuate.

Атрибуты XLink

АтрибутЗначениеОписание
xlink:actuateonLoad
onRequest
other
none
Определяет, когда подключенный ресурс должен быть прочитан и показан:
  • onLoad - ресурс должен быть загружен и показан сразу после загрузки документа
  • onRequest - ресурс загружается и показывается только при нажатии на ссылку
xlink:hrefURLОпределяет URL ссылки
xlink:showembed
new
replace
other
none
Определяет, где открывать ссылку. По умолчанию действует "replace"
xlink:typesimple
extended
locator
arc
resource
title
none
Определяет тип ссылки