XML Formatter

Dump XML yang diminifikasi dari layanan SOAP, feed RSS, dan ekspor konfigurasi tidak terbaca jika berada dalam satu baris. Formatter ini memparse dokumen, menyusunnya ulang dengan indentasi konsisten (2 atau 4 spasi, tab, atau tanpa indentasi untuk output minified), mempertahankan urutan atribut dan bagian CDATA, serta melaporkan setiap masalah well-formedness dengan baris dan kolom persis sehingga Anda bisa memperbaiki tag yang tidak cocok tanpa mencari-cari.

Cara memformat XML

  1. 1

    Tempel XML

    Panjang berapa pun, encoding apa pun; deklarasi dipertahankan.

  2. 2

    Pilih indentasi

    Spasi (2 atau 4), tab, atau minify.

  3. 3

    Format

    Parser membangun DOM lalu menserialisasi ulang dengan spasi konsisten.

  4. 4

    Salin hasil

    Output berupa XML well-formed siap ditempel ke log atau dokumen.

Apa yang dipertahankan saat memformat

  • Deklarasi XML (<?xml version="1.0" encoding="UTF-8"?>) dipertahankan apa adanya.
  • Deklarasi DOCTYPE dan internal subset dipertahankan.
  • Processing instruction (<?xml-stylesheet ?>) ditempatkan pada barisnya sendiri.
  • Komentar pada barisnya sendiri atau inline tergantung konteks.
  • Bagian CDATA dipertahankan persis termasuk whitespace di dalamnya.
  • Nilai atribut diberi tanda kutip ulang memakai tanda kutip ganda jika tidak mengandung tanda kutip ganda, dan tanda kutip tunggal jika sebaliknya.
  • Referensi entitas seperti &amp;, &lt;, &gt; dibiarkan apa adanya kecuali Anda mengaktifkan ekspansi entitas penuh.

Contoh indentasi

Input (minified):

<books><book id="1"><title>1984</title><author>George Orwell</author></book></books>

Diformat (2 spasi):

<books>
  <book id="1">
    <title>1984</title>
    <author>George Orwell</author>
  </book>
</books>

Kesalahan umum yang ditangkap tool

Kesalahan Perbaikan
Tag penutup tidak cocok Cocokkan nama pembuka dan penutup
Elemen tidak ditutup Tambahkan tag penutup
Karakter tidak valid di nama tag Nama tag harus diawali huruf atau garis bawah
Atribut ganda pada elemen yang sama Hapus duplikatnya
CDATA cacat Periksa pasangan <![CDATA[ dan ]]>
< atau & tanpa escape di teks Gunakan &lt; atau &amp;

Well-formed vs valid

  • Well-formed XML mengikuti aturan sintaks: tag seimbang, karakter valid, penyarangan tepat. Formatter memeriksa ini.
  • Valid XML sebagai tambahan mematuhi sebuah skema (DTD atau XSD). Untuk itu, gunakan validator XSD.

Sebuah dokumen XML bisa well-formed tanpa valid, tetapi tidak bisa sebaliknya.

Catatan praktis

  • Urutan atribut XML bermakna bagi sebagian sistem (tidak banyak sistem modern), formatter mempertahankan urutan input.
  • Self-closing vs tag kosong eksplisit: <foo/> dan <foo></foo> setara dalam XML; formatter memakai self-closing untuk elemen kosong kecuali Anda menonaktifkannya.
  • Prefiks namespace dipertahankan persis.

Pertanyaan yang Sering Diajukan

Ya. Teks di dalam elemen mixed-content dan bagian CDATA dipertahankan apa adanya; hanya whitespace antar elemen yang disesuaikan untuk indentasi.

Batas praktis sekitar 50 MB di browser. Di atas itu, parse DOM menghabiskan terlalu banyak memori. Untuk file raksasa gunakan formatter streaming seperti xmllint di command line.

Ya. Deklarasi namespace dipertahankan pada elemennya; formatter tidak memindahkannya ke root kecuali Anda mengaktifkan “consolidate namespaces”.

Tidak. Parsing dan pemformatan terjadi di browser Anda, tidak ada yang dikirim.

Alat Terkait

Alat ini tersedia dalam bahasa lain