XPointer digunakan
untuk mengidentifikasi lokasi didalam dokumen
XML.
Sebuah Xpointer ditambahkan untuk mengakhiri URI
sebagai identifikasi bagian-bagian untuk mengidikasikan keterangan-keterangan masing-masin bagian pada sebuah dokumen XML. Sintaks XPointer ditulis pada bagian sintaks XPath yang digunakan pada XSLT. Untuk
tipe data XPath yang utama seperti Boolean, node-set, number, dan string,
XPointer menambahkan point dan batas karena fungsi tersebut membutuhkannya untuk bekerja pada tipe tersebut.
XPointers pada URL
Penulisan
XPointer
diasanya seletlah
alamat
URL yang dipisahkan
dengan
tanda shap (#). URL merupakan identifikasi sebuah dokumen biasanya penulisannya dengan : http://java.sun.com:80/products/jndi/index.html. Pada
skema tersebut,
http menunjukan
aplikasi protokol
protokol
yang digunakan sebagai penyampaian dokumen. sedangkan java.sun.com:80 menunjukan alamat asal atau darimana dokumen tersebut diambil dimana angka 80 menandakan bahwa data yang diambil dilewatkan melalui port
80, port ini biasanya dapat diakses secara bebas oleh siapapun, namun
terkadang penyedia juga dapat melewatkan melalui port lain dan akan memberikan autektifikasi username dan password untuk mengaksesnya. Pada bagian /products/jndi/index.html menunjukan lokasi file
tersebut disimpan pada server. File yang akan
dikirim
adalah
index.html yag tersimpan pada folder /products/jndi pada direktori server.
Selain penulisan seperti diatas, kita juga dapat menandai bagian-bagian tertentu pada dokumen,
dimana dokumen tersebut sebelumnya sudah terbagi sesuai dengan kriteria tertentu. Untuk mengaksesnya kita dapat menggunakan tanda sharp (
# ).
misalnya kita ingin mengarahkan pada dokumen seperti contoh diatas, tetapi kita ingin langsung mengarahkan halaman tersebut bukan pada awal dokumen, namun pada bagian-bagian tertentu. Misalnya kita langsung ingin mengarah pada bagian download. URL yang dituliskan untuk melakukan hal tersebut adalah : http://java.sun.com:80/products/jndi/index.html#download. Ketika browser menampilkan halaman dokumen tersebut,
browser akan mencari nama penanda bagian dengan nama download pada dokumen tersebut yang ditulis dengan sintaks :
<a name="download"></a>
Contoh untuk pointer adal sebagai berikut :
buatlah dokumen HTML dengan kode sebagai berikut
:
<html>
<head>
</head>
<body>
<a name='top'><h2>Judul Dokumennya</h2></a>
<hr/>
isi dokumen baris 1<br/> isi dokumen baris 2<br/> isi dokumen baris 3<br/> isi dokumen baris 4<br/> isi dokumen baris 5<br/>
...
isi dokumen baris 17<br/> isi dokumen baris 18<br/>
isi dokumen baris 19<br/> isi dokumen baris 20<br/>
<a href='#top'>kembali keatas</a>
</body>
</html>
jika kita menjalankan dokumen diatas, maka tampak seperti berikut :
jika kita mengklik link “kembali keatas”, maka halaman
browser
akan segera menscrol langsung ke bagian atas
pada pointer yang diberi nama
“top”.
Pada XML, kita dapat menambahkan setelah tanda shrap sintaks berikut
sesuai dengan kebutuhan.
xpointer(/) xpointer(//first_name)
xpointer(id('sec-intro'))
xpointer(/people/person/name/first_name/text( ))
xpointer(//middle_initial[position(
)=1]/../first_name) xpointer(//profession[.="physicist"]) xpointer(/child::people/child::person[@index<4000
])
xpointer(/child::people/child::person/attribute::
id)
Penulisan pada XPointer kita menggunakan XPath untuk menuju kesatu lokasi tertentu. Namun, dalam penerapannya ini agak
sulit dilakukan. Sehingga dalam bab ini kita
hanya sekedar memahaminya saja.
Penulisan
XPointer
pada link
sama
halnya
dengan
pada
URL,
intnya setelah sebuah URL, kita tambahkan XPointer. Hanya saja, link merupakan penulisan dari URL yang terdapat bisa pada dokumen itu sendiri atau dokumen lain. Contoh penulisannya :
/name[position( )=1])
namun, jika XPointer menggunakan karakter yang tidak dibolehkan penulisan URI
didalam XML, misalnya tanda “<”, atau non-ASCII seperti é maka harus dijadikan heksadesimal
sebagaimana
telah
ditentukan sebelum URI
XPointer terpasang. Dengan kata lain, setiap karakter tersebut dapat ditulis dengan tanda persen ( % ) yang diikuti nilai heksadesimal masing-masing karakter
UTF-8 daru unicode. Misalnya tanda “<” dapat ditulis dengan %3C, tanda petik dua ( “ ) akan ditulis dengan
%22, é dapat dutuliskan dengan %C3%A9 dan sebagainya.
XPointers dapat memberikan sejumlah ekstensi yang cocok untuk XPath.
Misalnya bare name. Bare name pada XPointer sama dengan nama kerangka pada HTML,
yaitu
bare
name XPointer
mengidentifikasi
elemen dengan namanya sendiri. Untuk membuat link ke salah satu elemen dengan sebuah
bare name, tambahkan bagian pemisah # untuk URL yang diikuti oleh ID dari
elemen yang akan dihubungkan.
Misalnya link URL http://www.w3.org/TR/1999/REC-xpath-19991116.xml#NT-AbsoluteLocationPath
ke-elemen XPath pada atribut tipe ID dengan
nilai NT-AbsoluteLocationPath.
Child Sequences
XPointer
dapat memilih
elemen dengan
posisi relatif
untuk elemen yang sejajar. Contohnya xpointer(/child::*[position() =
1]/child::*[ position(
) = 2]/child::*[position( ) =
3]) yang digunakan
untuk
memilih tiga elemen child pada elemen child kedua dari elemen root. XPointer memungkinkan kita untuk mengyingkat siktaks
diatas
dengan menyatakan jumlah elemen child yang dipisahkan oleh slash ( / ) dan hal ini disebut dengan child sequence. Misalnya kita
dapat menuliskannya menjadi 1/2/3. Namun child sequence tidak boleh berada pada
kurung xpointer( ).
Namespace
Pada XPointer kita
juga dapat menggunakan namespace.
Jika kita
memanggilnya maka dapat kita
tuliskan dengan sintaks
sesuai dengan lokasi
pada namespacenya. Contohnya pada dokumen XML yang telah kita bahas (bambu)
sebelumnya. Kita dapat menuliskannya dengan
:
xmlns(b:=”Namespace2”) xpointer(//b:jenis)
Points
Terkadang kita ingin megarah pada yang sesuatu yang
tidak ada
nodenya,
misalnya
ingin ke paragran ke tiga
dari teks atau selainnya. XPointer
menambahkan points dan ranges pada sintaks XPath untuk membuat hal
tersebut mungkin. Point merupakan posisi sebelum, setelah atau diantara tag,
komentar, pemprosesan instruksi, atau karakter pada #PCDATA. Contoh penggunaan pada dokumen XML berikut :
<?xml
version="1.0"?>
<?xml-stylesheet
type="text/css" value="novel.css"?>
<!--You may
recognize this from the last chapter-->
<novel
copyright="public domain">
<title>The Wonderful Wizard of
Oz</title>
<author>L. Frank
Baum</author>
<year>1900</year>
</novel>
Ada delapan poin elemen novel diatas yaitu nomor 0-7, satu dekan setelah dan satu dekat sebelum setiap
tag.
XPointer menambahkan dua fungsi untuk
hal
tersebut yang memudahkan
kita untuk
memilih poin pertama dan terakhir dalam node yaitu start- point(
) and end-point( ).
misalnya kita
ingin
mengidentifikasi point pertama elemen title, yaitu point antara node title dan teks nodenya.
xpointer(start-point(//title))
selain itu
XPointer berikut mengindikasi sebelum tag </author> :
xpointer(end-point(//author))
Ranges
Range merupakan jangkauan parsing karakter data antara dua poin. Fungsi yang ada pada XPointer untuk range adalah :
48. Fungsi range( )
fungsi range( ) mengembalikan batasan antara start-point sebelum batasan lokasi sampai end-point
setelah batasan lokasi.
49. Fungsi range-inside( )
Untuk setiap elemen node akan sama sebagai batasan yang
dikembalikan oleh range( ).
50. Fungsi range-to( )
Mengambil sebuah lokasi yang harus mengembalikan tepat
satu
lokasi. Start-points dari konteks node
merupakan
start-points
yang akan dikembalikan
51. Fungsi string-range( )
mengambil argumen sebagai sebuah ekspresi XPath
dan
mengidentifikasi lokasi dan substring dan mencocokkan terhadap nilai string XPath pada setiap lokasi
52. Relative XPointers
Dapat digunakan pada dirinya sendiri tanpa harus menggunakan URL
eksplisit.
53. Fungsi Here( )
Hanya digunakan pada dokumen itu sendiri dan merujuk pada node
yang mengandung XPointer.
54. Fungsi Origin( )
digunakan ketika dokumen link out-of-line dan mengarah pada node
asal.
No comments:
Post a Comment