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.
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.
<
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.<
dan akhir dengan >
. Terdapat tiga jenis teg:
<section>
</section>
<line-break />
<Greeting>Helo, dunia.</Greeting>
. Sebuah lagi ialah <line-break />
.<img src="madonna.jpg" alt='Foligno Madonna, by Raphael'/>
<step number="3">Sambungkan A kepada B.</step>
<?xml version="1.0" encoding="UTF-8" ?>
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.
Titik kod Unicode dalam julat berikut sah dalam dokumen XML 1.0:[5]
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.
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.
XML menyediakan kemudahan lepasan yang membolehkan kemasukan aksara-aksara yang sukar dimasukkan secara langsung. Misalnya:
 
) " "
 
) " "А
) "А"
A
) "A"Terdapat lima entiti pratakrif:
<
mewakili "<">
mewakili ">"&
mewakili "&"'
mewakili '"
mewakili "Kesemua aksara Unicode yang dibenarkan boleh diwakili dengan rujukan aksara angka. Sebagai contoh, lihat aksara Cina "中", yang kod angkanya dalam Unicode ialah perenambelasan (hexadecimal) 4E2D, atau perpuluhan (decimal) 20,013. Pengguna yang empunya kekunci yang tidak boleh memasukkan aksara ini masih boleh memasukkannya ke dalam dokumen XML sama ada dengan menaip 中
atau 中
. Sama juga, rentetan "I <3 Jörg
" dapat dikodkan bagi kemasukan ke dalam dokumen XML dengan mengguna "I <3 Jörg
".
Penggunaan "�
" tidak dibenarkan oleh sebab aksara nol merupakan satu daripada aksara kawalan yang dikeluarkan daripada XML, mahupun rujukan aksara angka digunakan.[10] Mekanisme pengekodan lain, seperti Base64 diperlukan bagi mewakilkan aksara-aksara sedemikian.
Ulasan boleh hadir di mana-mana tempat dalam dokumen di luar penanda lain. Ulasan tidak boleh hadir sebelum pengisytiharan XML. Ulasan bermula dengan "<!--
" dan berakhir dengan "-->
". Rentetan "--
" (tanda sempang berganda) tidak dibenarkan dalam ulasan; ini bermaksud ulasan tidak boleh bersarang. Ampersand "&" tidak memiliki nilai bermakna dalam ulasan, jadi rujukan entiti dan aksara tidak diiktiraf, dan tidak ada jalan bagi mewakili aksara yang terkeluar dar set aksara pengekodan dokumen.
Contoh ulasan sah:
"<!-- kod tidak perlu <lepasan> & dalam ulasan -->
"
XML 1.0 (Fifth Edition) dan XML 1.1 menyokong penggunaan secara langsung hampir kesemua aksara Unicode dalam nama-nam unsur, atribut, ulasan, data aksara, dan pemprosesan arahan (melainkan yang mempunyai makna simbol khas dalam XML sendiri, seperti tanda "kurang dari", yakni "<"). Berikut ialah dokumen XML yang purna bentuk (well-formed) yang mengandungi aksara tulisan Cina dan Siril:
<?xml version="1.0" encoding="UTF-8" ?>
<俄语>данные</俄语>
Spesifikasi XML mendefiniskan dokumen XML sebagai teks yang purna bentuk, yakni ia menepati keperluan peruturan sintaksis yang terkandung dalam spesifikasi. Senarai tersebut agak panjang; beberapa perkara penting termasuk:
Justeru definisi dokumen XML mengetepikan teks yang melanggar perautuan purna bentuk. Pemproses XML yang menjumpai pelanggaran diwajibkan melapor ralat sedemikian dan berhenti memproses. An XML processor that encounters such a violation is required to report such errors and to cease normal processing. Polisi ini, yang kadang kalanya digelar sebagai drakonian, berlainan dengan perisian yang memproses HTML, yang direka untuk menjana keputusan yang berpatutan mahupun terdapat ralat penanda yang teruk.[11] Polisi XML dalam hal ini pernah dikritik sebagai melanggar Hukum Postel yang menyatakan, "Bersikap konservatif dalam apa yang dihantar; bersifat liberal dalam apa yang diterima".[12]
|accessdate=
(bantuan)