Formatter XML

Muat XML dan validasi dengan parser browser: output rapi dengan indentasi 2 atau 4 spasi, CDATA utuh, dan elemen kosong ditutup sendiri.

Analisis dan pemformatan berjalan lokal di browser Anda. XML Anda tidak pernah meninggalkan perangkat.

Indentasi
—

Cara kerja

Menempel XML lalu menekan Format menjalankan DOMParser bawaan browser — parser sinkron yang sama yang dipakai platform — atas teks Anda. Jika hasilnya memuat node parsererror, pesannya beserta petunjuk baris/kolom yang ditampilkan alih-alih output. Setelah parse bersih, serializer rekursif menelusuri pohon dan menyusun ulang dokumen dengan indentasi pilihan Anda, satu elemen per baris.

Mengapa DOMParser gagal (atau lolos) tepat di titik itu
DOMParser bersikap ketat dan sinkron: well-formed itu semua-atau-bukan-sama-sekali, sehingga satu tag tak tertutup membatalkan seluruh berkas. Teks parsererror hasilnya (termasuk petunjuk posisi yang ditambahkan browser, seperti "Line Number: 12") ditampilkan apa adanya sebagai baris error — alat ini tidak mencoba memperbaiki XML Anda, karena perbaikan diam-diam mengubah dokumen.
Urutan atribut dipertahankan apa adanya
DOM memaparkan atribut dalam urutan dokumen, dan serializer menulisnya kembali dengan urutan yang sama. Tidak ada yang disortir, dideduplikasi, atau dinormalkan, sehingga membandingkan dua berkas terformat hanya menampilkan perubahan isi nyata — bukan adu-acak atribut.
CDATA dan elemen kosong
Bagian CDATA dikeluarkan ulang secara utuh sebagai teks mentah — itulah cara standar membawa konten bermotif markup, dan mengubahnya jadi entitas adalah penulisan ulang, bukan pemformatan ulang. Elemen tanpa anak ditulis dalam bentuk menutup sendiri, jadi <tag></tag> menjadi <tag/>.

Pertanyaan yang sering diajukan

Mengapa berkas saya dikatakan tidak well-formed?

XML punya daftar aturan ketat yang pendek, dan browser menolak seluruh dokumen begitu salah satu dilanggar. Pelaku biasanya: lebih dari satu elemen root, tag ditutup dengan nama salah atau tidak ditutup, & atau < tanpa escape di teks, huruf besar-kecil tidak cocok antara pembuka dan penutup, atau karakter nyasar sebelum deklarasi XML. Baris error menunjukkan posisi yang dilaporkan agar Anda langsung ke titik masalahnya.

Apa bedanya CDATA dan escaping?

Keduanya membawa teks yang akan merusak XML. Escaping mengganti karakter khusus dengan entitas (&amp; untuk &, &lt; untuk <), sedangkan bagian <![CDATA[ ... ]]> menandai seluruh isinya sebagai teks mentah. Formatter ini menyimpan blok CDATA apa adanya — tidak mengubahnya jadi teks ter-escape maupun sebaliknya.

Apakah namespace XML diselesaikan?

Tidak. Prefiks namespace (seperti <soap:Envelope>) dipertahankan persis seperti ditulis — termasuk atribut dan nama elemen. Formatter hanya menata ulang indentasi: tidak memperluas prefiks menjadi URI dan tidak memeriksa deklarasi prefiks, jadi salah ketik namespace yang lolos parse tetap ikut tercetak.

Apakah memformat bisa mengubah makna dokumen saya?

Re-indentasi menambah spasi antar elemen, yang hanya berpengaruh jika parser Anda memperlakukan spasi di dalam elemen sebagai data (jarang, umumnya pada dokumen bervalidasi skema atau konten campuran). Urutan atribut, entitas, dan blok CDATA dipertahankan, dan elemen kosong dicetak sebagai <tag/> tepat seperti definisi XML.

Apakah ada yang diunggah ke server?

Tidak. Analisis dan pretty-print memakai DOMParser bawaan browser dan JavaScript murni. XML Anda tidak pernah meninggalkan perangkat, dan tidak ada permintaan jaringan yang terkait pemformatan.