Lompat ke konten

Pemformat & Validator XML

Tempelkan XML untuk memberinya indentasi dengan 2 spasi, 4 spasi, atau tab, memadatkannya menjadi satu baris, atau mencari tahu mengapa XML tidak bisa diurai. XML yang well-formed kembali dengan jumlah elemen, kedalaman bersarang, dan ukurannya; XML yang rusak kembali dengan pesan dari parser. Gratis, tanpa perlu mendaftar, dan XML Anda tidak pernah meninggalkan browser Anda.

Mode

Cara Menggunakan Pemformat XML

  1. 1. Pilih mode. Format memberi indentasi; Minify menghapus spasi di antara elemen.
  2. 2. Pilih indentasi. Untuk Format, pilih 2 spasi, 4 spasi, atau tab.
  3. 3. Tempelkan XML Anda dan tekan tombol. Hasilnya muncul di bawah dengan tiga angka: jumlah elemen, kedalaman maksimum (root berada di level 1), dan ukuran hasil dalam karakter.
  4. 4. Perbaiki kesalahan jika ditampilkan. Jika XML tidak well-formed, tidak ada hasil yang dikeluarkan dan parser browser Anda melaporkan apa yang ditemukannya. Perbaiki XML, lalu tekan tombol lagi.

Well-Formed Dibandingkan dengan Valid

Dua hal berbeda disebut "memvalidasi" XML. Dokumen disebut well-formed jika mengikuti aturan sintaks dari Rekomendasi XML 1.0 milik W3C; dokumen disebut valid jika juga mematuhi skema seperti DTD atau XSD. Alat ini hanya memeriksa well-formedness, menggunakan parser XML bawaan browser Anda. Alat ini tidak membaca DTD atau skema, sehingga dokumen yang well-formed tetapi keliru untuk aplikasi Anda — misalnya elemen wajib yang hilang — akan lolos. Aturan yang diterapkannya:

AturanRusak jika
Satu elemen rootAda dua elemen tingkat atas, atau teks sebelum root
Elemen bersarang dengan benar<a><b></a></b>
Setiap tag awal punya tag akhir<a><b></a>, atau <br> alih-alih <br/>
Nama bersifat peka huruf besar-kecil<Title>…</title>
Nilai atribut diberi tanda kutip<a id=1/>
Tidak ada atribut yang berulang pada satu elemen<a id="1" id="2"/>
< dan & di-escape dalam teks<a>5 < 6 & 7</a> seharusnya 5 &lt; 6 &amp; 7

XML hanya mendefinisikan lima entitas bawaan — &lt;, &gt;, &amp;, &apos; dan &quot; — sehingga entitas HTML seperti &nbsp; menjadi kesalahan kecuali sebuah DTD mendeklarasikannya. Untuk tag yang tidak ditutup, pesannya berasal dari browser dan bisa berbeda antarbrowser; pesan itu menyebutkan pasangan yang tidak cocok. Di Chrome, misalnya, <a><b></a> melaporkan kesalahan pada baris 1 kolom 11 dengan "Opening and ending tag mismatch: b line 1 and a".

Yang Diubah oleh Pemformat

Alat ini mengurai XML Anda menjadi pohon lalu menuliskan pohon itu kembali, sehingga hasilnya adalah XML yang setara dengan tata letak yang lebih rapi, bukan salinan teks Anda. Perhatikan perbedaan berikut:

  • Deklarasi dan DOCTYPE dipertahankan. Baris <?xml …?> di awal dan deklarasi <!DOCTYPE …>, termasuk subset internalnya, ditulis kembali seperti yang Anda ketik.
  • Atribut mempertahankan urutannya tetapi ditulis ulang dengan tanda kutip ganda.
  • Entitas diselesaikan. &apos; dan referensi karakter seperti &#169; kembali sebagai karakternya sendiri; hanya &, < dan > dalam teks, serta &quot; dalam atribut, yang di-escape lagi.
  • Elemen kosong ditutup sendiri. <a></a> menjadi <a/> jika tidak punya isi, meskipun elemen yang hanya berisi satu spasi tetap menjadi <a></a>.
  • Komentar, bagian CDATA, dan instruksi pemrosesan dipertahankan.

