DTD - Blok Bangunan XML
Blok bangunan utama dari dokumen XML dan HTML adalah elemen.
Blok Bangunan Dokumen XML
Dilihat dari sudut pandang DTD, semua dokumen XML dibuat oleh blok bangunan berikut:
- Elemen
- Atribut
- Entitas
- PCDATA
- CDATA
Elemen
Elemen adalah blok bangunan utama dari dokumen XML dan HTML.
Contoh elemen HTML adalah "body" dan "table". Contoh elemen XML dapat berupa "catatan" dan "pesan". Elemen dapat berisi teks, elemen lain, atau kosong. Contoh elemen HTML kosong adalah "hr", "br" dan "img".
Contoh:
<body>some text</body>
<message>some text</message>
Atribut
Atribut memberikan informasi tambahan tentang elemen .
Atribut selalu ditempatkan di dalam tag pembuka suatu elemen. Atribut selalu datang dalam pasangan nama/nilai. Elemen "img" berikut memiliki informasi tambahan tentang file sumber:
<img src="computer.gif" />
Nama elemennya adalah "img". Nama atributnya adalah "src". Nilai atributnya adalah "computer.gif". Karena elemen itu sendiri kosong maka ditutup dengan tanda " /".
Entitas
Beberapa karakter memiliki arti khusus dalam XML, seperti tanda kurang dari (<) yang mendefinisikan awal tag XML.
Sebagian besar dari Anda tahu entitas HTML: " ". Entitas "tanpa-breaking-space" ini digunakan dalam HTML untuk menyisipkan ruang ekstra dalam dokumen. Entitas diperluas saat dokumen diurai oleh parser XML.
Entitas berikut telah ditentukan sebelumnya dalam XML:
Entity References | Character |
---|---|
< | < |
> | > |
& | & |
" | " |
' | ' |
PCDATA
PCDATA berarti data karakter yang diurai.
Pikirkan data karakter sebagai teks yang ditemukan di antara tag awal dan tag akhir elemen XML.
PCDATA adalah teks yang AKAN diurai oleh parser . Teks akan diperiksa oleh parser untuk entitas dan markup .
Tag di dalam teks akan diperlakukan sebagai markup dan entitas akan diperluas.
Namun, data karakter yang diurai tidak boleh berisi karakter &, <, atau >; ini perlu diwakili oleh & < dan > entitas, masing-masing.
CDATA
CDATA berarti data karakter.
CDATA adalah teks yang TIDAK akan diurai oleh parser . Tag di dalam teks TIDAK akan diperlakukan sebagai markup dan entitas tidak akan diperluas.