Perbedaan
pada XHTML dengan HTML adalah sebagai berikut :
* Dokumen harus
terbentuk dengan baik (well-formed)
* Semua elemen
dan atribut harus ditulis dengan huruf kecil untuk XHTML
* Setiap tag
pembuka harus memiliki tag penutup. Untuk tag seperti <br> dan <hr>
yang tidak memiliki tag penutup diperlukan notasi <br /> dan <hr />
dimana “/>” adalah tanda penutup
* Nilai untuk
atribut harus berada dalam tanda kutip
* Atribut tanpa
nilai tidak diijinkan di XHTML. Setiap atribut harus mempunyai nilai
* Beberapa tanda
spasi (karakter) white spaces lain dalam nilai sebuah atribut digabungkan
menjadi satu spasi saja
* Atribut “name”
untuk beberapa tag diubah menjadi atribut “id” sehingga penamaan menjadi
konsisten untuk semua tag (nama sebuah tag selalu diberikan dalam atribut “id”)
* XHTML (seperti
XML juga) ialah case sensitive, tidak seperti HTML case insensitive
Berikut
adalah contoh penulisan file XHTML :
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html;
charset=ISO-8859-1"
http-equiv="content-type"
/>
<title>Contoh
XHTML</title>
</head>
<body>
<p>Ini adalah tugas web
desain</p>
</body>
</html>
Dalam XHTML didefinisikan tiga macam
DTD (Document Type Definition), yaitu :
* <!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml">
* <!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml">
* <!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml">
Contoh
sederhana sebuah file HTML adalah sebagai berikut :
<!DOCTYPE html PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta
content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
<title>Tugas web
Desain</title>
</head>
<body>
<p>Ini adalah tugas merangkum
mata kuliah web desain
</body>
</html>
Dalam HTML sudah didefinisikan tiga
macam DTD (Document Type Definition), yaitu :
* HTML 4.01
Strict DTD : Semua tag dan atribut yang tidak disarankan untuk tidak dipakai
lagi, dan semua tag yang tidak ada dalam DTD Frameset.
Contoh DTD untuk HTML 4.01 Strict
adalah sebagai berikut :
<!DOCTYPE HTML PUBLIC
“-//W3C//DTD HTML 4.01 Strict//EN””http://www.w3.org/TR/html4/strict.dtd”>
* HTML 4.01 Transitional
DTD : Semua tag sesuai spesifikasi HTML 4.01, termasuk tag-tag yang sebaliknya
tidak dipakai lagi.
Contoh DTD untuk HTML 4.01
Transitional adalah sebagai berikut :
<!DOCTYPE HTML PUBLIC
“-//W3C//DTD HTML 4.01 Transitional//EN””http://www.w3.org/TR/html4/loose.dtd”>
* HTML Frameset
DTD 4.01 DTD : DTD ini sama dengan DTD Transitional ditambah frame (jadi, ini
adalah DTD paling umum).
Contoh DTD untuk HTML 4.01 Frameset
adalah sebagai berikut :
<!DOCTYPE HTML PUBLIC
“-//W3C//DTD HTML 4.01 Frameset//EN””http://www.w3.org/TR/html4/frameset.dtd”>
Pengertian DTD
Document Type Definition
- DTD bertujuan untuk mendefinisikan sebuah blok yang valid dari sebuah dokumen XML dan agar setiap dokumen XML memiliki deskripsi yang sesuai dengan formatnya
- DTD berisi aturan-aturan yang digunakan untuk memvalidasi sebuah dokumen XML
- DTD dapat ditulis bersama dengan dokumen XML (internal) ataupun terpisah menjadi file DTD sendiri (eksternal)
3 jenis dokumen XML
- Well Formed XML: jika mengikuti spesifikasi XML namun tidak memiliki DTD/Schema
- Valid XML: jika mengikuti spesifikasi XML dan sesuai dengan DTD atau Schema
- Invalid XML: jika tidak mengikuti aturan XML dan tidak memiliki DTD
Jenis DTD
- Jika DTD ditulis dalam file XML (internal) maka harus mengikuti sintaks: <!DOCTYPE root-element [element-declarations]>
- Sedangkan untuk eksternal DTD sintaksnya adalah: <!DOCTYPE root-element SYSTEM "filename"> dan <!DOCTYPE root-element PUBLIC FPI "URL">
- root -element adalah nama elemen root dari dokumen XML
- Kata kunci SYSTEM berarti DTD tersebut mengacu pada DTD local berupa file, sedangkan kata kunci PUBLIC mengacu pada DTD berupa file pada URL tertentu
Contoh DTD Internal
<?xml version="1.0"?>
<!DOCTYPE tutorials [
<!ELEMENT tutorials (tutorial)+>
<!ELEMENT tutorial (name,url)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT url (#PCDATA)>
<!ATTLIST tutorials type CDATA #REQUIRED> ]>
<tutorials>
<tutorial>
<name>HTML Tutorial</name>
<url>http://www.quackit.com/html/tutorial</url>
</tutoria>
</tutorials>
Contoh DTD System
<?xml version="1.0" standalone="no"?>
<!DOCTYPE tutorials SYSTEM "tutorials.dtd">
<tutorials>
<tutorial>
<name>HTML Tutorial</name>
<url>http://www.quackit.com/html/tutorial</url>
</tutorial>
</tutorials>
File DTDnya
<!ELEMENT tutorials (tutorial)+<
<!ELEMENT tutorial (name,url)<
<!ELEMENT name (#PCDATA)<
<!ELEMENT url (#PCDATA)<
<!ATTLIST tutorials type CDATA #REQUIRED<
Contoh DTD Public
<?xml version="1.0"?>
<!DOCTYPE tutorials PUBLIC "-//erick/Erick's Note/ID" "http://lecturer.ukdw.ac.id/erick/tutorials.dtd">
<tutorials>
<tutorial>
<name>HTML Tutorial</name>
<url>http://www.quackit.com/html/tutorial</url>
</tutorial>
</tutorials>
<?xml version="1.0"?>
<!DOCTYPE tutorials [
<!ELEMENT tutorials (tutorial)+>
<!ELEMENT tutorial (name,url)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT url (#PCDATA)>
<!ATTLIST tutorials type CDATA #REQUIRED> ]>
<tutorials>
<tutorial>
<name>HTML Tutorial</name>
<url>http://www.quackit.com/html/tutorial</url>
</tutoria>
</tutorials>
Contoh DTD System
<?xml version="1.0" standalone="no"?>
<!DOCTYPE tutorials SYSTEM "tutorials.dtd">
<tutorials>
<tutorial>
<name>HTML Tutorial</name>
<url>http://www.quackit.com/html/tutorial</url>
</tutorial>
</tutorials>
File DTDnya
<!ELEMENT tutorials (tutorial)+<
<!ELEMENT tutorial (name,url)<
<!ELEMENT name (#PCDATA)<
<!ELEMENT url (#PCDATA)<
<!ATTLIST tutorials type CDATA #REQUIRED<
Contoh DTD Public
<?xml version="1.0"?>
<!DOCTYPE tutorials PUBLIC "-//erick/Erick's Note/ID" "http://lecturer.ukdw.ac.id/erick/tutorials.dtd">
<tutorials>
<tutorial>
<name>HTML Tutorial</name>
<url>http://www.quackit.com/html/tutorial</url>
</tutorial>
</tutorials>
Atribut dalam DTD
- Untuk mendefinisikan atribut dalam XML
- Sintaks:
<!ATTLIST elementname attributename1 attributetype1 attributevalue1 attributename2 attributetype2 attributevalue2 dst......> - Attribute Type:
- CDATA
- Enumeration
- ID
- IDREF dan IDREFS
- NMTOKEN dan NMTOKENS
- ENTITY
- NOTATION
CDATA
- CDATA adalah data yang tidak diparsing yang merupakan
teks biasa
Contohnya:
<!ATTLIST mountain country CDATA #REQUIRED> - Berikut adalah XML yang valid dari DTD di atas:
<mountains>
<mountain country="New Zealand">
</mountain>
<mountain country="Australia">
</mountain>
</mountains>
Enumeration
- Daftar kemungkinan nilai dari atribut
- Dipisahkan dengan menggunakan tanda |
Contohnya:
<!ATTLIST tutorial published (yes | no) #REQUIRED> - Berikut adalah XML yang valid dari DTD di atas:
<tutorials>
<tutorial published="yes">
</tutorial>
</tutorials> - Berikut adalah XML yang tidak valid dari DTD di atas:
<tutorials>
<tutorial published="true">
</tutorial>
</tutorials>
Entity
dalam DTD
Misalnya kita ingin menggantikan kalimat �Manajemen Data dan Informasi dengan XML/XSL� dengan entity &judul;
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE organisasi [
<!ENTITY judul "Manajemen data dan informasi dengan XML/XSLT">
]>
<resensi>
<buku judul="&judul;">
<ulasan>Buku &judul; ini ditulis oleh Junaedi</ulasan>
</buku>
</resensi>
Misalnya kita ingin menggantikan kalimat �Manajemen Data dan Informasi dengan XML/XSL� dengan entity &judul;
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE organisasi [
<!ENTITY judul "Manajemen data dan informasi dengan XML/XSLT">
]>
<resensi>
<buku judul="&judul;">
<ulasan>Buku &judul; ini ditulis oleh Junaedi</ulasan>
</buku>
</resensi>