Materi – Document Type Definition (DTD)

Download Report

Transcript Materi – Document Type Definition (DTD)

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)