PEMROGRAMAN WEB 11 – XML, XHTML dan JSON
Andi WRE
XML (eXtensible Markup Language) Dirancang untuk membawa dan menyimpan data, bukan menampilkan data Tidak ada standar untuk tag XML, nama tag ditentukan sendiri. Dokumen XML disimpan dalam bentuk file teks dengan ekstensi .xml Perbedaan XML dan HTML : - XML bukan pengganti HTML - HTML didesain untuk menampilkan data - XML didesain untuk membawa data
Here comes–your Web Programming XMLfooter dan XHTML
XML Tree Dokumen XML membentuk struktur Tree Dokumen XML diawali dengan deklarasi XML yang menspesifikasikan versi XML yang digunakan.
Semua dokumen XML harus memiliki satu element root Istilah pada XML : root, parent, child, sibling Setiap element dapat memiliki atribut untuk informasi tambahan
Here comes–your Web Programming XMLfooter dan XHTML
XML Tree
Root : parent dari semua element Parent : element yang memiliki child Sibling : child pada level yang sama Here comes–your Web Programming XMLfooter dan XHTML
[contoh] XML
Root :
memiliki 4 child yaitu : , , , <price>
Here comes–your Web Programming XMLfooter dan XHTML
Ketentuan penulisan tag XML 1. Element XML terdiri dari 3 bagian : tag pembuka, konten, tag penutup 2. Case sensitive 3. Nama tag dibuat sendiri 4. Properly Nested, penulisan pasangan element harus sequential (berurut) 5. Harus memiliki 1 element root 6. Nilai suatu atribut harus diapit karakter kutip (" … ") 7. Karakter khusus
8. Komentar di XML < ! - - comment - - >
Here comes–your Web Programming XMLfooter dan XHTML
Aturan penamaan XML Dapat mengandung karakter dan angka Tidak diawali dengan angka atau tanda baca (punctuation character) Tidak diawali dengan kata "xml" Tidak mengandung spasi Gunakan "_" (underscore) untuk pemisah Nama – nama seharusnya singkat dan simpel
Note : XML Validator http://www.w3schools.com/xml/xml_validator.asp Here comes–your Web Programming XMLfooter dan XHTML
Atribut XML Jika memungkinkan konversikan semua atribut menjadi element Contoh :
Permasalahan menggunakan atribut : - Atribut tidak dapat menyimpan multiple value (element bisa) - Atribut tidak memiliki struktur tree (element bisa) - Atribut sulit di-upgrade (for future changes)
Note : Attributes are difficult to read and maintain. Use elements for data. Use attributes for information that is not relevant to the data. Here comes–your Web Programming XMLfooter dan XHTML
Well Form XML Dokumen XML yang memiliki sintaks XML yang benar (memenuhi aturan penamaan XML) Contoh :
Here comes–your Web Programming XMLfooter dan XHTML
Valid XML Well Formed XML yang dilengkapi dengan Document Type Definition (DTD) DTD : mendefinisikan struktur dokumen Contoh :
Here comes–your Web Programming XMLfooter dan XHTML
[contoh] Viewing XML Files
Here comes–your Web Programming XMLfooter dan XHTML
Displaying XML with CSS XML dapat diformat dengan CSS Property CSS yang digunakan sama dengan property CSS pada HTML Mengaitkan file CSS dan dokumen XML
Here comes–your Web Programming XMLfooter dan XHTML
[Contoh] XML with CSS
Here comes–your Web Programming XMLfooter dan XHTML
Displaying XML with XSLT eXtensible Stylesheet Language Transformations Mengubah dokumen XML menjadi HTML file.xml
Here comes–your Web Programming XMLfooter dan XHTML
Displaying XML with XSLT modul_xml.xsl
Here comes–your Web Programming XMLfooter dan XHTML
XML JavaScript XML Parser digunakan untuk mengkonversi dokumen XML ke XML DOM object, sehingga dapat membaca file XML DOM (Document Object Model) mengakses dan memanipulasi data Syntax parses an XML document into an XML DOM object :
XMLHttpRequest object : bertukar data dengan server Here comes–your Web Programming XMLfooter dan XHTML
XML JavaScript XML DOM membaca dokumen XML sebagai struktur tree getElementsByTagName(“val") : Kumpulan elemen dengan nama tag val dalam bentuk array. childNodes : Akses ke elemen child. Dikembalikan dalam bentuk array. parentNode : Akses ke elemen parent. nextSibling : Akses ke elemen sebelah kanan. nodeName : Akses nama tag. nodeValue : Akses ke nilai konten
Here comes–your Web Programming XMLfooter dan XHTML
[Contoh] XML JavaScript
Here comes–your Web Programming XMLfooter dan XHTML
XHTML eXtensible HyperText Markup Language HTML yang memenuhi standar XML Aturan yang harus dipenuhi : - Properly nested - Tag selalu berpasangan - Lowercase - Nilai atribut harus diapit karakter kutip - Memiliki satu elemen root
Here comes–your Web Programming XMLfooter dan XHTML
XHTML
Here comes–your Web Programming XMLfooter dan XHTML
Aturan XHTML Elements Must Be Properly Nested X
O Empty Elements Must Also Be Closed X
O Elements Must Be In Lower Case X
O Attribute Names Must Be In Lower Case X
O
Here comes–your Web Programming XMLfooter dan XHTML
Aturan XHTML Attribute Values Must Be Quoted X
O Attribute Minimization Is Forbidden X
O
Here comes–your Web Programming XMLfooter dan XHTML
Keunggulan dan Kelemahan XML Keunggulan XML: -
Format terbuka yang standar Dapat mereprentasikan hampir semua jenis data Mudah dibaca (oleh manusia) Banyak perangkat untuk mengolah XML di banyak bahasa pemrograman
Kelemahan XML: - Struktur dengan sintaks yang besar membuat file menjadi besar - Mungkin sulit untuk “memaksa” beberapa jenis data menjadi format XML yang baik - Kode Javascript untuk menavigasi XML DOM sangat besar dan tidak menyenangkan
Here comes your footer
Web Programmin
JSON – JavaScript Object Notation JSON : format data yang melambangkan data sebagai sebuah set dari JavaScript obyek - Ditemukan oleh Douglas Crockford (dari Yahoo!) - Didukung secara native di hampir semua browser modern - Tidak sepopuler XML, tetapi semakin populer karena kesederhanaan dan kemudahan pemakaian
Here comes your footer
Web Programmin
Sintaks Obyek JavaScript
Di JavaScript, kita dapat membuat obyek baru tanpa membuat class Sebuah obyek dapat memiliki methods (function properties) yang direferensikan ke diri sendiri dengan this Dapat mereferensikan beberapa fields dengan [“fieldName”] atau .fieldName jika fieldName adalah identifier legal dari JavaScript Nama – nama field dapat ditempatkan dalam quote (e.g weight)
Here comes your footer
Web Programmin
XML vs JSON
Here comes your footer
Web Programmin
Method dengan JSON JSON.parse(string) : konversi string dari JSON data ke obyek JavaScript yang ekuivalen dan mengembalikannya JSON.stringify(object) : konversi sebuah obyek dari JSON data ke sebuah string (lawan dari JSON.parse)
Here comes your footer
Web Programmin
Latihan Ekspresi JSON
Ekspresi apakah yang akan dihasilkan?
Here comes your footer
Web Programmin