Terakhir Diperbarui: 25 Mar, 2025

Judul - Apa Itu XML: Panduan Komprehensif

Apa Itu XML?

XML (Extensible Markup Language) adalah bahasa markup dan format file yang digunakan untuk menyimpan, mentransmisikan, dan merekonstruksi data. Ini menyediakan pendekatan terstruktur untuk mengkodekan informasi, membuatnya dapat dibaca oleh manusia dan mesin.

Fitur Utama XML

1. Didefinisikan oleh Standar Terbuka

  • Ditetapkan oleh World Wide Web Consortium (W3C) pada tahun 1998 di bawah Spesifikasi XML 1.0.
  • Mengikuti aturan ketat untuk memastikan data terstruktur dan mudah diinterpretasikan.

2. Tujuan Desain

  • XML didesain dengan kesederhanaan, generalitas, dan kegunaan di berbagai platform.
  • Menggunakan format berbasis teks, sehingga mudah dibaca dan diedit.

3. Dukungan Unicode

  • XML mendukung Unicode, memungkinkannya untuk menyimpan dan memproses teks dalam berbagai bahasa.

4. Serbaguna

  • Awalnya dibuat untuk dokumen, XML sekarang banyak digunakan untuk representasi data di berbagai domain, termasuk layanan web, API, dan file konfigurasi.

5. Skema dan API

  • Struktur XML dapat didefinisikan menggunakan Document Type Definition (DTD), XML Schema (XSD), atau Relax NG.
  • Berbagai API, seperti DOM (Document Object Model) dan SAX (Simple API for XML), memungkinkan pemrosesan XML.

6. Penggunaan Umum XML

  • Pertukaran data antara sistem yang berbeda (seperti layanan web, API).
  • File konfigurasi dalam aplikasi perangkat lunak.
  • Menyimpan informasi terstruktur (misalnya, RSS feeds, SVG grafis, format dokumen seperti DOCX).
  • Pengembangan web (misalnya, XHTML, SOAP, aplikasi berbasis AJAX).

Overview XML

1. Tujuan Utama XML: Serialisasi

Serialisasi dalam XML berarti:

  • Menyimpan data dalam format terstruktur.
  • Mentrasmisikan data antar sistem berbeda.
  • Merekonstruksi data dalam bentuk yang dapat digunakan.

Ketika dua sistem perlu bertukar informasi, XML menyediakan format file terstandarisasi untuk interoperabilitas. Ini bertindak sebagai “lingua franca” untuk pertukaran data terstruktur.

2. XML sebagai Bahasa Markup

XML adalah bahasa markup, artinya:

  • Memberi label data dengan tag untuk struktur yang jelas.
  • Mengorganisir informasi secara hierarki.
  • Mengategorikan data dengan metadata.

Contoh:

<book>
    <title>Dasar-Dasar XML</title>
    <author>John Doe</author>
</book>

Di sini, <book>, <title>, dan <author> adalah tag yang mendefinisikan elemen data.

3. XML Schema (XSD) dan Validasi

XML Schema (XSD) mendefinisikan aturan struktural untuk dokumen XML.

Dokumen XML dapat:

  • Tertata baik → Mengikuti aturan sintaks dasar (penyusunan yang benar, penutupan tag yang tepat).
  • Valid → Sesuai dengan aturan skema (elemen wajib, tipe data yang benar).

Contoh Aturan XSD:

<xs:element name="title" type="xs:string"/>

Ini memastikan bahwa <title> harus berisi nilai string.

4. Jenis Media XML (RFC 7303)

IETF RFC 7303 mendefinisikan jenis media XML untuk transmisi data:

  • application/xml → Data XML Standar.
  • application/xml-external-parsed-entity → Entitas XML yang diparsing.
  • application/xml-dtd → Dokumen DTD XML.

Untuk format berbasis XML, digunakan akhiran +xml (misalnya, image/svg+xml untuk gambar SVG).

5. XML dalam Aplikasi Jaringan (RFC 3470 / IETF BCP 70)

IETF BCP 70 (RFC 3470) menjelaskan praktik terbaik untuk penggunaan XML dalam aplikasi berbasis jaringan, memastikan interoperabilitas data yang mulus di berbagai sistem.


1. Aplikasi XML

XML adalah bahasa markup yang fleksibel yang dirancang untuk pertukaran data melalui Internet. Sintaksnya telah mempengaruhi banyak format dokumen dan protokol komunikasi, menjadikannya teknologi dasar di banyak industri.

Format Berbasis XML Umum:

  • Web Feeds: RSS, Atom
  • Dokumen Kantor: Office Open XML, OpenDocument
  • Grafis dan Model 3D: SVG, COLLADA
  • Teknologi Web: XHTML
  • Protokol Pertukaran Data: SOAP, XMPP
  • AJAX: Menggunakan XML untuk pertukaran data asinkron

Standar Industri yang Menggunakan XML:

  • Kesehatan: HL7 (Health Level 7)
  • Industri Perjalanan: OpenTravel Alliance
  • Keuangan: FpML (Financial products Markup Language)
  • Real Estat & Hipotek: MISMO
  • Pertukaran Data Pemerintah: National Information Exchange Model

XML dalam Ilmu Pengetahuan:

