BAB VI - kungfumas



1 Pengenalan XML

Overview

XML kependekan dari eXtensible Markup Language, merupakan sebuah standar W3C-endorsed untuk Markup language yang dikembangkan mulai tahun 1996 dan baru mendapatkan pengakuan dari W3C pada bulan Februari 1998. Markup language itu sendiri merupakan suatu bahasa pemprograman untuk menandai suatu dokumen yang disebut dengan tag agar dokumen tersebut lebih mudah dibaca, dipahami serta menarik.

Pada awalnya markup language digunakan oleh para penulis, editor, dan awak percetakan dalam dunia penerbitan, untuk menandai bagaimana sebuah naskah dipresentasikan. Editor menandai bagian-bagian naskah yang perlu diperbaiki oleh penulis dengan tanda-tanda khusus. Editor juga melakukan hal yang sama pada naskah yang akan di-layout oleh desainer (dahulunya merupakan bagian dari awak percetakan), bagian mana yang dicetak miring, tebal, dan lain-lain. Dengan kata lain, markup languange adalah gabungan antara naskah dengan informasi tambahan tentang naskah itu sendiri.

[pic] Tujuan

1. Mahasiswa dapat memahami struktur dokumen XML

2. Mahasiswa dapat memahami penggunaan data dengan XML

3. Mahasiswa dapat membedakan antara data dokumen XML dengan database server

1.1 Keuntungan XML

Teknologi yang digunakan pada XML sebenarnya turunan dari SGML yang telah dikembangkan pada awal 80-an. Ketika HTML dikembangkan pada tahun 1990, para penggagas XML mengadopsi bagian paling penting pada SGML dan dengan berpedoman pada pengembangan HTML menghasilkan markup language yang tidak kalah hebatnya dengan SGML.

XML didesain sebagai solusi interoperabilitas antar aplikasi pada platform yang berbeda. Misalnya aplikasi A berjalan di atas platform Java, ingin berbagi informasi dengan apliksi yang berjalan di atas platform .NET. aplikasi A akan membaca request dari apliksi B, kemudian menyediakan informasi yang dibutuhkan oleh apliksi B dalam format XML. Atau bisa jadi apliksi A menyediakan informasi yang sudah dikemas dalam format XML, yang dapat dimanfaatkan oleh aplikasi B, C, D, dan seterusnya.

XML merupakan suatu metamarkup language yang digunakan untuk dokumen text dimana data yang dimasukan kedalam dokumen XML harus berbentuk string text. Seperti halnya HTML, data ini diapit oleh text markup yang menjelaskan maksud dari data tersebut. Text markup pembuka diawali dengan

„‟, sedangkan markup penutup diawali dengan „‟. Data tersebut dinamai dengan elemen.

Untuk mengakses informasi dalam format XML dapat menggunakan tools web service. Contoh yang paling sederhana dari interoperablitas menggunakan XML ini adalah RSS feed dan aggregator. RSS feed merupakan informasi yang disediakan oleh sebuah website baik blog ataupun situs yang dikemas dalam format XML. Sedangkan aggregator adalah yang mengambil informasi tersebut adalah aplikasi desktop.

Adapun keuntungan menggunakan XML adalah :

1. Extensibilitas

Kita dapat menentukan tag-tag apasaja yang akan kita gunakan tanpa ada batasan.

2. Memisahkan data dengan presentasi

Sebuah data dapat hanya berisi data saja tanpa ada informasi lain bagaimana cara menampilkannya. Karena dokumen XML menjelaskan isi datanya sendiri

3. Fungsi search lebih cepat

Informasi yang tersimpan akan lebih mudah ditemukan meskipun berbeda platform.

4. Dapat ditukar atau digabung dengan dokumen lain

Dengan memisahkan isi data dengan presentasi, maka akan mempemudah penggabungan data dari berbagaimacam sumber.

5. Penyederhanaan aplikasi

Untuk mengakses data menjadi lebih sederhana, client tidak perlu memerlukan lisensi atau hak akses terhadap data

1.2 Portable Data

XML memungkinkan penggunaan data secara cross-platform, long-term data format. Dengan demikian, dokumen yang kita buat melalui suatu platform dapat digunakan diplatform lain bahkan dengan program yang berbeda.

XML sangat mudah, well-documented, format data terbuka. Dokumen XML adalah text yang dapat dibaca dengan tools apapun yang dapat membaca data text. Tidak hanya data, tapi text markup juga, dan ini dipresentasikan didalam file XML sebagai tag. Untuk mencari dokumen yang sesuai, dapat dilakukan dengan cara membaca tag name secara langsung, karena setiap elemen dibatasi langsung dengan tag, sehingga kita dapat mengabaikan tag-tag yang tidak ada hubungannya dengan pencarian hingga sampai pada akhir baris.

1.3 Bagaimana XML Bekerja

Seperti yang dijelaskan di atas, XML merupakan markup language. Namun, berbeda dengan HTML yang memerintahkan web browser bagaimana menampilkan informasi, XML hanya menandai informasi secara terstruktur sehingga memudahkan aplikasi lain untuke menggunakannya dokumen tersebut. Seperti halnya HTML, XML juga menggunakan tag-tag. Jika tag-tag pada HTML bersifat baku, tag-tag XML dapat dibuat sendiri, sesuai dengan kebutuhan. Untuk memudahkan aplikasi membaca tag-tag apa saja yang memuat informasi serta struktur hirarkinya.

Perhatikan contoh dibawah ini :

Verbatim

DataLife MF 2HD

10

3.5"

black

floppy disks

Dokumen diatas merupakan text yang akan disimpan menjadi sebuah file dengan extensi *.xml. Kita dapat mengubah file tersebut dengan berbagai macam aplikasi text editor, seperti notepad, BBEdit, jEdit, UltraEdit, Emacs, atau vi. Kita tidak perlu menggunakan editor XML secara khusus. Tetapi jika kita ingin menggunakan editor XML secara khusus dimana proses editor akan lebih mudah dan mengandung auto correct, kita dapat menggunakan NetBeans IDE 6.x, Dreamweaver atau XML editor lainnya yang dapat didownload disitus tertentu.

Program yang sebenarnya mencoba untuk memahami isi (conten) dari dokumen XML dengan menggunakan XML parser untuk membaca dokumen tersebut. Parser berfungsi membagi dokumen kedalam elemen, atribut, dan bagian yang lain yang lebih kecil. Hasil parser dari dokumen XML ini digunakan ke aplikasi secara bagian per bagian. Jika setiap pointer pada hasil perser terdapat pelanggaran sintaks terhadap well-formedness rule dari XML, maka parser akan mengirim pesan error keaplikasi dan aplikasi akan menghentikan parsing. Pada beberapa kasus, parser mungkin akan melanjutkannya pada sebuah dokumen, melewatkan original error, sehingga ini dapat diketahui dan respon error lain yang akan terjadi didalam dokumen.

Aplikasi yang menerima data dari parser seperti :

1. Web browser seperti Netscape Navigator atau Internet Explorer yang menampilkan document untuk dibaca

2. Word processor seperi StarOffice Writer yang yang memuat dokumen

XML untuk diubah

3. Database seperti Microsoft SQL Server yang menyimpan data XML

dalam record yang baru

4. Drawing program seperti Adobe Illustrator yang menginterpretasikan

XML sebagai koordinat dua dimensi untuk kontent dari sebuah gambar.

5. Spreadsheet seperti Gnumeric yang mem-parser XML untuk mencari number dan fungsi yang digunakan pada kalkulator

6. Personal finance program seperti Microsoft Money yang membaca XML

sebagai bank statemen.

7. Syndication program yang membaca dokumen XML dan meng-extrak

headline untuk today's news

8. Program yang ditulis dengan Java, C, Python atau bahasa pemprograman lain yang menggunakannya sesuai dengan keinginan pembuat program.

Pebedaan XML dengan yang lain adalah format yang fleksibel untuk data. Dalam teori, semua data yang disimpan dikomputer dapat dijadikan XML format. Pada kenyataannya XML hanya cocok untuk menyimpan dan penukaran semua data yang dapat di-encode sebagai text. XML tidak cocok untuk data multimedia seperti photographs, recorded sound, video, dan lain- lain yang sangat besar bit sequence-nya.

1.4 Evolusi dari XML

XML merupakan keturunan dari SGML yaitu Standard Generalized Markup Language. SGML diciptakan oleh Charles F. Goldfarb, Ed Mosher, dan Ray Lorie di IBM pada tahun 1970an dan dikembangkan oleh banyak orang sehingga akhirnya dijadikan sebagai standart ISO 8879 pada tahun 1986. SGML bertujuan untuk mengatasi banyak dari beberapa masalah pemecahan XML. Ini merupakan SGML semantik dan structural markup language untuk dokumen text. SGML sangat powerful dan telah berhasil digunakan dalam U.S. military dan pemerintahan, sektor penerbangan, dan bidang yang lainnya yang membutuhkan pemecahan mengatur dokumen secara efisien yang banyaknya puluhan hingga ratusan halaman.

Pada tahun 1996, Jon Bosak, Tim Bray, C. M. Sperberg-McQueen, James Clark, dan dan beberapa yang lain mengawali "lite" version SGML yang mengadopsi sebagian besar kemampuan SGML pada February 1998, XML 1.0, telah dibesut dan ini akan segera mencapai kesuksesannya.

Selanjutnya XML telah menerapkan standar Namespaces, ini merupakan sebuah usaha mengijinkan markup dari aplikasi XML yang berbeda untuk digunakan pada dokumen yang sama tanpa ada konfig. Selanjutnya XML menerapkan Extensible Stylesheet Language (XSL), yang merupakan sebuah aplikasi XML untuk men-transform XML dokumen menjadi form dapat dilihat pada web browser. Selanjutnya dibagi menjadi XSL Transformations (XSLT) and XSL Formatting Objects (XSL-FO). XSLT telah menjadi general-purpose language untuk transformasi suatu dokumen XML kedokumen yang lain, baik untuk menampilkan halaman web maupun yang lain. XSL-FO adalah aplikasi XML untuk mendeskripsikan susunan kedua print pages dan web pages.

