PEMROGRAMAN WEB 11 – XML, XHTML dan JSON

advertisement
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.
<?xml version="1.0" encoding="ISO-8859-1"?>
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 : <bookstore>
<book> memiliki 4 child yaitu :
<title>, <author>, <year>,
<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
<?xml-stylesheet type="text/css" href=“file.css"?>
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
Download