Materi – Document Type Definition (DTD)

Report
DOCUMENT TYPE DEFINITION
(DTD)
Hendra Setia Budi
APA ITU DTD??
Document Type Definition (DTD) secara formal
menyatakan struktur dan isi elemen (tag, hubungan di
antara tag-tag berbeda, dan seterusnya) dari dokumen
XML valid yang diberikan.
Dokumen XML dapat dikategorikan menjadi 3 jenis, yaitu
Well Formed XML:
Valid XML:
Invalid XML:
DTD terdiri dari 2 komponen dasar, yaitu ELEMENT dan
ATTLIST
CONTOH DTD
<!DOCTYPE NEWSPAPER [
<!ELEMENT NEWSPAPER (ARTICLE+)>
<!ELEMENT ARTICLE
(HEADLINE,BYLINE,LEAD,BODY,NOTES)>
<!ELEMENT HEADLINE (#PCDATA)>
<!ELEMENT BYLINE (#PCDATA)>
<!ELEMENT LEAD (#PCDATA)>
<!ELEMENT BODY (#PCDATA)>
<!ELEMENT NOTES (#PCDATA)>
<!ATTLIST ARTICLE AUTHOR CDATA #REQUIRED>
<!ATTLIST ARTICLE EDITOR CDATA #IMPLIED>
<!ATTLIST ARTICLE DATE CDATA #IMPLIED>
<!ATTLIST ARTICLE EDITION CDATA #IMPLIED>
]>`
ELEMENT
Setiap elemen yang digunakan dalam dokumen XML harus
dinyatakan dengan menggunakan tag <!ELEMEN> di
DTD. Syntax untuk mendeklarasikan sebuah elemen
pada DTD adalah seperti berikut :
“<!ELEMENT ElementName (Rule)>”
3 Jenis ELEMENT :
#PCDATA
#ANY
#EMPTY
One or more elements
ELEMENT
<?xml version="1.0"?>
<!DOCTYPE note [
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend</body>
</note>
ELEMENT
One or More Elements
<!ELEMENT people (phone_number*)>
ATTRIBUT
ATTRIBUT
CONTOH !!
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE orang [
<!ELEMENT orang (nama, profesi*)>
<!ELEMENT nama (#PCDATA)>
<!ATTLIST nama
profesi CDATA #REQUIRED
hobi CDATA #REQUIRED
umur CDATA #IMPLIED
jenis_kelamin CDATA #FIXED "Laki-laki">
]>
<orang>
<nama hobi="bola" profesi="Asdos">Gue</nama>
</orang>
ATTRIBUT
CDATA
CDATA terdisi dari data karakter. Block tag di dalam CDATA
tidak diproses di dalam XML. Sebagai contoh, kita dapat
menggunakan DATA untuk informasi berisi karakter <, > atau
&.
CDATA dimulai dengan <![CDATA dan diakhiri dengan ]>.
Contoh CDATA adalah sebagai berikut.
ATTRIBUT
#REQUIRED
DTD:
<!ATTLIST person number CDATA #REQUIRED>
Valid XML:
<person number="5677" />
Invalid XML:
<person />
ATTRIBUT
#IMPLIED
DTD:
<!ATTLIST contact fax CDATA #IMPLIED>
Valid XML:
<contact fax="555-667788" />
Valid XML:
<contact />
ATTRIBUT
#FIXED
DTD:
<!ATTLIST sender company CDATA #FIXED
"Microsoft">
Valid XML:
<sender company="Microsoft" />
Invalid XML:
<sender company="W3Schools" />
ENTITY
<!ENTITY entity-name "entity-value">
DTD Example:
<!ENTITY writer "Donald Duck.">
<!ENTITY copyright "Copyright W3Schools.">
XML example:
<author>&writer;&copyright;</author>
Note: An entity has three parts: an ampersand (&),
an entity name, and a semicolon (;).
QUIZ AH..
Buatlah DTD External
Memiliki Sequences (children) Entity minimal 4
Memiliki minimal 2 tipe Element (#PCDATA,
#ANY, #EMPTY)
Memiliki minimal 2 attribute (Fixed, Required,
Implied)
Memiliki 2 entity (internal)
Buatlah XML document berdasarkan DTD
External yang telah dibuat (minimal 2 record)

similar documents