4. Pemrograman XML - XML Tree & DTD · merupakan parent, sedangkan tag dan ... elemen dalam XML....
Transcript of 4. Pemrograman XML - XML Tree & DTD · merupakan parent, sedangkan tag dan ... elemen dalam XML....
Pemrograman XML
XML Tree & XML Tree & DTDDTD
Salhazan Nasution, S.KomSalhazan Nasution, S.Kom,,
XML TreeXML Tree
2Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom
XML Tree<person>
<name>
<first_name>Michael</first_name>
<last_name>Heart</last_name>
</name>
<profession>computer scientist</profession>
<profession>musicians</profession>
<profession>volunteer</profession>
</person>
3Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom
Parent and ChildrenPada contoh sebelumnya tag <person> merupakan parent, sedangkan tag <name> dan <profession> adalah child.
Tapi tag <name> merupakan parent dari tag p g p p g<first_name> dan <last_name>
Tag child yang berada pada level yang samaTag child yang berada pada level yang sama dinamakan siblings (saudara kandung)
4Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom
The Root ElementSetiap dokumen XML memiliki satu element yang tidak memiliki parent, inilah yang dinamakan root element
5Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom
AttributAttribut merupakan informasi tambahan mengenai elemen dalam XML.
Setiap tag XML boleh memiliki lebih dari 1 atribut, untuk penulisan nilai dari attribut sebuah tag kirauntuk penulisan nilai dari attribut sebuah tag kiraharus menggunakan tanda ‘ atau “.
Contoh :Contoh :
<person gender="male">
Michael Heart
</person>
6
p
Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom
CommentsSama seperti HTML, di XML kita juga dapatmemberikan komentar.
Contoh :
<! ini merupakan komentar ><!–- ini merupakan komentar -->
<person gender="male">
Michael Heart
</person>
7Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom
XML DefinitionDokumen XML dimulai (boleh juga tidak) dengandeklarasi 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>
8Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom
XML Naming RulesElement XML harus mengikuti aturan sebagai berikut :
Dapat mengandung kata, angka, dan karakterDapat mengandung kata, angka, dan karakter lainnya.
Tidak boleh diawali dengan angka dan tanda bacaTidak boleh diawali dengan angka dan tanda baca
Tidak boleh mengandung spasi
9Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom
Well formed‐DocumentSetiap dokumen XML harus memiliki bentuk yang benar (well formed). Ada beberapa aturan untuk membuat dokumen XML yang well formed :yang well formed :
Setiap tag harus ada penutupnya
Setiap element boleh bersarang, akan tetapi tidak boleh saling overlap
Hanya boleh memiliki 1 root element
Atribut value harus memiliki tanda “ atau ‘
10Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom
Ciri‐ciri Tag XMLExtensible, penulis bisa mendefinisikan tag sendiri.
Tag XML selalu berpasangan.
Case sensitive.
Ekstensi file .xmlEkstensi file .xml
Hanya boleh memiliki 1 tag root.
T XML h di k t k b d t tid k t kTag XML hanya digunakan untuk membawa data, tidak untuk menampilkan data.
11Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom
Contoh XMLBenar :
<daftarmahasiswa><nim>04523001</nim><nama>Budi</nama><nama>Budi</nama>
</daftarmahasiswa>
12Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom
Contoh XMLSalah :
<daftarmahasiswa><nim>06523001<nama>Banu</nim><nama>Banu</nim></nama>
</daftarmahasiswa>/
13Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom
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><nama>mursalim tonggiroh</nama>
</mahasiswa>
14
</daftar>
Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom
Contoh XML<daftar><mahasiswa>
<nim>04523356</Nim>/<nama>salhazan</nama>
</mahasiswA><mahasiswa>
<nim>04523293<nama>ari wibowo</nim></nama>
</mahasiswa><maha siswa>
< i >04523117</ i ><nim>04523117</nim><nama>manohara</nama>
</mahasiswa>
15
</daftar>
Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom
Any Question?
16Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom
DTD( f )(Document Type Definition)
17Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom
Document Type Definition (DTD)Bertujuan untuk mendefinisikan pembangunan blokpada dokumen XML.
Dengan DTD, setiap dokumen XML dapat membawainformasi tentang format yang dibangun padainformasi tentang format yang dibangun padadokumen tersebut .
Digunakan untuk memvalidasi dokumen XMLDigunakan untuk memvalidasi dokumen XML, Sebuah dokumen XML tidak hanya memiliki bentukyang benar (well formed) akan tetapi juga harusyang benar (well formed) akan tetapi juga harusValid. Maka untuk itu digunakan DTD.
18Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom
Document Type Definition (DTD)Dokumen XML yang valid selalu mengikut sertakanDTD. DTD berisi daftar element,atribut dan entitiyang digunakan didalam sebuah dokumen XML.
Agar bisa dikatakan valid, semua yang ada didalamAgar bisa dikatakan valid, semua yang ada didalamdokumen XML harus dideklarasikan didalam DTD. Jika sebuah dokumen XML telah mengikut sertakangDTD maka dokumen XML tersebut bisa dikatakanValid.
19Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom
Document Type Definition (DTD)DTD tidak harus ditambahkan kedalam dokumenXML, namun konsekuensinya Dokumen XML tanpaDTD tidak dapat diperiksa validitasnya.
Dengan DTD, setiap dokumen XML dapat membawaengan T , setiap dokumen XM dapat membawainformasi tentang format yang dibangun padadokumen tersebut.
Dengan DTD, Aplikasi yang dibuat dapat melakukanverifikasi apakah boleh menerima data dari luar atauverifikasi apakah boleh menerima data dari luar atautidak.
20Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom
Well‐formed XML<daftarmahasiswa>
<nim>04523001</nim><nama>Budi Anduk</nama><jurusan>Teknik Informatika</jurusan>
</daftarmahasiswa>
21Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom
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><nama>Budi Anduk</nama><jurusan>Teknik Informatika</jurusan>
22
j j</daftarmahasiswa>
Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom
Document Type Definition (DTD)Untuk mendeklarasikan DTD, bisa menggunakan 2 cara :
Internal DTD (menjadi satu dengan dokumen XML)<?xml version=“1.0” standalone=“yes”?><!DOCTYPE daftar [<!ELEMENT daftar (#PCDATA)><!ELEMENT daftar (#PCDATA)>]>
Eksternal DTD (terpisah pada file lainnya)<?xml version=“1.0” standalone=“no”?><!DOCTYPE daftar SYSTEM “daftar.dtd”>
23Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom
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><nama>Budi Anduk</nama><jurusan>Teknik Informatika</jurusan>
24
j j</daftarmahasiswa>
Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom
Eksternal DTD<?xml version=“1.0”?><!DOCTYPE daftarmahasiswa SYSTEM “mahasiswa.dtd”>
<daftarmahasiswa><nim>04523001</nim><nama>Budi Anduk</nama><jurusan>Teknik Informatika</jurusan>
</daftarmahasiswa>
25Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom
Document Type Definition (DTD)Pada contoh sebelumnya elemen berisi (#PCDATA) yang berartibahwa isi dari elemen hanya teks biasa. Jika diinginkan elemenberisi teks dan elemen lain maka kita bisa menggunakan ANYberisi teks dan elemen lain maka kita bisa menggunakan ANY, adapun jika hanya elemen saja maka isikan dengan namaelemen.elemen.
26Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom
Element DefinitionSetiap element yang digunakan didalam dokumen XML harusdideklarasikan didalam Dokumen DTD
<!ELEMENT element_name content_specification>
27Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom
Tipe DataSetiap element pada dokumen XML harus memiliki tipe data
• #PCDATA tipe data yang bisa di parserCth : <!ELEMENT phone_number (#PCDATA)> p _
• CDATA tipe data yang tidak bisa diparser. Biasanyadigunakan pada atribut list
Cth : <!ATTLIST phone_number (CDATA)>
28Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom
The Number of ChildrenSetiap element dalam dokumen XML yang telah dideklarasikanpada DTD bisa ditampilkan sesuai dengan yang kita inginkan.
? element BOLEH TIDAK muncul atau MAX 1 kali
* element BOLEH TIDAK muncul atau BOLEH LEBIH 1 kali
+ element HARUS muncul dan BOLEH LEBIH 1 kali
| element boleh berisi beberapa child atau karakter (seperti fungsi or)
tidak ada tanda element harus muncul tepat 1 kali
29Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom
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><nama>Budi Anduk</nama><jurusan>Teknik Informatika</jurusan>
30
j j</daftarmahasiswa>
Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom
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><nama>Budi Anduk</nama>
</daftarmahasiswa>
31Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom
<?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>
<telp>08123456789</telp>
<telp>0219876543</telp>
</mahasis a>
32
</mahasiswa>
</daftarmahasiswa>Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom
<?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>
<nama>Sabria</nama><nama>Sabria</nama>
<alamat>Jakal km 15</alamat>
<telp>08123456789</telp>
<telp>0219876543</telp>
33
<telp>0219876543</telp>
</mahasiswa>
</daftarmahasiswa> Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom
See you next timeSee you next timeAny Question?
See you next time..See you next time..
34Pemrograman XML (Semester Ganjil 2009/2010) ‐ Salhazan Nasution, S.Kom