Meski demikian, XSL tidak hanya dipilih untuk styling dokumen XML. Cascading Style Sheets (CSS) language telah siap digunakan pada dokumen HTML ketika XML telah menemukannya, dan itu dikembangkan untuk menjadi layak untuk XML menjadi lebih baik. Dengan munculnya CSS Level 2, W3C membuat styling dokumen XML eksplisit degan tujuan untuk CSS dan menjadikannya sama pentingnya untuk HTML. Dokumen pre-existing Style Sheet dan Semantics Language (DSSSL) telah diadopsi dari root CSS didalam SGML world untuk style dokumen XML untuk print dan Web.

Extensible Linking Language (XLink), diawali dengan definisi struktur powerful linking yang dapat terhubung dengan dokumen XML didalam hypertext network yang membuat seperti tag A HTML.

Development of extensions to the core XML specification continues. Future directions include :

1. XML Query Language

Bahasa generasi keempat untuk mengurai informasi yang cocok untuk menspesifikasikan kriteriadari suatu atau dokumen XML lainnya

2. Canonical XML

Algoritma standar untuk menentukan apakan dua dokumen XML sama setelah insignificant details, apakah single atau double quotes nilai atribut delimiter.

3. XInclude

Yang berarti membangun single dokumen XML diluar multiple well- formed, potensial valid XML documents dan bagian tersebut.

4. XML Signatures

Standar untuk penanda digital dokumen XML, dan menamamkan penanda tersebut pada dokumen XML, dan autentifikasi dokumen hasil.

5. XML Encryption

Sebuah standard sintaks XML untuk encrypted konten secara digital, memuat bagian dari dokumen XML.

6. SAX 2.1

satu set small extensions untuk SAX2 yang menyediakan extra informasi tentang sebuah dokumen XML yang direkomendasikan oleh Infoset, yang memuat deklarasi XML.

7. DOM Level 3

Bsnysk class tambahan, interface, dan method yang dibangun diatas DOM2 untuk menyediakan skema pendukung, arti standar dari mengambil dan menyimpan dokumen XML, dan banyak tambahan lainnya untuk menambah kemampuan.

8. XFragment

Usaha untuk menjelaskan bagian diluar dokumen XML yang mungkin dokumen tersebut tidak well-formed.

Rangkuman

1. EXtensible Markup Language (XML ), merupakan sebuah standar

W3C-endorsed untuk Markup language

2. Markup language merupakan suatu bahasa pemprograman untuk

menandai suatu dokumen yang disebut dengan tag agar dokumen tersebut lebih mudah dibaca, dipahami serta menarik

3. XML memungkinkan penggunaan data secara cross-platform, long- term data format.

4. XML merupakan keturunan dari SGML yaitu Standard Generalized Markup Language. SGML diciptakan oleh Charles F. Goldfarb, Ed Mosher, dan Ray Lorie di IBM pada tahun 1970an dan dikembangkan oleh banyak orang sehingga akhirnya dijadikan sebagai standart ISO

8879 pada tahun 1986.

5. XML memungkinkan kita untuk mengumpulkan informasi dan menggunakannya kembali dengan berbagai cara.

2 XML Fundamentals

Overview

Pada bab ini kita akan mencoba bagaimana cara menuliskan dokumen XML. Kita akan melihat bagaimana penulisan dokumen yang disusun dengan konten markup dengan text tag seperti halnya pada dokumen HTML. Namun seperti yang telah dijelaskan sebelumnya, dokumen HTML memiliki tag yang terbatas yang dapat menjelaskan format halaman web. Sedangkan dengan menggunakan XML, kita dapat menentukan tag sesuai dengan keinginan kita dimana tag tersebut akan menjelaskan konten lebih banyak. Meskipun penulisan tag dalam XML lebih bebas daripada HTML, XML tetap saja memiliki aturan-aturan dalam penulisannya. Semua dokumen XML harus well- formed. Well-formed merupakan aturan penulisan yang sesuai, Dalam hal ini, penulisan masing-masing tag harus berada dalam posisi nested yang sama. Misalnya penulisan setiap tag awal harus memiliki tag akhir yang sesuai, nilai atribut harus didalam tanda petik.

Tujuan

1. Mahasiswa dapat membuat dokumen XML dan file XML

2. Mahasiswa dapat membedakan antara tag, elemen, atribut, Cdata, emtity serta penggunaannya

2.1 Dokumen XML dan File XML

Dokumen XML mengandung data text bukan data binary. Sehingga dokumen tersebut dapat dibuka atau diubah menggunakan aplikasi text editor seperti motepad, wordpad, notepad++, dreamweaver atau kita dapat langsung mengunakan aplikasi XML editor.

Berikut adalah contoh penulisan dokumen XML sederhana, dokumen yang well-formed XML sehingga XML parser dapat membaca dan memahaminya.

Alan Turing

Pada dokumen diatas, terlihat bahwa penulisan dokumen XML mengandung informasi yang diapit oleh tag. Dalam standar penulisan yang paling umum, file diatas akan disimpan dengan nama person.xml, atau 223.xml bahkan person.txt sekalipun karena tidaklah mengutamakan nama filenya, tetapi isi dari file/dokumen tersebut. Bahkan dokumen XML pun dapat disimpan tidak didalam file. Kita dapat melakuka pencatatannya dengan menggunakan database yang dapat dihasilkan dengan cepat menggunakan program CGI untuk merespon perintah dari browser. Dokumen XML bahkan dapat disimpan lebih dari satu file bahkan file tersebut berada pada server yang berbeda lokasi, namun hal itu bukanlah untuk penanganan dokumen yang sederhana seperti diatas. Hal tersebut dapat dilakukan jika dokumen yang ditulis sangatlah kompleks.

2.2 Elemen, Tag, dan Data karakter

Pada contoh diatas, dokumen hanya mengandung satu elemen nama person. Elemen tersebut diapit oleh tag awal dan tag akhir . Semua yang berada pada tag awal dan tag akhir disebut elemen konten dan isi dari elen tersebut adalah string. Misalnya pada contoh diatas, isi elemennya adalah :

Alan Turing

spasi juga termasuk bagian dari elemen konten, meskipun pada kebanyakan aplikasi mengabaikan hail ini. dan adalah markup,

sedangkan “Alan Turing” dan spasi disekitanya adalah elemen konten.

Tag adalah hal yang paling umum untuk markup didalam dokumen XML.

Sintaks Tag

Tag XML secara sekilas tampak sama dengan tg HTML. Awal tag diawali dengan “

7/23/2001

Alan

I-610

2.5 Entity References

Dalam penulisan karakter data kita tidak boleh menggunakan tanda “”. lantas bagaimana jika kita inging menuliskan karakter tersebut. Jalan keluarnya adalah kita dapat menggunakan entity reference < atau >. Ketika parser membaca dokumen, ia akan mengganti katakter < dengan

string yang sebenarnya. Contohnya :

if (location.host.toLowerCase(). indexOf("cafeconleche") < 0) {

location.href="";

}

Didalam karakter tidak boleh mengandung ampersand (&), tetapi untuk penulisan itu dapat menggunakan entity reference &. Misalnya terlihat pada contoh berikut.

O'Reilly & Associates

2.6 CDATA Sections

Pada bahasan sebelumnya kita telah membahas apa yang namannya entity references dimana jika kita akan menuliskan string “” akan di-encode menjadi “>”. Namun, jika kita menggunakan CData, kita dapat menuliskan string atau karakter reference secara alami, misalnya karakter “” dapat ditulis seperti itu juga sehingga elemen yang mengandung karakter “” bukan dianggap sebuan tag. Cara penulisannya adalah dengan diawali string “”.

Contoh :

You can use a default xmlns attribute to avoid having to add the svg prefix to all your elements:

]]>

Pada contoh diatas yang dituliskan dalan XHTML file tanpa menggunakan karakter reference “<” dan “>”.

2.7 Komentar

Komentar merupakan kode atau string yang ditulis tetapi kode tersebut tidak akan dieksekusi. Dokumen XML juga mengizinkan kita untuk menuliskan komentar. Pada kebanyakan bahasa pemprograman, komentar biasanya ditulis untuk menjelaskan kode yang ditulis agar untuk kemudian hari jika kita ingin melihat kembali kode kita, kita akan dimudahkan dengan melihat komentar yang kita tulis. Penulisan komentar pada XML sama seperti pada HTML yaitu dengan diawali dengan “”.

Contoh :

Untuk penulisan double hyphen -- sebaiknya tidak diizinkan hingga sampai pada penutup komentar -->. selain itu tiga hyphen ---> juga tidak dibolehkan.

Pada komentarpenulisan string apapun dibolehkan. Komentar boleh dituliskan sebelum root elemen atau setelah root elemen. Namun, tidak seperti pada HTML, komentar pada XML tidak dibolehkan untuk dituliskan didalam tag dan didalam komentar yang lain. Aplikasi yang membaca dan yang memproses dokumen XML akan melewatkan informasi yang terdapat didalam komentar.

2.8 Processing Instruction

Pada HTML, comment biasanya disalahgunakan untuk mendukung ekstensi yang tidak standart (nonstandart extensions). Contohnya, konten-konten dari elemen script biasanya dilampirkan pada sebuah comment untuk menjaganya dari penampakan dengan nonscript-aware browser. Apache web server memparser comment-comment dalam bentuk file .shtml untuk mengenal bagian yang mengandung server. Sayangnya, dokumen-dokumen ini tidak mampu bertahan dalam melewati berbagai macam editor HTML (HTML editor) dan prosesor dengan komentar dan associated semantics intact. Yang lebih buruk, dimungkinkan untuk sebuah comment menjadi salah arti, sehingga menjadi sebuah input pada aplikasi.

Olehkarenanya XML memberikan instruksi pemrosesan sebagai alternatif parsing informasi tertentu melalui aplikasi yang dapat membaca dokumen. Processing Instruction Merupakan perintah pengolahan dalam dokumen XML. Node ini ditandai awali dengan karakter . bukanlah processing instruction. Header standard bukanlah bagian dari hirarki pohon dokumen XML.

