XML
XML フォーマッター
XML の圧縮・整形・検証。
XML フォーマットについて
XML は入れ子のタグで構造化データを表します。整形はインデントを付け直して階層を読みやすくし、圧縮はタグ間の空白を取り除いて転送量を小さくします。入力はまず整形式かどうかを検査するため、閉じられていないタグや対応しないタグは黙って修復されるのではなく報告されます。
整形の際に見落としやすい XML の機能が二つあります。名前空間(xmlns:prefix="...")と CDATA セクション(<![CDATA[ ... ]]>)で、後者はマークアップとして解析されるべきでないテキストを包むもので、HTML の断片やコード例を XML 文書に埋め込む際によく使われます。どちらも書かれたとおりに正確に保持され、変更されるのは要素間の空白だけです。<br/> のような自己終了タグも、自己終了形式か明示的な終了タグ付きかという、元々書かれていた形のまま残されます。
使われる場面
- Web サービスのデバッグ時に SOAP のリクエストとレスポンスを読む
- pom.xml や web.config などの設定ファイルを確認する
- RSS・Atom・サイトマップのフィードを公開前に点検する
- ネットワーク送信前に XML のペイロードを小さくする
よくある質問
スキーマ検証は行われますか?
いいえ。確認するのは整形式かどうか(タグが閉じられ正しく入れ子になっているか、属性値が引用符で囲まれているか)です。DTD や XSD による検証は別の工程であり、このツールでは行いません。
整形するとデータが変わりますか?
変わるのは要素間の空白だけです。テキスト内容、属性、コメント、XML 宣言はそのまま保持されます。
ここに入力した XML は保存されますか?
いいえ。変換はその 1 回のリクエストのためだけにサーバー上で行われ、その後は記録も保持もされません。
名前空間や CDATA セクションは保持されますか?
はい、完全にそのまま保持されます。CDATA セクションの目的は、マークアップとして決して解釈されるべきでないテキスト(多くの場合、埋め込まれた HTML 断片やコード例)を保持することなので、このツールはその中身を、内部の空白も含めて書かれたとおりに残します。名前空間の宣言や接頭辞は、整形という観点では通常の属性や要素名にすぎないため、これらも変更されずそのまま通過します。