Praktikum XML
March 21, 2017 | Author: Dede Rohanda | Category: N/A
Short Description
Download Praktikum XML...
Description
Politeknik Telkom
Praktikum Pemrograman XML
Praktikum Pemrograman EXtensible Markup Languange XML
POLITEKNIK TELKOM BANDUNG 2009
Politeknik Telkom
Praktikum Pemrograman XML
Penyusun dan Editor Hendra Kusmayadi Eko Darwiyanto
Dilarang menerbitkan kembali, menyebarluaskan atau menyimpan baik sebagian maupun seluruh isi buku dalam bentuk dan dengan cara apapun tanpa izin tertulis dari Politeknik Telkom. Hak cipta dilindungi undang-undang @ Politeknik Telkom 2009 No part of this document may be copied, reproduced, printed, distributed, modified, removed and amended in any form by any means without prior written authorization of Telkom Polytechnic.
Politeknik Telkom
Praktikum Pemrograman XML
Kata Pengantar Assalamu’alaikum Wr. Wb Segala puji bagi Allah SWT karena dengan karunia-Nya courseware ini dapat diselesaikan. Atas nama Politeknik Telkom, kami sangat menghargai dan ingin menyampaikan terima kasih kepada penulis, penerjemah dan penyunting yang telah memberikan tenaga, pikiran, dan waktu sehingga courseware ini dapat tersusun. Tak ada gading yang tak retak, di dunia ini tidak ada yang sempurna, oleh karena itu kami harapkan para pengguna buku ini dapat memberikan masukan perbaikan demi pengembangan selanjutnya. Semoga courseware ini dapat memberikan manfaat dan membantu seluruh Sivitas Akademika Politeknik Telkom dalam memahami dan mengikuti materi perkuliahan di Politeknik Telkom. Amin. Wassalamu’alaikum Wr. Wb. Bandung, Mei 2009
Christanto Triwibisono Wakil Direktur I Bidang Akademik & Pengembangan
iii PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
Daftar Isi Kata Pengantar................................................................................iii Daftar Isi .......................................................................................... iv 1 Pengenalan XML ................................................................... 1 Hubungan XML Dengan HTML .............................................................................. 2 Cara Kerja XML ......................................................................................................... 5 2 XML Fundamentals ............................................................... 8 Dokumen XML dan File XML ................................................................................. 9 Elemen, Tag, dan Data karakter .............................................................................. 9 Atribut ........................................................................................................................12 Entity References .....................................................................................................13 CDATA Sections......................................................................................................14 Komentar ...................................................................................................................15 Deklarasi XML ..........................................................................................................17 Checking Documents for Well-Formedness .....................................................17 3 Document Type Definitions (DTD) .....................................23 Validation ...................................................................................................................24 Deklarasi Elemen ......................................................................................................25 Deklarasi Atribut ......................................................................................................34 General Entity Declarations...................................................................................35 External Parsed General Entities ..........................................................................36 External Unparsed Entities and Notations .........................................................36 Parameter Entity.......................................................................................................37 Conditional Inclusion...............................................................................................37 Contoh Two DTD ...................................................................................................38 Standar Penempatan DTD .....................................................................................39 4 Namespaces ..........................................................................41 Kebutuhan Namespace ...........................................................................................42 Sintaks Namespace ...................................................................................................42 Namespaces dan DTD ............................................................................................44 5 XML pada Web.....................................................................46 XHTML.......................................................................................................................47 Direct Display pada browser.................................................................................49 Authoring Compound Documents with Modular XHTML ............................50 Prospects for Improved Web-Search Methods ................................................50 6 XSL Transformations (XSLT) .............................................52 Contoh Dokumen XML..........................................................................................53 xsl:stylesheet .............................................................................................................53 Contoh Stylesheet Processors ..............................................................................54 iv PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
Templates and Template Rules .............................................................................54 Elemen with xsl:value-of .........................................................................................56 Element xsl:apply-templates...................................................................................56 Built-in Pada Template Rule ...................................................................................59 Mode .........................................................................................................................60 Template untuk nilai Attribute ..............................................................................60 XSLT dan Namespace .............................................................................................63 Elemen XSLT.............................................................................................................64 7 XPath ....................................................................................66 Struktur Dokumen XML ........................................................................................67 Location Paths...........................................................................................................67 Menggabungkan Location Part...............................................................................75 Predikat ......................................................................................................................75 Unabbreviated Location Paths ..............................................................................76 General XPath Expressions ...................................................................................76 Fungsi XPath ..............................................................................................................78 8 XLinks ...................................................................................80 Simple Links ...............................................................................................................81 Link Behavior ............................................................................................................82 Link Semantics ..........................................................................................................85 Extended Links..........................................................................................................86 DTD untuk XLink ....................................................................................................86 9 XPointer................................................................................89 XPointers pada URL ................................................................................................90 Child Sequences .......................................................................................................93 Namespace ................................................................................................................94 Points .........................................................................................................................94 Ranges .........................................................................................................................95 10 XML Schemas .......................................................................97 Overview ...................................................................................................................98 Skema Dasar..............................................................................................................98 Bekerja dengan Namespace ................................................................................ 103 Elemen Kosong ...................................................................................................... 103 Tipe kompleks........................................................................................................ 104 Mixed Content....................................................................................................... 105 Controlling Type Derivation .............................................................................. 105 11 PRAKTIKUM DOM ............................................................108 11.1 Menampilkan data XML ........................................................................... 109 11.2 Insert Data.................................................................................................. 111 11.3 Pencarian Data........................................................................................... 114 v PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
11.4 Update Data ............................................................................................... 117 11.5 Delete Data ................................................................................................ 121 12 PRAKTIKUM DOM (2).......................................................126 12.1 Validasi dokumen XML dengan DTD ................................................... 127 12.2 Validasi dokumen XML dengan XSD .................................................... 132 12.3 Menampilkan XML dengan XSL ............................................................. 137 13 PRAKTIKUM SAX..............................................................145 13.1 Menampilkan data XML ........................................................................... 146 13.2 Tampilkan Data XML tanpa tag ............................................................. 151 13.3 Perhitungan terhadap data XML ............................................................ 154 14 PRAKTIKUM WSDL ..........................................................158 14.1 Membuat WSDL dengan wscompile Java ............................................ 159 15 PRAKTIKUM WEB SERVICE(1) .......................................169 15.1 Persiapan ..................................................................................................... 170 15.2 Kode Web Service dengan Java ............................................................. 172 15.3 Install Web Service di Web Server....................................................... 173 a. Cara Instan. ........................................................................................................ 173 - ganti file .java menjadi file .jws (java web service)..................................... 173 - copy file.jws file ke direktori webapp ............................................................ 173 - Jadi!! ...................................................................................................................... 173 Axis menangani kompilasi, pembuatan WSDL dsb. ....................................... 173 b. Cara Custom ..................................................................................................... 173 15.4 Memanggil Web Service .......................................................................... 173 Tahap 2: Buat stubs............................................................................................... 174 Gunakan WSDL2Java untuk membuat client stubs/bindings ....................... 174 java org.apache.axis.wsdl.WSDL2Java Calculator.wsdl membuat: ............. 174 - Calculator.java (interface) ................................................................................. 174 - CalculatorService.java (service interface) ..................................................... 174 - CalculatorServiceLocator.java ......................................................................... 174 (service factory, implements CalculatorService.java) .................................... 174 - CalculatorServiceSoapBindingStub.java ......................................................... 174 (stub for invoking service using SOAP, implements Calculator.java) ........ 174 12 PRAKTIKUM WEB-SERVICE (2) ......................................178 Web Service di ASP.NET ............................................................179 12.1.1 Contoh ..................................................................................................... 179 12.1.2 Penjelasan.................................................................................................... 180 12.2 ASP.NET mengotomatisasikan proses ................................................. 181 Daftar Pustaka
vi PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
1 Pengenalan XML
Overview
EXtensible Markup Language (XML) merupakan sebuah bahasa markup yang digunakan untuk menandai suatu dokumen data. Markup language merupakan suatu bahasa pemprograman untuk menandai suatu dokumen. Penandaan dilakukan menggunakan dua buah string tertentu yang mengapit data yang ditandai. String tersebut disebut dengan tag. Tujuan penandaan adalah agar dokumen tersebut lebih mudah dibaca, dipahami serta menarik. Hal ini dapat kita ibaratkan dengan buku pelajaran yang berisi berbagai macam tulisan dalam bentuk teks. Saat kita membacanya tentulah hal tersebut membosankan dan kurang menarik. Pada saat kita kuliah, dosen akan menerangkan hal-hal yang penting yang ada pada buku tersebut. Sehingga kita terinisiatif untuk menandai tulisan tersebut pada bagian yang kita anggap penting dengan menggunakan stabilo. Dengan demikian, apabila ujuan telah dekat maka yang kita lakukan adalah membaca bagian yang kita telah tandai tersebut. Penandaan inilah kita sebut dengan markup.
Tujuan
1. 2.
Mahasiswa dapat memahami struktur dokumen HTML Mahasiswa dapat memahami penggunaan data dengan XML
Pengenalan XML
1 PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
Hubungan XML Dengan HTML HTML merupakan bahasa markup yang menjadi standar penulisan yang dapat menjelaskan arti tiap bagian yang ditandai dengan tag. Tag-tag yang digunakan telah didefinisikan, sehingga kita harus menggunakannya sesuai dengan yang didefinisikan. HTML digunakan sebagai standar pertukarang data melalui internet. Misalnya kita memiliki sebuah data yang akan kita berikan kepada orang lain melalui internet, agar orang lain dapat mengerti dengan jelas maksud dari data kita, maka data tersebut haruslah ditulis menggunakan HTML dengan format-format tertentu agar web browser dapat membukanya dan menampilkannya dengan baik. Tampilan data yang akan ditampilkan oleh web browser sesuai dengan informasi dari masing-masing bagian yang ditandai. Misalnya pada bagian-bagian tertentu kita tampilkan tulisan dengan tabel, dapat pula tulisannya ditampilkan dengan cetak tebal, dalam baris yang berbeda dan lain sebagainya sesuai dengan keinginan kita. Sebagai contoh, kita akan memberikan data mahasiswa sebagai berikut : nim : 30100005 nama : Susanto nim : 30200010 nama : Susilo nim : 30201011 nama : Susilawati Jika data tersebut kita tulis hanya seperti itu saja, maka data tersebut akan tampak seperti berikut :
2
Pengenalan XML PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
Tentunya jika kita membacanya sangatlah bingung. Tetapi apabila data tersebut ditulis dengan format penulisan HTML, yaitu : Contoh pertama NimNama 30100005Susanto 30200010Susilo 30201011Susilawati simpan file tersebut dengan nama contih1.html. Dengan demikian, maka tampilan yang akan kita lihat akan lebih jelas dan mudah difahami. Tampilannya adalah sebagai berikut :
Pengenalan XML
3 PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
Lalu apa hubungan antara HTML dan XML...?. HTML dan XML adalah samasama dikembangkan dari SGML (Standard Generalized Markup Language). Namun, perbedaan antara keduanya adalah jika HTML tag-tag yang digunakan sangat terbatas dan tag-tag tersebut digunakan untuk mengatur penampilan data, sedangkan XML tag-tag yang digunakan kita dapat definisikan sendiri dan tag-tag tersebut hanya digunakan untuk penanda bagian dokumen yang mengandung informasi-informasi dan arti tertentu. Jika kita menuliskan tekks diatas dan menyimpannya kedalam format XML (simpan dengan nama contoh1.html), maka browser akan menampilkan sebagai berikut (dengan menggunakan browser Mozilla Firefox) :
4
Pengenalan XML PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
Namun, jika dibuka menggunakan browser Internet Explorer 6 tampilannya adalah sebagai berikut :
dengan demikian, dapatlah kita lihat perbedaan antara HTML dan XML. Yaitu HTML menyatukan data dan interface, sedangkan XML hanya berkonsentrasi pada data saja tanpa mementingkan interface.
Cara Kerja XML Seperti yang dijelaskan di atas, tentang perbedaan antara HTML dan XML. Yaitu HTML yang memerintahkan web browser bagaimana menampilkan informasi yang ada, sedangkan XML hanya menandai informasi secara terstruktur sehingga memudahkan aplikasi lain untuk menggunakan 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.
Pengenalan XML
5 PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
Buatlah sebuah contoh dokumen XML seperti pada contoh dibawah ini dan simpan kedalam file contoh2.xml : Verbatim DataLife MF 2HD 10 3.5" black floppy disks jika dokumen tersebut kita buka menggunakan web browser, maka tampak seperti gambar dibawah ni :
Dokumen diatas menjelaskan sebuah data produk yang ada pada suatu supermarket. Produk tersebut memiliki kode barcode= 2394287410, manufacturer=Verbatim, name=DataLife MF 2HD, quantity=10, size=3.5", color=black, description=floppy disks.
6
Pengenalan XML PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
Rangkuman
1.
2. 3. 4.
5.
EXtensible Markup Language (XML), merupakan sebuah standar W3C-endorsed untuk Markup language
Markup language merupakan suatu bahasa pemprograman untuk menandai suatu dokumen yang disebut dengan tag agar dokumen tersebut lebih mudah dibaca, dipahami serta menarik XML memungkinkan penggunaan data secara cross-platform, longterm data format. 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. XML memungkinkan kita untuk mengumpulkan informasi dan menggunakannya kembali dengan berbagai cara.
Latihan
1.
Buatlah sebuah dokumen HTML yang dapat menampilkan data pegawai suatu perusahaan yang teridiri dari NIP, Nama dan golongan seperti terlihat pada gambar dibawah ini : keterangan : tag : untuk menebalkan tulisan tag : untuk tulisan miring tag : untuk tulisan garis bawah
Pengenalan XML
7 PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
2 XML Fundamentals
Overview
Pada bab berikut kita akan belajar 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 wellformed. 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. 2.
8
Mahasiswa dapat membuat dokumen XML dan file XML yang wellformed Mahasiswa dapat membedakan antara tag, elemen, atribut, Cdata, emtity serta penggunaannya XML Fundamentals PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
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. Contoh penulisan sederhana dari dokumen adalah : Alan Turing File dokumen XML dapat disimpan degang extensi *.xml, atau apapun asalkan file tersebut digunakan sebagai file XML atau isinya adalah file XML. Contoh penulisan sederhana telah kita bahas pada bab 1.
Elemen, Tag, dan Data karakter Dokumen XML tersusun atas elemen-elemen yang membentuk hirarki tree / pohon dimana isi dari elemen dapat berisi elemen lain atau sebuah karakter data. Spasi termasuk juga bagian dari elemen konten, meskipun pada kebanyakan aplikasi mengabaikan hail ini. Sintaks Tag tag terdiri dari dua baian yaitu tag pembuka dan tag penutup. tag pembuka diawali dengan “”. Sedangkan tag penutup diawali dengan “”. Sedangkan diantara keduanya merupakan nama elemen dan penulisan nama elemen pada tag pembuka dan penutup harus sama baik dari segi case sekalipun. Nama elemen kita dapat tuliskan sesuai dengan keinginan kita, yang penting nama tersebut dapat mendeskripsikan isi dari elemen. Misalnya suatu elemen menjelaskan seseorang, maka tag-nya dapat kita tulis dengan atau , untuk menjelaskan sebuah alamat dapat menggunakan tag atau . Elemen Kosong untuk elemen kosong adalah sebuah elemenyang tidak memiliki isi atau konten, XML juga menyediakan tag khusus, dimana penulisannya dimulai dengan tag “”. misalnya pada HTML penulisan yang XML Fundamentals
9 PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
dilakukan adalah , , bukan dengan , , . Namun penulisan tersebut sama artinya dengan , , . Elemen root Dokumen XML haruslah memiliki sebuah elemen root dan tidak boleh ada elemen lain yang sejajar dengannya. Elemen root merupakan suatu elemen yang terletak paling luar dan tidak memiliki parrent dan elemen ini merupakan elemen pertama dalam suatu dokumen. Mixed Conten Maksud Mixed Conten adalah dimana pada dalam elemen mengandung elemen dan data text. Misalnya contoh dibawah ini : Alan Turing was one of the first people to truly deserve the name ….......... sekarang mari kita mencoba membuat sebuah dokumen XML yang mencakup apa yang telah dibahas sebelumnya. Tulislah kode dibawah ini dan simpan kedalam sebuah file contoh2_2.xml. Joni Saputra 30200011 Andriani Sapitri 30200123 Budi Susanto 10
XML Fundamentals PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
30101043 Andana Sari Jadilah seorang yang baik dan jujur serta bewibawa 30101043 Andana Sari Andriani Sapitri pada contoh diatas jika kita menjalankannya dengan browser, maka tampilan seperti yang kita lihat dibawah ini :
XML Fundamentals
11 PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
Atribut Atribut adalah suatu sifat atau ciri dari suatu elemen. Atribut merupakan pasangan name-value yang menempel pada elemen tag pembuka. Penggunaan atritribut tidaklah mutlak. Kita dapat menggunakannya jika kita menginginkannya, namun jika tidak, maka penulisan atribut tidaklah dianggap perlu. Penulisan nama atribut dipisahkan dengan spasi dan nilainya diapit dengan petik satu atau petik dua. Sebagai contoh person memiliki atribut born dan memiliki nilai 1912-06-23, maka penulisannya : Alan Turing
12
XML Fundamentals PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
Atau penulisannya dapat juga dengan pengapit petik satu (').
Sebagai contoh, buatlah dokumen yang menyatakan data seperti dibawah ini dan disimpan pada file dengan nama contoh2_2.xml: Jika dokumen tersebut kita jalankan, maka akan tampak seperti berikut :
Entity References Dalam penulisan karakter data kita tidak boleh menggunakan tanda “”. Namun jika karakter sebut adalah penting untuk kita tulis, ada cara untuk kita dapat menuliskannya yaitu dengan cara menuliskan entitasnya. Jika kita ingin menuliskan string “” dapat kita tuliskan dengan >. Sebagai contoh, misalnya kita ingin menuliskan data tutorial XML : Menuliskan Elemen Sedrhana Hendra Kusmayadi Berikut adalah contoh penulisan elemen sederhana <mahasiswa>Joni Suraya</mahasiswa> Jika dokumen tersebut dijalankan, maka tampilan tersebut akan terlihat seperti gambar dibawah ini :
CDATA Sections Pada bahasan sebelumnya kita telah membahas apa yang namannya entity references dimana jika kita akan menuliskan string “ Menuliskan Elemen Sedrhana Hendra Kusmayadi 14
XML Fundamentals PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
Berikut adalah contoh penulisan elemen sederhana Joni Suraya ]]> Jika kita menjalankan kode diatas maka akan terlihat tampilannya seperti berikut :
Namun ada string tententu yang tidak boleh digunakan pada CDATA, yaitu “]]>”, karena nantinya string tersebut akan dianggap sebagai sebuah penutup komentar.
Komentar Komentar merupakan kode atau string yang ditulis tetapi kode tersebut tidak akan dieksekusi. 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 “”.
XML Fundamentals
15 PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
Sebagai contoh, buatlah kode berikut yang mengandung komentar dan simpan file tersebut dengan nama contoh2_5.xml. Menuliskan Elemen Sedrhana Hendra Kusmayadi Berikut adalah contoh penulisan elemen sederhana Joni Suraya ]]> Jika kita menjalankan kode diatas maka akan terlihat tampilannya seperti berikut :
Namun ada string tententu yang tidak boleh digunakan pada komentar, yaitu “--”, karena nantinya string tersebut akan dianggap sebagai sebuah penutup komentar.
16
XML Fundamentals PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
Deklarasi XML Sebuah dokumen XML boleh dideklarasikan boleh juga tidak. Pendeklarasian XML mengandung name dan version, standalone, dan encoding atribut. Sebagai contoh buatlah dokumen XML dengan kode dibawah ini dan simpanlah dengan nama contoh2_6.xml : Johan Sabima
pendeklarasian tidak perlu ditulis pada dokumen XML. Namun, jika pada dokumen ada pendeklarasian maka deklarasi harus berada paling atas, tidak boleh didahului sintaks apapun seperti komentar, spasi, dll.
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. Johan Sabima Jika dijalankan maka akan tampak seperti berikut :
XML Fundamentals
17 PAGE 10
Politeknik Telkom
2.
Praktikum Pemrograman XML
Elemen boleh bersarang, tetapi tidak boleh saling tumpang tindih Johan Sabima Jika dijalankan maka akan tampak seperti berikut :
3.
Harus memiliki tepat satu elemen root. Johan Sabima Adit Pramana
18
XML Fundamentals PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
Jika dijalankan maka akan tampak seperti berikut :
4.
Nilai atribut harus diapit oleh tanda petik. Johan Sabima Jika dijalankan maka akan tampak seperti berikut :
5.
Satu elemen tidak boleh memiliki dua atribut yang sama Johan Sabima
XML Fundamentals
19 PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
Jika dijalankan maka akan tampak seperti berikut :
6.
Tidak ada unescaped “ ]> Hendra Kusmayadi Dosen Pada contoh diatas, jika kita menjalankan dokumen diatas, maka tampilan tidak akan berbeda dengan tidak menggunakan DTD. Tampilan yang ada dapat kita lihat seperti berikut :
24
Document Type Definitions PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
Mengapa bisa demikian...? Seperti yang telah kita bahas sebelumnya, bahwa DTD tidak mempengaruhi ke well-formed-an suatu dokumen. Sehingga dokumen diatas dianggap dokumen yang well-formed. Namun, meski demikian, dokumen selain memiliki sifat well-formed, juga memiliki valid atau tidak. Dengan DTD ini kita akan mengetahui bahwa sebuah dokumen valid atau tidak. Untuk menyatakan suatu dokumen falid atau tidaknya, kita memerlukan alat bantu atau tools XML validation yang dapat didownload di http://msdn.microsoft.com/xml atau http://xmlsoftware.com atau disitus lainnya. Dalam hal ini penulis menggunakan software IEXMLTLS yang dapat digunakan pada browser Microsoft Internet Explorer. Atau sekarang kita sepakati saja bahwa kita menggunakan IEXMLTLS untuk validasi dokumen XML. Instal file tesebt dan arahkan lokasi intalnya pada drive C. selanjutnya buka folder C:\IEXMLTLS dan klik kanan pada file msxmlval.inf kemudian pilih instal. Lakukan hal yang sama pada file msxmlvw.inf. Jika kita ingin memvalidasi dokumen, kita hanya dengan mengklik kanan pada space kosong pada IE dan pilih Validated XML (IEXMLTLS hanya bisa digunakan pada Microsoft Internet Explorer).
Deklarasi Elemen Jika dokumen tersebut diatas dijalankan, dan kita memvalidasinya, maka tampak seperti gambar dibawah ini :
Document Type Definitions
25 PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
Sekarang kita akan melihat dokumen yang tidak valid dengan mengubah dokumen menjadi : ]> Hendra Kusmayadi Dosen Jika kita menvalidasi dokumen tersebut, maka akan tampak seperti berikut :
26
Document Type Definitions PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
Pada contoh diatas, validasi menjadi error karena pada DTDnya elemen nama harus berisi elemen nama_depan dan nama_belakang. Agar dokumen tersebut valid, maka pada DTDnya kita dapat dengan mengganti tanda koma (,) menjadi “|” sehingga kodenya menjadi : ]> Hendra Kusmayadi Dosen Document Type Definitions
27 PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
Jika dijalankan dokumen akan tampak seperti berikut :
Jika kita mengubah isi dokumen tersebut menjadi : ]> Hendra Kusmayadi Dosen Pedagang
28
Document Type Definitions PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
Maka jika kita validasi akan error, tampak seperti berikut :
Pada dokumen diatas yang membuat validasinya gagal adalah karena elemen profesi ditulis dua kali, sedangkan pada deklarasinya hanya sekali. Agar sebuah elemen dapat kita tulis berulang, maka kita dapat menambahkan karakter *, + atau ?. Jika dokumen diatas diubah menjadi : ]> Document Type Definitions
29 PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
Hendra Kusmayadi Dosen Pedagang Maka jika kita jalankan hasilnya adalah :
Kita juga dapat membuat file DTD pada file yang terpisah dengan dokumen XML aslinya. Caranya denga penulisan DTDnya menjadi : Sekarang kita ubah lagi file contoh3_1.xml diatas menjadi : Hendra Kusmayadi 30
Document Type Definitions PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
Dosen Pedagang Dan membuat dokumen baru dengan nama orang.dtd yang isinya sebagai berikut : nama (nama_depan | nama_belakang)> nama_depan (#PCDATA)> nama_belakang (#PCDATA)> profesi (#PCDATA)>
Jika kita jalankan dan kita validasi file contoh3_1.xml akan tampak seperti berikut :
Jika kita lihat pada dokumen diatas, ada beberapa bagian darideklarasi elemen adalah : 6. #PCDATA Konten yang terkandung didalam elemen yang dimaksud adalah text. Meskipun data yang ada dielemen tersebut berupa angka, tetap dianggap sebagai text. Contohnya : Document Type Definitions
31 PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
7.
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.
8.
Sequence Kita dapat menuliskan elemen anak lebih dari satu pada deklarasinya. Dengan penulisan ini dimaksudkan untuk menuliskan elemen anak lebih dari satu elemen. Misalnya :
9.
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. 32
Document Type Definitions PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
10. 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. Selain hal diatas, kita juga dapat mendeklarasikan elemen yang sesuai dengan : 11. 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 : 12. Elemen Kosong Elemen kosong adalah sebuah tag yang tidak memiliki elemen nilai. Penulisannya dapat berupa : dengan deklarasi elemennya :
Document Type Definitions
33 PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
13. ANY Kita dapat mengijinkan apapun dapat berada pada suatu elemen. Penulisan deklarasinya adalah :
Deklarasi Atribut Sama seprti elemen, dokumen dikatakan valid jika dapat menyatakan semua atribut elemen jika elemennya memiliki atribut. Sintaks penulisannya adalah dengan ATTLIST. Sebagai contoh, mari kita buat sebuah file baru dengan nama contoh3_2.xml. Dan isinya adalah sebagai berikut : ]> Hendra Kusmayadi
34
Document Type Definitions PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
Jika kita jalankan dokumen diatas akan tampak seperti gambar berikut :
General Entity Declarations Kita juga dapat mendeklarasikan entidas sesuai dengan yang kita inginkan. Sebagai contoh, buatlah file dengan nama contoh3_3.xml dengan isi sebagai berikut : ]> Hendra Kusmayadi &mail; Jika kita jalankan maka tampilannya akan seperti gambar dibawah :
Document Type Definitions
35 PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
External Parsed General Entities Selain dengan cara diatas, kita juga dapat menggunakan halaman suatu web atau yang lainnya untuk penulsain entitas. Sebagai contoh, buatlah dile dengan nama contoh3_4.xml dengan isinya sebagai berikut : ]> Hendra Kusmayadi &cmd; sebelum kita menjalankan dokumen diatas, terlebihdahulu kita membuat sebuah file dengan nama komentar.txt dan simpan pada folder yang sama. Selanjutnya isi file tersebut tulisan terserah saja. Dan jika dokumen diatas dijalankan, maka hasilnya menjadi :
External Unparsed Entities and Notations Selain itu, kita juga dapat menempatkan file bukan text dengan cara : Dan selanjutnya silahkan docoba sendiri. 36
Document Type Definitions PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
Parameter Entity Parameter entiti digunakan sebagi shortcut untuk menuliskan entiti didalan DTD. Penulisan parameter entiti menggunakan persen (%) dan titik koma (;). format penulisan parameter entiti adalah sebagai berikut :
yang
ingin
kita
Contoh penulisannya adalah dengan : Adapun maksud dari deklarasi diatas adalah string “%pub” akan diisi oleh “Éditions Gallimard”, sehingga jika kita menuliskan &book pada dokumen XML, maka hasilnya adalah : La Peste: Albert Camus, © 1947 Editions Gallimard.
Conditional Inclusion XML memberikan IGNORE derektif untuk tujuan "commenting out" sebuah selection deklarasi. Misalnya parser akan mengabaikan deklarasi dari elemen production_note : ]]> Tujuan penulisan diatas adalah untuk menunjukan bahwa deklarasi yang diberikan benar-benar digunakan didalam DTD. Contoh : ]]> Silahkan docoba dengan penerapan pada dokumen XML. Document Type Definitions
37 PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
Contoh Two DTD Disisilain kita dapat membuat atau menggabungkan dua dokumen XML yang berbeda. Caranya adalah seperti contoh penulisan DTD berikut : (#PCDATA)> (#PCDATA)> (#PCDATA)>
> > > Document Type Definitions PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
Standar Penempatan 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.
Document Type Definitions
39 PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
Rangkuman
1. 2. 3.
40
Aplikasi XML harus memastikan bahwa dokumen yang diberikan adalah benar-banar mematuhi aturan DTD digunakan untuk mendeklarasikan semua elemen dan atribut yang akan digunakan pada dokumen XML DTD dibuat untuk memeriksa kevalid-ad sebuah dokumen XML, apakan dokumen XML yang dibuat sudah mengacu pada DTD yang ada.
Document Type Definitions PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
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. 2. 3.
Mahasiswa dapat memahami maksud dan tujuan dari pembuatan namespace Mahasiswa dapat membedakan kapan harus menggunakan namespace dan kapan tidak Mahasiswa Menggunakan namespace pada kasus yang sesuai
Namespaces
41 PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
Kebutuhan Namespace Seperti telah kita ketahui bersama bahwa sebuah dokumen XML memiliki nama elemen dan atribut yang digunakan oleh aplikasi untuk memproses dokumen XML tersebut. Namun, seperti kita ketahui bersama bahwa penamaan tersebut dapat kita definisikan sendiri. Namun dengan demikian ada kemungkinan suatu nama elemen yang kita gunakan memiliki nama yang sama dengan elemen lain padahal maksudnya berbeda. Jika kita menggunakan dokumen untuk diri kita sendiri, itu tidak jadi masalah, karena kita dapat memberikan nama elemen tersebut berbeda. Namun jika dokumen kita digunakan oleh bayak orang atau kita yang menggunakan dokumen orang lain, maka ada kemungkinan hal tersebut terjadi. Dan aplikasi bisa saja salah dalam menampilkan dokumen sehingga hasil keluaran berbeda dengan yang kita harapkan. Jadi solusi untuk menghindari hal itu adalah dengan menambahkan namespace. Penggunaan Namespace dengan memberikan awalan tertentu sebagai pembeda dengan elemen lainnya dan dipisahkan tanda titik dua dengan nama elemen.
Sintaks Namespace Untuk kasus penggunaan elemen adalah misalnya jika kita ingin menuliskan sebuah dokumen untuk menyimpan nama bambu, dimana bambu yang pertama merupakan data untuk menyatakan bahwa sebuah bambu akan digunakan untuk membuat pagar rumah dimana penulisan elemen tersebut adalah sebagai berikut : Jawa 2 sedangkan ada dokumen yang keduamenyatakan bahwa bambu itu adalah sebuah merk produk dengan penulisan dokumen : 246 200
42
Namespaces PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
Jika kita menggabungkan elemen tersebut dengan penulisan seperti berikut : Jawa 2 246 200 maka dalam pemprosesannya akan ambigu antara elemen bambu, maka solisinya adalah dengan menggunakan namespace, sehingga penulisan dokumen tersebut adalah : Jawa 3m 100 300 simpan file tersebut dengan nama contoh4_1.xml dan jalankan. Jika dokumen tersebut dijalankan maka hasilnya adalah sebagai berikut :
Namespaces
43 PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
Namespaces dan DTD Namespace perludideklarasikan pada Document Type Definition (DTD) agar dokumen yang kita buat menjadi falid. Pendeklarasiannya 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. Sebagai contoh, buatlah file XML dengan nama filenya adalah contoh4_2.xml yang isinya adalah sebagai berikut : ]>
44
Namespaces PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
Rangkuman
1. 2.
Namespaces dibuat dengan tujuan untuk membedakan nama elemen yang sama namun memiliki atri yang berbeda. Namespaces diimplementasikan dengan menempelkan awalan untuk setiap elemen dan atribut.
Namespaces
45 PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
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 searchengine spiders dapat dengan mudah menentukan makna dari konten.
Tujuan
1. 2. 3. 4.
46
Mahasiswa Dapat mengerti XHTML Mahasiswa dapt membedakan antara XHTML dengan HTML Mahasiswa dapat menuliskan XHTML dengan aturan-aturan yang telah ditetapkan Mahasiswa memahamin cara kerja XHTML dalam menampilkan dokumen XML pada Web PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
XHTML XHTML merupakan definisikan XML-compatible versi HTML, atau sebaliknya. XHTML dapat mengubah HTML sebagai aplikasi XML. XHTML merupakan standard dalam menyusun kode-kode HTML yang baik dan terstruktur. Sebagian besar pengubahan dokumen HTML menjadi dokumen XHTML adalah dengan membuat dokumen well-formed. Misalnya perubahan yang akan dilakukan : 14. Tambahkan missing end-tag seperti dan jika pada dokumen tidak ada end-tag-nya. 15. Tulis kembali dokumen yang yag-nya saling timpang tindih, misalnya apa menjadi apa 16. Letakkan tanda petik pada nilai atribut jika kita sering menggunakan nilai atribut tanpa tanda petik. Misalnya menjadi . 17. Tambahkan nilai pada atribut yang memiliki nilai boolean dengan namanya sendiri. Misalnya menjadi . 18. Ganti karakter & atau < dalam data atau atribut dengan nilai-nilai & and <. Misalnya ubah A&P menjadi A&P 19. Jadikan dokuen sebagai single root element html. 20. Ubah empty elemen. Misalnya menjadi atau 21. Tambahkan hyphens kedalam komentar. Misalnya menjadi 22. Encode kedalam UTF-8 atau UTF-16. XHTML dibagi menjadi tiga bagian, yaitu : 23. Strict Merupakan puncaknya standard, ini digunakan apabila kita benar-benar menginginkan kode yang benar-benar terstruktur. Beberapa tag sudah dihilangkan disini seperti . Kita harus mengkombinasikan antara XHTML dan CSS. Penulisannya adalah sebagai berikut : XML pada Web
1.0
47 PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
24. Transitional Digunakan apabila kita tidak ingin ada file CSS yang terlibat. Penulisannya adalah sebagai berikut :
1.0
25. Frameset hampir sama dengan Transitional namun Frameset mengijinkan elemen frame-related sebagai framset dan iframe. Contoh penulisannya adalah sebagai berikut :
1.0
bagian diatas, dituliskan pada awal dokumen sebagai deklarasi dari dokumen XHTML. Contoh penulisan dokumen XHTML adalah sebagai berikut : Judul Halaman Web Isi halaman Web jika dijalankan akan tampil seperti pada gambar dibawah ini :
48
XML pada Web PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
Direct Display pada browser Dalam menampilkan sebuah dokumen pada browser, kita dapat mengambil pengaturan tampilannya dari file lain. Hal ini disebut dengan direct display. Contoh yang sering digunakan adalah CSS (Casecading Style Sheet). Sekarang mari kita coba membuat dokumen css dan simpan dengan nama “css.css”, dimana kodenya adalah sebagai berikut : orang { color:#FF0000; font-family:Tahoma; font-weight:bold; text-decoration:underline; } kemudian buatlah dokumen XML yang disimpan dengan nama “contoh5_1.xml” sebagai data yang akan ditampilkan seperti berikut : Susilawati XML pada Web
49 PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
Selanjutnya jalankan dokumen XML, maka dapat kita lihat tampilannya sebagai berikut :
Authoring Compound Documents with Modular XHTML Kita dapat menggabungkan dokumen XML yang telah kita buat kedalam aplikasi lainnya. Misalnya menggabungkan XHTML kedalam aplikasi, atau yang lainnya dan dapat pula aplikasi yang kita buat kita gabungkan dengan dokumen XHTML. Kita dapat menggunakan modul-modul yang telah ada sebelmnya.
Prospects for Improved Web-Search Methods Resource Description Framework (RDF) dapat diartikan sebagai XML encoding untuk model data sederhana yang partikular. Misalnya kita menuliskan sebuah dokumen yang menyatakan bahwa W. Scott Means dan Elliotte Rusty Harold adalah penulis buku XML in a Nutshell. Elliotte Rusty Harold W. Scott Means Pada contoh diatas, nilai propertis author hanya teks saja. Pada HTML, META tag robot memberitahukan kepada search engin dan robot yang lainnya apakan mereka dapat mengindeks halamannya. Penulisannya dapat dilihat pada kode berikut : 50
XML pada Web PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
Rangkuman
1. 2. 3. 4.
XML merupakan bahasa yang masih sangat menarik untuk gunakan didalam halaman web Penggunaan XML pada web berbentuk XHTML Dokumen XHTML mendefinisikan kompetibeliti dar XML Dokumen XHTML harus well-formed agar bisa ditampilkan pada halaman browser
XML pada Web
51 PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
6 XSL Transformations (XSLT)
Overview
XSLT merupakan bahasa pemrograman berdasar XML yang digunakan untuk transformasi dokumen XML menjadi dokumen XML atau format lainnya. Transformasi tidak mengubah dokumen asli, melainkan menghasilkan dokumen baru berdasarkan isi dokumen asli. XSLT sering digunakan untuk mengkonversi data dari satu XML schema ke schema lain, ke format XHTML, atau format XML yang dapat diubah menjadi dokumen PDF. 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. 2. 3.
52
Mahasiswa dapat memahami XSLT Mahasiswa dapat menspesifikasikan XSLT pada dokumen XML Mahasiswa dapat membuat XSLT pada dokumen XML
XSL Transformation (XSLT) PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
Contoh Dokumen XML 1112 Sisanti 1111 susilo Dokumen diatas disimpan kedalam file dengan nama orang.xml, dimana dokumen diatas akan kita gunakan untuk penerapan XSLT selanjutnya. XSLT dapat bekerja dengan dokumen yang valid maupun tidak valid asalkan wellformed. 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.
xsl:stylesheet 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 : untuk memanggil dokumen XSL kedalam dokumen XML yang kita inginkan, kita dapat mengginakan seperti script sebagai berikut :
XSL Transformation (XSLT)
53 PAGE 10
Politeknik Telkom
Praktikum Pemrograman XML
.......
Contoh Stylesheet Processors XML dokumen yang ditampilkan ke web browser memiliki xml-stylesheet processing instruction. Contoh penggunaannya adalah sebagai berikut : ... pada contoh diatas, dokumen tersebut menggunakan pemprosesan intruksi pada aplikasi XML orang.xsl.
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. Sebagai contoh, kita buat sebuah dokumen XSL dan simpan dengan nama file xsl.xsl untuk menampilkan dokumen diatas sehingga menjadi sesuai dengan yang diinginkan. Sintaks yang dituliskan adalah sebagai berukut :
View more...
Comments