XML, XLink и XQuery
- Предыдущая страница XML XQuery
- Следующая страница Валидатор XML
XLink используется для создания гиперссылок в XML-документах
XPath
- XLink используется для создания гиперссылок в XML-документах
- Любой элемент в XML-документе может служить ссылкой
- С помощью XLink можно определить ссылки вне файла, к которому они ведут
- XLink является рекомендованным стандартом W3C
Поддержка браузеров XLink
Браузеры не поддерживают XLink в XML-документах.
Однако, все основные браузеры поддерживают XLink в 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://www.codew3c.com">Посетите CodeW3C.com</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>come из этого пространства имен 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="YashuTalkFood"> <description xlink:type="simple" xlink:href="/images/cswd.jpg" xlink:show="new"> 『YashuTalkFood』является руководством по кулинарии Чаошань, которое предоставляет необходимые советы и помощь для любителей кулинарии и тех, кто ищет вкус. Эта книга также может быть названа литературным读本 о кулинарии Чаошань, в которой介绍ятся кулинарные специалитеты Чаошань, а не кулинарные习俗, чтобы полностью раскрыть местную культуру, кулинарные традиции и исторические детали, скрытые за едой. </description> </book> <book title="Уникальный狐狸 папа"> <description xlink:type="simple" xlink:href="/images/mrfox.jpg" xlink:show="new"> Боджис, Бонс и Бин - одни из самых подлых и скупых людей, которых вы можете встретить, они ненавидят мистера Фокса и решили уничтожить его семью. Таким образом, эти три человека с оружием подло ждали у входа в пещеру мистера Фокса... Но мистер Фокс у него было несколько хитрых планов, чтобы对付他们! Таким образом, началась битва интеллекта и силы... </description> </book> </bookstore>
Пример объяснение:
- Пространство имен XLink объявляется в верхней части документа (xmlns:xlink="http://www.w3.org/1999/xlink")
- xlink:type="simple" создает простую ссылку, подобную HTML
- Атрибут xlink:href определяет URL, к которому следует linking (в данном примере это изображение)
- xlink:show="new" указывает на то, что ссылка должна открываться в новом окне
XLink - идти дальше
В примере выше мы демонстрируем простой XLink.
Если мы используем удаленное местоположение в качестве ресурса, а не отдельную страницу для доступа, XLink становится более интересным.
Если мы установим значение атрибута xlink:show в "embed", то связанные ресурсы будут обрабатываться inline на странице. Например, если вы думаете, что это может быть другой XML-документ, вы можете создать иерархию XML-документа.
Вы также можете использовать атрибут xlink:actuate, чтобы определить время отображения ресурса.
Справочник по атрибутам XLink
Атрибуты Значение Описание xlink:actuate onLoad onRequest other none Определение времени чтения и отображения связанных ресурсов: onLoad - Ресурсы должны загружаться и отображаться при загрузке документа onRequest - The resource will not be read or displayed before clicking the link xlink:href URL specifies the URL to be linked to. xlink:show embed new replace other none specifies where to open the link. The default is "replace". xlink:type simple extended locator arc resource title none specifies the type of link.XPointer
XPath- XPointer allows links to point to specific parts of an XML document
- XPointer uses XPath expressions to navigate in XML documents
- XPointer is a W3C recommended standard
XPointer browser support
No browsers support XPointer. But XPointer is also used in other XML languages.
XPointer example
In this example, we will combine the use of XPointer and XLink to point to a specific part of another document.
we first take a look at this target XML document (the document we link to):
<?xml version="1.0" encoding="UTF-8"?> <dogbreeds> <dog breed="Rottweiler" id="Rottweiler"> <picture url="https://dog.com/rottweiler.gif" /> <history>The Rottweiler's ancestors were probably Roman drover dogs.....</history> <temperament>Confident, bold, alert and imposing, the Rottweiler is a popular choice for its ability to protect....</temperament> </dog> <dog breed="FCRetriever" id="FCRetriever"> <picture url="https://dog.com/fcretriever.gif" /> <history>One of the earliest uses of retrieving dogs was to help fishermen retrieve fish from the water....</history> <temperament>The flat-coated retriever is a sweet, exuberant, бодрый пес, который любит играть и находить....</temperament> </dog> </dogbreeds>
Обратите внимание, что в каждом элементе XML-документа используется атрибут id!
Таким образом, XPointer позволяет вам ссылаться на определенную часть документа, а не на весь документ (как XLink).
Чтобы ссылаться на определенную часть страницы, добавьте символ '#' и выражение XPointer в конце URL xlink:href, например:
xlink:href="https://dog.com/dogbreeds.xml#xpointer(id('Rottweiler'))"Этот выражение ссылается на элемент с id值为 "Rottweiler" в целевом документе.
xlink:href="https://dog.com/dogbreeds.xml #xpointer(id('Rottweiler'))"。XPointer также позволяет использовать сокращенный метод для ссылок на элементы с id. Вы можете directamente использовать значение id, например:
xlink:href="https://dog.com/dogbreeds.xml#RottweilerНиже приведен XML-документ, содержащий ссылки на дополнительную информацию о каждом品种е собак:
<?xml version="1.0" encoding="UTF-8"?> <mydogs xmlns:xlink="http://www.w3.org/1999/xlink"> <mydog> <description> Антон - мой любимый пес. Он выиграл много..... </description> <fact xlink:type="simple" xlink:href="https://dog.com/dogbreeds.xml#Rottweiler"> Факт о ротвейлере </fact> </mydog> <mydog> <description> Плуто - это самый сладкий пес на земле...... </description> <fact xlink:type="simple" xlink:href="https://dog.com/dogbreeds.xml#FCRetriever"> Факт о плоскошерстном ретривере </fact> </mydog> </mydogs>
- Предыдущая страница XML XQuery
- Следующая страница Валидатор XML