XML
Extensible Markup Language | |
---|---|
![]() | |
Sambungan fail: | .xml |
Jenis media Internet: | application/xml, text/xml (lapuk) |
Pengecam Jenis Seragam: | public.xml |
Dibangunkan oleh: | Konsortium Jaringan Sejagat |
Jenis format: | Bahasa penanda |
Diperluas daripada: | SGML |
Diperluas kepada: | XHTML, RSS, Atom, ... |
Piawai: | 1.0 (Fifth Edition) 26 November 2008 1.1 (Second Edition) 16 Ogos 2006 |
XML (Extensible Markup Language, dalam bahasa Melayu Bahasa Penanda Boleh Perluas) ialah sebuah bahasa penanda yang disyorkan oleh Konsortium Jaringan Sejagat (W3C) untuk kegunaan umum dalam format yang boleh dibaca manusia dan boleh dibaca mesin. Ia didefinisikan dalam XML 1.0 Specification[1] yang dikeluarkan W3C, dan beberapa spesifikasi berkaitan yang lain, [2] yang kesemuanya piawai terbuka percuma.[3]
Sasaran reka bentuk XML menitikberatkan kesenangan penggunaan, keitlakan, dan kebolehgunaan menerusi Internet. [4] Ia merupakan format data teks yang mempunyai sokongan kuat bagi bahasa-bahasa dunia melalui Unicode. Kendatipun reka bentuk XML tertumpu kepada dokumen, ia digunakan secara meluas bagi penggambaran struktur data sebarangan yang terdapat, misalnya, dalam perkhidmatan web.
Berbeza dengan bahasa penanda lain seperti HTML, ia tidak melakukan apa-apa selain menyimpan data. Dalam kata lain, XML tidak memaparkan data, sebaliknya memegang data.
Istilah penting
Bahan yang ditampilkan di bahagian ini berlandaskan Spesifikasi XML. Ia bukan senarai menyeluruh kesemua binaan yang terdapat dalam XML dan hanya menunujukkan binaan-binaan penting yang sering ditemui dalam penggunaan seharian XML. use.
- Aksara (Unicode)
- Mengikut definisinya, sebuah dokumen XML ialah rentetan aksara. Hampir kesemua aksara Unicode sah boleh hadir dalam dokumen XML.
- Pemproses dan aplikasi
- Pemproses menganalisis bahasa penanda dan memanjangkan maklumat berstruktur kepada sebuah aplikasi. Spesifikasi meletakkan keperluan tentang apa perlu dilakukan dan tidak boleh dilakukan pemproses, akan tetapi aplikasi berada di luar skop spesifikasi. Pemproses (seperti yang digelar spesifikasi) lazim dipanggil XML parser (penghurai XML) dalam bahasa basahan.
- Bahasa penanda dan kandungan
- Aksara yang terkandung dalam dokumen XML dibahagikan kepada bahasa penanda dan kandungan. Kedua-dua ini dapat dibezakan melalui peraturan sintaksis mudah. Secara amnya, rentetan aksara yang menjadi penanda bermula sama ada dengan kod aksara
<
dan akhir dengan>
, ataupun bermula dengan dengan aksara&
dan berakhir dengan;
. Rentetan aksara yang bukan penanda dikira kandungan. Namun, dalam seksyen CDATA, pembatas<![CDATA[
dan]]>
diklasifikasikan sebagai penanda, sementara teks di antara aksara-aksar tersebut diklasifikasikan sebagai kandungan. Tambahan, ruang putih sebelum dan selepas unsur yang paling luar diklasifikasikan sebagai penanda.
- Teg
- Binaan penanda yang bermula dengan
<
dan akhir dengan>
. Terdapat tiga jenis teg:- Teg mula (start-tags); misalan:
<section>
- Teg akhir (end-tags); misalan:
</section>
- Teg unsur kosong (empty-element tags); misalan:
<line-break />
- Teg mula (start-tags); misalan:
- Unsur
- Sebuah komponen logik dokumen bermula sama ada dengan teg mula dan berakhir dengan teg akhir sepadan ataupun mengandungi hanya teg unsur osong. Aksara di-antara teg-teg mula dan akhir, jika ada, merupakan kandungan unsur tersebut, dan boleh mengandungi penanda termasuklah unsur-unsur lain yang digelar unsur anak. Sebuah contoh ialah
<Greeting>Helo, dunia.</Greeting>
. Sebuah lagi ialah<line-break />
.
- Atribut
- Binaan penanda yang terdiri daripada pasangan nama/nilai yang terkandung dalam teg mula atau teg unsur kosong. Dalam contoh di bawah, unsur img memiliki dua atribut, src dan alt:
- Satu lagi contoh:
<img src="madonna.jpg" alt='Foligno Madonna, by Raphael'/>
- di mana nama atribut ialah number dan nilai ialah 3.
<step number="3">Sambungkan A kepada B.</step>
- Pengisytiharan XML
- Dokumen XML dapat bermula dengan mengisytiharkan maklumat tentang dokumen itu sendiri:
<?xml version="1.0" encoding="UTF-8" ?>
Aksara dan lepasan
Dokumen XML terdiri sepeunuhnya daripada aksara set Unicode, dan melainkan beberapa bilangan kecil aksara kawalan, semua aksara yang didefinisikan oleh Unicode boleh hadir dalam dokumen XML. XML includes facilities for identifying the encoding of the Unicode characters that make up the document, and for expressing characters that, for one reason or another, cannot be used directly.
Aksara sah
Titik kod Unicode dalam julat berikut sah dalam dokumen XML 1.0:[5]
- U+0009, U+000A, U+000D: ini merupakan kod kawalan C0 yang diterima dalam XML 1.0;
- U+0020–U+D7FF, U+E000–U+FFFD: ini mengetepikan beberapa (bukan semua) kod bukan aksara dalam Basic Multilingual Plane (BMP) (kesemua pengganti, U+FFFE dan U+FFFF tidak dibenarkan);
- U+10000–U+10FFFF: ini merangkumi semua titik kod dalam satah tambahan, termasuk yang bukan aksara.
XML 1.1[6] melanjutkan set aksara yang dibenarkan: di atas serta aksara dalam julat U+0001–U+001F. Pada masa yang sama, ia mengehadkan penggunaan aksara kawalan C0 dan C1 selain daripada U+0009, U+000A, U+000D, dan U+0085 dengan memerlukan kod-kod tersebut ditulis dalam bentuk lepasan by requiring them to be written in escaped form (misalannya, U+0001 perlu ditulis sebagai  ataupun kod yang setara). Dalam kes aksara C1, hambatan ini merupakan keserasian kebelakang; ia diperkenalkan bagi membolehkan ralat pengekodan dikesan.
Titik kod U+0000 merupakan satu-satunya aksara yang tidak dibenarkan dalam apa jua dokumen XML 1.0 ataupun 1.1.
Mengesan pengekodan
Set aksara Unicode dapat dikodkan ke dalam bait bagi penstoran atau penghantaran dalam beberapa cara yang digelar "pengekodan". Unicode sendiri mendefinisikan pengekodan yang merangkumi seluruh repertoir; yang terkenal termasuklah UTF-8 dan UTF-16.[7] Terdapat banyak lagi pengekodan teks yang mendahului Unicode, ASCII dan ISO/IEC 8859; dalam hampir semua kes, repertoir aksara kod-kod ini merupakan subset repertoir aksara Unicode.
XML membenarkan penggunaan apa jua pengekodan yang didefinisi Unicode, dan juga pengekodan yang hadir dalam Unicode. XML juga menyediakan mekanisme di mana pemproses XML dapat, secara pasti dan tanpa pengetahuan terdahulu, menentukan pengekodan mana yang digunakan.[8] Pengekodan selain daripada UTF-8 dan UTF-16 tidak semestinya dikenali oleh setiap penghurai XML.
Nota
- ^ "XML 1.0 Specification". W3.org. Dicapai pada 2010-08-22.
- ^ "XML and Semantic Web W3C Standards Timeline" (PDF). 2012-02-04.
- ^ "W3C DOCUMENT LICENSE".
- ^ "XML 1.0 Origin and Goals". Dicapai pada July 2009. Check date values in:
|accessdate=
(bantuan) - ^ "Extensible Markup Language (XML) 1.0 (Fifth Edition)". W3.org. 2008-11-26. Dicapai pada 2012-11-23.
- ^ "Extensible Markup Language (XML) 1.1 (Second Edition)". W3.org. Dicapai pada 2010-08-22.
- ^ "Characters vs. Bytes".
- ^ "Autodetection of Character Encodings".