XMLフォーマッター
シンタックスハイライトとエラー検出機能により、XMLドキュメントの整形・検証・美化を行います
XML 入力
フォーマット結果
インスペクター
詳細設定
別の XML と比較
このドキュメントを Data Diff に送り、2 つ目のバージョンを貼り付けて変更点を確認できます。
正確なエラー位置を特定する検証
キー入力のたびにブラウザの XML パーサーで検証が実行されます。整形式のドキュメントでは、要素数・属性数・テキストノード数・階層の深さがリアルタイムで表示されます。壊れたドキュメントでは、単なる「not well-formed」ではなく、正確な行と列、考えられる原因、そしてエラー位置のハイライトが報告されます。
このツールが特定できる一般的な XML エラー
これらのミスが無効な XML の大半を占めます。それぞれ位置と考えられる原因付きで検出されます:
タグの不一致
<person> が </perso> で閉じられているケースです。パーサーは両方のタグの行とともに「Opening and ending tag mismatch」を報告し、ハイライトはエラーのある方のタグへジャンプします。
閉じられていないタグ
> の欠落、または終了タグの欠落です。通常は正確な位置で「expected >」や「premature end of data in tag X」として報告されます。
重複する属性
1 つの要素に同じ属性名が 2 回現れるケース、例: <item id="1" id="2">。2 回目の出現箇所を指して「Attribute redefined」と報告されます。
無効なエンティティ / 生の &
テキスト内のリテラルの & や < はエスケープする必要があります (&、<)。パーサーは正確な文字位置で「EntityRef: expecting ;」や「not well-formed」を報告します。
整形前 / 整形後
左に圧縮された API レスポンス、右に 2 スペースインデントで整形された同じドキュメントを表示します。構造・ツリー・パスはパース済みのドキュメントから更新されます。
<catalog><book id="1" category="fiction"><title>The Hobbit</title><author>J.R.R. Tolkien</author></book><book id="2" category="tech"><title>Refactoring</title><author>Martin Fowler</author></book></catalog>
<catalog>
<book id="1" category="fiction">
<title>The Hobbit</title>
<author>J.R.R. Tolkien</author>
</book>
<book id="2" category="tech">
<title>Refactoring</title>
<author>Martin Fowler</author>
</book>
</catalog>
XML クイックリファレンス (W3C XML 1.0)
- 整形式 (well-formed) ≠ 妥当 (valid): 整形式とはタグが正しく入れ子になり正しく閉じていることを意味し、妥当とはさらに DTD または XSD スキーマに従っていることを意味します。
- 5 つの定義済みエンティティ: < > & " ' — テキスト中のリテラルの < や & は常にエラーです。
- 要素名と属性名は大文字小文字を区別し、名前空間プレフィックス (ns:tag) を付けることができます。
- ルート要素は必ず 1 つ。<?xml version="1.0" encoding="UTF-8"?> のような XML 宣言は、存在する場合は先頭に置かなければなりません。
- コメント <!-- … --> には -- を含めることができず、入れ子にすることもできません。
このデータの次のステップ
整形は最初のステップです。ブラウザから離れずにワークフローを続けられます:
よくある質問
Xml Formatter フォーマットに関するよくある質問
フォーマッターは整形式チェックと基本検証を行います。W3C XML 1.0/1.1 仕様に従い、タグの正しい入れ子、属性の構文、XML 宣言への準拠をチェックします。
はい。内蔵の XPath テスターで、XML ドキュメントに対して XPath 1.0 および 2.0 の式を記述・評価でき、一致する要素をハイライトして結果を即座に表示します。
はい。フォーマッターは名前空間を含む XML ドキュメントを正しく処理し、名前空間宣言とプレフィックスを保持しながら要素と属性を適切に整形します。
はい。変換機能により、要素構造・属性・データ型を保持するインテリジェントなマッピングで、XML から JSON へ、また JSON から XML へ変換できます。
このXMLフォーマッターは、最適化された解析アルゴリズムにより最大50MBのファイルに対応しており、大きな設定ファイル、SOAPメッセージ、データ交換ドキュメントにも適しています。
名前空間宣言(xmlns、xmlns:prefix)は、インデントの目的では通常の属性として扱われ、並べ替えや削除が行われることはありません。そのため、名前空間URIは同じプレフィックスに束縛されたまま維持されます。フォーマット処理はプレフィックスの解決や書き換えを一切行いません。プレフィックスの解決は、下流のツールがW3Cの「Namespaces in XML」勧告に従って行います。
フォーマットは、要素間の再インデントと空白の正規化のみを行います。一方、検証は構造をチェックします。具体的には、タグの対応関係、ルート要素が1つであること、属性の正しい引用符付け、W3C XML 1.0仕様に基づくエンティティ構文などです。フォーマッターは整形式(well-formed)エラーを報告します(不正な入力は再インデントできません)が、DTDやXSDスキーマに対する検証は行いません。
はい。CDATAブロックは内部の内容をそのまま保持します(これこそがCDATAの目的です。本来ならエンティティエンコードが必要になるテキストをエスケープするためのものです)。コメントも周囲のインデントを除いて変更されずにそのまま出力されます。<?xml version="1.0"?> のようなXML宣言や処理命令(PI)も、先頭にそのままの状態で残ります。