XML XLink


XLink XML hujjatlarida giperhavolalar yaratish uchun ishlatiladi.


XPath
  • XLink XML hujjatlari ichida giperhavolalar yaratish uchun ishlatiladi
  • XML hujjatdagi istalgan element havola sifatida ishlashi mumkin
  • XLink yordamida havolalarni bog‘langan fayllardan tashqarida belgilash mumkin
  • XLink — W3C tavsiyasi

ULASHISH

XLink’ning brauzerlarda qo‘llab-quvvatlanishi

Brauzerlar XML hujjatlaridagi XLink’ni qo‘llab-quvvatlamaydi.

Biroq barcha asosiy brauzerlar SVG’dagi XLink’larni qo‘llab-quvvatlaydi.


XLink sintaksisi

HTML’da <a> elementi giperhavolani belgilaydi. Biroq XML’da bu boshqacha ishlaydi. XML hujjatlarida istalgan element nomlaridan foydalanishingiz mumkin, shuning uchun brauzerlar XML hujjatlarida havola elementlari qanday nomlanishini oldindan bila olmaydi.

Quyida XML hujjatda havolalar yaratish uchun XLink’dan qanday foydalanishning oddiy misoli keltirilgan:

<?xml version="1.0" encoding="UTF-8"?> <homepages xmlns:xlink="http://www.w3.org/1999/xlink">   <homepage xlink:type="simple" xlink:href="https://www.w3schools.com">Visit W3Schools</homepage>   <homepage xlink:type="simple" xlink:href="http://www.w3.org">Visit W3C</homepage> </homepages>

XLink imkoniyatlaridan foydalanish uchun XLink nomlar fazosini e’lon qilishimiz kerak. XLink nomlar fazosi: "http://www.w3.org/1999/xlink".

<homepage> elementlaridagi xlink:type va xlink:href atributlari XLink nomlar fazosiga tegishli.

xlink:type="simple" oddiy, "HTML’dagiga o‘xshash" havola yaratadi ("u yerga o‘tish uchun shu yerni bosing" degan ma’noda).

xlink:href atributi havola qilinadigan URL’ni belgilaydi.


XLink misoli

Quyidagi XML hujjatda XLink imkoniyatlari mavjud:

<?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>

Misol tushuntirilishi:

  • XLink nomlar fazosi hujjatning boshida e’lon qilingan (xmlns:xlink="http://www.w3.org/1999/xlink")
  • xlink:type="simple" oddiy, "HTML’dagiga o‘xshash" havola yaratadi
  • xlink:href atributi havola qilinadigan URL’ni belgilaydi (bu holatda — rasm)
  • xlink:show="new" havola yangi oynada ochilishi kerakligini belgilaydi


XLink - chuqurroq

Yuqoridagi misolda oddiy XLink’larni namoyish qildik. XLink mustaqil sahifalar o‘rniga masofadagi joylarga resurs sifatida murojaat qilinganda yanada qiziqarli bo‘ladi.

Agar xlink:show atributining qiymatini "embed" deb o‘rnatsak, bog‘langan resurs sahifa ichida (inline) qayta ishlanishi kerak. Bu boshqa XML hujjat bo‘lishi mumkinligini hisobga olsak, masalan, XML hujjatlari ierarxiyasini qurishingiz mumkin.

Shuningdek, xlink:actuate atributi yordamida resurs QACHON paydo bo‘lishi kerakligini belgilashingiz mumkin.


XLink atributlari ma’lumotnomasi

Atribut Qiymat Tavsif
xlink:actuate onLoad
onRequest
other
none
Bog‘langan resurs qachon o‘qilishi va ko‘rsatilishini belgilaydi:
  • onLoad - resurs hujjat yuklanganda yuklanishi va ko‘rsatilishi kerak
  • onRequest - resurs havola bosilmaguncha o‘qilmaydi va ko‘rsatilmaydi
xlink:href URL Havola qilinadigan URL’ni belgilaydi
xlink:show embed
new
replace
other
none
Havola qayerda ochilishini belgilaydi. Standart qiymat — "replace"
xlink:type simple
extended
locator
arc
resource
title
none
Havola turini belgilaydi

XPointer

XPath
  • XPointer havolalarga XML hujjatning muayyan qismlariga ishora qilish imkonini beradi
  • XPointer XML hujjatda harakatlanish uchun XPath ifodalaridan foydalanadi
  • XPointer — W3C tavsiyasi

XPointer’ning brauzerlarda qo‘llab-quvvatlanishi

Brauzerlar XPointer’ni qo‘llab-quvvatlamaydi. Ammo XPointer boshqa XML tillarida ishlatiladi.


XPointer misoli

Bu misolda boshqa hujjatning muayyan qismiga ishora qilish uchun XPointer’ni XLink bilan birgalikda ishlatamiz.

Avval maqsadli XML hujjatni (biz havola qilayotgan hujjatni) ko‘rib chiqamiz:

<?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,   lively dog that loves to play and retrieve....</temperament> </dog> </dogbreeds>

E’tibor bering, yuqoridagi XML hujjat har bir elementda id atributlaridan foydalanadi!

Shunday qilib, butun hujjatga havola qilish o‘rniga (XLink’dagi kabi), XPointer hujjatning muayyan qismlariga havola qilish imkonini beradi. Sahifaning muayyan qismiga havola qilish uchun xlink:href atributidagi URL’dan keyin panjara belgisi (#) va XPointer ifodasini qo‘shing, masalan: xlink:href="https://dog.com/dogbreeds.xml#xpointer(id('Rottweiler'))". Bu ifoda maqsadli hujjatdagi id qiymati "Rottweiler" bo‘lgan elementga ishora qiladi.

XPointer id’ga ega elementga havola qilishning qisqa usulini ham taqdim etadi. id qiymatidan bevosita foydalanishingiz mumkin, masalan: xlink:href="https://dog.com/dogbreeds.xml#Rottweiler".

Quyidagi XML hujjatda mening har bir itimning zoti haqida qo‘shimcha ma’lumotga havolalar mavjud:

<?xml version="1.0" encoding="UTF-8"?> <mydogs xmlns:xlink="http://www.w3.org/1999/xlink"> <mydog>   <description>   Anton is my favorite dog. He has won a lot of.....   </description>   <fact xlink:type="simple" xlink:href="https://dog.com/dogbreeds.xml#Rottweiler">   Fact about Rottweiler   </fact> </mydog> <mydog>   <description>   Pluto is the sweetest dog on earth......   </description>   <fact xlink:type="simple" xlink:href="https://dog.com/dogbreeds.xml#FCRetriever">   Fact about flat-coated Retriever   </fact> </mydog> </mydogs>

W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!