Sebagai contoh, didalam HTML sebuah robots META tag digunakan untuk memberitahukan kepada search-engine dan pencarian lainnya dan bagaimana mereka harus meng-index sebuah halaman web :

Target pemrosesan instruksi ini adalah robots. Sintaks dari instruksi ini adalah proses dua atribut palsu, satu nama dan satu nama indeks, yang nilai-nilainya yes atau no. Semantik dari pemrosesan instruksi ini adalah jika indeks atribut memiliki nilai yes, kemudian search-engine robots harus mengiindek halaman tersebut. Jika indeks memiliki nilai no, maka halaman tersebut tidak akan di- index. sebaliknya, jika memiliki nilai yes, maka link dari dokumen ini akan diikuti.

Pemprosesan instruksi lainnya mungkin saja dapat berbeda antara semantik dan sintaksisnya. Contohnya, pemprosesan instruksi dapat mengandung jumlah text yang unlimited. PHP include program yang besar dalam pemprosesan instruksi. Sebagai contoh :

Pemrosesan instruksi adalah markup tampak seperti elemen, tetapi bukan elemen. Instruksi pemrosesan dapat muncul di manapun dalam dokumen XML di luar tag, termasuk sebelum atau sesudah elemen root. Yang paling umum pemrosesan instruksi, xml-stylesheet, digunakan untuk melampirkan stylesheets ke dokumen. Stylesheets selalu muncul sebelum elemen root, pada contoh berikut, pemrosesan instruksi xml-stylesheet memberitahu browser untuk menerapkan CSS stylesheet person.css ke dokumen ini sebelum tampil.

Alan Turing

2.9 Deklarasi XML

Sebuah dokumen XML boleh dideklarasikan boleh juga tidak. Pendeklarasian XML mengandung name dan version, standalone, dan encoding atribut.

Sebagai Contoh :

Alan Turing

pendeklarasian tidak perlu ditulis pada dokumen XML. Namun, jika pada dokumen ada pendeklarasian maka dek;arasi harus berada paling atas, tidak boleh didahului sintaks apapun seperti komentar, spasi, dll.

Penjelas san atau arti dari bagiannya :

1. version

Merupakan versi penulisan dokumen XML yang digunakan

2. Encoding

Ini merupakan type encoding dari dokumen XML tersebut, misalnya

UTF-8, UTF-16, ISO-8859-1, ASCII, dll

3. Standalone

Apakah dokumen ini berdisi sendiri atau mmerupakan penggabungan dari dokumen lain.

2.10 Checking Documents for Well-Formedness

Setiap dokumen XML harus well-formed. Ini berarti harus sesuai dengan aturan yang ada misalnya :

1. Setiap awal tag harus diakhiri dengan tag yang sama.

2. Elemen boleh bersarang, tetapi tidak boleh saling tumpang tindih

3. Harus memiliki tepat satu elemen root.

4. Nilai atribut harus diapit oleh tanda petik.

5. Satu elemen tidak boleh memiliki dua atribut yang sama

6. komentar pemprosesan intruksi tidak muncul didalam tag

7. Tidak ada unescaped “

]>

Alan

Turing

mathematician

cryptographer

pada contoh diatas maksudnya adalah person menjadi elemen root dimana didalam elemen person harus ditulis satu kali element name dan elemen profession boleh muncul atau boleh tidak. Sedangkan pada elemen name harus memiliki dua elemen child yaitu first_name, last_name dan kemunculannya msing-masing satu kali. Sedangkan (#PCDATA) menunjukan tipe isi dari elemen yaitu data karakter.

Contoh:

]>

Alan Turing

Tenis

Johan

Arktis

Marie

Tenis

Arktis

Pada contoh diatas, terdapat tanda “ | ” diantara hobbi dan faforite. Maksudnya adalah didalam elemen student wajib mengandung satu elemen nama dan boleh salah satu dari elemen hobbi atau faforite yang muncul atau keduanya muncul.

Selain itu, dokumen yang valid juga memasukan sebuah reference kedalam

DTD yang harus dibandingkan disajikan dalam dokumen dari satu jenis

dokumen deklarasi. Ini berguna jika kita menuliskan DTDnya didalam file yang terpisah dengan dokumen. Contoh deklarasi dokument type adalah :

Alan

Turing

mathematician

cryptographer

sintaks tersebut dituliskan didalam dokumen XML dan DTDnya berada diluar serve.

3.2 Element Declarations

Setiap elemen yang digunakan dalam dokumen yang valid harus dinyatakan dalam dokumen DTD dengan elemen deklarasi. Deklarasi elemen meniliki bentuk dasar :

adapun beberapa hal yang merupakan bagian dari elemen declaration adalah : [pic] #PCDATA

Konten yang terkandung didalam elemen yang dimaksud adalah text.

Meskipun data yang ada dielemen tersebut berupa angka, tetap dianggap sebagai text. Contohnya :

[pic] Elemen anak

Penspesifikasi konten sederhana adalah salah satu elemen yang harus

memiliki satu anak dari type yang sesuai. Pada kasus ini, nama anak ditulis didalam kurung. Contohnya :

Maksudnya adalah elemen phone_number merupakan anak dari elemen fax.

[pic] Sequence

Kita dapat menuliskan elemen anak lebih dari satu pada deklarasinya.

Dengan penulisan ini dimaksudkan untuk menuliskan elemen anak lebih dari satu elemen. Misalnya :

[pic] Jumlah anak

Penulisan jumlah anak daru suatu elemen dapat kita tuliskan dengan cara menambahkan tanda berikut pada akhir nama elemen.

|Karakter |Arti |

|+ |Muncul saatu kali atau lebih. Minimal muncul satu kali |

|* |Muncul 0 kali atau lebih |

|? |Boleh tidak muncul, tapi jika muncul maksimal satu kali |

|| |Fungsi atau |

Contoh penggunaannya adalah sebagai berikut :

artinya elemen people boleh memiliki satu atau lebih elemen

phone_number atau bisa juga kosong.

[pic] Pilihan

Terkadang pada kasus tertentu ada suatu elemen yang memiliki anak

tetapi berbeda-beda. Cara pendeklarasiannya dapat dilakukan dengan :

penulisannya tidak hanya dibatasi dua elemen saja, tetapi kita dapat menuliskan lebih dari itu.

[pic] Parentheses

Dari yang telah kita bahas choices, sequences, dan suffixes sangat

tebatas penggunaannya, oleh karena itu kita dapat pula manggabungkannya dari masing-masing bagian tadi. Misalnya :

Atau

[pic] Mixed Content

Dimana kita memungkinkan untuk menulsikan text dan elemen dalam suatu elemen. Contoh :

The Turing Machine is an abstract finite state automaton with infinite memory that can be proven equivalent to any any other finite state automaton with arbitrarily large memory. Thus what is true for a Turing machine is true for all equivalent machines no matter how implemented.

dimana deklarasi elemen adalah :

[pic] Elemen Kosong

Elemen kosong adalah sebuah tag yang tidak memiliki elemen nilai. Penulisannya dapat berupa :

dengan deklarasi elemennya :

[pic] ANY

Kita dapat mengijinkan apapun dapat berada pada suatu elemen.

Penulisan deklarasinya adalah :

3.3 Deklarasi Atribut

Seperti halnya elemen, dokumen dikatakan valid jika dapat menyatakan semua atribut elemen jika elemennya memiliki atribut. Yaitu sintaks ATTLIST dapat mendeklarasikan beberapa atribut dalam suatu elemen.

Contoh berikut merupakan pendeklarasian ATTLIST pada elemen imaeg, dimana elemen image memiliki atribut source :

atau kita dapat menuliskan lebih dari satu atribut didalam suatu elemen :

maksud dari deklarasi diatas adalah elemen image memiliki atribut source, width, height dan alt. Dengan type CDATA.

Type Atribut

Type atribut yang ada didalam XML adalah : [pic] CDATA

Atribut yang hanya memiliki nilai text string.

[pic] NMTOKEN

Type atribut yang mengandung token XML name yang dipisahkan dengan spasi

Kat and the Kings

[pic] NMTOKENS

Type atribut yang mengandung satu atau lebih token XML name yang

dipisahkan dengan spasi

Kat and the Kings

[pic] Enumeration

Atribut yang bukan merupakan keyword XML.

[pic] ID

Sebuah type atribut ID harus berisi XML name yang unik didalam dokumen.

[pic] IDREF

Mengacu pada type atribut ID dari beberapa elemen. [pic] IDREFS

Mengandung spasi sebagai pemisah dan masing-masing harus mengacu

pada ID dari elemen didalam dokumen itu sendiri. [pic] ENTITY

Berisi name dari sebuah deklarasi entity unparsed di DTD

[pic] ENTITIES

Berisi name dari satu atau lebih deklarasi entity unparsed di DTD [pic] NOTATION

Mengandung deklarasi notasi didalam DTD

Atribut Default

[pic] #IMPLIED

Tidak disediakan nilai default, jika kita mengisi nilai tersebut, maka nilai atribut elemen menjadi sesuai yang dituliskan, jika kita tidak memberikan nilai atributnya, maka nilai atributnya menjadi kosong.

[pic] #REQUIRED

Merupakan default atribut. Artinya tidak disediakan nilai default untuk

atribut, jadi nilainya harus diisi, jika tidak maka parser akan menampilkan pesan error.

[pic] #FIXED

Disediakan nilai default dan jika kita mengisikan nilai atribut pada elemen, maka nilainya akan samadengan yang diisikan, sedangkan jika dokosongkan maka parser akan mengenali nilai atributnya sesuai dengan nilai default yang diberikan.

3.4 General Entity Declarations

Referensi entitas didefinisikan dengan pendeklarasian sebuah ENTITY didalam DTD. Hal ini diberikan guna memberikan nama pada entiti. Dengan kata lain, kita bisa menggantikan kalimat yang panjang atau satu blok elemen yang sering kita gunakan dengan sebuah pengenal singkat. Dengan adanya pendeklarasian entiti yang sesuai, kita dapat menuliskan text atau string apapun hanya dengan menuliskan entity referencenya saja yang telah dideklarasikan tampa harus menulis text tersebut secara utuh. Misalnya deklarasi entity mendefinisikan

