Вы здесь

XLink - ссылки в XML

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

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

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

Синтаксис 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="http://msiter.ru">Наш учебный сайт</homepage>
   <homepage xlink:type="simple" xlink:href="http://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 браузерами

Браузеры не имеют поддержки XLink в XML документах. Тем не менее, все основные браузеры поддерживают простые XLink в SVG.

Пример 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, 15-year-old Harry Potter is...
      </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
Определяет тип ссылки