Pemformat XML
Beri indentasi atau minifikasi dokumen XML tanpa mengubah isinya, sepenuhnya di browser Anda.
Berjalan sepenuhnya di browser Anda. Tidak ada yang diunggah, dicatat, atau disimpan.
Tempel dokumen XML lalu baca. Dengan indentasi, atau seluruhnya kembali menjadi satu baris, tanpa mengubah apa pun selain itu, karena dalam XML hampir semua hal yang ingin dirapikan oleh pemformat adalah data.
Cara kerja
Pemformat HTML bebas memberi indentasi di antara elemen blok, karena di sana browser tidak menampilkan spasi kosong apa pun. XML tidak punya elemen blok maupun elemen inline. XML tidak tahu arti elemen-elemen Anda, dan spasi kosong di dalam elemen yang berisi teks adalah bagian dari teks itu.
Jadi aturan di sini sempit, dan itulah seluruh alatnya: sebuah elemen diberi indentasi ulang hanya jika berisi elemen lain dan tidak punya teks sendiri. Semua yang lain — teks, konten campuran, CDATA, elemen daun yang hanya berisi spasi, elemen bertanda xml:space="preserve" — dikembalikan byte demi byte.
Di dalam tag pembuka, spasi kosong tidak pernah menjadi data, jadi deretan spasi di antara atribut diringkas menjadi satu. Isi di dalam tanda kutip dibiarkan apa adanya. Atribut tidak diurutkan ulang, tidak diganti namanya, dan tanda kutipnya tidak diubah.
Tag harus seimbang sebelum semua ini terjadi. Dokumen yang tag penutupnya tidak cocok, atau yang membuka elemen tanpa pernah menutupnya, ditolak alih-alih dirapikan: pemformat yang memberi indentasi pada markup rusak menghasilkan sesuatu yang tampak benar tetapi salah dengan cara yang baru.
Contoh
| Kasus | Masukan | Hasil |
|---|---|---|
| Konten campuran dibiarkan persis seperti adanya | <p>Paper <em>and</em> cloth.</p> | <p>Paper <em>and</em> cloth.</p> |
| Elemen daun yang berisi spasi tetap mempertahankannya | <value> </value> | <value> </value> |
| Atribut dipisahkan satu spasi | <a b="1" c="2"/> | <a b="1" c="2"/> |
Pertanyaan umum
Mengapa dokumen saya dikembalikan dalam satu baris saja?
Karena elemen akarnya berisi teks selain elemen. Itu konten campuran, dan spasi kosong di dalamnya adalah data: memberi indentasi akan menyisipkan karakter yang tidak ada di dokumen Anda. Pemformat ini bekerja dengan benar: ia menolak mengubah konten Anda hanya supaya tampak lebih rapi.
Apakah alat ini memeriksa XML saya terhadap skema?
Tidak. Alat ini memeriksa bahwa tag seimbang, yang memang diperlukan untuk bisa memberi indentasi, dan tidak lebih. Untuk memeriksa dokumen terhadap XSD, gunakan validator XML.
Apakah ada yang keluar dari browser saya?
Tidak. Pemformat ini adalah JavaScript yang berjalan di perangkat Anda; dokumen tidak pernah dikirim ke mana pun, dan itulah satu-satunya pengaturan yang masuk akal untuk file yang Anda tempel hanya untuk diubah spasi kosongnya.
Mengapa atribut saya tidak ditaruh di baris terpisah?
Karena tag pembuka tidak punya susunan bertingkat yang perlu ditampilkan. Memecahnya menjadi beberapa baris adalah soal selera, bukan struktur, dan pemformat ini hanya melakukan hal-hal yang punya satu jawaban benar.
Apa yang dihapus oleh mode “satu baris”?
Hanya spasi kosong di antara elemen, di tempat yang sama di mana indentasi akan menambahkannya. Teks, CDATA, dan komentar tidak disentuh, jadi isi dokumen tetap persis sama.
Perlu diketahui
- Ini sekadar penataan ulang tata letak, bukan parser. Namespace tidak diuraikan, entitas tidak diperluas, tidak ada nilai yang dinormalisasi, dan tidak ada yang diperiksa terhadap skema.
- Encoding-nya adalah encoding browser Anda. Deklarasi di awal dokumen dibawa tanpa perubahan, apa pun isinya.