&email; sebagai singkatan dari “admin@”, maka contoh

penulisannya :

Peter Kok kok

&email;

3.5 External Parsed General Entities

Pada umumnya situs-situs web yang beredar lebih memilih menyimpan konten yang akan tampil berulang kedalam file external yang kemudian akan ditampilkan kehalaman webnya menggunakan PHP atau bahasa pemprograman web, termasuk server-site atau mekanisme yang lainnya. Dalam hal ini, XML mendukung teknik tersebut melalui external general entity references meskipun dalam hal ini client bukanlah sebagai server.

External general entity references dideklarasikan didalam DTD yang menggunakan pendeklarasian ENTITY. Contohnya :

atau kita juga dapat memasukan relative URL. Misalnya :

3.6 External Unparsed Entities and Notations

Tidak semua data itu XML. Terdapat banyak file ASCII didunia ini yang tidak memberikan arti tentang “

[pic] Meletakan Unparsed Entities didalam dokumen

Namun kita tidak bisa menempatkan entity reference, entitas reference hanya dapat merujuk ke parsed entities.

Misalnya elemen image dan deklarasi atribut seperti :

kemudian elemen gambar ini akan merujuk pada

[pic] Notifikasi untuk target pemprosesan instruksi

Notasi dapat juga dapat digunakan untuk mengidentifikasi target yang tepat dari instruksi proses. Notasi dapat mengidentifikasi nama singkat XML dengan spesifikasi lebih lengkap. Misalnya targer path :

3.7 Parameter Entities

tidak dapat digunakan pada multiple elemen untuk men-share semua atau sebagian untuk atribut yang sama. Misalnya adda elemen simpel XLink yang dijadikan xlink:type and atribut xlink:href, dan mungkin xlink:show and atribut xlink:actuate.

Misalnya, aplikasi XML untuk perumahan daftar real-estate yang menyediakan elemen terpisah untuk apartemen, sublets, coops untuk penjualan, Condos untuk dijual, dan rumah untuk dijual. Elemen deklarasi mungkin terlihat seperti ini:

[pic] Parameter Entity Syntax

parameter entity reference banyak dinyatakan pada general entitas reference. Namun, tanda persen (%) ditempatkan diantara

Parameter entity yang ditulis kembali sebagai general reference, hanya dengan tanda persen.

[pic] Redefining Parameter Entities

Jika dokumen menggunakan both internal maupun eksternal DTD subset, maka subset internal DTD dapat menentukan teks untuk entity. Jika ELEMENT dan ATTLIST dideklarasi di luar subset DTD ditulis langsung dengan parameter entitas reference.

[pic] External DTD Subsets

Entitas parameter external dideklarasikan menggunakan normal ENTITY

dengan tanda %. Contoh, deklarasi ENTITY mendefinisikan sebuah konten eksternal entitas yang disebut names yang kontennya diambil dari file names.dtd. Kemudian entitas parameter referensi %name; memasukkan isi file ke dalam DTD.

%names;

3.8 Conditional Inclusion

XML memberikan IGNORE derektif untuk tujuan "commenting out" sebuah selection deklarasi. Misalnya parser akan mengabaikan deklarasi dari elemen production_note :

]]>

Sintaks diatas sepertinya tidak berguna, karena kita bisa saja menggunakan komentar. Namun tujuan ini adalah untuk menunjukan bahwa deklarasi yang diberikan benar-benar digunakan didalam DTD. Contoh :

]]>

3.9 Dua contoh DTD

[pic] Data-Oriented DTDs

Membuat penggunaan sequences menjadi lebih berat. Kadang penggunaan pilihan dan hampir tidak ada penggunaan mixed content.

[pic] Narrative-Oriented DTDs

Cendrung bebas dan membuat lebih banyak menggunakan mixed conten

menjadi DTD yang mendeskripsikan dokumen database-like lainnya.

3.10 Menempatkan Standar DTD

DTD dan validity merupakan hal yang sangat penting ketika kita hendak mengganti data dengan yang lainnya. Hal ini untuk memastikan kita apakah data yang kita kirim diterima dengan baik.

Rangkuman

1. Aplikasi XML harus memastikan bahwa dokumen yang diberikan adalah benar-banar mematuhi aturan

2. DTD digunakan untuk mendeklarasikan semua elemen dan atribut yang akan digunakan pada dokumen XML

3. DTD dibuat untuk memeriksa kevalid-ad sebuah dokumen XML, apakan dokumen XML yang dibuat sudah mengacu pada DTD yang ada.

4 Namespaces

Overview

Namespaces merupakan penambahan suatu string pada suatu elemen. Namespaces diimplementasikan dengan menempelkan awalan untuk setiap elemen dan atribut. Penulisannya dengan menambahkan string tertentu pada elemen/atribut yang kemudian dibatasi oleh titik dua ( : ) antara namespace nama elemen/atribut. Setiap awalan adalah dipetakan ke URI oleh atribut xmlns:prefix. URI default juga dapat diberikan untuk elemen yang tidak memiliki prefix oleh atribut xmlns. Elemen dan atribut yang melekat pada URI yang sama merupakan berada pada namespace yang sama.

Tujuan namespaces adalah untuk membedakan antara nama elemen dan nama atribut yang sama namun memiliki arti yang berbeda dan untuk berbagai nama yang sama serta untuk semua grup terkait dengan elemen dan atribut dari satu aplikasi share XML sehingga perangkat lunak dapat dengan mudah mengenali mereka.

Tujuan

1. Mahasiswa dapat memahami maksud dan tujuan dari pembuatan namespace

2. Mahasiswa dapat membedakan kapan harus menggunakan namespace dan kapan tidak

3. Mahasiswa Menggunakan namespace pada kasus yang sesuai

4.1 The Need for Namespaces

Menggabungkan beberapa dokumen markup dari multiple aplikasi XML. Misalnya pada dokumen XHTML dapat mengandung both gambar SVG dan MathML equations. XSLT stylesheet mengandung both XSLT instruksi dan elemen dari kosakata result-tree. XLinks selalu simbiotik dengan elemen- elemen pada dokumen yang ada sejak XLink hanya mendefinisikan atribut saja.

Dalam beberapa kasus, aplikasi ini dapat menggunakan nama yang sama untuk merujuk ke berbagai hal. Misalnya pada SVG satu set elemen memberikan nilai atribut untuk durasi waktu yang ditentukan. Sedangkan pada MathML satu set memiliki elemen matematis. Hal ini sangatlah penting, jika ingin menentukan kapan harus menggunakan SVG, kapan menggunakan MathML. Jika tidak, maka validasi, rendering, pengindek-an, dan tugas lainnya akan bingung dan failed.

4.2 Sintaks Namespace

Namespace membuat elemen tidak ambigu terhadap nama yang sama karena pemberian elemen dan atribut pada URI. Secara umum, semua elemen dari suatu aplikasi XML di-asign kepada satu URI dan semua elemen yang berasal dari aplikasi XML yang berbeda di-asign dalam URI yang berbeda. URI inilah disebut dengan nama namespaces. Elemen dan atribut URI dibagi kedalam disjoint sets. Elemen yang sama dan URI yang sama adalah sama. Sebagian besar waktu merupakan pemetaan one-to-one antara namespaces and aplikasi XML, meskipun beberapa aplikasi menggunakan multi namespaces untuk subdivide yang berbeda lokasi dari aplikasi. Misalnya, XSL menggunakan nama yang berbeda untuk transformasi XSL (XSLT) dan XSL Formatting Objects (XSL-FO).

Contoh penggunaan namespace, misalnya ada sebuah dokumen yang mendiskripsikan tentang kebutuhan material pembuatan gardu jaga dari bambu, dengan dokumen sederhana sebagai berikut :

Jawa

2

sedangkan ada dokumen lain yang menyatakan bahwa bambu itu adalah sebuah merk produk dengan penulisan dokumen :

246

200

untuk mengatasi hal ini, namespace menyediakan metode dengan menggunakan prefiks yang berbeda sehingga penulisan dokumen pertama pada contoh tersebut adalah :

Jawa

3m

dan dokumen kedua menjadi :

100

300

Dengan cara demikian konflik penamaan tag tidak terjadi lagi.

5. Qualified Names, Prefixes, and Local Parts

Karena URI mengandung karakter /, %, dan ~ yang tidak legal didalam XML names, singkat awalan seperti rdf dan xsl dibuat didalam elemen dan atribut names. Setiap awalan digabung dengan URI dan nama yang awal digabung dengan URI yang sama didalam namespace yang sama. Awalan elemen dan atribut didalam namespace memiliki nama yang mengandung titik dua. Misalnya terlihat seperti dibawah :

rdf:description xlink:type xsl:template

sebelum tanda titik dua disebut sebagai prefix, setelah titik dua disebut sebagai local part, nama lengkap yang memasukan titik dua disebut sebagai qualified name, QName, atau raw name.

6. Binding Prefixes to URIs

Setiap awalan dalam kualifikasi nama harus terkait dengan URI, misalnya semua elemen XSLT digabung dengan URI .

Impressionist Paintings

Elliotte Rusty Harold

A list of famous impressionist paintings organized by painter and date

2000-08-22

7. Namespace URIs

Banyak aplikasi XML yang memiliki customary prefixes. Misalnya elemen SVG sering menggunakan prefik svg dan elemen RDF sering menggunakan prefik rdf. Sebelum prefik dapat digunakan ia haruslah ada keterkaitan dengan URI seperti atau yang merupakan standar URI dan bukan prefik.

Namespace URIs tidak harus menunjuk ke halaman atau dokumen yang sebenarnya. Pada kenyataannya, namespace URI tidak perlu menggunakan skema http, bahkan mungkin menggunakan beberapa protokol lainnya seperti mailto URIs yang bahkan tidak mengarah ke dokumen.

8. Setting a Default Namespace with the xmlns Attribute

walaupun tidak ada elemen yang memiliki prefik, namun elemen svg, ellipse, dan rect berapa pada ruang yang sama yaitu . Default namespace hanya berlaku untuk elemen, bukan atribut. Olehkarena itu pada contoh, atribut width, height, rx, ry, x, dan y tidak berada didalam naame space.

