XML XLink
XLink XML hujjatlarida giperhavolalar yaratish uchun ishlatiladi.
|
|
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:
|
| 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
![]() |
|
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!
