Pemrograman XML DTD Attribute & Entities Salhazan Nasution, S.Kom
DTD Attribute & Entities 2
Attribut DTD Sebuah elemen atau sub elemen dari dokumen XML bisa memiliki Attribut. Untuk mendefinisikan daftar attribut, digunakan DTD. 3
Sintak Attribut DTD Deklarasi attribut DTD mempunyai sintak seperti dibawah ini : <!ATTLIST element-name attribute-name attribute-type default-value> l Contoh DTD : <!ATTLIST mahasiswa gender CDATA pria > Contoh XML : <mahasiswa gender= pria > 4
Tipe Attribut Tipe attribut yang sering digunakan : CDATA atribut yang berisi karakter. (en1 en2..) nilainya harus dari salah satu yang ada di daftar. ID nilainya ID unik. Entity nilainya merupakan entitas. 5
Nilai Default Nilai default : Value berupa suatu nilai. #REQUIRED nilai attribut HARUS disertakan. #IMPLIED nilai attribut TIDAK HARUS disertakan. #FIXED value nilai attribut harus tetap. 6
Implied Attribut Contoh DTD : <!ATTLIST mahasiswa telpon CDATA #IMPLIED> Valid XML: <mahasiswa telpon= 02743262717 > Valid XML: <mahasiswa/> 7
Required Attribut Contoh DTD : <!ATTLIST mahasiswa gender CDATA #REQUIRED> Valid XML: <mahasiswa gender= pria > Invalid XML: <mahasiswa/> 8
Fixed Attribut Contoh DTD : <!ATTLIST mahasiswa jurusan CDATA #FIXED informatika > Valid XML: <mahasiswa jurusan= informatika > Invalid XML: <mahasiswa jurusan= kedokteran > 9
Entitas DTD Entitas DTD bisa disebut sebagai konstanta untuk mendefinisikan shortcut ke teks. Entitas dapat dd dideklarasikan k secara internal maupun eksternal. Contoh Internal: DTD : <!ENTITY penulis Salhazan > <!ENTITY copyleft Lab SIRKEL > XML : <buku>&penulis;©left;</buku> py 10
Entitas DTD Contoh Eksternal: DTD : <!ENTITY penulis SYSTEM http://www.salhazan.com/entitas/entitas.dtd > <!ENTITY copyleft SYSTEM http://www.salhazan.com/entitas/entitas.dtd > XML : <buku>&penulis;©left;</buku> py ; 11
Contoh Attribut <?xml version="1.0"?> <!DOCTYPE person [ <!ELEMENT person (name, profession*)> <!ELEMENT name EMPTY> <!ATTLIST name first CDATA #REQUIRED> <!ATTLIST name last CDATA #REQUIRED> <!ELEMENT profession EMPTY> <!ATTLIST profession value CDATA #REQUIRED> ]> <person> <name first="michael" last="heart"/> <profession value="computer scientist"/> t"/> <profession value="musicians"/> <profession value="volunteer"/> </person> 12
Contoh Attribut <?xml version="1.0"?> <!DOCTYPE person [ <!ELEMENT person (name, profession*)> <!ELEMENT name EMPTY> <!ATTLIST name first CDATA #REQUIRED> <!ATTLIST name last CDATA #REQUIRED> <!ELEMENT profession EMPTY> <!ATTLIST profession value CDATA #FIXED "musicians"> ]> <person> <name first="michael /> <profession value="computer scientist"/> t"/> <profession value="musicians"/> <profession value="volunteer"/> </person> 13
<?xml version="1.0" standalone="yes"?> <!DOCTYPE daftar[ <!ELEMENT daftar (buku+)> <!ELEMENT buku (judul,harga)> <!ELEMENT judul (#PCDATA)> <!ELEMENT harga (#PCDATA)> <!ATTLIST judul tahun CDATA #REQUIRED> <!ENTITY penulis "SALHAZAN"> <!ENTITY tahun "2007"> ]> <daftar> <buku> <judul>pemrograman XML ditulis oleh &penulis;</judul> <harga>1000</harga> g </buku> <buku> <judul>basis Data ditulis oleh &penulis;</judul> <harga>1000</harga> </buku> </daftar> 14
<?xml version="1.0" standalone="yes"?> <!DOCTYPE daftar[ <!ELEMENT daftar (buku+)> <!ELEMENT buku (judul,harga)> <!ELEMENT judul (#PCDATA)> <!ELEMENT harga (#PCDATA)> <!ATTLIST judul tahun CDATA #REQUIRED> <!ENTITY penulis "SALHAZAN"> <!ENTITY tahun "2009"> ]> <daftar> <buku> <judul tahun="&tahun;">pemrograman XML ditulis oleh &penulis;</judul> <harga>1000</harga> </buku> <buku> <judul tahun="&tahun;">basis Data ditulis oleh &penulis;</judul> <harga>1000</harga> </buku> </daftar> 15
Any Question? See you next time.. 16