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:actuate | onLoad onRequest other none | Определяет, когда подключенный ресурс должен быть прочитан и показан:
|
xlink:href | URL | Определяет URL ссылки |
xlink:show | embed new replace other none | Определяет, где открывать ссылку. По молчанию действует "replace" |
xlink:type | simple extended locator arc resource title none | Определяет тип ссылки |