仕様と根拠
行と列の作り方
繰り返し要素の 1 つを 1 行にします。要素の属性は「@属性名」、子要素は要素名、入れ子の子要素は「親.子」という列名にし、属性は「子@属性名」の列になります。子要素のない要素は、その文字を値にします。列は全行に出てきた名前の和集合で、その行にないものは空のセルです。
整形式の検査
XML 1.0 の整形式の規則に沿って読みます。ルート要素は 1 つだけ、開始タグと終了タグの名前は同じ、属性値は引用符で囲む、同じ属性名は 1 つの開始タグに 1 回だけ、という規則です。違反は最初の 1 か所を行と列で示し、表は出しません。
実体参照と CDATA
DTD がない XML で使える実体は & < > ' " の 5 つで、数値による文字参照(あ など)も文字に直します。CDATA セクションの中は、記号もそのままの文字として値に入れます。DTD で定義した実体は展開しません。
根拠にした仕様・資料
| 仕様・資料 | 確認日 | 使った箇所 |
|---|---|---|
| Extensible Markup Language (XML) 1.0 (Fifth Edition) | 2026年10月28日 | 整形式の規則(ルート要素・要素の対応・属性値の引用符・属性名の重複禁止・定義済み実体・CDATA・コメント) |
| RFC 4180 Common Format and MIME Type for CSV Files | 2026年10月28日 | CSV の形(ダウンロードする表の形式) |
指摘の段階
- エラー: 仕様に反していて、正しく読めない・処理できない入力です。
- 警告: 読めるものの、仕様の推奨に反する・矛盾する・意図と違う結果になりやすい入力です。
- 情報: 誤りではありませんが、知っておくとよい扱い(読み飛ばした部分や解釈)です。
入力の扱い(送信しない仕組み)
処理はすべてお使いのブラウザの中で行います。処理の本体はこのサイトから配信する小さなスクリプト(/app.js)で、外部のサービスやライブラリを読み込みません。ページはブラウザに通信を禁止させる設定(Content-Security-Policy の connect-src)つきで配信しており、入力した内容がサーバーや第三者へ送られることはありません。ファイルを選んだ場合も、端末の中で読み込むだけです。
このツールでできないこと(制約)
- XML Schema(XSD)による検証、XPath の指定、XSLT による変換はしません。繰り返し要素は名前だけで決めます。
- DTD は読みません。DTD の内部で定義した実体は展開せず、&名前; のまま出力します。
- 文字の前後の空白は取り除きます。要素の途中に文字が混ざる文書(HTML のような文章)の細かい構造は再現できません。
- ファイルは UTF-8 として読みます。Shift_JIS などほかの文字コードのファイルは文字化けすることがあります。
ご利用にあたって
- XML の中身によっては、列が多くなり、表計算ソフトで開いたときに見づらくなることがあります。
- 大きな XML はお使いの端末の性能によって処理に時間がかかることがあります。