Cara menggunakan XML formatter
- Tempel XML Anda ke kotak input: amplop SOAP, feed RSS, sitemap, file SVG, atau file konfigurasi.
- Klik Format untuk merapikannya dengan satu elemen per baris dan indentasi yang konsisten.
- Klik Minify untuk menghapus spasi di antara tag dan menghasilkan versi paling ringkas.
- Jika dokumen tidak well-formed, pemeriksa melaporkan apa yang salah dan di mana, sehingga Anda bisa langsung menuju masalahnya.
- Salin hasilnya ke editor atau request Anda.
Parsing berjalan secara lokal di browser Anda. XML yang Anda tempel tidak pernah diunggah atau disimpan, sehingga Anda dapat dengan aman mengerjakan payload API internal dan konfigurasi.
Apa itu XML dan mengapa perlu diformat?
XML (Extensible Markup Language) adalah standar W3C untuk merepresentasikan data terstruktur sebagai elemen bernama yang bersarang, dengan atribut opsional. XML masih ada di mana-mana: layanan web SOAP, feed RSS dan Atom, sitemap XML, file Microsoft Office, layout Android, file Maven pom.xml, dan grafik SVG semuanya adalah XML.
XML yang dihasilkan perangkat lunak sering ditulis dalam satu baris atau dengan indentasi yang tidak teratur. Pretty-printing membuat hierarkinya terlihat, sehingga Anda dapat melihat elemen mana yang termasuk dalam induk mana dan menemukan nilai yang salah tempat. Minify berguna ketika Anda perlu menyematkan XML dalam payload lain atau memperkecil ukurannya.
XML well-formed vs valid
Kedua istilah ini sering tertukar:
- XML yang well-formed mengikuti aturan sintaks spesifikasi XML: satu elemen root, tag yang bersarang dan ditutup dengan benar, nilai atribut yang diberi tanda kutip, dan karakter khusus yang di-escape. Setiap parser XML mensyaratkan hal ini.
- XML yang valid adalah well-formed dan sesuai dengan skema (DTD, XSD, atau RELAX NG) yang menentukan elemen dan atribut apa yang diizinkan.
Alat ini memeriksa well-formedness. Validasi skema membutuhkan file skema dan biasanya dilakukan di alat build atau IDE Anda.
Error XML yang umum dan cara memperbaikinya
Lebih dari satu elemen root. Dokumen XML harus memiliki tepat satu elemen tingkat atas:
<item>A</item>
<item>B</item>
Bungkus elemen sejajar itu dalam satu induk:
<items>
<item>A</item>
<item>B</item>
</items>
Tag tidak cocok atau bersarang secara keliru. Tag harus ditutup dalam urutan terbalik dan nama bersifat peka huruf besar-kecil, sehingga <Name>…</name> adalah error, begitu pula <b><i>text</b></i>.
Karakter khusus yang tidak di-escape. Karakter < atau & polos di dalam teks merusak parsing. Gunakan entity bawaan (predefined):
| Karakter | Entity | Kapan diperlukan |
|---|---|---|
< | < | Selalu di dalam teks dan nilai atribut |
& | & | Selalu di dalam teks dan nilai atribut |
> | > | Disarankan; wajib dalam urutan ]]> |
" | " | Di dalam nilai atribut dengan tanda kutip ganda |
' | ' | Di dalam nilai atribut dengan tanda kutip tunggal |
Misalnya, URL di sitemap harus ditulis sebagai <loc>https://example.com/?a=1&b=2</loc>. Sebagai alternatif, bungkus blok teks yang besar dalam bagian <![CDATA[ … ]]>, di mana karakter markup tidak ditafsirkan.
Atribut tanpa tanda kutip. Berbeda dengan HTML, XML mewajibkan tanda kutip di sekitar setiap nilai atribut: <user id="42">, bukan <user id=42>.
Konten sebelum deklarasi XML. Jika ada, <?xml version="1.0" encoding="UTF-8"?> harus berada di posisi paling awal file. Bahkan satu spasi atau baris kosong sebelumnya membuat dokumen tidak well-formed.
Tips dan praktik terbaik
- Deklarasikan encoding dan simpan file sebagai UTF-8 untuk menghindari masalah dengan karakter beraksen.
- Berhati-hatilah saat melakukan pretty-print pada dokumen yang spasinya bermakna, seperti mixed content atau elemen yang memakai
xml:space="preserve"; menambahkan baris baru dapat mengubah nilai teks. - Gunakan namespace secara konsisten: prefiks seperti
soap:harus dideklarasikan dengan atributxmlns:soappada elemen itu atau pada leluhurnya. - Perlu menyematkan XML dalam URL atau string JSON? Encode dulu dengan URL Encode & Decode atau Base64 Encode & Decode.
Pertanyaan yang sering diajukan
Apakah HTML sama dengan XML?
Tidak. HTML lebih longgar: HTML mengizinkan elemen yang tidak ditutup seperti <br>, atribut tanpa tanda kutip, dan nama tag yang tidak peka huruf besar-kecil. XHTML adalah varian HTML yang mengikuti aturan XML. Untuk merapikan halaman web biasa, gunakan HTML Formatter.
Apakah pemformatan mengubah data saya?
Pretty-printing menambahkan spasi di antara elemen, dan minify menghapusnya. Nama elemen, atribut, dan isi teks tetap sama, tetapi pada dokumen di mana spasi di dalam teks bermakna, indentasi tambahan bisa berpengaruh.
Apakah alat ini memvalidasi terhadap skema XSD?
Tidak. Alat ini memeriksa bahwa dokumen well-formed. Validasi terhadap DTD atau XSD membutuhkan skema dan parser yang melakukan validasi.
Mengapa XML saya gagal karena tanda ampersand?
Dalam XML, & selalu memulai referensi entity. Ampersand polos, yang umum dalam URL dan nama perusahaan, harus ditulis sebagai & atau ditempatkan di dalam bagian CDATA.
Diperbarui
Komentar
Masuk untuk menilai alat ini.
Bagikan tips, ajukan pertanyaan, atau ceritakan pengalaman Anda memakai alat ini.
Belum ada komentar. Jadilah yang pertama bercerita.