teknologi xml - pengenalan dtd

Post on 17-Dec-2014

1.992 Views

Category:

Education

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

Dokumen XML yang baik adalah jika memenuhi syarat well formed and valid. DTD dibutuhkan sebagai blueprint untuk mencetak dokumen XML yang valid. Disertai beberapa contoh dokumen XML yang memiliki DTD. Enjoy..

TRANSCRIPT

XML – Pengenalan DTD

Teknologi XML (2010/2011) - Mar 04, 2011 Teknik Informatika, Universitas Islam Indonesia

Follow Hari Setiaji on twitter

Skenario: Memindah data dari lib A ke lib B

Java EEJava EE PHPPHPif(is_wf("books.xml")) { save_to_DB("books.xml");}

if(is_wf("books.xml")) { save_to_DB("books.xml");}

Library A Library B

Teknologi XML (2010/2011) – Hari Setiaji, S.KomTeknologi XML (2010/2011) – Hari Setiaji, S.Kom

Better Way

Java EEJava EE PHPPHPif(is_wf("books.xml") and is_valid("books.xml") { save_to_DB("books.xml");}

if(is_wf("books.xml") and is_valid("books.xml") { save_to_DB("books.xml");}

Library A Library B

Teknologi XML (2010/2011) – Hari Setiaji, S.KomTeknologi XML (2010/2011) – Hari Setiaji, S.Kom

Well Formed and Valid Document

Dokumen harus well formedDokumen harus well formed Terdiri atas satu root elementTerdiri atas satu root element Mempunyai parent and childMempunyai parent and child

(Ingat Konsep Tree)(Ingat Konsep Tree) Atribut mesti sesuai dan di - Atribut mesti sesuai dan di - quotequote

Dokumen ‘may’ validDokumen ‘may’ valid Struktur dokumen dan konten mengikuti Struktur dokumen dan konten mengikuti

aturan yang telah didefenisikan (DTD, XML aturan yang telah didefenisikan (DTD, XML Schema)Schema)

Teknologi XML (2010/2011) – Hari Setiaji, S.KomTeknologi XML (2010/2011) – Hari Setiaji, S.Kom

Contoh Dokumen Well Formed

Teknologi XML (2010/2011) – Hari Setiaji, S.KomTeknologi XML (2010/2011) – Hari Setiaji, S.Kom

<daftarmahasiswa>

<nim>04523001</nim>

<nama>Sabrina</nama>

<jurusan>Teknik Informatika</jurusan>

</daftarmahasiswa>

Contoh Dokumen Well Formed (+ DTD)

Teknologi XML (2010/2011) – Hari Setiaji, S.KomTeknologi XML (2010/2011) – Hari Setiaji, S.Kom

<?xml version=“1.0”?>

<!DOCTYPE daftarmahasiswa [

<!ELEMENT daftarmahasiswa (nim,nama,jurusan)>

<!ELEMENT nim (#PCDATA)>

<!ELEMENT nama (#PCDATA)>

<!ELEMENT jurusan (#PCDATA)>

]>

<daftarmahasiswa>

<nim>04523001</nim>

<nama>Sabrina</nama>

<jurusan>Teknik Informatika</jurusan>

</daftarmahasiswa>

Deklarasi DTD

Teknologi XML (2010/2011) – Hari Setiaji, S.KomTeknologi XML (2010/2011) – Hari Setiaji, S.Kom

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)>]>

• Eksternal DTD (terpisah pada file lainnya)<?xml version=“1.0” standalone=“no”?><!DOCTYPE daftar SYSTEM “daftar.dtd”>

Internal DTD

Teknologi XML (2010/2011) – Hari Setiaji, S.KomTeknologi XML (2010/2011) – Hari Setiaji, S.Kom

<?xml version=“1.0”?>

<!DOCTYPE daftarmahasiswa [

<!ELEMENT daftarmahasiswa (nim,nama,jurusan)>

<!ELEMENT nim (#PCDATA)>

<!ELEMENT nama (#PCDATA)>

<!ELEMENT jurusan (#PCDATA)>

]>

<daftarmahasiswa>

<nim>04523001</nim>

<nama>Sabrina</nama>

<jurusan>Teknik Informatika</jurusan>

</daftarmahasiswa>

Eksternal DTD

Teknologi XML (2010/2011) – Hari Setiaji, S.KomTeknologi XML (2010/2011) – Hari Setiaji, S.Kom

<?xml version=“1.0”?>

<!DOCTYPE daftarmahasiswa SYSTEM “mahasiswa.dtd”>

<daftarmahasiswa>

<nim>04523001</nim>

<nama>Budi Anduk</nama>

<jurusan>Teknik Informatika</jurusan>

</daftarmahasiswa>

Tipe Element Content

Teknologi XML (2010/2011) – Hari Setiaji, S.KomTeknologi XML (2010/2011) – Hari Setiaji, S.Kom

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, adapun jika hanya elemen saja maka isikan dengan nama elemen

Konsep Elemen DTD

Teknologi XML (2010/2011) – Hari Setiaji, S.KomTeknologi XML (2010/2011) – Hari Setiaji, S.Kom

Setiap element yang digunakan didalam dokumen XML harus dideklarasikan didalam Dokumen DTD

<!ELEMENT element_name content_specification>

Tipe Data DTD

Teknologi XML (2010/2011) – Hari Setiaji, S.KomTeknologi XML (2010/2011) – Hari Setiaji, S.Kom

Setiap element pada dokumen XML harus memiliki tipe data

• #PCDATA tipe data yang bisa di parserCth : <!ELEMENT phone_number (#PCDATA)>

• CDATA tipe data yang tidak bisa diparser. Biasanya digunakan pada atribut list

Cth : <!ATTLIST phone_number (CDATA)>

Kardinalitas (Number of Children)

Teknologi XML (2010/2011) – Hari Setiaji, S.KomTeknologi XML (2010/2011) – Hari Setiaji, S.Kom

Setiap element dalam dokumen XML yang telah dideklarasikan pada 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

Contoh DTD<?xml version=“1.0” standalone=“yes”?>

<!DOCTYPE daftarmahasiswa [

<!ELEMENT daftarmahasiswa (nim,nama,jurusan)>

<!ELEMENT nim (#PCDATA)>

<!ELEMENT nama (#PCDATA)>

<!ELEMENT jurusan (#PCDATA)>

]>

<daftarmahasiswa>

<nim>04523001</nim>

<nama>Sabrina</nama>

<jurusan>Teknik Informatika</jurusan>

</daftarmahasiswa> Teknologi XML (2010/2011) – Hari Setiaji, S.KomTeknologi XML (2010/2011) – Hari Setiaji, S.Kom

Contoh DTD<?xml version=“1.0” standalone=“yes”?>

<!DOCTYPE daftarmahasiswa [

<!ELEMENT daftarmahasiswa (nim,nama,jurusan)>

<!ELEMENT nim (#PCDATA)>

<!ELEMENT nama (#PCDATA)>

<!ELEMENT jurusan (#PCDATA)>

]>

<daftarmahasiswa>

<nim>04523001</nim>

<nama>Sabrina</nama>

</daftarmahasiswa>Teknologi XML (2010/2011) – Hari Setiaji, S.KomTeknologi XML (2010/2011) – Hari Setiaji, S.Kom

<?xml version=“1.0” standalone=“yes”?>

<!DOCTYPE daftarmahasiswa [

<!ELEMENT daftarmahasiswa (mahasiswa)>

<!ELEMENT mahasiswa (nama,alamat+,telp?)>

<!ELEMENT nama (#PCDATA)>

<!ELEMENT alamat (#PCDATA)>

<!ELEMENT telp (#PCDATA)>

]>

<daftarmahasiswa>

<mahasiswa>

<nama>Sabrina</nama>

</mahasiswa>

<mahasiswa>

<nama>Jason Mraz</nama>

<alamat>Jakal km 15</alamat>

<telp>08123456789</telp>

<telp>0219876543</telp>

</mahasiswa>

</daftarmahasiswa>Teknologi XML (2010/2011) – Hari Setiaji, S.KomTeknologi XML (2010/2011) – Hari Setiaji, S.Kom

<?xml version=“1.0” standalone=“yes”?>

<!DOCTYPE daftarmahasiswa [

<!ELEMENT daftarmahasiswa (mahasiswa+)>

<!ELEMENT mahasiswa (nama,alamat+,telp*)>

<!ELEMENT nama (#PCDATA)>

<!ELEMENT alamat (#PCDATA)>

<!ELEMENT telp (#PCDATA)>

]>

<daftarmahasiswa>

<mahasiswa>

<nama>Sabrina</nama>

<alamat>Jakal km 10</alamat>

</mahasiswa>

<mahasiswa>

<nama>Jason Mraz</nama>

<alamat>Jakal km 15</alamat>

<telp>08123456789</telp>

<telp>0219876543</telp>

</mahasiswa>

</daftarmahasiswa>Teknologi XML (2010/2011) – Hari Setiaji, S.KomTeknologi XML (2010/2011) – Hari Setiaji, S.Kom

Soal1. Buatlah dokumen XML dengan ketentuan sesuai dengan DTD

berikut ini :<?xml version="1.0" standalone="no"?><!DOCTYPE daftarmahasiswa[<!ELEMENT daftarmahasiswa (mahasiswa+)><!ELEMENT mahasiswa (nim,nama,jurusan?,email+,telp*)><!ELEMENT nim (#PCDATA)><!ELEMENT nama (#PCDATA)><!ELEMENT jurusan (#PCDATA)><!ELEMENT email (#PCDATA)><!ELEMENT telp (#PCDATA)>]>

Teknologi XML (2010/2011) – Hari Setiaji, S.KomTeknologi XML (2010/2011) – Hari Setiaji, S.Kom

Next Week Agenda (Quiz)

Silahkan pelajari dokumen DTD dengan penambahan attribute dan entities

Sekilas: - Cara Penulisan<!ATTLIST element-name attribute-name attribute-type default-value>

- SifatAtribut memiliki sifat default, required, implied atau fixed

..:: Selamat belajar::..

Teknologi XML (2010/2011) – Hari Setiaji, S.KomTeknologi XML (2010/2011) – Hari Setiaji, S.Kom

Teknologi XML (2010/2011) – Hari Setiaji, S.KomTeknologi XML (2010/2011) – Hari Setiaji, S.Kom

Sumber:

• iSchool Berkeley • http://dret.net/lectures/xml-fall06/

• TAMK University of Applied Sciences

• Developer Shed Network – XML

• Materi XML 2009• http://salhazan.com/homepage

Finally

?Any Questions ?

Teknologi XML (2010/2011) – Hari Setiaji, S.KomTeknologi XML (2010/2011) – Hari Setiaji, S.Kom

top related