XML , XLink dan XPointer
XLink digunakan untuk membuat hyperlink dalam dokumen XML.
|
Dukungan Peramban XLink
Tidak ada dukungan browser untuk XLink dalam dokumen XML.
Namun, semua browser utama mendukung XLinks di SVG .
Sintaks XLink
Dalam HTML, elemen <a> mendefinisikan hyperlink. Namun, ini bukan cara kerjanya dalam XML. Dalam dokumen XML, Anda dapat menggunakan nama elemen apa pun yang Anda inginkan - oleh karena itu browser tidak mungkin memprediksi elemen tautan apa yang akan dipanggil dalam dokumen XML.
Di bawah ini adalah contoh sederhana tentang cara menggunakan XLink untuk membuat tautan dalam dokumen 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.w3schools.com">Visit W3Schools</homepage>
<homepage xlink:type="simple"
xlink:href="http://www.w3.org">Visit W3C</homepage>
</homepages>
Untuk mendapatkan akses ke fitur XLink kita harus mendeklarasikan namespace XLink. Ruang nama XLink adalah: "http://www.w3.org/1999/xlink".
Atribut xlink:type dan xlink:href di elemen <homepage> berasal dari namespace XLink.
xlink:type="simple" membuat tautan "seperti HTML" sederhana (berarti "klik di sini untuk menuju ke sana").
Atribut xlink:href menentukan URL yang akan ditautkan.
Contoh XLink
Dokumen XML berikut berisi fitur 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>
Contoh menjelaskan:
- Namespace XLink dideklarasikan di bagian atas dokumen (xmlns:xlink="http://www.w3.org/1999/xlink")
- xlink:type="simple" membuat tautan "seperti HTML" sederhana
- Atribut xlink:href menentukan URL untuk ditautkan (dalam hal ini - gambar)
- xlink:show="new" menentukan bahwa tautan harus terbuka di jendela baru
XLink - Melangkah Lebih Jauh
Pada contoh di atas kami telah mendemonstrasikan XLinks sederhana. XLink semakin menarik saat mengakses lokasi terpencil sebagai sumber daya, bukan halaman mandiri.
Jika kita menetapkan nilai atribut xlink:show ke "embed", sumber daya yang ditautkan harus diproses sebaris di dalam halaman. Ketika Anda mempertimbangkan bahwa ini bisa menjadi dokumen XML lain, Anda dapat, misalnya, membangun hierarki dokumen XML.
Anda juga dapat menentukan KAPAN sumber daya akan muncul, dengan atribut xlink:actuate.
Referensi Atribut XLink
Attribute | Value | Description |
---|---|---|
xlink:actuate | onLoad onRequest other none |
Defines when the linked resource is read and shown:
|
xlink:href | URL | Specifies the URL to link to |
xlink:show | embed new replace other none |
Specifies where to open the link. Default is "replace" |
xlink:type | simple extended locator arc resource title none |
Specifies the type of link |
XPointer
|
Dukungan Peramban XPointer
Tidak ada dukungan browser untuk XPointer. Tapi XPointer digunakan dalam bahasa XML lainnya.
Contoh XPointer
Dalam contoh ini, kita akan menggunakan XPointer dalam hubungannya dengan XLink untuk menunjuk ke bagian tertentu dari dokumen lain.
Kami akan mulai dengan melihat dokumen XML target (dokumen yang kami tautkan):
<?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>
Perhatikan bahwa dokumen XML di atas menggunakan atribut id pada setiap elemen!
Jadi, alih-alih menautkan ke seluruh dokumen (seperti halnya XLink), XPointer memungkinkan Anda menautkan ke bagian tertentu dari dokumen. Untuk menautkan ke bagian halaman tertentu, tambahkan tanda angka (#) dan ekspresi XPointer setelah URL di atribut xlink:href, seperti ini: xlink:href="https://dog.com/dogbreeds.xml #xpointer(id('Rottweiler'))). Ekspresi mengacu pada elemen dalam dokumen target, dengan nilai id "Rottweiler".
XPointer juga memungkinkan metode singkatan untuk menautkan ke elemen dengan id. Anda dapat menggunakan nilai id secara langsung, seperti ini: xlink:href="https://dog.com/dogbreeds.xml#Rottweiler".
Dokumen XML berikut berisi tautan ke informasi lebih lanjut tentang jenis anjing untuk setiap anjing saya:
<?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>