9. Attribute Declarations for xmlns

DTD dapat melampirkan atribut xmlns ke kontainer elemen utama untuk sebuah aplikasi agar semuanya ditempatkan di sebelah kanan namespace tanpa atribut xmlns. Misalnya :

Hal tersebut memungkinkan kita untuk menghilangkan atribut xmlns untuk semua elemen svg.

4.3 How Parsers Handle Namespaces

Namespace bukanlah bagian dari XML 1.0, namun titik dua-titik dua merupakan karakter yang legal didalam elemen XML 1.0 dan nama atribut. Sehingga parser akan menampilkan beberapa nama mengandung titik dua.

Namespace-aware parser telah menambahkan couple untuk memeriksa well- formed dokumen. Pemeriksaan dikhususkan untuk melihat semua prefik yang dipetakan ke URI. Hal ini akan merijek dokumen yang menggunakan unmapped prefik (kecuali xmlns, xml).

4.4 Namespaces dan DTD

Diperlukan DTD untuk menyatakan prefik names sebagai pengganti raw names atau beberapa kombinasi local path dan namespace URI membuatnya sulit untuk mengubah prefik didalam dokumen yang valid. Masalahnya adalah dengan mengubah prefiknya, maka akan mengubah seluruh deklarasi yang menggunakan prefiks DTD. Namun, denga sedikit trik, parameter entitas referen dadpat meringankan masalahnya.

Triknya adalah dengan didefinisikan sebagai parameter entitas baik prefik

namespace dan titik dua yang memisahkan prefik dari nama lokal. Contohnya :

langkah yang kedua adalah dengan mendefinisikan kualifikasi names sebagai parameter entitas yang lain. Contohnya :

Untuk penulisan deklarasi namespace pada DTD adalah dengan menuliskan :

prefiks adalah awalan yang digunakan, nama_elemen merupakan nama elemen yang akan diberi namespace karena memiliki kesamaan nama dengan elemen lain namun berbeda maksud. Sedangkan atribut namespace di tambahkan pada tag. Syntax untuk atribut namespace adalah sebagai berikut:

xmlns:prefiks=”namespace”

Penulisan dokumen pada contoh sebelumnya yaitu tentang penulisan bambu sebagai bahan pembuat gardu dan yakedua adalah bambu sebagai nama atau merek produk, maka penulisan deklarasinya pada DTD adalah :

Pada deklarasi contoh diatas namespace-nya menggunakan alamat URL. W3C namespace spesification menyatakan bahwa namespace haruslah merupakan Uniform Resource Identifier (URI). Alamat URL tersebut tidak digunakan untuk mendapatkan informasi, tapi hanya untuk memberikan nama yang unik bagi namespace. Tetapi kebanyakan orang sering menyalahgunakannya. Sehingga kebanyakan dari mereka menggunakan namespace untuk menunjuk pada halaman web yang berisi informasi tentang namespace yang digunakan.

Rangkuman

1. Namespaces dibuat dengan tujuan untuk membedakan nama elemen yang sama namun memiliki atri yang berbeda.

2. Namespaces diimplementasikan dengan menempelkan awalan untuk setiap elemen dan atribut.

5 XML pada Web

Overview

XML berawal sebagai upaca untuk membawa semua kemampuan dan struktur SGML ke web dengan bentuk yang sederhana. Seperti apa yang dibayangkan para ahli, ternyata XML telah jauh melebihi apa yang dibayangkan. Sebenarnya banyak aplikasi selain XML yang digunakan di web, namun XML adalah bahasa yang masih sangat menarik untuk gunakan didalam halaman web. Karena dokumen XML harus well-formed dan parser akan menolaknya jika dokumen salah, halaman XML mungkin kurang kompatibel untuk cross-browser. Oleh karena dokumen XML sangat terstuktur, sehingga memudahkan untuk robots parsing. Karena tag XML dan nama atribut dapat mencerminkan sifat konten, sehingga search- engine spiders dapat dengan mudah menentukan makna dari konten.

[pic] Tujuan

1. Mahasiswa Dapat mengerti XHTML

2. Mahasiswa dapt membedakan antara XHTML dengan HTML

3. Mahasiswa dapat menuliskan XHTML dengan aturan-aturan yang telah ditetapkan

4. Mahasiswa memahamin cara kerja XHTML dalam menampilkan dokumen

5.1 XHTML

XHTML merupakan rekomendasi resmi dari W3C, dan mendefinisikan XML- compatible versi HTML, atau sebaliknya, dapat mengubah HTML sebagai aplikasi XML, bukan sebagai aplikasi SGML. Dengan melihat dokumen XHTML, mungkin kita tida menyadari ada sesuatu yang berbeda dalam hal ini, seperti : tag boleh dalam XHTML, tetapi tag tidak boleh, bolej dalam XHTML, tapi tidak boleh.

Moving from HTML to XHTML

Sebagian besar pengubahan dokumen HTML menjadi dokumen XHTML adalah dengan membuat dokumen well-formed. Misalnya perubahan yang akan dilakukan :

1. Tambahkan missing end-tag seperti and

2. Tulis kembali dokumen yang timpang tindih, misalnya

apa menjadi apa

3. Letakkan tanda petik pada nilai atribut. Misalnya menjadi .

4. Tambahkan nilai pada atribut yang memiliki nilai boolean dengan

namanya sendiri. Misalnya menjadi .

5. Ganti karakter & atau < dalam data atau atribut dengan nilai-nilai

& and <. Misalnya ubah A&P menjadi A&P

6. Jadikan dokuen sebagai single root element html.

7. Ubah empty elemen. Misalnya menjadi atau

8. Tambahkan hyphens kedalam komentar. Misalnya menjadi

9. Encode kedalam UTF-8 atau UTF-16.

Tiga DTD untuk XHTML

1. Strict

Memasukan elemen dan atribut basik seperti p dan class.

2. Transitional

Bentuk looser XHTML dan digunakan ketika kita sulit untuk melakukan tanpa elemen dan atribut yang usang seperti applet and bgcolor. Ini teridentifikasi sebagai deklarasi DOCTYPE.

3. Frameset

hampir sama dengan Transitional namun Frameset mengijinkan elemen

frame-related sebagai framset dan iframe

Browser Support for XHTML

1. The XML declaration and processing instructions

Beberapa browser menampilkan pemrosesan instruksi dan deklarasi

XML inline. Ini harus dihilangkan jika memungkinkan.

2. Empty elements

Beberapa browser tidak konsekuen terhadap penanganan sintak kosong. Misalnya beberapa browser mengerti tapi tidak untuk , sedangkan yang lain mengerti tetapi tidak

3. Entity references

Embedded skrip sering mengandung karakter reserved seperti & atau < sehingga dokumen tersebut tidak well-formed. Namun sebagian besar interpreter JavaScript dan VBScript tidak mengenali & atau < sebagai operator.

4. Other unsupported features

Ada beberapa perbedaan antara bagaimana browser meng-handle

XHTML dan bagaimana XHTML di-handle.

5.2 Direct Display of XML in Browsers

Kita berharap bahwa browser akan dapat menampilkan tidak hanya XHTML, tetapi XML juga. Namun terlalu banyak untuk meminta browser unttuk menyediakan semantik XML untuk semua aplikasi.

The xml-stylesheet Processing Instruction

Stylesheet yang berhubungan dengan dokumen diindikasikan oleh xml- stylesheet processing instruction didalam dokumen prolog, yang ditulis setelah deklarasi XML tetapi sebelum elemen root. Pemprosesan intruksi ini menggunakan atribut untuk mendeskripsikan stylesheet (yaitu, terlihat seperti atribut tetapi bukan karena atribut xml-stylesheet merupakan pemrosesan instruksi dan bukan elemen).

1. The required href and type pseudoattributes

Ada dua atribut palsu yang diperlukan untuk pemprosesan instruksi xml- stylesheet. Nilai atribut href berisi URL yang dapat berupa relatif path atau absolute path. Tipe atribut palsu ini menjelaskan tipe MIME media stylesheet, text/css untuk cascading stylesheets, application/xml untuk XSLT stylesheets

Alan Turing

2. Media untuk pseudoattribute

Media atribut palsu berisi string singkat untuk medium stylesheet yang harus digunakan, misalnya :

[pic] Screen

monitor Komputer [pic] tty

Teletypes, terminal, xterm, dan monospacedlainnya, device text-

only. [pic] Tv

Televisi, WebTVs, video game konsol, dan lain-lain

[pic] projection

Slide, transparansi, dan direct-from-laptop presentasi yang akan ditampilkandi layar besar

[pic] handheld

PDA, ponsel, GameBoys, dan lain-lain [pic] print

kertas

braille

Tulisan Timbul [pic] aural

Screen readers dan speech synthesizers

all

3. The charset pseudoattribute

Atribut palsu Charset yang menjelaskan dalam karakter yang mengatur stylesheet, menggunakan nilai-nilai yang sama sebagai deklarasi menggunakan encoding. Misalnya, untuk mengatakan bahwa CSS stylesheet koran.css tertulis di dalam karakter ISO-8859-6 yang digunakan :

4. The alternate and title pseudoattributes

atribut palsu alternate menentukan apakah primary stylesheet untuk tipe media atau alternate untuk special case.

Internet Explorer

Microsoft Internet Explorer 4.0 (IE4) include XML parser yang dapat diakses dari VBScript atau JavaScript dan digunakan secara internal untuk mendukung chanel dan desktop aktif. Internet Explorer 5 (IE5) and 5.5 (IE 5.5) telah suport XML. Walaupun pada parsernya ada sedikit bug yang menolak beberapa dokumen yang seharusnya tidak ditolak. Internet Explorer 6 (IE6) telah meningkatkan sedikit perbaikan terhadap parsing XML, tetapi masih belum sepenuhnya sesuai.

Netscape and Mozilla

Netscape 4.x dan sebelumnya tidak menyediakan untuk menampilkan XML pada browser. Netscape 4.0.6 dan setelahnya telah menggunakan XML internal untuk beberapa fitur. Netscape 6.2 juga mendukung untuk XSLT 1.0 tetapi masih ada beberapa bug.

