tutorial pengembangan web terbaru
 

XML XLink dan XPointer


XLink digunakan untuk membuat hyperlink dalam dokumen XML.


XPath
  • XLink digunakan untuk membuat hyperlink dalam dokumen XML
  • Setiap elemen dalam dokumen XML dapat berperilaku sebagai link
  • Dengan XLink, link dapat didefinisikan luar file terkait
  • XLink adalah Rekomendasi W3C

XLink Dukungan Browser

Tidak ada dukungan browser untuk XLink dalam dokumen XML. Namun, semua browser utama mendukung XLinks di SVG .


XLink Sintaks

Dalam HTML, yang <a> elemen 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 tidak mungkin bagi browser untuk memprediksi apa elemen link akan disebut dalam dokumen XML.

Di bawah ini adalah contoh sederhana bagaimana menggunakan XLink untuk membuat link dalam sebuah dokumen XML:

<?xml version="1.0" encoding="UTF-8"?>

<homepages xmlns:xlink="http://www.w3.org/1999/xlink">
  <homepage xlink:type="simple" xlink:href="http://www.w3ii.com">Visit w3ii</homepage>
  <homepage xlink:type="simple" xlink:href="http://www.w3.org">Visit W3C</homepage>
</homepages>

Untuk mendapatkan akses ke fitur XLink kita harus mendeklarasikan XLink namespace. The XLink namespace adalah: "http://www.w3.org/1999/xlink" .

The xlink: Jenis dan xlink:href atribut di <homepage> elemen berasal dari namespace XLink.

The xlink: type = "sederhana" menciptakan sederhana "HTML-like" Link (berarti "klik di sini untuk pergi ke sana").

The xlink:href atribut menentukan URL untuk link ke.


XLink Contoh

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:

  • The XLink namespace dinyatakan di bagian atas dokumen (xmlns:xlink="http://www.w3.org/1999/xlink")
  • The xlink: type = "sederhana" menciptakan sederhana "HTML-like" Link
  • The xlink:href atribut menentukan URL untuk link ke (dalam hal ini - gambar)
  • The xlink: Acara = "baru" menetapkan bahwa link harus membuka di jendela baru

XLink - Pergi Selanjutnya

Dalam contoh di atas kita telah menunjukkan XLinks sederhana. XLink semakin menarik ketika mengakses lokasi terpencil sebagai sumber daya, bukan halaman mandiri.

Jika kita menetapkan nilai xlink:show atribut untuk "embed" , sumber daya terkait harus diproses inline dalam halaman. Ketika Anda menganggap bahwa ini bisa menjadi dokumen XML lain Anda bisa, misalnya, membangun hirarki dokumen XML.

Anda juga dapat menentukan KETIKA sumber daya akan muncul, dengan xlink:actuate atribut.


XLink Atribut Referensi

Atribut Nilai Deskripsi
xlink:actuateonLoad
onRequest
other
none
Mendefinisikan ketika sumber daya terkait dibaca dan ditampilkan:
  • onLoad - sumber daya yang harus dimuat dan ditampilkan ketika beban dokumen
  • onRequest - sumber daya yang tidak membaca atau ditampilkan sebelum link diklik
xlink:href URL Menentukan URL untuk link ke
xlink:showembed
new
replace
other
none
Menentukan di mana untuk membuka link. Default adalah "replace"
xlink:typesimple
extended
locator
arc
resource
title
none
Menentukan jenis link

XPointer

XPath
  • XPointer memungkinkan link untuk menunjuk ke bagian-bagian tertentu dari dokumen XML
  • XPointer menggunakan ekspresi XPath untuk menavigasi dalam dokumen XML
  • XPointer adalah Rekomendasi W3C

XPointer Dukungan Browser

Tidak ada dukungan browser untuk XPointer. Tapi XPointer digunakan dalam bahasa XML lainnya.


XPointer Contoh

Dalam contoh ini, kita akan menggunakan XPointer dalam hubungannya dengan XLink untuk menunjuk ke bagian tertentu dari dokumen lain.

Kami akan mulai dengan melihat target dokumen XML (dokumen kita terhubung ke):

<?xml version="1.0" encoding="UTF-8"?>

<dogbreeds>

<dog breed="Rottweiler" id="Rottweiler">
  <picture url="http://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="http://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, bukan menghubungkan ke seluruh dokumen (as with XLink) , XPointer memungkinkan Anda untuk link ke bagian tertentu dari dokumen. Untuk link ke bagian tertentu dari halaman, menambahkan tanda nomor (#) dan ekspresi XPointer setelah URL di xlink:href atribut, seperti ini: xlink: href = "http://dog.com/dogbreeds.xml #xpointer (id ( 'Rottweiler')) ". Ekspresi mengacu pada elemen dalam dokumen target, dengan nilai id dari "Rottweiler" .

XPointer juga memungkinkan metode singkatan untuk menghubungkan ke elemen dengan id. Anda dapat menggunakan nilai id langsung, seperti ini: xlink: href = "http://dog.com/dogbreeds.xml#Rottweiler".

Dokumen XML berikut berisi link ke informasi lebih lanjut dari jenis anjing untuk masing-masing 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="http://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="http://dog.com/dogbreeds.xml#FCRetriever">
  Fact about flat-coated Retriever
  </fact>
</mydog>

</mydogs>