XML (eXtensible Markup Language) adalah sebuah bahasa markup yang dirancang untuk menyimpan dan mengangkut data. Tidak seperti HTML, XML tidak memiliki tag yang telah ditentukan — Anda harus membuat tag sendiri sesuai kebutuhan.
XML dibuat oleh W3C sebagai standar untuk pertukaran data antar sistem.
Tujuan XML:
Memisahkan data dari tampilan (presentasi)
Memudahkan pertukaran data antar platform dan aplikasi
Menyimpan data dalam format yang terstruktur dan terbaca manusia dan mesin
Contoh XML sederhana:
XML:
<?xml version="1.0" encoding="UTF-8"?>
<produk>
<nama>Laptop</nama>
<harga>8500000</harga>
<stok>20</stok>
</produk>
Komponen:
<?xml ...?> → deklarasi XML
Elemen (<nama>, <harga>) → pembungkus data
Nilai elemen → isi antara tag pembuka dan penutup
Atribut (opsional)
Harus memiliki root element tunggal
Tag harus ditutup
Peka terhadap huruf besar/kecil
Tag harus tertata secara hierarkis
Atribut harus dalam tanda kutip
Contoh salah:
XML:
<produk>
<nama>Laptop
<harga>8500000</harga>
</produk>
Kapan gunakan elemen dan kapan gunakan atribut?
XML:
<!-- Menggunakan elemen -->
<produk>
<nama>Laptop</nama>
<harga>8500000</harga>
</produk>
<!-- Menggunakan atribut -->
<produk nama="Laptop" harga="8500000" />
Gunakan elemen untuk data kompleks dan atribut untuk metadata sederhana.
Untuk memastikan struktur XML valid, kita bisa menggunakan:
1. DTD (Document Type Definition)
Contoh:
XML:
<!DOCTYPE produk [
<!ELEMENT produk (nama, harga)>
<!ELEMENT nama (#PCDATA)>
<!ELEMENT harga (#PCDATA)>
]>
<produk>
<nama>Laptop</nama>
<harga>8500000</harga>
</produk>
2. XML Schema (XSD)
Lebih kuat dan mendukung tipe data.
XML:
<xs:element name="harga" type="xs:decimal"/>
XPath digunakan untuk menelusuri node dalam dokumen XML.
Contoh:
xpath
XML:
/produk/nama -> Pilih elemen <nama> di dalam <produk>
/produk[@id='123'] -> Pilih <produk> dengan atribut id="123"
XSLT (eXtensible Stylesheet Language Transformations) digunakan untuk mengubah XML menjadi HTML, teks, atau XML lain.
Contoh:
XML:
<xsl:template match="/produk">
<html>
<body>
<h2><xsl:value-of select="nama"/></h2>
</body>
</html>
</xsl:template>
XML digunakan di berbagai teknologi:
Web Services (SOAP, REST)
RSS Feed
Config File (Android, Java, .NET)
Data Interchange (Excel, Database)
Tools Fungsi
Notepad++ Editor XML dengan highlight
XML Copy Editor Validasi DTD/XSD
Oxygen XML XML editing profesional
XML Lint Validasi XML CLI
Altova XMLSpy Enterprise-level XML editor
Gunakan XSD untuk validasi yang ketat
Gunakan CDATA untuk teks panjang atau yang mengandung simbol khusus
Selalu simpan file XML dengan UTF-8 encoding
Periksa struktur dengan validator seperti https://www.xmlvalidation.com
XML adalah teknologi kuat dan fleksibel untuk menyimpan serta bertukar data antar sistem. Dengan memahami struktur, aturan, dan tools pendukung seperti XPath dan XSLT, Anda dapat memanfaatkan XML dalam berbagai aplikasi profesional.