Fundamental XML

of 60 /60
Fundamental XML Erick Kurniawan, S.Kom, M.Kom

Embed Size (px)

Transcript of Fundamental XML

Fundamental XMLErick Kurniawan, S.Kom, M.Kom

XMLXML kependekan dari eXtensible Markup Language, dikembangkan mulai tahun 1996 dan mendapatkan pengakuan dari W3C pada bulan Februari 1998 XML adalah suatu bahasa Markup, yaitu bahasa yang berisikan kode-kode berupa tanda-tanda tertentu dengan aturan tertentu untukmemformat dokumen teks dengan tag sendiri agar dapat dimengerti XML menyediakan format untuk mendeskripsikan data terstruktur

Mengapa butuh XML?Perhatikan Contoh HTML berikut :Erick Kurniawan
Dr Wahidin Sudirahusada 5-19
Yogyakarta
[email protected]

Apakah anda mengerti maksud dokumen diatas? Bagaimana dengan komputer? Komputer tidak dapat mengartikan bahwa dokumen tersebut adalah alamat seseorang Sehingga perlu dijelaskan agar komp dapat mengerti, caranya?

Contoh XML? Erick Kurniawan Dr Wahidin Sudirahusada 5-19 Yogyakarta Ina 55224 [email protected]

Penyedia informasi dapat mendefinisikan elemen dan atribut baru sesuai kebutuhan Struktur dokumen dapat bersarang pada sembarang level

Keuntungan XMLEkstensibilitas : dapat ditukar/digabung dengan dokumen XML lain Memungkinkan pemrograman yang lebih baik: maka dibuat suatu software pengolah XML Memisahkan data dan presentasi. Yang akan direpresentasikan dalam XML dan XSLT Pencarian data cepat karena XML merupakan data dalam format yang terstruktur Plain Text dan platform independent Untuk pertukaran data

Perbedaan XML & HTMLHTML merupakan tag untuk memformat tampilan (menitik-beratkan pada unsur presentasi) XML merupakan tag untuk menkontrol data dan tidak memperhatikan tampilan (menitik-beratkan pada unsur representasi data)

Jenis Dokumen XMLAda 3 jenis dokumen XML Well Formed XML: jika mengikuti spesifikasi XML namun tidak memiliki DTD/Schema Valid XML: jika mengikuti spesifikasi XML dan sesuai dengan DTD atau Schema Invalid XML: jika tidak mengikuti aturan XML dan tidak memiliki DTD

Aturan Dasar XML (1)Dokumen XML digunakan untuk mendeskripsikan sendiri dokumen tersebut dengan sintaks yang sederhanaContoh: Tove Jani Reminder Don't forget me this weekend!

Aturan Dasar XML (1)Bagian pertama adalah tag yang medefinisikan versi xml dan encoding yang digunakan. Kemudian bagian adalah elemen root dalam dokumen. Bagian , , , dan mendeskripsikan child elements dari elemen

Aturan Dasar XML (2)Semua tag xml harus memiliki tag penutupparagraph pertama paragraph kedua

Tag tunggal hanya diperbolehkan untuk elemen kosong, Contoh penulisannya sebagai berikut:

Aturan Dasar XML (3)Heading standard untuk Document XML Biasakanlah setiap membuat dokumen XML diawali dengan heading standard XML. Formatnya adalah sebagai berikut:

Berfungsi untuk: mendefinisikan versi, definisi entitas, dan DOCTYPE Version diperlukan Standalone: no jika ada dokumen eksternal yang diperlukan, misalnya DTD

Aturan Dasar XML (4)Tag XML adalah case sensitive (membedakan antara huruf besar dan kecil) Contoh berikut adalah contoh yang salah: Program Keahlian 1 Erick Kurniawan

Aturan Dasar XML (5)Semua tag XML harus tersarang dengan benar dan tidak terbalik-balik. Contoh:This text is bold and italic wrong This text is bold and italic right

Aturan Dasar XML (6)Semua dokumen XML harus memiliki elemen root. Elemen root adalah elemen teratas yang harus memiliki tag penutup.Contoh: .....

Dalam contoh di atas elemen adalah elemen root.

Aturan Dasar XML (7)Nilai atribut harus diapit dalam tanda petik ganda (quote)Contoh: Tove

Aturan Dasar XML (8)Dalam XML karakter white space (spasi) dibaca sebagai karakter spasi Dalam HTML lebih dari satu karakter white space dihilangkan sehinggaHello my name is Tove akan menjadi Hello my name is Tove

Namun dalam XML karakter white space tetap dibaca sebagai karakter white space

Aturan Dasar XML (9)Komentar adalah kalimat/baris yang tidak dieksekusi oleh compiler, browser atau parser. Penulisan komentar di XML menggunakan tanda

Aturan Dasar XML (10)Dalam XML, karakter adalah illegal. Contoh dibawah ini akan menghasilkan error kalau di eksekusi oleh browserjika jumlah < 1000 maka

