pemformat XML
Format XML dengan indentasi yang mudah dibaca sambil mempertahankan elemen, atribut, teks, komentar, dan nilai yang di-escape.
Buat struktur XML lebih mudah dibaca
XML yang ringkas memang efisien untuk dikirim, tetapi sulit diperiksa. Elemen, atribut, tag penutup, atau karakter yang di-escape mudah terlewat ketika seluruh dokumen berada di satu baris. Formatter ini menampilkan layout yang mudah dibaca agar struktur dapat ditinjau sebelum dipakai untuk build, request, atau konfigurasi.
Formatting mengubah tampilan, bukan data XML yang dimaksud. Nama elemen, nilai atribut, text node, komentar, dan entity reference seharusnya tetap dipertahankan sambil menambahkan indentasi dan line break yang konsisten. Hasil yang rapi bukan hasil validasi schema.
Gunakan sample kecil yang mewakili dokumen saat mempelajari tool. Simpan source, formatted copy, dan hasil validasi berikutnya secara terpisah agar syntax XML, schema, encoding, dan aturan aplikasi tidak tercampur.
Jika dokumen berisi secret atau data pribadi, buat redacted copy sebelum menempelkan input. Formatting tidak membuat nilai menjadi anonim dan tidak membuktikan bahwa data boleh dibagikan ke service lain.
Formatting bukan validation
XML adalah format markup bertingkat yang terdiri dari elemen, atribut, teks, komentar, deklarasi, dan character reference. Elemen memerlukan opening dan closing tag yang cocok, atribut berada pada opening tag, dan karakter reserved seperti ampersand harus di-escape ketika menjadi data.
Formatter membaca struktur yang cukup untuk mengatur node dan whitespace. Tool ini tidak membuktikan kecocokan dengan XSD, DTD, kebijakan namespace, application contract, atau business rule. Jalankan pemeriksaan tersebut di workflow yang memilikinya.
Whitespace dapat menjadi data dalam konteks XML tertentu, terutama mixed content dan text node. Sebelum mengubah dokumen untuk consumer yang sensitif terhadap whitespace, bandingkan output dengan persyaratannya dan simpan source asli.
Cara memformat XML
- Tempelkan dokumen XML lengkap atau fragment yang didokumentasikan ke source field. Hapus prosa lain dan wrapper bahasa pemrograman dari test copy.
- Jalankan formatter dan periksa nesting, atribut, komentar, serta nilai teks. Kegagalan format bukan bukti adanya parser message tertentu.
- Bandingkan dokumen hasil format dengan source. Pastikan nama elemen, nilai atribut, entity reference, namespace declaration, dan text data tidak berubah.
- Setelah format, jalankan XML parser, schema validator, atau application test yang diwajibkan project. Formatting saja tidak membuktikan validity atau compatibility.
- Untuk data production, hapus secret dan informasi pribadi dari sample. Simpan file asli untuk diff terkontrol dan rollback.
Metode formatting
- Membaca struktur XML
Tool membaca markup sebagai konten XML bertingkat dan mengenali batas elemen, atribut, teks, komentar, serta deklarasi yang dapat diatur.
- Menerapkan indentasi
Formatter menambahkan line break dan indentasi agar hubungan parent-child terlihat. Whitespace ini adalah presentation, bukan aturan schema baru.
- Mempertahankan nilai teknis
Teks atribut, entity reference, namespace prefix, dan isi komentar harus tetap terikat pada sample source. Periksa diff jika byte yang sama persis penting.
Halaman publik mendokumentasikan input XML untuk formatting. Perilaku recovery parser, kebijakan whitespace, dan error wording yang tepat memerlukan uji pada engine nyata.
Membaca hasil format
Hasil sukses adalah susunan XML yang mudah dibaca. Cocokkan tree, nilai, atribut, komentar, dan deklarasi dengan source.
Failure berarti jalur yang didokumentasikan tidak dapat menangani input. Jangan menyimpulkan parser rule atau lokasi error yang tepat tanpa evidence runtime yang sesuai.
Jika dokumen kemudian gagal pada XSD atau application check, periksa contract yang terpisah itu. Formatting tidak menambahkan elemen, namespace, atau type yang wajib.
Kesalahan umum
Menganggap indentasi sebagai schema validation dapat menyembunyikan elemen wajib yang hilang atau atribut invalid.
Mengganti entity yang di-escape dengan karakter terlihat dapat mengubah data XML atau membuat dokumen invalid.
Mengurutkan atribut atau child hanya demi tampilan dapat mengubah urutan yang diharapkan consumer atau mixed content.
Menyalin fragment tanpa namespace declaration yang diperlukan dapat membuat test berbeda dari dokumen production.
Batasan
Kemampuan yang didokumentasikan adalah XML formatting. Ini tidak membuktikan XSD atau DTD validation, transformation, canonicalization, security analysis, atau application compatibility.
Uji mixed content yang sensitif terhadap whitespace, namespace, dokumen besar, dan parser-specific recovery bersama consumer target.
Jangan menempelkan dokumen production rahasia kecuali policy mengizinkannya. Formatted copy dapat berisi nilai sensitif yang sama.
Examples
Memformat elemen sederhana
Bisakah elemen ringkas dibuat lebih mudah dibaca?
Kirim XML ringkas.
Elemen anak muncul pada baris terpisah dan berindentasi di bawah note.
Mempertahankan atribut
Bagaimana meninjau elemen dengan atribut?
Kirim elemen dan periksa opening tag.
Atribut id tetap berada pada user dan child name diberi indentasi.
Mempertahankan teks escaped
Apakah entity di dalam teks tetap utuh?
Format dokumen lalu bandingkan text node.
Entity reference tetap menjadi bagian dari representasi teks.
Memformat child berulang
Bisakah elemen yang berulang dipisahkan dengan jelas?
Kirim parent dengan dua child item.
Setiap child yang berulang berada pada baris sendiri sehingga urutan mudah ditinjau.
Mempertahankan komentar
Apa yang terjadi pada komentar XML?
Format sample konfigurasi.
Komentar tetap berada di antara parent dan elemen mode.
Mempertahankan deklarasi
Bagaimana deklarasi XML diperlakukan?
Kirim deklarasi bersama root element.
Deklarasi tetap di awal dan isi root diindentasi di bawahnya.
Frequently asked questions
Apakah formatting memvalidasi XML schema?
Tidak. Formatting mengatur struktur XML. Gunakan XSD, DTD, atau application validator untuk pemeriksaan schema.
Apakah formatting mengubah nilai elemen?
Seharusnya nilai dan struktur dipertahankan sementara whitespace presentasi ditambahkan. Bandingkan dengan original jika teks persis penting.
Apakah komentar dipertahankan?
Contoh memperlakukan komentar sebagai konten yang tetap berada di formatted view. Pastikan perilaku pada input Anda sebelum memakai hasilnya di pipeline.
Bisakah fragment XML diformat?
Gunakan dokumen lengkap atau bentuk fragment yang didokumentasikan. Fragment dapat bergantung pada namespace atau root yang tidak ikut ditempel.
Apakah formatting membuat XML lebih kecil?
Tidak. Biasanya whitespace ditambahkan untuk keterbacaan. Gunakan minifier atau proses transport terpisah untuk output ringkas.
Bagaimana dengan escaped ampersand?
Pertahankan reference seperti & sebagai data XML. Jangan menggantinya dengan ampersand mentah jika konteks tidak lagi valid.
Apakah formatting memperbaiki XML malformed?
Jangan menganggap ada perbaikan otomatis. Perbaiki source dengan sengaja dan jalankan parser serta schema check aplikasi.
Apa yang dilakukan setelah format?
Periksa diff, jalankan parser atau schema check, lalu uji formatted copy dengan consumer nyata jika whitespace atau namespace penting.
