LFUnminify、Ludovic Frankによるオンラインコード整形ツール

XMLをオンラインで整形

1行にまとまったXMLを整形します。要素を深さに応じてインデントし、属性を読みやすく配置することで、文書の構造を分かりやすくします。

整形された読みやすいコードがここに表示されます

XMLの多くは機械が生成するもの

普段目にするXMLの多くは、機械が別の機械に渡すために生成しています。改行がまったくないことが多いのも、そのためです。CMSが作るサイトマップ、RSSやAtomのフィード、デザインツールから出力したSVG、SOAPエンベロープ、MavenやAndroidの設定ファイル、オフィス文書の内部データなどがその例です。いずれも正しい形式でコンパクトに作られていますが、人間が読むことは前提としていません。

インデントで分かること

XMLは深く入れ子になりますが、その深さは1行では見えません。インデントを付けると、繰り返される要素、各ノードの子要素の数、予想外の名前空間が宣言された位置、閉じられていないタグなど、階層を把握しやすくなります。サイトマップなら、各URLと他言語版へのリンクがまとまったブロックとして見えます。SVGなら、編集したいパスやグループを探しやすくなります。

名前空間、CDATA、コメントを保持

フォーマッターはXML固有の情報を保ちます。名前空間の接頭辞や宣言は対応する要素に付いたままになり、CDATAセクションは内容が再解釈されないようそのまま残します。処理命令やXML宣言は文書の先頭に保ち、残っているコメントはほかの内容と一緒に配置します。属性の順序も維持します。XMLを生成したツールによっては、その順序に意味を持たせている場合があるためです。

文書の構造の乱れを素早く発見

整形は簡単な整合性の確認にもなります。文書が整形式であれば、インデントがきれいにそろい、終了タグが対応する開始タグと同じ深さに並びます。そうでない場合は、入れ子が不自然になる位置を目で確認できるため、検証ツールのメッセージを読むよりも、整形結果から問題に早く気付けることがあります。

よくある質問

SVGファイルにも使えますか?

はい。SVGはXMLなので、長い1行で出力されたアイコンも、読みやすい木構造に整形できます。特定のパス、グループ、グラデーションを探すのが簡単になります。

RSSフィードやサイトマップも整形できますか?

はい。どちらも代表的な用途です。フィードやサイトマップを貼り付けるか、保存したファイルを開くと、各itemやurlの要素が見やすいブロックに分かれます。

XMLの検証も行いますか?

解析するには文書が整形式である必要があるため、構造の誤りは整形エラーとして表示されます。ただし、スキーマやDTDに基づく文書の検証は行いません。

別の形式を整形