5.3 Authoring Compound Documents with Modular XHTML

Mixing XHTML into Your Applications

Keuntungan memisahkan HTML ke semua modul yang berbeda yang dapat dipilihsesuai dengan yang diinginkan. Jika dokumen menggunakan tabel, maka kita dapat menyertakan modul tabel.

Mixing Your Applications into XHTML

fitur modular XHTML yang lebih penting adalah pilihan untuk menambahkan elemen baru yang tidak mendukung. Misalnya untuk memasukan gambar SVG kedalam dokumen, hanya dengan import SVG DTD.

Mixing Your Own XHTML

XHTML 1.1 DTD tidak mendukung semua modul yang tersedia. Misalnya frame dan turunan elemen presentational yang sengaja diabaikan.

5.4 Prospects for Improved Web-Search Methods

Bagian dari hype XML telah dimanfaatkan search engines untuk mencari arti isi dokumen hanya isi yang di-markup. Sementara itu, untuk menambahkan beberapa petunjuk XML ke halaman HTML, search engines dapat mengambil keuntungan dari menggunakan :

Resource Description Framework (RDF)

RDF dapat difahami sebagai encoding XML untuk data model yang sederhana. Elemen root dokumen RDF merupakan dokumen RDF.

Elliotte Rusty Harold

W. Scott Means

Dublin Core

Merupakan standart set dari sepuluh informasi item dengan spesifik semantik yang mencerminkan jenis atau tipe data. Sepuluh informasi itu adalah : Title, Creator, Subject, Description, Publisher, Contributor, Date, Type, Format, Identifier, Source, Language, Relation, Coverage, Rights

Robots

Pada HTML, robots tag META memberi tahukan kepada searc- engine apakah boleh mengindeks halaman atau tidak. Contoh penulisannya adalah :

Rangkuman

1. XML merupakan bahasa yang masih sangat menarik untuk gunakan didalam halaman web

2. Penggunaan XML pada web berbentuk XHTML

3. Dokumen XHTML mendefinisikan kompetibeliti dar XML

4. Dokumen XHTML harus well-formed agar bisa ditampilkan pada halaman browser

6 XSL Transformations (XSLT)

Overview

XSLT merupakan aplikasi XML untuk menspesifikasikan aturan antara dokumen XML yang satu ditranformasikan menjadi dokumen XML lainnya. Dokumen XSLT yaitu, sebuah XSLT stylesheet berisi template-rule. Setiap template memiliki aturan dan pola tersendiri. Sebuah XLS processor akan membaca dokumen XML dan template (dokumen XSLT). Berdasarkan instruksi yang ditemukan program pada XSLT, maka program akan menghasilkan dokumen XML yang baru.

Tujuan

1. Mahasiswa dapat memahami XSLT

2. Mahasiswa dapat menspesifikasikan XSLT pada dokumen XML

3. Mahasiswa dapat membuat XSLT pada dokumen XML

4. Mahasiswa bisa membedakan “perintah” XSLT dengan XPath

6.1 An Example Input Document

Alan

Turing

computer scientist

mathematician

cryptographer

Richard

P

Feynman

physicist

Playing the bongoes

Dokumen diatas disimpan kedalam file dengan nama people.xml. XSLT dapat bekerja dengan dokumen yang valid maupun tidak valid asalkan well-formed. Dokumen ini juga tidak menggunakan namespace meskipun bisa juga dengan menggunakan namespace. XSLT hanya dapat berjalan dengan baik jika menggunakan namespace. Tidak seperti DTD, XSLT lebih memperhatikan namespace URIs dari pada prefiks.

6.2 xsl:stylesheet dan xsl:transform

XSLT stylesheet merupakan dokumen XML, dan umumnya harus meggunakan deklarasi XML atau paling tidak stylesheets. Root elemen dokumen ini adalah stylesheet atau transform. Selain itu kita juga dapat menggunakan stylesheet atau transform. Contoh minimal dokumen XSLT :

6.3 Stylesheet Processors

XSLT processor sebuah perangkat lunak yang membaca XSLT stylesheet, membaca dokumen input XML, dan membuat dokumen output sesuai dengan petunjuk dalam stylesheet menjadi informasi didalam dokumen masukan. XSLT processor dapat diterapkan pada web browser, seperti MSXML pada Internet Explorer 6.

Command-Line Processors

Sebenarnya detail cara menginstal, konfigurasi, dan menjalankan XSLT processor tidak seperti prosessor ke prosesor. Umumnya, kita harus mengistal prosessor pada path tempat kita bekerja atau menambahkan file jar ke class path jika itu ditulis dengan java. Contoh menggunakan Xalan :

% java org.apache.xalan.xslt.Process -IN people.xml

-XSL minimal.xsl

-OUT 8-3.txt

===Parsing file:D:/books/xian/minimal.xsl ====

Parse of file:D:/books/xian/minimal.xsl took 771 milliseconds

========= Parsing people.xml ========== Parse of people.xml took 90 milliseconds

=============================

Transforming...

transform took 20 milliseconds

XSLProcessor: done

The xml-stylesheet Processing Instruction

XML dokumen yang ditampilkan ke web browser memiliki xml-stylesheet processing instruction pada prolog yang memberitahukan browser dimana lokasi stylesheet pada dokumen tersebut. Jika stylesheet-nya merupakan XSLT stylesheet, maka tipe pseudoattribute harus memiliki nilai application/xml. Contoh, pemprosesan instruksi xml-stylesheet menunjukan browsers harus memakai stylesheet pada URL absolut . Namun, Relativ URLs juga bisa digunakan.

...

6.4 Templates and Template Rules

Untuk mengontrol hasil outputan, kita dapat menambahkan template rule kedalam XSLT stylesheet. Setiap template direpresentasikan dengan elemen xsl:template. Elemen ini harus memiliki kesesuaian atribut dengan XPath pattern dan mengandung template yang di instansiasi dan output jika polanya cocok. Namun ada sedikit terminologi trik; elemen xsl:template merupakan template rule yang mengandung template. Elemen xsl:template bukan bukan template untuk dirinya sendiri.

Pencocokan pola secara sederhana adalah pada elemen name. Dengan demikian, template rule ini menunjukan elemen peson. stylesheet processor harus mengeluarkan text “A person”. Contoh Templatenya :

A Person

Template rule :

A Person

Output proses :

A Person

A Person

6.5 Calculating the Value of an Element with xsl:value-of

Elemen XSLT lainnya dapat memilih konten tertentu dari dokumen input dan memasukkannya ke dalam dokumen output. Elemen xsl:value-of akan mengolah nilai string dari expresi XPath dan memasukannya kedalam output. Nilai dari sebuah elemen merupakan text elemen setelah semua tag dihapus serta entitas dan karakter reference telah berubah. Elemen yang nilainya diambil diidentifikasikan dengan atribut select berisi expresi XPath. Contoh :

Ketika XLS diproses, maka output dari hasil tersebut adalah :

Alan Turing

Richard P Feynman

6.6 Applying Templates with xsl:apply-templates

xsl:apply-templates dapat meng-eksplisitkan pilihan pemprosesan. xsl:apply-templates digunakan untuk membuat XLS processor untuk mengaplikasikan template yang digunakan.

Misalnya kita ingin menampilkan list people pada input dokumen, namun pada output dokumen kita akan menampilkan nama belakang ditulis didepan. Penulisan XSL nya adalah :

,

atau kita juga dapat menggunakan :

6.7 The Built-in Template Rules

Terdapat tujuh jenis node dalam sebuah dokumen XML yaitu : root node, element nodes, attribute nodes, text nodes, comment nodes, processing instruction nodes, and namespace nodes. XSLT menyediakan default template built-in untuk ketujuh node tersebut. Namun template tersebut akan aktif jika :

The Default Template Rule for Text and Attribute Nodes

Yang paling mendasar dari built-in template rule adalah menyalin nilai text dan atribut node kedalam dokumen output. Seperti terlihat pada contoh berikut :

node text ( ) merupakan pattern matching untuk semua node. Misalnya first_name merupakan pattern matching untuk semua elemen node first_name. Sedangkan @* merupakan pattern matching untuk semua node atribut.

The Default Template Rule for Element and Root Nodes

Yang paling penting adalah bagai mana menjamin bahwa elemen child juga akan diproses. Aturan penulisannya adalah :

The Default Template Rule for Comment and Processing Instruction

Nodes

rule ini cocok untuk semua command dan pemprosesan instruksi.

6.8 Modes

Elemen xsl:apply-templates dan xsl:template dapat memiliki pilihan atribut mode yang menghubungkan template rule yang berbeda ke penggunaan yang berbeda. Atribut mode pada elemen xsl:template mengidentifikasi pada mode yang template rulenya harus aktif. Elemen xsl:apply-templates dengan atribut mode hanya berjalan dengan template rule dengan atribut mode yang cocok. Contoh :

Famous Scientists

,

6.9 Attribute Value Templates

Template rule membungkus elemen input person didalam elemen span HTML

yang memiliki atribut class dengan nilai person.

Namun, permasalahannya adalah jika nilai atribut tidak diketaui ketika stylesheet ditulis, tapi harus dibaca dari dokumen inputan. Solusinya dengan menggunakan nilai atribut template. Nilai atribut template merupakan ekspresi XPath. Misalnya, kita ingin menulis nama template yang mengubah input elemen name untuk elemen kosong dengan first_name, middle_initial, last_name dan atribut seperti :

Template ini menyelesaikan task berikut :

6.10 XSLT and Namespaces

XPath pattern, serta ekspresi yang sesuai dengan elemen yang dipilih, mengidentifikasi elemen berdasarkan lokal path dan namespace URI tidak mempertimbangkan awalan namespace. Yang paling umum dulakukan adalah awalan namespace yang sama dipetakan ke URI yang sama pula pada okumen XML dan stylesheet. Namun hal itu tidaklah diperlukan.

6.11 Other XSLT Elements

Fitur-ritur yang belum dan tidak akan kita bahas adalah :

1. Named templates

2. Numbering and sorting output elements

3. Conditional processing

4. Iteration

5. Extension elements and functions

6. Importing other stylesheets