Dalam meteorologi, XML digunakan untuk representasi data cuaca operasional sesuai dengan standar IWXXM. Begitu juga, Darwin Information Typing Architecture (DITA) adalah standar XML yang banyak digunakan dalam penerbitan.


2. Terminologi Kunci dalam XML

Memahami terminologi inti dalam XML penting untuk bekerja dengan dokumen XML secara efektif.

Karakter

Dokumen XML adalah rangkaian karakter Unicode. XML 1.1 mengizinkan hampir semua karakter Unicode, kecuali Karakter Null (U+0000), yang dilarang keras.

Prosesor dan Aplikasi

  • Prosesor XML (atau pengurai) membaca dan menganalisis markup XML.
  • Aplikasi menerima data terstruktur dari prosesor dan bertindak berdasarkan data tersebut.

Markup dan Konten

XML membagi karakter menjadi markup dan konten:

  • Markup: Termasuk elemen, atribut, dan entitas (misalnya, <tag> dan &amp;).
  • Konten: Data sebenarnya di dalam elemen.
  • Seksi CDATA: Memungkinkan teks yang tidak boleh dianalisis sebagai markup, ditutup dalam <![CDATA[ ... ]]>.

Tag dan Elemen

  • Tag: Konstruksi markup yang tertutup dalam < >.
    • <section> (Tag Awal)
    • </section> (Tag Akhir)
    • <line-break /> (Tag Elemen Kosong)
  • Elemen: Komponen logikal yang didefinisikan oleh tag.
    • Contoh: <greeting>Halo, dunia!</greeting>

Atribut

Atribut menyediakan metadata untuk elemen menggunakan pasangan nama-nilai. Contoh:

<img src="image.jpg" alt="Deskripsi" />
  • src="image.jpg" dan alt="Deskripsi" adalah atribut dari elemen <img>.

3. Karakter dan Penghindaran dalam XML

Karakter Unicode yang Valid dalam XML

Dokumen XML hanya mengizinkan karakter Unicode tertentu untuk memastikan pemrosesan yang benar.

Karakter yang Diizinkan dalam XML 1.0:

  • Karakter Kontrol:
    • U+0009 (Tab)
    • U+000A (Line Feed)
    • U+000D (Carriage Return)
  • Karakter Teks:
    • U+0020–U+D7FF
    • U+E000–U+FFFD
    • U+10000–U+10FFFF

Peningkatan XML 1.1:

  • Memungkinkan semua karakter kontrol U+0001–U+001F tetapi mengharuskan mereka untuk dihindari.
  • U+0000 (Karakter Null) tetap dilarang.

4. Pengkodean dalam XML

Pengkodean XML Umum:

XML mendukung pengkodean berbasis Unicode, termasuk:

  • UTF-8 (Rekomendasi default)
  • UTF-16 (Harus didukung oleh semua pengurai XML)
  • ASCII, ISO-8859-X (Pengkodean lama)

Deklarasi Pengkodean dalam XML:

Header XML dapat menentukan pengkodean:

<?xml version="1.0" encoding="UTF-8"?>
  • Jika tidak ada pengkodean yang ditentukan, UTF-8 diasumsikan.
  • UTF-16 memerlukan BOM (Byte Order Mark) untuk deteksi yang benar.

5. Menghindari Karakter Khusus dalam XML

Karena sintaks XML mencadangkan karakter tertentu, mereka harus dihindari untuk menghindari konflik.

Entitas XML yang Didefinisikan:

KarakterBentuk yang DihindariContoh
< (Kurang dari)&lt;I &lt;3 XMLI <3 XML
> (Lebih dari)&gt;x &gt; yx > y
& (Ampersand)&amp;AT&amp;TAT&T
' (Kutipan tunggal)&apos;"O&apos;Reilly"O’Reilly
" (Kutipan ganda)&quot;She said &quot;hello&quot;She said “hello”

Referensi Karakter Numerik:

Untuk karakter khusus yang tidak dapat diketik, gunakan referensi numerik:

  • Desimal:
    &#20013;  <!-- Karakter Cina "中" -->
    
  • Heksadesimal:
    &#x4E2D;  <!-- Karakter Cina "中" -->
    
  • Contoh:
    <message>I &lt;3 J&#xF6;rg</message>
    
    Terlihat sebagai: I <3 Jörg

Penanganan Data Biner:

XML tidak mendukung data biner mentah. Sebagai gantinya, gunakan pengkodean Base64.


6. Komentar dalam XML

Sintaks Komentar XML:

<!-- Ini adalah komentar XML yang valid -->

Aturan untuk Komentar XML:

  • Tidak bisa muncul sebelum deklarasi XML.
  • Tidak boleh mengandung -- (double hyphen) di dalam komentar.
  • Referensi entitas diabaikan dalam komentar.

Contoh:

<!-- Ini adalah komentar dengan simbol < dan & -->

Kesimpulan

XML adalah teknologi penting untuk pertukaran data terstruktur, yang menggerakkan web feeds, dokumen kantor, data ilmiah, dan standar industri. Memahami terminologi kunci XML, aturan pengkodean, dan mekanisme penghindaran memastikan dokumen XML yang tertata baik yang berfungsi dengan benar di berbagai sistem.

Dengan mengikuti praktik terbaik dalam pengkodean karakter dan penghindaran, pengembang dapat menghindari kesalahan parsing dan memastikan kompatibilitas dalam aplikasi berbasis XML.