Agar benar, maka harus dilakukan hal sebagai berikut:jika jumlah < 1000 maka

Elemen XMLDokumen XML memiliki elemen-elemen didalamnya Elemen XML adalah blok utama penyusun XML yang memiliki relasi antar elmen-elemen lainnya dan diapit oleh tag-tag Jika terdapat sebuah dokumen HTML seperti berikut:

Elemen XMLMaka jika dibuat dokumen XML-nya akan menjadi seperti berikut: My First XML Introduction to XML What is HTML What is XML XML Syntax Elements must have a closing tag Elements must be properly nested

Elemen XMLKeterangan: Elemen adalah root element. Elemen , , dan adalah child elements dari Elemen adalah parent element dari , , and Elemen , , dan adalah kembar (atau memiliki relasi yang disebut sister elements) sebab mereka memiliki parent yang sama

Struktur Pohonnya

Elemen XMLElemen dapat memiliki tipe isi yang berbedabeda Sebuah elemen XML adalah semua kata dari tag pembuka elemen sampai tag penutup elemen termasuk tag itu sendiri Sebuah elemen dapat memiliki : element content: dalam contoh di atas, memiliki element content, karena mengandung elemen lain mixed content: dalam contoh diatas, memiliki mixed content karena berisi teks dan elemen lain

Elemen XMLsimple content: dalam contoh diatas, memiliki simple content atau text content sebab mengandung hanya teks saja empty content: dalam memiliki empty content karena tidak membawa satu informasipun Sebuah elemen juga dapat memiliki atribut Hanya elemen yang memiliki atribut Atribut memiliki nilai "33-657" Atribut bernama memiliki nilai "paper"

Node XMLSebuah dokumen XML terdiri dari bagian bagian yang disebut dengan node Node-node itu adalah: Root node: yaitu node yang melingkupi keseluruhan dokumen. Dalam satu dokumen XML hanya ada satu root node. Node-node yang lainnya berada di dalam root node. Element node: yaitu bagian dari dokumen XML yang ditandai dengan tag pembuka dan tag penutup, atau bisa juga sebuah tag tunggal elemen kosong seperti

Node XMLAttribute node: berupa elemen tambahan dari elemen utama Text node: adalah text yang merupakan isi dari sebuah elemen, ditulis diantara tag pembuka dan tag penutup Comment node: adalah baris yang tidak dieksekusi oleh parser Processing Instruction node: adalah perintah pengolahan dalam dokumen XML. Node ini ditandai dengan karakter . Tapi perlu diingat bahwa header standard XML bukanlah processing instruction node

Node XMLHeader standard bukanlah bagian dari hirarki pohon dokumen XML NameSpace Node: node ini mewakili deklarasi namespace

Node XMLPenamaan elemen XML memiliki aturan seperti: Nama hanya mengandung huruf, nama, dan karakter lain Nama tidak boleh diawali dengan angka maupun karakter punctuation Nama tidak boleh diawali dengan karakter xml atau XML atau Xml Nama tidak boleh mengandung spasi

Namespace XMLTag-tag pada XML tidak didefinisikan secara baku tetapi kita buat sendiri sesuai keinginan kita Karena itu akan sering terjadi konflik pada dua dokumen yang menggunakan nama tag yang sama tetapi mewakili dua hal yang berbeda

Namespace XMLBila ada dokumen yang mendiskripsikan tentang kebutuhan material pembuatan gardu jaga dari bambu: Jawa 2

Sedangkan jika terdapat dokumen yang mendiskripsikan bambu sebagai merk produk: 246 200

Namespace XMLUntuk mengatasi hal ini, Namespace menyediakan metode dengan menggunakan prefiks yang berbeda untuk dokumen pertama: Jawa 2

Sedangkan untuk dokumen kedua menjadi seperti berikut: 246 200

Namespace XMLAturan penggunaan namespace adalah sebagai berikut:

a adalah prefix yang dipakai, sedangkan atribut namespace di tambahkan pada tag. Syntax untuk atribut namespace adalah sebagai berikut: xmlns:a=namespace Pada contoh diatas namespace-nya menggunakan alamat internet W3C namespace spesification menyatakan bahwa namespace haruslah merupakan Uniform Resource Identifier (URI)

ATRIBUT DAN CDATA (Character Data)Elemen XML dapat memiliki atribut seperti pada tag HTML Atribut biasanya menyediakan informasi ekstra dari elemen Dalam contoh dibawah ini file type tidak relevan dengan data, tetapi penting untuk software yang ingin memanipulasi elemen tersebut. Contoh:computer.gif

ATRIBUT DAN CDATA (Character Data)Beberapa hal yang harus diperhatikan dalam penggunaan atribut: Atribut tidak dapat mengandung banyak nilai tetapi elemen child bisa. Atribut tidak mudah diubah untuk pengembangan masa yang akan datang. Atribut tidak dapat mendeskripsikan strukturnya tetapi elemen child bisa. Atribut lebih sulit di-parsing oleh program penerjemah XML. Nilai atribut tidak mudah untuk ditangani oleh DTD yang digunakan untuk mendefinisikan validasi dan legalitas elemen dokumen XML