Anda dapat mempelajari arti elemen-elemen diatas diluar kuliah ini.

Rangkuman

1. XSLT merupakan aplikasi XML untuk menspesifikasikan aturan antara dokumen XML yang satu ditranformasikan menjadi dokumen XML lainnya

2. XSLT mirip dengan bahasa pemprograman

3. Tujuan pembuatan XSLT adalah untuk memilih-milah elemen dokumen yang akan dotampilkan sesuai dengan keinginan

7 XPath

Overview

XPath (Extensible Path Language) bukanlah bahasa XML, namun, XPath merupakan bahasa untuk mengalamati bagian-bagian didalam dokumen XML. Oleh karena itu, dengan menggunakan XPath, kita dapat secara langsung menunjuk alamat sebuah elemen yang akan diproses oleh aplikasi. XPath digunakan bersamaan dengan XSLT dimana query atau sintaks XPath ini ditulis didalam bagian XLST untuk menampilkan data yang sesuai.

Expresi XPath dapat direpresentasikan menggunakan angka, sting ataupun boolean. Hal ini memungkinkan XSLT stylesheets untuk melakkan fungsi aritmatik sederhana untuk keperluan penomoran, angka cross-referencing, tabel dan equation. Dengan string manipulation pada XPath memungkinkan XSLT dapat memproses bilai elemen yang ada, misalnya menambahkan atau mengalikan dengan sesuati pada dua digit terahit tahun, dsb

[pic] Tujuan

1. Mahasiswa dapt memahami arti Xpath

2. Mahasiswa dapat mengetahui semua bagian-bagian Xpath

3. Mahasiswa dapat membuat XPath pada XSLT

7.1 The Tree Structure of an XML Document

Struktur dokumen XML berbentuk tree yang terdiri dari node-node, dimana masing-masing node dapat berisi beberapa node lainnya. Terdapat satu elemen root dimana elemen tadi berisi semua elemen lainnya. Struktur ini mirip dengan struktur penyimpanan data pada hardisk komputer, dimana node-node tersebut diibaratkan dengan folder dimana masing-masing folder dapat berisi folder lain. Dalam hal ini, XPath merupakan bahasa untuk memilih node-node tersebut untuk mengarahkan pencarian data pada data yang dituju. Dari perspektif XPath, ada tujuh jenis node :

1. The root node

2. Element nodes

3. Text nodes

4. Attribute nodes

5. Comment nodes

6. Processing-instruction nodes

7. Namespace nodes

Satuhal yang perlu diperhatikan dalam halini adalah struktur atau konstruksi yang tidak termasuk adalah : CDATA section, entity references, dan deklarasi tipe dokumen. XPath akan beroperasi pada dokumen XML setelah semua item telah digabungkan ke dalam dokumen.

7.2 Location Paths

Yang paling berguna dalam ekspresi path adalah location path. Location path akan mengidentifikasi satu set node dalam dokumen, node ini dapat berisi satu node atau lebih mungkin saja kosong. Elemen node ini dapat berisi : node atribut , node nama, node text, node komentar, node instruksi pemrosesan, node root, atau kompbinasinya. Setiap node location step dievaluasi terhadap node tertentu didalam dokumen yang disebut node konteks.

The Root Location Path

Sederhananya adalah dengan memilih node root dari dokumen. Perintah ini hanya ditulis dengan slash ( / ) yang menunjukan posisi absolut. Sebagai contoh XSLT template rule menggunakan pola XPath slash untuk mencocokan entri input dokumen tree dengan dan menuliskannya didalam dokumen html.

Child Element Location Steps

Lokasi path selanjutnya adalah nama elemen single. Path ini akan memilih semua elemen child dari konteks node denga spesifikasi nama yang sama. Misalnya XPath profession akan mengarah kepada semua elemen profession child pada konteks node.

computer scientist

mathematician

cryptographer

Misalnya pada dokumen :

pada penggalan maksudnya adalah

akan menampilkan semua nilai (value-of) dari elemen name.

Attribute Location Steps

Kita juga dapat memilih elemen tertentu menggunakan nilai atribut tertentu dengan menggunakan simbol “@”. Misalnya kita menggunakan @born, maka yang akan ditampilkan adalah nilai yang dimiliki oleh atribut born.

The comment(), text(), and processing-instruction( ) Location Steps Dikarenakan komentar dan text tidak memiliki nama, maka node comment( ) dan text( ) dapat mencocokan semua node komentar atau text kedalam node kontext. Setiap komentar merupakan node comment. Setiap node text yang ada didalam elemen merupakan text yang kontigus selagi tidak dipisahkan oleh tag. Entity references dan CDATA sections dipisahkan kedalam text dan markup dan tidak mengganggu node text.

Secara default, XSLT stylesheets melakukan proses node teks tetapi tidak untuk node komentar. Namun, kita juga dapat menambahkan proses node komentar pada template XSLT stylesheets. Sebagai contoh, template rule berikut menggantikan setiap comment dengan teks "Comment Deleted" dengan tulisan italik.

Comment Deleted

Node processing-instruction( ) akan memilih semua processing-instruction child dari node konteks. Jika itu merupakan argumen maka yang akan dipilih hanyalah yang sesuai dengan spesifikasi target.

Wildcards

Wildcard cocok digunakan pada elemen dan tipe node yang berbeda. Ada tiga jenis wildcard : *, node( ), and @*.

Tanda asterik (*) cocok dengan semua elemen node tanpa memperhatikan

namanya namun tidak dapat digunakan pada attributes, node teks, komentar, atau node processing-instruction. Contoh penggunaan perikut akan menampilkan semua nilai elemen yang ada pada dokumen :

wildcard node( ) tidak hanya untuk semua tipe elemen, namun dapat juga dengan node teks, node processing-instruction, node namespace, node attribute, dan node komentar.

Wildcard @* dapat digunakan pada semua node atribut.

Multiple Matches with |

terkadang kita sering ingin mencocokan node dengan beberapa jenis, misalnya berdasarkan elemen atau atribut ataupun yang lainnya. Dengan sebab itu, kita dapat mengkombinasikan semua location path dan step node dengan vertikal bar ( | ). Misalnya kita ingin menampilkan semua elemen first_name, last_name, profession dan hobby :

7.3 Compound Location Paths

Sepanjang yang telah kita pelajari, yang kita ketaui adalah pencocokan elemen,

/, comment( ), text( ) dll. Namaun kesemuanya itu dapat kita gabungkan dengan /. namun ada pengecualian untuk //, ini sama halnya dengan Unix Shell sintaks untuk untuk navigasi hirarki filesistem.

Building Compound Location Paths from Location Steps with /

Lokasi step dapat dikombinasikan dengan slash ( / ) untuk membuat lokasi compound. Penulisan ini hampir sama dengan penulisan lokasi file atau folder pada direktori hardisk. Misal ada dokumen XML :

Alan

Richard

Contoh expresi XPart untuk menampilkan “Alan” dan “Richard” :

/people/person/name/first_name/text( ).

Selecting from Descendants with //

