XML を貼り付けてインデントするか、タグ間の空白を削除して圧縮します。属性、コメント、CDATA セクション、宣言はそのまま返り、タグのエラーは行と列で報告されます。
ブラウザ内でローカルに実行フォーマッターが行うのはタグ間の空白の追加・削除だけです。属性値、コメント、CDATA セクション、宣言、DOCTYPE、処理命令はバイト単位でそのまま返ります。圧縮してもコメントは残り、xml:space="preserve" が付いた部分はどちらのボタンでも変更しません。
貼り付けた XML を読みやすくインデントするか、タグ間の空白を削除して 1 行にまとめます。整形は入力を一度走査して組み立て直し、属性、コメント、CDATA セクション、XML 宣言、DOCTYPE、処理命令はそのまま書き戻します。
処理はこのタブ内で完結するため、何もアップロードされず、オフラインでも動作します。確認するのはタグの入れ子構造で、DTD や XML Schema に対する妥当性検証ではありません。
追加されるのはインデントだけです。1 階層につき 4 スペースで、内容がテキストだけの要素は 1 行のままです。混在コンテンツは並べ替えないため、<p>Hello <b>world</b> !</p> は空白も含めて書かれたまま返ります。
属性値、コメント、CDATA セクション、宣言、DOCTYPE、処理命令はバイト単位でそのままコピーされ、属性の順序も保たれます。唯一の例外は class=x のような引用符のない値で、XML では引用符が必須のため class="x" として書き戻し、その旨を報告します。
圧縮は各階層でマークアップ間の空白だけのテキストを削除するため、インデントされた文書は 1 行のコンパクトな形になります。テキストの内容には触れず、<a> spaced text </a> や混在コンテンツは空白を保ち、内容が空白だけの要素もそのまま残します。
コメントは圧縮しても残ります。バイト数が重要な場合はご自身で削除してください。xml:space="preserve" が付いた部分はどちらのボタンでも変更しません。
問題は位置付きで報告されます。たとえば「1 行 10 列: </b> は <a> を閉じていません。」「1 行 7 列: <a> が閉じられていません。」「1 行 1 列: </x> に対応する開始タグがありません。」などです。結果はそのまま表示されるので、まずは報告された位置を修正してください。
入力に要素がまったくない場合(プレーンテキストや空白のみ)は、推測で出力せずにその旨を伝えます。表示される問題は最初の 5 件までで、残りは件数のみ示します。
600 KB・20,000 要素の文書は Chrome でおよそ 0.15 秒で整形されます。20 万文字を超える出力はタブの応答性を保つため色分けせずに表示します。実用上の上限はお使いの端末のメモリです。
確認は構造のみです。DTD や XML Schema に対する検証は行わず、実体参照の解決や外部ファイルの取得も行わず、名前空間プレフィックスの宣言も報告しません。インデント幅は 4 スペース固定です。