Contoh Kasus

Dokumen satu baris ini memiliki deklarasi, atribut dengan tanda kutip tunggal, komentar, dan elemen kosong:

Masukan

<?xml version="1.0" encoding="UTF-8"?><library><book id='1'><title>APA Manual</title><year>2020</year><!-- note --></book><book id="2"/></library>

Format, 2 spasi

Sembilan baris dan 172 karakter: deklarasi, lalu library di margin, setiap book dua spasi masuk, dan title, year, serta komentar empat spasi masuk. Id buku pertama kini ditulis id="1".

Minify

Satu baris sepanjang 146 karakter.

Statistik

5 elemen dan kedalaman maksimum 3 (library, book, title).

Minify mempertahankan deklarasi dan menempatkan seluruh pohon dalam satu baris, sehingga dokumen yang sama menyusut dari 172 karakter menjadi 146. Kartu ukuran hasil menampilkan jumlah karakter ini.

Alat Mana yang Anda Butuhkan?

Halaman ini untuk XML. Untuk HTML, yang mentoleransi tag yang tidak ditutup dan menjaga spasi inline, gunakan HTML Formatter. Untuk mengubah XML menjadi data JSON, XML to JSON Converter yang sedang disiapkan menunjukkan cara atribut dan elemen yang berulang dipetakan; untuk JSON itu sendiri, gunakan Pemformat JSON.

Pertanyaan yang Sering Diajukan

Apa yang dilakukan pemformat XML?
Alat ini mengatur ulang indentasi XML agar struktur bersarangnya terlihat, biasanya dengan satu elemen per baris. Alat ini juga memeriksa apakah XML well-formed, karena harus mengurai dokumen sebelum bisa menuliskannya kembali dalam tata letak baru.
Bagaimana validasi XML bekerja di sini?
Parser XML bawaan browser Anda membaca teks. Jika XML melanggar aturan sintaks, kesalahan dari parser akan ditampilkan dan tidak ada hasil yang dihasilkan. Alat ini hanya memeriksa well-formedness — tidak memvalidasi terhadap skema DTD atau XSD.
Apakah komentar, bagian CDATA, dan atribut dipertahankan?
Ya: komentar dan bagian CDATA ditulis kembali seperti semula, dan atribut mempertahankan urutannya, meskipun tanda kutipnya dinormalkan menjadi tanda kutip ganda. Deklarasi DOCTYPE ditulis kembali seperti yang Anda ketik.
Apa yang dilakukan minify?
Minify menghapus spasi dan jeda baris di antara elemen untuk menghasilkan teks setara yang paling ringkas, dengan tetap mempertahankan deklarasi XML jika ada. Teks di dalam elemen seperti <title> mempertahankan spasinya, begitu pula teks di samping elemen anak, seperti paragraf dengan kata yang dicetak tebal.
Mengapa pemformatan mengubah spasi teks saya?
Hanya saat memformat konten campuran — teks yang berada di samping elemen anak, seperti paragraf dengan kata yang dicetak tebal. Format memangkas teks itu dan meletakkan tiap bagian pada barisnya sendiri, yang mengubah spasi; Minify tetap mempertahankannya. XML bergaya data, tempat elemen berisi teks atau elemen lain, tidak terpengaruh.
Mengapa XML saya dengan &nbsp; gagal?
XML hanya memiliki lima entitas bawaan, dan &nbsp; bukan salah satunya. Ganti dengan referensi numerik &#160;, atau deklarasikan entitas itu dalam DTD.
Apakah XML saya diunggah ke server?
Tidak. Penguraian dan pemformatan terjadi di browser Anda, dan tidak ada yang Anda tempelkan yang dikirim ke mana pun.

Alat Terkait

Lainnya di Data, markup, dan kode