Double slash ( // ) digunakan untuk memilih semua konteks node termasuk dirinya sendiri. Misalnya kita ingin memilih semua elemen nama yang ada didalam dokumen, maka expresi XPath-nya adalah :

//name

Selecting the Parent Element with ..

double period ( .. ) digunakan untuk memilih parent node. Misalnya kita ingin memilih semua atribut id pada dokumen, maka expresi XPath-nya adalah :

//@id/..

Selecting the Context Node with .

Single period ( . ) digunakan untuk mengindikasi konteks node. Didalam XSLT, hal ini sering digunakan jika kita ingin mengambil nilai yang sedang dicocokan. Misalnya, template rule berikut menyalin konten pada setiap komentar didalam input dokumen ke elemen span pada output dokumen :

7.4 Predicates

Secara umum, sebuah ekspresi XPath dapat merujuk ke lebih dari satu node. Setiap langkah dilokasi path mungkin memiliki predikat yang dipilih dari current list node pada step expression. Predikat yang berisi expresi boolean akan diuji untuk masing-masing node dalam konteks daftar node. Jika expresi tersebut palsu, maka node tersebut akan dihapus dari daftar, jika tidak maka node tersebut akan tetap ada.

Misalnya kita ingin mencari semua elemen profession yang mempunyai nilai “physicist”. Maka expresi XPath-nya adalah : //profession[. = "physicist"]. Selain double quote, kita juga dapat menggunakan single-quote untuk mengapit

elemen. Contohnya : . selain itu jika kita ingin menampilkan semua elemen porson yang mempunyai elemen anak profession dengan nilai physicist, maka Ekspresi XPathnya adalah

//person[profession="physicist"]. Atau jika ingin mencari elemen person dengan id p4567, kita dapat menyisipkan karakter “@” pada depan nama atribut : //person[@id="p4567"]. Selain tanda “ = ”, kita juga dapat menggunakan expresi boolean yang lain, misalnya , = dan !=.

misalnya kita akan menampilkan seluruh elemen person yang mempunyai atribut born antara 1910 dan 1920 : //person[@born=1910], namun jika itu ditulis dalam sebuah dokumen XML, maka expresi tersebut harus ditulis dengan :

7.5 Unabbreviated Location Paths

Setiap location step didalam location path, mempunyai dua bagian, yaitu axis dan node test. Axis berfungsi untuk mengarahkan perjalanan dari konteks node untuk mencari node selanjutnya yang akan dikunjungi. Sedangkan node test menunjukan node yang mana yang akan diincludekan dedalam axis.

Dalam abbreviated location path, axis dan node test dikombinasikan, sedangkan didalam unabbreviated location path, akan dipisahkan dengan double colon ( : :

). misalnya abbreviated location path people/person/@id diubah untuk location path. Langkah pertama adalah memilih node elemen people mendekati child axis. Selanjutnya pilih node elemen person mendekati child axis. Selanjutnya pilih node atribut id mendekati chidl axis. Jika ditulis dengan sintaks unabbreviated, maka location pathnya dapat dituliskan dengan : child::people/child::person/attribute::id.

Unabbreviated location path boleh mempunyai dan digunakan didalam predikat. Misalnya abbreviated path

/people/person[@born=, dan 400).

Number Functions

Fungsi yang disediakan adalah fungsi untuk mengolah number. Misalnya fungsi number( ) digunakan untuk menkonfersi semua ekspresi menjadi number. Namun dengan catatan bahwa nilai tersebut harus angka. Selain itu ada juga fungsi round( ) untuk mengubah nilai decimal menjadi pembulatan kebawah, floor( ) untuk membulatkan nilai desimal sesuai dengan nilainya, and ceiling( ) untuk membulatkan nilai desimal dengan pembulatan keatas.

Rangkuman

1. XPath merupakan bahasa untuk mengalamati bagian-bagian didalam dokumen XML

2. struktur XPath mirip dengan hirarki direktori pada hardisk

3. Untuk mengarahkan kita pada data tertentu, kita dapat memanggilnya dengan menggunakan pemanggilan mirip dengan direktori folter pada hardisk.

4. XPath dijalankan dengan menggunakan XSLT.

8 XLinks

Overview

XML Linking Language (XLink) merupakan atribut yang berbasi sistaks untuk melampirkan link dokumen XML.Dengan menggunakan XLink dapat memungkinkan user untuk menambahkan hyperlinking kesuatu dokumen. XLink sama halnya dengan link pada HTML dengan elemen A. Bedanya, pada HTML hanya bisa mengarah pada satu dokumen, sedangkkan untuk XLink kita bisa mengarahkan kelebih dari satu dokumen.

Saat ini banyak sekali browser yang telah mendukung simple XLink yang lebih sedikit dibanding dengan fungsionalitas elemen A pada HTML. Banyak web browser yang tidak mendukung Xling sama sekali. Namun aplikasi yang kita buat sendiri dapat mengeturnya lebih banyak. XLink dapat mendeskripsikan tabel konten atau indeks. Dengan aplikasi yang berbeda maka akan berbeda pula mengartikan XLink.

[pic] Tujuan

1. Mahasiswa dapat mengerti yang dimaksud dengan Xlink

2. Mahasiswa dapat membedakan XLink pada XML dan tag A pada

HTML

3. Mahasiswa dapat memahami struktur serta atrubut yang ada pada

Xlink

4. Mahasiswa dapat menggunakan XLink pada Dokumen XML.

8.1 Simple Links

Simple link didefinisikan dengan koneksi atau hubungan secara one-way antara dua resource. Source awal dari koneksi terdapat elemen link pada dirinya sendiri. Sedangkan target diidentifikasikan oleh Uniform Resource Identifier (URI). Link mulai berjalan dari source asal ke source target. source asal selalu berupa elemen XML. Sedangkan source target dapat berupa dokumen XML, atau elemen-elemen tertentu didalam dokumen XML, grup elemen dalam dokumen XML, teks span didalam dokumen XML, atau sesuatu yang bukan merupakan dokumen XML seperti MPEG movie, file PDF, atau gambar JPG.

Simple XLink ditulis didalam dokumen XML sebagai elemen yang mempunyai atribut xlink:type dengan nilai simple dan atribut xlink:href dengan nilai URI target. Contohnya kita mempunyai dokumen XML pada ftp server dengan alamat :

The Wonderful Wizard of Oz

L. Frank Baum

1900

Selanjutnya dokumen berikut akan menggunakan XLink untuk dihubungkan dengan dirinya dengan file dokumen diatas :

The Wonderful Wizard of Oz

L. Frank Baum

1900

8.2 Link Behavior

Jika kita lihat bagaimana XLink dipresentasikan dengan hubungan antara dua resource. Misalnya ketika browser menemukan elemen novel yang menggunakan elemen http URL, seharusnya browser akan mengambil link novel dan menampilkannya didalam jendela browser sehingga menggantikan isi dari browser, atau bisa saja membukanya pada jendela yang baru. Misalnya,

konten yang terdapat pada beberapa link yang terhubung langsung dalam dokumen, seperti pada lemen image berikut :

xlink:show

pilinah atribut xlink:show mempunyai lima kemungkinan nilai :

1. new

Membuka wondow baru dan menampilkan kontent link URI (source target) pada window tersebut.

2. replace

Menampilkan resource target pada window awal dan menggantikan dokumen awal

3. embed

menampilkan resource target didalam dokumen awal pada lokasi link

4. other

5. none

xlink:actuate

pilinah atribut xlink:actuate mempunyai lima kemungkinan nilai :

1. onLoad

Link harus diikuti pada saat aplikasi baru dijalankan.

2. OnRequest

Link yang harus diikuti bila pengguna meminta rekues.

3. Other

Ketika mengikuti link ditentukan oleh markup lain dalam dokumen yang tidak ditentukan oleh XLink.

4. None

Tidak ada rincian mengenai kapan atau apakah akan mengikuti link ini.

8.3 Link Semantics

Merupakan sebuah link yang menghubungkan antara dua buah resource dimana resourcenya dapat berupa dokumen XML atau bukan. Tapi jika filenya berberbentuk dokumen XML, maka hubungan keduanya dapat sedikit diubah. Misalnya link dapat mengindikasikan hubungan parent-child, hubungan previous-

next, hubungan employer-employee, hubungan customer-supplier, dan yang lainnya. Atribut XLink dapat memiliki atribut xlink:title dan xlink:role untuk menspesifikasikan maksud dan tujuan serta arti hubungan antara keduanya. atribut xlink:title mengandung sedikit keseluruhan mendeskripsikan remote resource untuk ditunjukan sebagai tooltip saat user memindahkan kursor ke link. Sedangkan xlink:role mengandung URI. Contoh penggunaannya adalah sebagai berikut :

The Wonderful Wizard of Oz

L. Frank Baum

1900

8.4 Extended Links

Olehkarena simple link tidak mendeskripsikan arah hubungan antara dokumen dengan remote resource, maka Extended Link dapat mendeskripsikan kumpulan resource dan kumpulan path antara resource. Setiap koneksi path terdapat dua resource. Mungkin saja setiap resource terhubung dengan satu resource lain, dua resource lain atau bahkan tidak memiliki resource (nol resource), resource yang lain, atapun subser sesource didalam kumpulan tersebut.

Didalam XML, Extended Link direpresentasikan oleh elemen Extended Link, yang tipe elemen atributnya adalah xlink:type dengan nilai extended. Contohnya adalah sebagai berikut :

The Wonderful Wizard of Oz

L. Frank Baum

1900

selain extended, nilai untuk atributnya dapat berupa locator dan arc. Atribut dengan nilai locator mengandung URI untuk resource pada lokasi tersebut, sedangkkan arc merupakan path antara resource, selain atribut dirinya sendiri arc juga memiliki atribut xlink:from dan xlink:to dimana atribut xlink:from untuk identifikasi resource sumber sedangkan atribut xlink:to untuk identifikasi resource tujuan.

Local resource

locator merepresentasikan remote resource, yaitu resouce yang tidak terletak pada dokumen yang mengandung extended link. Sedangkan extended link harus memiliki local resource. Olehkarena itu, untuk mendeskripsikan local resouce adalah dengan cara :

L. Frank Baum

atau kita juga dapat menambahkan label pada link tersebut. Contoh penggunaannya adalah pada contoh berikut ini :

L. Frank Baum

Element title

kita dapat menggunakan atribut xlink:title untuk mendeskripsikannya. Atribut ini dubuat dengan tujuan untu memberikan judul dari link. Contoh penggunaannya adalah :

The Kansas Centennial Edition

Illustrated by Michael McCurdy

Foreword by Ray Bradbury

1999

216 pages

SRP: $24.95

8.5 Linkbases

Salah satu revolusi pada pada fitur XLink dimana memiliki kemampuan untuk mendefinisikan antar dokumen tanpa kita harus mengontrolnya. Misalnya dokumen yang memiliki third-party Link. Sebuah dokumen XML yang mengandung link third-party disebut linkbase. Linkbase membentuk link dari dokumen lain ke dirinya.

8.6 DTD untuk XLink

Sebuah link pada dokumen XML harus falid, semua link yang ada didalam dokumen dapat kita deklarasikan didalam DTD sama seperti atribut yang lain. Kita juga dapat menggunakan #FIXED untuk mendeklarasikannya. Contoh berikut adalah :

contoh penggunaan deklarasi tersebut pada dokumen adalah sebagai berikut :

The Wonderful Wizard of Oz

L. Frank Baum

1900

Rangkuman

1. XLink merupakan atribut yang berbasi sistaks untuk melampirkan link dokumen XML yang memungkinkan user untuk menambahkan hyperlinking kesuatu dokumen.

2. XLink dapat berarti tag a pada HTML yang dapat menampilkan

resource tujuan pada halaman browser

9 XPointer

Overview

XPointer bukanlah merupakan sintaks XML. 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.

Tujuan

1. Mahasiswa dapat memahami Xpointer

2. Mahasiswa dapat menjelaskan struktur yang ada dalam Xpointer

3. Mahasiswa dapat membuat XPointer dalam dokumen XML

9.1 XPointers pada URL

URL yang mengidentifikasi sebuah dokumen biasanya penulisannya dengan : . Pada skema tersebut, http menunjukan aplikasi protokol protokol yang digunakan sebagai penyampaian dokumen. sedangkan java.: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 : . Ketika browser menampilkan halaman dokumen tersebut, browser akan mencari nama penanda bagian dengan nama download pada dokumen tersebut yang ditulis dengan sintaks :

ketika menemukannya, maka browser akan langsung menscrol halaman sehingga bagian tersebut langsung ditampilkan. Namun hal tersebut bekerja pada HTML dokumen. Namun hal itu masih memiliki kekurangan, untuk mengarah ke point tersentu, kita kita harus mengubah dokumen yang akan dituju agar kita dapat memasukan penandanya. XPointer berupaya menghilangkan haltersebut, dimana kita dapat menentukan sendiri dimana kita akan menentukan link penggunaan ekspresi XPath sebagai penanda bagian dokumen. Selain itu, XPointer dapat meng-ekspan XPath dengan menyediakan operasi untuk memilih poin tertentu pada

dokumen XML. misalnya, sebuah XPointer dapat menjelaskan berbagai teks yang dipilih oleh mouse.

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

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download