Wednesday, 30 September 2015

XPointer

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  aplikasprotokol  protokol  yang digunakan sebagai penyampaian dokumen. sedangka 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.  Filyanakan  dikirim  adalah  index.html  yag tersimpan pada folder /products/jndi pada direktori server.


Selain penulisan seperti diataskita juga dapat menandai bagian-bagian tertentu pada dokumen,  dimana dokumen tersebut sebelumnysudah 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  keatasmakhalaman  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  posisrelatif  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   dapa menggunaka 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  setia elemen  node  aka sama   sebaga batasa 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