SlideShare a Scribd company logo
BAB II Konsistensi Data Dengan DTD
Riza Muhammad Nurman, S.Kom
Email : rizaman@eng.ui.ac.id ; rizamn@ymail.com
Monday, March 19, 2018 Riza Muhammad Nurman 2
CONTENT
 Pengenalan DTD
 Deklarasi Elemen Pada DTD
 Menghubungkan DTD Pada Dokumen XML
 Memvalidasi Dokumen XML
Monday, March 19, 2018 Riza Muhammad Nurman 3
Pengenalan DTD
• Menentukan struktur isi dokumen XML  konsisten
• Menentukan bagaimana elemen dan atribut-atributnya harus
dituliskan pada dokumen XML
• Menentukan sifat sebuah elemen apakah harus dituliskan
(mandatory) atau tidak.
Monday, March 19, 2018 Riza Muhammad Nurman 4
Deklarasi Elemen Pada DTD
Penulisan:
<!ELEMENT elementname (content-type atau content-
model)>
Keterangan:
element_name adalah nama elemen
content-type atau content-model menentukan isi dari element
(teks atau element lainnya)
Monday, March 19, 2018 Riza Muhammad Nurman 5
1. Terdiri atas huruf, angka atau
karakter lain.
2. Tidak boleh diawali oleh
angka ataupun symbol
karakter lain, kecuali garis
bawah/underscore ( _ ).
3. Tidak boleh diawali dengan
kata xml(atau XML, atau Xml,
dan kombinasi lainnya).
4. Nama elemen tidak boleh
mengandung spasi.
Best Practices
• Menjelaskan isi data yang
diwakilinya, jika nama
elemen terdiri atas 2 suku
kata atau lebih, boleh
digunakan underscore
• Dibuat sederhana dan
pendek
• Hindari penggunaan tanda
hubung ( - ), tanda titik ( . )
serta tanda titik dua ( : )
Aturan Penamaan
Elemen
Monday, March 19, 2018 Riza Muhammad Nurman 6
Contoh
• Dari elemen berikut ini, manakah penamaan yang sesuai dengan
aturan
– <Siswa1>
– <NO_TELEPON>
– <#HashTag>
– <_Jml_Barang>
– <1stYear>
– <@yahoo>
• Dari elemen berikut ini, manakah penamaan yang sesuai dengan
aturan
– <Siswa1> : benar
– <NO_TELEPON> : benar
– <#HashTag> : salah
– <_Jml_Barang> : benar
– <1stYear> : salah
– <@yahoo> : salah
Monday, March 19, 2018 Riza Muhammad Nurman 7
Tipe Elemen Dalam DTD
Tipe Element Deskripsi
Empty Elemen yang tidak memiliki isi data
Unrestricted
Dapat berisi elemen apapun yang dideklarasikan di
dalam DTD. Elemen ini adalah elemen yang sifatnya
merupakan kebalikan dari sifat empty element
Container
Dapat berisi data dalam bentuk karakter dan lain
sebagainya.
Monday, March 19, 2018 Riza Muhammad Nurman 8
Deklarasi Empty Element
• Penulisan:
<!ELEMENT elemen_kosong EMPTY>
• Elemen tidak berisi data
• Bisa memiliki atribut
Monday, March 19, 2018 Riza Muhammad Nurman 9
Deklarasi Unrestricted Element
• Penulisan:
<!ELEMENT elemen_kosong ANY>
• Elemen dapat berisi data
• Bisa memiliki atribut
Monday, March 19, 2018 Riza Muhammad Nurman 10
Deklarasi Container Element ( , )
<!ELEMENT Data (Pegawai)>
<!ELEMENT Pegawai (Nama, Alamat)>
<!ELEMENT Nama (#PCDATA)>
<!ELEMENT Alamat (#PCDATA) >
<Data>
<Pegawai>
<Nama>Si Fulan</Nama>
<Alamat>Jl Dimana Saja No 1</Alamat>
</Pegawai>
</Data>
DTD
XML
Monday, March 19, 2018 Riza Muhammad Nurman 11
Deklarasi Container Element ( | )
<!ELEMENT Data (Pegawai)>
<!ELEMENT Pegawai (Nama, Alamat, (GajiPerJam |
GajiPerBulan))>
<!ELEMENT Nama (#PCDATA)>
<!ELEMENT Alamat (#PCDATA) >
<!ELEMENT GajiPerJam (#PCDATA)>
<!ELEMENT GajiPerBulan (#PCDATA) >
<Data>
<Pegawai>
<Nama>Si Fulan</Nama>
<Alamat>Jl Dimana Saja No 1</Alamat>
<GajiPerJam>10</GajiPerJam>
</Pegawai>
</Data>
DTD
XML
Monday, March 19, 2018 Riza Muhammad Nurman 12
Deklarasi Container Element ( ? )
<!ELEMENT Data (Pegawai)>
<!ELEMENT Pegawai (Nama, Alamat, (GajiPerJam |
GajiPerBulan), Diskon?)>
<!ELEMENT Nama (#PCDATA)>
<!ELEMENT Alamat (#PCDATA) >
<!ELEMENT GajiPerJam (#PCDATA)>
<!ELEMENT GajiPerBulan (#PCDATA) >
<!ELEMENT Diskon (#PCDATA) >
<Data>
<Pegawai>
<Nama>Si Fulan</Nama>
<Alamat>Jl Dimana Saja No 1</Alamat>
<GajiPerJam>10</GajiPerJam>
<Diskon>10%</Diskon>
</Pegawai>
</Data>
DTD
XML
Monday, March 19, 2018 Riza Muhammad Nurman 13
Deklarasi Container Element ( * )
<!ELEMENT Data (Pegawai)*>
<!ELEMENT Pegawai (Nama, Alamat, (GajiPerJam |
GajiPerBulan), Diskon?)>
<!ELEMENT Nama (#PCDATA)>
<!ELEMENT Alamat (#PCDATA) >
<!ELEMENT GajiPerJam (#PCDATA)>
<!ELEMENT GajiPerBulan (#PCDATA) >
<!ELEMENT Diskon (#PCDATA) >
<Data>
<Pegawai>
<Nama>Si Fulan</Nama>
<Alamat>Jl Dimana Saja No 1</Alamat>
<GajiPerJam>10</GajiPerJam>
<Diskon>10%</Diskon>
</Pegawai>
<Pegawai>
<Nama>Si Fulan</Nama>
<Alamat>Jl Baling Bambu No 1</Alamat>
<GajiPerBulan>3000</GajiPerBulan>
</Pegawai>
</Data>
DTD
XML
Monday, March 19, 2018 Riza Muhammad Nurman 14
Deklarasi Container Element ( + )
<!ELEMENT Data (Pegawai)+>
<!ELEMENT Pegawai (Nama, Alamat, (GajiPerJam |
GajiPerBulan), Diskon?)>
<!ELEMENT Nama (#PCDATA)>
<!ELEMENT Alamat (#PCDATA) >
<!ELEMENT GajiPerJam (#PCDATA)>
<!ELEMENT GajiPerBulan (#PCDATA) >
<!ELEMENT Diskon (#PCDATA) >
<Data>
<Pegawai>
<Nama>Si Fulan</Nama>
<Alamat>Jl Dimana Saja No 1</Alamat>
<GajiPerJam>10</GajiPerJam>
<Diskon>10%</Diskon>
</Pegawai>
<Pegawai>
<Nama>Si Fulan</Nama>
<Alamat>Jl Baling Bambu No 1</Alamat>
<GajiPerBulan>3000</GajiPerBulan>
</Pegawai>
</Data>
DTD
XML
Monday, March 19, 2018 Riza Muhammad Nurman 15
Deklarasi Atribut
• Penulisan:
<!ATTLIST element_name attribute_name valuetype
[attributetype]["default"]>
Monday, March 19, 2018 Riza Muhammad Nurman 16
Atribut
<!ELEMENT DATA_REKENING (REKENING)+ >
<!ELEMENT REKENING (PEMILIK, SALDO)>
<!ATTLIST REKENING nomor ID #REQUIRED >
<!ELEMENT PEMILIK (#PCDATA) >
<!ELEMENT SALDO (#PCDATA) >
<DATA_REKENING>
<REKENING nomor="A1">
<PEMILIK>Si Fulan</PEMILIK>
<SALDO>3.000.000</SALDO>
</REKENING>
</DATA_REKENING>
DTD
XML
Ganti ID dengan CDATA apabila ingin nilai atribut bebas
Monday, March 19, 2018 Riza Muhammad Nurman 17
Atribut 2
<!ELEMENT DATA_REKENING (REKENING)+ >
<!ELEMENT REKENING (PEMILIK, SALDO)>
<!ATTLIST REKENING nomor CDATA #REQUIRED>
<!ATTLIST REKENING status (AKTIF|NONAKTIF) "AKTIF">
<!ATTLIST REKENING key CDATA #FIXED "123">
<!ELEMENT PEMILIK (#PCDATA) >
<!ELEMENT SALDO (#PCDATA) >
<DATA_REKENING>
<REKENING nomor="123" key="123" status="AKTIF">
<PEMILIK>Si Fulan</PEMILIK>
<SALDO>3.000.000</SALDO>
</REKENING>
</DATA_REKENING>
DTD
XML
Monday, March 19, 2018 Riza Muhammad Nurman 18
Menghubungkan DTD Pada Dokumen XML
Internal DTD External DTD
Bagian dari sebuah dokumen
XML
Dibuat pada file terpisah, oleh karena
itu dibutuhkan perintah yang
mereferensikan dokumen XML pada
DTD tersebut
Hanya dapat digunakan oleh
dokumen XML dimana DTD
tersebut didefinisikan
Dapat digunakan oleh lebih dari satu
dokumen XML
Penulisan internal DTD:
<!DOCTYPE root_element[deklarasi element dan attribute]>
Penulisan external DTD:
<!DOCTYPE root_element PUBLIC|SYSTEM "path-of-file">
Monday, March 19, 2018 Riza Muhammad Nurman 19
Memvalidasi Dokumen XML
Non Validating Parser
• Non validasi parser memeriksa apakah sebuah dokumen XML sesuai
dengan aturan sintak penulisan XML.
Validating Parser
• Validating parser memproses dokumen XML dengan melakukan
pemeriksaan sintak, membangun struktur tree dan kemudian
membandingkan struktur pohon tersebut dengan struktur dokumen
XML yang telah didefinisikan pada DTD
XML - Chapter 2

More Related Content

PPTX
XML - Chapter 3
PPTX
XML - Chapter 4
PPTX
XML - Chapter 7 XML DAN DATABASE
PPTX
TOT PHP DAY 1
PPTX
SE - Chapter 9 Pemeliharaan Perangkat Lunak
PPTX
SE - Chapter 8 Strategi Pengujian Perangkat Lunak
PPTX
SE - Chapter 7 Teknik Pengujian Perangkat Lunak
PPTX
SE - Chapter 6 Tim dan Kualitas Perangkat Lunak
XML - Chapter 3
XML - Chapter 4
XML - Chapter 7 XML DAN DATABASE
TOT PHP DAY 1
SE - Chapter 9 Pemeliharaan Perangkat Lunak
SE - Chapter 8 Strategi Pengujian Perangkat Lunak
SE - Chapter 7 Teknik Pengujian Perangkat Lunak
SE - Chapter 6 Tim dan Kualitas Perangkat Lunak

More from Riza Nurman (20)

PPTX
XML - Chapter 8 WEB SERVICES
PPTX
XML - Chapter 6 SIMPLE API FOR XML (SAX)
PPTX
XML - Chapter 5 XML DOM
PPTX
DBA BAB 5 - Keamanan Database
PPTX
DBA BAB 4 - Recovery Data
PPTX
DBA BAB 3 - Manage Database
PPTX
DBA BAB 2 - INSTALASI DAN UPGRADE SQL SERVER 2005
PPTX
DBA BAB 1 - Pengenalan Database Administrator
PDF
RMN - XML Source Code
PPTX
XML - Chapter 1
PPTX
ADP - Chapter 5 Exploring JavaServer Pages Technology
PPTX
ADP - Chapter 4 Managing Sessions
PPTX
ADP- Chapter 3 Implementing Inter-Servlet Communication
PPTX
ADP - Chapter 2 Exploring the java Servlet Technology
PPTX
ADP - Chapter 1 Introducing Web Application Development
PPSX
MIS BAB 10
PPSX
MIS BAB 9
PPSX
MIS BAB 8
PPSX
MIS BAB 7
PPSX
MIS BAB 4 - Sistem Penunjang Keputusan
XML - Chapter 8 WEB SERVICES
XML - Chapter 6 SIMPLE API FOR XML (SAX)
XML - Chapter 5 XML DOM
DBA BAB 5 - Keamanan Database
DBA BAB 4 - Recovery Data
DBA BAB 3 - Manage Database
DBA BAB 2 - INSTALASI DAN UPGRADE SQL SERVER 2005
DBA BAB 1 - Pengenalan Database Administrator
RMN - XML Source Code
XML - Chapter 1
ADP - Chapter 5 Exploring JavaServer Pages Technology
ADP - Chapter 4 Managing Sessions
ADP- Chapter 3 Implementing Inter-Servlet Communication
ADP - Chapter 2 Exploring the java Servlet Technology
ADP - Chapter 1 Introducing Web Application Development
MIS BAB 10
MIS BAB 9
MIS BAB 8
MIS BAB 7
MIS BAB 4 - Sistem Penunjang Keputusan
Ad

Recently uploaded (20)

PDF
Lembar Kerja Mahasiswa Konsep Sistem Operasi
PDF
Digital Statecraft Menuju Indonesia Emas 2045: Diplomasi Digital, Ketahanan N...
PPTX
MATERI MPLS TENTANG KURIKULUM DAN KEGIATAN PEMBELAJARAN
DOCX
Modul Ajar Deep Learning PKWU Rekayasa Kelas 12 SMA Terbaru 2025
PDF
PPT IPS Geografi SMA Kelas X_Bab 1 Pengantar Geografi_May.pdf
PDF
883668952-KP-4-Modul-2-Kerangka-Pembelajaran-Mendalam.pdf
DOCX
Modul Ajar Pembelajaran Mendalam Senbud Seni Musik Kelas XII Terbaru 2025
PPSX
Teknik Trading Selang Seling Yang Dapat Digunakan Untuk Trading Manual Maupun...
PDF
Pengenalan Undang-undang pengakap laut.pdf
PDF
BAHASA INDONESIA KELAS 6 SD TEKS INFORMATIF
DOCX
Modul Ajar Deep Learning Bahasa Inggris Kelas 12 SMA Terbaru 2025
DOCX
Modul Ajar Deep Learning PAI & BP Kelas 12 SMA Terbaru 2025
DOCX
Modul Ajar Deep Learning PKN Kelas 10 SMA Terbaru 2025
DOCX
Modul Ajar Deep Learning Biologi Kelas 10 SMA Terbaru 2025
DOCX
Modul Ajar Pembelajaran Mendalam Senbud Seni Teater Kelas 12 Terbaru 2025
DOCX
Modul Ajar Deep Learning PJOK Kelas 12 SMA Terbaru 2025
PDF
Materi Seminar AITalks AI dan Suku Digital
PPTX
Pancasila: fondasi peradaban dan kebudayaan berkelanjutan
PPTX
5. Bahan Bacaan Asinkronus Modul 5_ Perencanaan Pembelajaran.pptx
PPT
Teknologi-Pangan-Pertemuan-820728132309-.ppt
Lembar Kerja Mahasiswa Konsep Sistem Operasi
Digital Statecraft Menuju Indonesia Emas 2045: Diplomasi Digital, Ketahanan N...
MATERI MPLS TENTANG KURIKULUM DAN KEGIATAN PEMBELAJARAN
Modul Ajar Deep Learning PKWU Rekayasa Kelas 12 SMA Terbaru 2025
PPT IPS Geografi SMA Kelas X_Bab 1 Pengantar Geografi_May.pdf
883668952-KP-4-Modul-2-Kerangka-Pembelajaran-Mendalam.pdf
Modul Ajar Pembelajaran Mendalam Senbud Seni Musik Kelas XII Terbaru 2025
Teknik Trading Selang Seling Yang Dapat Digunakan Untuk Trading Manual Maupun...
Pengenalan Undang-undang pengakap laut.pdf
BAHASA INDONESIA KELAS 6 SD TEKS INFORMATIF
Modul Ajar Deep Learning Bahasa Inggris Kelas 12 SMA Terbaru 2025
Modul Ajar Deep Learning PAI & BP Kelas 12 SMA Terbaru 2025
Modul Ajar Deep Learning PKN Kelas 10 SMA Terbaru 2025
Modul Ajar Deep Learning Biologi Kelas 10 SMA Terbaru 2025
Modul Ajar Pembelajaran Mendalam Senbud Seni Teater Kelas 12 Terbaru 2025
Modul Ajar Deep Learning PJOK Kelas 12 SMA Terbaru 2025
Materi Seminar AITalks AI dan Suku Digital
Pancasila: fondasi peradaban dan kebudayaan berkelanjutan
5. Bahan Bacaan Asinkronus Modul 5_ Perencanaan Pembelajaran.pptx
Teknologi-Pangan-Pertemuan-820728132309-.ppt
Ad

XML - Chapter 2

  • 1. BAB II Konsistensi Data Dengan DTD Riza Muhammad Nurman, S.Kom Email : rizaman@eng.ui.ac.id ; rizamn@ymail.com
  • 2. Monday, March 19, 2018 Riza Muhammad Nurman 2 CONTENT  Pengenalan DTD  Deklarasi Elemen Pada DTD  Menghubungkan DTD Pada Dokumen XML  Memvalidasi Dokumen XML
  • 3. Monday, March 19, 2018 Riza Muhammad Nurman 3 Pengenalan DTD • Menentukan struktur isi dokumen XML  konsisten • Menentukan bagaimana elemen dan atribut-atributnya harus dituliskan pada dokumen XML • Menentukan sifat sebuah elemen apakah harus dituliskan (mandatory) atau tidak.
  • 4. Monday, March 19, 2018 Riza Muhammad Nurman 4 Deklarasi Elemen Pada DTD Penulisan: <!ELEMENT elementname (content-type atau content- model)> Keterangan: element_name adalah nama elemen content-type atau content-model menentukan isi dari element (teks atau element lainnya)
  • 5. Monday, March 19, 2018 Riza Muhammad Nurman 5 1. Terdiri atas huruf, angka atau karakter lain. 2. Tidak boleh diawali oleh angka ataupun symbol karakter lain, kecuali garis bawah/underscore ( _ ). 3. Tidak boleh diawali dengan kata xml(atau XML, atau Xml, dan kombinasi lainnya). 4. Nama elemen tidak boleh mengandung spasi. Best Practices • Menjelaskan isi data yang diwakilinya, jika nama elemen terdiri atas 2 suku kata atau lebih, boleh digunakan underscore • Dibuat sederhana dan pendek • Hindari penggunaan tanda hubung ( - ), tanda titik ( . ) serta tanda titik dua ( : ) Aturan Penamaan Elemen
  • 6. Monday, March 19, 2018 Riza Muhammad Nurman 6 Contoh • Dari elemen berikut ini, manakah penamaan yang sesuai dengan aturan – <Siswa1> – <NO_TELEPON> – <#HashTag> – <_Jml_Barang> – <1stYear> – <@yahoo> • Dari elemen berikut ini, manakah penamaan yang sesuai dengan aturan – <Siswa1> : benar – <NO_TELEPON> : benar – <#HashTag> : salah – <_Jml_Barang> : benar – <1stYear> : salah – <@yahoo> : salah
  • 7. Monday, March 19, 2018 Riza Muhammad Nurman 7 Tipe Elemen Dalam DTD Tipe Element Deskripsi Empty Elemen yang tidak memiliki isi data Unrestricted Dapat berisi elemen apapun yang dideklarasikan di dalam DTD. Elemen ini adalah elemen yang sifatnya merupakan kebalikan dari sifat empty element Container Dapat berisi data dalam bentuk karakter dan lain sebagainya.
  • 8. Monday, March 19, 2018 Riza Muhammad Nurman 8 Deklarasi Empty Element • Penulisan: <!ELEMENT elemen_kosong EMPTY> • Elemen tidak berisi data • Bisa memiliki atribut
  • 9. Monday, March 19, 2018 Riza Muhammad Nurman 9 Deklarasi Unrestricted Element • Penulisan: <!ELEMENT elemen_kosong ANY> • Elemen dapat berisi data • Bisa memiliki atribut
  • 10. Monday, March 19, 2018 Riza Muhammad Nurman 10 Deklarasi Container Element ( , ) <!ELEMENT Data (Pegawai)> <!ELEMENT Pegawai (Nama, Alamat)> <!ELEMENT Nama (#PCDATA)> <!ELEMENT Alamat (#PCDATA) > <Data> <Pegawai> <Nama>Si Fulan</Nama> <Alamat>Jl Dimana Saja No 1</Alamat> </Pegawai> </Data> DTD XML
  • 11. Monday, March 19, 2018 Riza Muhammad Nurman 11 Deklarasi Container Element ( | ) <!ELEMENT Data (Pegawai)> <!ELEMENT Pegawai (Nama, Alamat, (GajiPerJam | GajiPerBulan))> <!ELEMENT Nama (#PCDATA)> <!ELEMENT Alamat (#PCDATA) > <!ELEMENT GajiPerJam (#PCDATA)> <!ELEMENT GajiPerBulan (#PCDATA) > <Data> <Pegawai> <Nama>Si Fulan</Nama> <Alamat>Jl Dimana Saja No 1</Alamat> <GajiPerJam>10</GajiPerJam> </Pegawai> </Data> DTD XML
  • 12. Monday, March 19, 2018 Riza Muhammad Nurman 12 Deklarasi Container Element ( ? ) <!ELEMENT Data (Pegawai)> <!ELEMENT Pegawai (Nama, Alamat, (GajiPerJam | GajiPerBulan), Diskon?)> <!ELEMENT Nama (#PCDATA)> <!ELEMENT Alamat (#PCDATA) > <!ELEMENT GajiPerJam (#PCDATA)> <!ELEMENT GajiPerBulan (#PCDATA) > <!ELEMENT Diskon (#PCDATA) > <Data> <Pegawai> <Nama>Si Fulan</Nama> <Alamat>Jl Dimana Saja No 1</Alamat> <GajiPerJam>10</GajiPerJam> <Diskon>10%</Diskon> </Pegawai> </Data> DTD XML
  • 13. Monday, March 19, 2018 Riza Muhammad Nurman 13 Deklarasi Container Element ( * ) <!ELEMENT Data (Pegawai)*> <!ELEMENT Pegawai (Nama, Alamat, (GajiPerJam | GajiPerBulan), Diskon?)> <!ELEMENT Nama (#PCDATA)> <!ELEMENT Alamat (#PCDATA) > <!ELEMENT GajiPerJam (#PCDATA)> <!ELEMENT GajiPerBulan (#PCDATA) > <!ELEMENT Diskon (#PCDATA) > <Data> <Pegawai> <Nama>Si Fulan</Nama> <Alamat>Jl Dimana Saja No 1</Alamat> <GajiPerJam>10</GajiPerJam> <Diskon>10%</Diskon> </Pegawai> <Pegawai> <Nama>Si Fulan</Nama> <Alamat>Jl Baling Bambu No 1</Alamat> <GajiPerBulan>3000</GajiPerBulan> </Pegawai> </Data> DTD XML
  • 14. Monday, March 19, 2018 Riza Muhammad Nurman 14 Deklarasi Container Element ( + ) <!ELEMENT Data (Pegawai)+> <!ELEMENT Pegawai (Nama, Alamat, (GajiPerJam | GajiPerBulan), Diskon?)> <!ELEMENT Nama (#PCDATA)> <!ELEMENT Alamat (#PCDATA) > <!ELEMENT GajiPerJam (#PCDATA)> <!ELEMENT GajiPerBulan (#PCDATA) > <!ELEMENT Diskon (#PCDATA) > <Data> <Pegawai> <Nama>Si Fulan</Nama> <Alamat>Jl Dimana Saja No 1</Alamat> <GajiPerJam>10</GajiPerJam> <Diskon>10%</Diskon> </Pegawai> <Pegawai> <Nama>Si Fulan</Nama> <Alamat>Jl Baling Bambu No 1</Alamat> <GajiPerBulan>3000</GajiPerBulan> </Pegawai> </Data> DTD XML
  • 15. Monday, March 19, 2018 Riza Muhammad Nurman 15 Deklarasi Atribut • Penulisan: <!ATTLIST element_name attribute_name valuetype [attributetype]["default"]>
  • 16. Monday, March 19, 2018 Riza Muhammad Nurman 16 Atribut <!ELEMENT DATA_REKENING (REKENING)+ > <!ELEMENT REKENING (PEMILIK, SALDO)> <!ATTLIST REKENING nomor ID #REQUIRED > <!ELEMENT PEMILIK (#PCDATA) > <!ELEMENT SALDO (#PCDATA) > <DATA_REKENING> <REKENING nomor="A1"> <PEMILIK>Si Fulan</PEMILIK> <SALDO>3.000.000</SALDO> </REKENING> </DATA_REKENING> DTD XML Ganti ID dengan CDATA apabila ingin nilai atribut bebas
  • 17. Monday, March 19, 2018 Riza Muhammad Nurman 17 Atribut 2 <!ELEMENT DATA_REKENING (REKENING)+ > <!ELEMENT REKENING (PEMILIK, SALDO)> <!ATTLIST REKENING nomor CDATA #REQUIRED> <!ATTLIST REKENING status (AKTIF|NONAKTIF) "AKTIF"> <!ATTLIST REKENING key CDATA #FIXED "123"> <!ELEMENT PEMILIK (#PCDATA) > <!ELEMENT SALDO (#PCDATA) > <DATA_REKENING> <REKENING nomor="123" key="123" status="AKTIF"> <PEMILIK>Si Fulan</PEMILIK> <SALDO>3.000.000</SALDO> </REKENING> </DATA_REKENING> DTD XML
  • 18. Monday, March 19, 2018 Riza Muhammad Nurman 18 Menghubungkan DTD Pada Dokumen XML Internal DTD External DTD Bagian dari sebuah dokumen XML Dibuat pada file terpisah, oleh karena itu dibutuhkan perintah yang mereferensikan dokumen XML pada DTD tersebut Hanya dapat digunakan oleh dokumen XML dimana DTD tersebut didefinisikan Dapat digunakan oleh lebih dari satu dokumen XML Penulisan internal DTD: <!DOCTYPE root_element[deklarasi element dan attribute]> Penulisan external DTD: <!DOCTYPE root_element PUBLIC|SYSTEM "path-of-file">
  • 19. Monday, March 19, 2018 Riza Muhammad Nurman 19 Memvalidasi Dokumen XML Non Validating Parser • Non validasi parser memeriksa apakah sebuah dokumen XML sesuai dengan aturan sintak penulisan XML. Validating Parser • Validating parser memproses dokumen XML dengan melakukan pemeriksaan sintak, membangun struktur tree dan kemudian membandingkan struktur pohon tersebut dengan struktur dokumen XML yang telah didefinisikan pada DTD