Pemrograman XML
XML Tree &
XML Tree
XML Tree
XML Tree
<person> <name> <first_name>Michael</first_name> <last_name>Heart</last_name> </name> <profession>computer scientist</profession> <profession>musicians</profession>Parent and Children
9 Pada contoh sebelumnya tag <person>
merupakan parent, sedangkan tag <name> dan
<profession>
adalah child.
9 Tapi tag <name> merupakan parent dari tag
p
g
p
p
g
<first_name>
dan <last_name>
9 Tag child yang berada pada level yang sama
9 Tag child yang berada pada level yang sama
The Root Element
9 Setiap dokumen XML memiliki satu element yang
tidak memiliki parent, inilah yang dinamakan root
Attribut
9 Attribut merupakan informasi tambahan mengenai
elemen dalam XML.
9 Setiap tag XML boleh memiliki lebih dari 1 atribut,
untuk penulisan nilai dari attribut sebuah tag kira
untuk penulisan nilai dari attribut sebuah tag kira
harus menggunakan tanda ‘ atau “.
Contoh :
Contoh :
<person gender="male">
Michael Heart
Comments
9 Sama seperti HTML, di XML kita juga dapat
memberikan komentar.
Contoh :
<!
ini merupakan komentar
>
<!–- ini merupakan komentar -->
<person gender="male">
XML Definition
9 Dokumen XML dimulai (boleh juga tidak) dengan
deklarasi XML.
Contoh :
<?xml version="1 0" encoding="ASCII"
<?xml version="1.0" encoding="ASCII"
standalone="yes"?>
<person gender="male">
<person gender="male">
Michael Heart
</person>
XML Naming Rules
Element XML harus mengikuti aturan sebagai berikut :
9 Dapat mengandung kata, angka, dan karakter
Dapat mengandung kata, angka, dan karakter
lainnya.
9 Tidak boleh diawali dengan angka dan tanda baca
9 Tidak boleh diawali dengan angka dan tanda baca
9 Tidak boleh mengandung spasi
Well formed‐Document
Setiap dokumen XML harus memiliki bentuk yang benar (well
formed). Ada beberapa aturan untuk membuat dokumen XML
yang well formed :
yang well formed :
9 Setiap tag harus ada penutupnya
9 Setiap element boleh bersarang, akan tetapi tidak boleh
saling overlap
9 Hanya boleh memiliki 1 root element
Ciri‐ciri Tag XML
9 Extensible, penulis bisa mendefinisikan tag sendiri.
9 Tag XML selalu berpasangan.
9 Case sensitive.
9 Ekstensi file .xml
Ekstensi file .xml
9 Hanya boleh memiliki 1 tag root.
9 T XML h
di
k
t k
b
d t tid k
t k
9 Tag XML hanya digunakan untuk membawa data, tidak untuk
Contoh XML
Benar :
<daftarmahasiswa> <nim>04523001</nim> <nama>Budi</nama> <nama>Budi</nama> </daftarmahasiswa>Contoh XML
Salah :
<daftarmahasiswa> <nim>06523001 <nama>Banu</nim> <nama>Banu</nim> </nama> </daftarmahasiswa>/Contoh XML
<daftar> <mahasiswa> <nim>04523356</nim>/ <nama>salhazan</nama> </mahasiswa> <mahasiswa> <nim>04523293</nim> <nama>ari wibowo</nama> </mahasiswa> <mahasiswa> < i >04523117</ i > <nim>04523117</nim>Contoh XML
<daftar> <mahasiswa> <nim>04523356</Nim>/ <nama>salhazan</nama> </mahasiswA> <mahasiswa> <nim>04523293 <nama>ari wibowo</nim></nama> </mahasiswa>DTD
(
f
)
Document Type Definition (DTD)
9 Bertujuan untuk mendefinisikan pembangunan blok
pada dokumen XML.
9 Dengan DTD, setiap dokumen XML dapat membawa
informasi tentang format yang dibangun pada
informasi tentang format yang dibangun pada
dokumen tersebut .
9 Digunakan untuk memvalidasi dokumen XML
9 Digunakan untuk memvalidasi dokumen XML,
Sebuah dokumen XML tidak hanya memiliki bentuk
yang benar (well formed) akan tetapi juga harus
Document Type Definition (DTD)
9 Dokumen XML yang valid selalu mengikut sertakan
DTD. DTD berisi daftar element,atribut dan entiti
yang digunakan didalam sebuah dokumen XML.
9 Agar bisa dikatakan valid, semua yang ada didalam
Agar bisa dikatakan valid, semua yang ada didalam
dokumen XML harus dideklarasikan didalam DTD.
Jika sebuah dokumen XML telah mengikut sertakan
g
DTD maka dokumen XML tersebut bisa dikatakan
Document Type Definition (DTD)
9 DTD tidak harus ditambahkan kedalam dokumen
XML, namun konsekuensinya Dokumen XML tanpa
DTD tidak dapat diperiksa validitasnya.
9 Dengan DTD, setiap dokumen XML dapat membawa
engan T , setiap dokumen XM dapat membawa
informasi tentang format yang dibangun pada
dokumen tersebut.
9 Dengan DTD, Aplikasi yang dibuat dapat melakukan
verifikasi apakah boleh menerima data dari luar atau
verifikasi apakah boleh menerima data dari luar atau
Well‐formed XML
<daftarmahasiswa>
<nim>04523001</nim>
<nama>Budi Anduk</nama>
<jurusan>Teknik Informatika</jurusan>
</daftarmahasiswa>
Contoh DTD
<?xml version=“1.0”?>
<!DOCTYPE daftarmahasiswa [
<!ELEMENT daftarmahasiswa (nim nama jurusan)> <!ELEMENT daftarmahasiswa (nim,nama,jurusan)> <!ELEMENT nim (#PCDATA)>
<!ELEMENT nama (#PCDATA)>
<!ELEMENT jurusan (#PCDATA)> ]>
<daftarmahasiswa>
<nim>04523001</nim> <nim>04523001</nim>
Document Type Definition (DTD)
Untuk mendeklarasikan DTD, bisa menggunakan 2 cara :
9 Internal DTD (menjadi satu dengan dokumen XML)
<?xml version=“1.0” standalone=“yes”?> <!DOCTYPE daftar [
<!ELEMENT daftar (#PCDATA)> <!ELEMENT daftar (#PCDATA)> ]>
Internal DTD
<?xml version=“1.0”?>
<!DOCTYPE daftarmahasiswa [
<!ELEMENT daftarmahasiswa (nim nama jurusan)> <!ELEMENT daftarmahasiswa (nim,nama,jurusan)> <!ELEMENT nim (#PCDATA)>
<!ELEMENT nama (#PCDATA)>
<!ELEMENT jurusan (#PCDATA)> ]>
<daftarmahasiswa>
<nim>04523001</nim> <nim>04523001</nim>
Eksternal DTD
<?xml version=“1.0”?>
<!DOCTYPE daftarmahasiswa SYSTEM “mahasiswa.dtd”>
<daftarmahasiswa>
<nim>04523001</nim>
<nama>Budi Anduk</nama>
<jurusan>Teknik Informatika</jurusan> </daftarmahasiswa>
Document Type Definition (DTD)
Pada contoh sebelumnya elemen berisi (#PCDATA) yang berarti
bahwa isi dari elemen hanya teks biasa. Jika diinginkan elemen
berisi teks dan elemen lain maka kita bisa menggunakan ANY
berisi teks dan elemen lain maka kita bisa menggunakan ANY,
adapun jika hanya elemen saja maka isikan dengan nama
elemen.
elemen.
Element Definition
Setiap element yang digunakan didalam dokumen XML harus
dideklarasikan didalam Dokumen DTD
Tipe Data
Setiap element pada dokumen XML harus memiliki tipe data
•
#PCDATA tipe data yang bisa di parser
Cth :
<!ELEMENT phone_number (#PCDATA)>
p
_
•
CDATA tipe data yang tidak bisa diparser. Biasanya
digunakan pada atribut list
The Number of Children
Setiap element dalam dokumen XML yang telah dideklarasikan
pada DTD bisa ditampilkan sesuai dengan yang kita inginkan.
? p element BOLEH TIDAK muncul atau MAX 1 kali
* p element BOLEH TIDAK muncul atau BOLEH LEBIH 1 kali
+ p element HARUS muncul dan BOLEH LEBIH 1 kali
Contoh DTD
<?xml version=“1.0” standalone=“yes”?> <!DOCTYPE daftarmahasiswa [
<!ELEMENT daftarmahasiswa (nim nama jurusan)> <!ELEMENT daftarmahasiswa (nim,nama,jurusan)> <!ELEMENT nim (#PCDATA)>
<!ELEMENT nama (#PCDATA)>
<!ELEMENT jurusan (#PCDATA)> ]>
<daftarmahasiswa>
<nim>04523001</nim> <nim>04523001</nim>
Contoh DTD
<?xml version=“1.0” standalone=“yes”?> <!DOCTYPE daftarmahasiswa [
<!ELEMENT daftarmahasiswa (nim nama jurusan)> <!ELEMENT daftarmahasiswa (nim,nama,jurusan)> <!ELEMENT nim (#PCDATA)>
<!ELEMENT nama (#PCDATA)>
<!ELEMENT jurusan (#PCDATA)> ]>
<?xml version=“1.0” standalone=“yes”?> <?xml version 1.0 standalone yes ?> <!DOCTYPE daftarmahasiswa [
<!ELEMENT daftarmahasiswa (mahasiswa)> <!ELEMENT mahasiswa (nama alamat+ telp?)> <!ELEMENT mahasiswa (nama,alamat+,telp?)> <!ELEMENT nama (#PCDATA)>
<!ELEMENT alamat (#PCDATA)> <!ELEMENT telp (#PCDATA)> ]> <daftarmahasiswa> <mahasiswa> <nama>Budi Anduk</nama> </mahasiswa> <mahasiswa> <nama>Sabria</nama> <alamat>Jakal km 15</alamat> <alamat>Jakal km 15</alamat>
<?xml version=“1.0” standalone=“yes”?> <?xml version 1.0 standalone yes ?> <!DOCTYPE daftarmahasiswa [
<!ELEMENT daftarmahasiswa (mahasiswa+)> <!ELEMENT mahasiswa (nama alamat+ telp*)> <!ELEMENT mahasiswa (nama,alamat+,telp*)> <!ELEMENT nama (#PCDATA)>
<!ELEMENT alamat (#PCDATA)> <!ELEMENT telp (#PCDATA)> ]> <daftarmahasiswa> <mahasiswa> <nama>Budi Anduk</nama> <alamat>Jakal km 10</alamat> </mahasiswa> <mahasiswa>