1 TIF82/SIF82-01 Pengenalan XML Team dosen Prodi Teknik Informatika, Fak. Teknologi Informasi Universitas Mercubuana Yogyakarta 20162 Apa itu XML? ext...
Prodi Teknik Informatika, Fak. Teknologi Informasi Universitas Mercubuana Yogyakarta 2016
Apa itu XML?
eXtensible Markup Language, sebuah spesifikasi untuk membuat sebuah bahasa markup
Bahasa Markup adalah sistem modern untuk menganotasi dokumen dengan cara yang secara sintaksis dibedakan dari teks (Wikipedia Indonesia). Ada tanda-tanda khusus untuk merepresentasikan data/text.
XML digunakan untuk membuat sebuah bahasa dengan konsep eXtensible.
Tujuan utama untuk membantu komputer untuk berbagi (sharing) data
Rekomendasi W3C
Apa itu XML? – cont
XML merupakan kumpulan peraturan sederhana yang memberikan aturan bagaimana mendefinisikan tags yang memisahkan dokumen menjadi bagian dan sub bagian.
Didefinisikan sebagai teknologi standard yang bersifat terbuka (open standard)
Data independent, memisahkan konten dari presentasi (tampilan)
Sebuah dokumen XML dapat mereferensi ke dokumen lain yang mendefinisikan struktur dokumen XML Data Type Definition (DTD) atau sebuah Schema (valid).
Sejarah Singkat XML
Berawal dari munculnya Standard Generalized Markup Language (SGML), yang distandarkan oleh ISO tahun 1986 (ISO 8879)
Masalah dengan SGML
Terlalu kompleks, sulit untuk mengolah, spesifikasi tidak tersedia bebas, perangkat mahal dan sedikit open source
Muncul HTML yang merupakan turunan dari SGML yang menggabungkan konten dan tampilan (presentation) misalnya : color, font size, dll.
Sulit untuk mengelola data yang kompleks yang mudah diolah mesin
Tags yang kompatibel antar vendor web browser
Sejarah Singkat XML (cont.)
Tahun 1996 komunitas SGML mengajak W3C dan praktisi vendor web untuk mengadopsi SGML untuk web
XML mulai berkembang dan akhirnya di setujui oleh W3C pada 10 Februari 1998 ( XML 1.0)
XML dan HTML
XML didesain untuk menampung/membawa data
XML tidak dibuat untuk menggantikan HTML
XML didesian untuk mendeskripsikan data dan berfokus pada data-nya apa. Sedangkan HTML didesain untuk menampilkan data dan berfokus bagaimana data tersebut ditampilkan.
HTML berhubungan dengan menampilkan informasi, sedang XML mendeskripsikan informasi
XML dapat diperluas sendiri (eXtensible), tags XML tidak didefinisikan, sedang HTML sudah di standardkan
Document-Centric XML Perhatikan sebuah contoh dokumen XML berikut:
Petunjuk penggunaan Software X
Untuk menggunakan software X pastikana mengikuti petunjuk berikut:
<list> Install software dari DVDMasukkan serial number yang sudah disertakanAktifkan internet untuk registrasi ulang.
Setelah langkah diatas dilakukan, bisa download template dari link ini Template X.
<po id="43871" submitted="2004-06-05">
The Skateboard Warehouse <street>One Warehouse Park, Building 17 Boston <state>MA <postalCode>01775 <shipTo> The Skateboard Warehouse <street>One Warehouse Park, Building 17 Boston <state>MA <postalCode>01775
<description>Skateboard backpack
Data-Centric XML
Data- vs Document-Centric XML
Rasio/perbandingan markup dan konten di data-centric lebih tinggi daripada document-centric
Data-centric biasanya menyertakan informasi yang dihasilkan mesin/software
Dokumen dan tag di data-centric lebih terstruktur
Data-centric dengan mudah dihubungkan dengan struktur sebuah data/class.
Biasanya, document-centric berfokus (dibaca) untuk manusia, data lebih ke mesin/aplikasi
Web Services berfokus pada Data-Centric XML
Dokumen XML
Biasanya diawali dengan sebuah Prolog, yang bisa berisi :
Identifikasi dokumen adalah XML
Komentar tentang dokumen
Meta-information yang menjelaskann tentang dokumen
Setelah prolog selanjutnya baru di ikuti dengan root elemen yang berisi dokumen/data XML.
Contoh prolog
Dasar XML (markups)
Dokumen XML hanya berisi text
Mengapa dengan markups (tanda) ?
Manusia dapat membacanya
Dapat diolah dengan mudah menggunakan software
Merupakan cara yang efektif untuk merepresentasikan data
Data di markup (ditandai) dengan tags Agus Wibowo
Tags, Elemant dan Attribute
Tag diawali dengan tanda < ... > (start tag) dan diakhiri dengan tanda (end tag). Di antara tags merupakan elemen konten.
Khusus bagian CDATA, markup ditandai dengan tag (didalamnya bisa berisi konten apa saja)
Didalam tag sendiri, selain ada nama tag (elemen name) bisa berisi informasi tambahan Attribute (yang terbagi menjadi attribute name dan attribute value).
Satu set start tags, nama tags , attribute, konten sampai end tags disebut sebagai Elements ( XML Elements)
XML Elements
Nama element bisa menggunakan kata apa saja yang sesuai dengan nama identifier standard programming
Elements dapat terdiri dari 3 jenis
Elemeny only - hanya berisi sekumpukan elemen saja
Mixed content - kombinasi sekumpulan elemen dan konten
Empty content – Elemen kosong bisa disingkat misalnnya:
<emptyElement/> atau
XML Elements –cont
XML elements harus bersarang urut dan tidak overlap. Berikut contoh elemen yang salah :
some text
Hanya boleh ada satu root (top level) elemen didalam sebuah dokumen (khusus top level elemen saja). Berikut ini tidak boleh : The first root element <second>The second root element
Attributes
Atribut hanya boleh dituliskan didalam start tags
Nama atribut yang diawali dengan xml merupakan nama cadangan (reserved) - mempunyai maksud khusus
Penulisan nilai atribut disertai dengan tanda petik tunggal atau ganda. Misalnya : <po id="43871" submitted='2004-06-05'>
...
Tidak boleh ada nama antribut yang sama dalam satu elements
Elemen Konten
Konten sebuah elemen bisa text apa saja semisal UTF-8, termasuk unicode (huruf china, jepang, arab dsb) <俄语>данные俄语>
Penulisan karakter/huruf yang dicadangkan harus menggunakan karakter khusus, semisal tanda < ditulis < dan & ditulis & Kecuali penulisan di dalam tag CDATA, hal ini tidak perlu dilakukan.
Konflik Nama Eleman
XML Furniture (meja) Perhatikan Dokumen 2 contoh dokumen xml berikut:
Ketika namespace untuk prefix elemen didefinisikan, maka prefix anak/turunan elemen tsb menggunakan namespace yang sama
XML Namespaces –cont
Namespaces dapat didefinisikan di root level dokumen, misalnya
ApplesBananasAfrican Coffee Table ...
XML Namespaces –cont
URI sebuah namespace tidak digunakan oleh pengolah dokumen XML (parser) untuk mencari informasi
Tujuan namespace untuk memberikan nama unik, tetapi terkadang namespace juga digunakan sebagai link/pengarah yang berisi informasi tentang namespace tersebut
Kombinasi antara prefik, tanda ‘:’ dan nama (local name) disebut juga Qualified Name (Qname), contoh : h:table
Default namespace : xmlns="http://www.w3.org/1999/xhtml" Berarti semua nama elemen tanpa prefik menggunakan namespace ini
XML Schema
Sebuah dokumen XML dapat mempunyai referensi ke dokumen tambahan (schema) yang memberikan spesifikasi bagaimana struktur dokumen XML
Ketika disertakan Schema, aplikasi pengolah (parser) dapat mengecek struktur dokumen menggunakan informasi schema tersebut
Schema dapat digunakan untuk mengecek validitas sebuah dokumen XML
Schema di representasikan sebagai XML
Tag untuk schema biasanya mempunyai prefik xsd: (XML Schema Definition), yang berarti merupakan bagian dari schema yang mengarah pada http://www.w3.org/2001/XMLSchema