ATRIBUT DAN CDATA (Character Data)Semua teks dalam dokumen XML, yang disebut PCDATA (Parsed Character Data), akan diparse oleh XML Parser Hanya teks yang berada dalam bagian CDATA (Character Data) saja yang akan dilewati oleh XML Parser CDATA tidak boleh berisi string "]]>", CDATA tidak boleh bersarang, dan tidak boleh ada spasi atau enter didalam string "]]>"

DOCTYPE XML : DTDDocument Type Definition DTD bertujuan untuk mendefinisikan sebuah blok yang valid dari sebuah dokumen XML dan agar setiap dokumen XML memiliki deskripsi yang sesuai dengan formatnya DTD berisi aturan-aturan yang digunakan untuk memvalidasi sebuah dokumen XML DTD dapat ditulis bersama dengan dokumen XML (internal) ataupun terpisah menjadi file DTD sendiri (eksternal)

Jenis DTDJika DTD ditulis dalam file XML (internal) maka harus mengikuti sintaks:

Sedangkan untuk eksternal DTD sintaksnya adalah: dan

root element adalah nama elemen root dari dokumen XML Kata kunci SYSTEM berarti DTD tersebut merancu pada DTD local berupa file, sedangkan kata kunci PUBLIC mengacu pada DTD berupa file pada URL tertentu

Contoh DTD Internal ]> Tove Jani Reminder Don't forget me this weekend

Contoh DTD System Tove Jani Reminder Don't forget me this weekend! node.dtd

Contoh DTD Public Tove Jani Reminder Don't forget me this weekend!

Format FPI (Format Public Identifier)"-//erick/Ericks Note/ID" Minus (-) : private Plus (+) : non standard dengan DTD yang sudah disepakati Group yang bertanggung jawab terhadap DTD (erick) Deskripsi DTD (Ericks Note) Bahasa yang digunakan (ID)

PENDEFINISIAN ELEMENT DALAM DTDElemen dalam DTD dapat dideklarasikan dengan sintaks: atau

Kategori Elemen dalam DTD: ANY : sembarang data yang well formed XML (kombinasi dari data yang dapat diparsing). Ditulis dengan sintaks:

Empty Element : tidak berisi data, seperti:
, yang ditulis sesuai sintaks:

PENDEFINISIAN ELEMENT DALAM DTDPCDATA : Elemen yang hanya berisi data karakter ditulis sesuai sintaks:

Child Element : berisi elemen anak yang valid, yang ditulis dengan sintaks: atau

Campuran: berisi elemen atau karakter data

PENDEFINISIAN ELEMENT DALAM DTDKardinalitas Element:[none] : default (hanya 1 elemen) ? : 0 .. 1 * : 0,1 .. N + : 1 .. N

Daftar Operator Element:, : deret urutan | : pilihan (satu atau beberapa) () : pengelompokkan

Contoh DTD note (to,from,heading,body*)> to (#PCDATA)> from (#PCDATA)> heading (#PCDATA)> body (#PCDATA)>

Elemen dapat berisi 1..N elemen Elemen berisi , , , dan 0,1..N elemen . Sedangkan elemen lainnya berisi #PCDATA (Parsed Character Data)

Contoh DTD

Contoh DTD

Atribute dlm DTDUntuk mendefinisikan atribut dalam XML Bentuk umum:

Attribute Type: CDATA : data yang tidak di parsing, yaitu merupakan teks biasa Enumeration: (element1 | element2 | element3) ID : nilai adalah id yang unik IDREF dan IDREFS : nilai adalah id atau list id dari elemen yang lain

Atribute dlm DTDNMTOKEN (berupa angka, karakter, koma, titik koma, dan titik) dan NMTOKENS (berupa NMTOKEN ditambah whitespace) : nilai adalah nama XML yang valid atau list dari nama XML yang valid ENTITY dan ENTITIES : nilai adalah entity atau list entity NOTATION : nilai adalah nama notasi

Atribute Value

Contoh Atribute dlm DTD

Contoh Atribute dlm DTD

Contoh Atribute dlm DTD

Contoh Atribute dlm DTD

Entity dlm DTDDengan menggunakan entity XML kita bisa menggantikan kalimat yang panjang atau satu blok elemen yang sering kita gunakan dengan sebuah pengenal singkat Misalnya kita ingin menggantikan kalimat Manajemen Data dan Informasi dengan XML/XSL dengan entity &judul Sekali entity didefinisikan di dalam DTD, kita bisa menggunakannya dimana saja pada seluruh dokumen XML

Entity dlm DTD Buku yang berjudul &judul; ini ditulis oleh Moh Junaedi..

Entity dlm DTD