属性と子要素を列にした商品一覧
商品を表す item が 2 つ繰り返す小さな一覧の例です。id 属性は @id、子要素は name・price の列になり、2 つ目に price がないため空のセルになることを確かめます。
入力
XML
<?xml version="1.0" encoding="UTF-8"?> <items> <item id="1"><name>りんご</name><price>120</price></item> <item id="2"><name>みかん</name></item> </items>
繰り返し要素の名前(空欄なら自動)
(空)
結果
エラー 0 件・警告 0 件・情報 2 件
指摘(エラー・警告・情報)
- 情報 <item> 属性や子要素が行によって違うため、空のセルがある行が 1 行あります。列は全行の和集合です。
- 情報 出力全体 文字の前後の空白は取り除いています。名前空間の接頭辞(ns:name)は名前の一部としてそのまま列名に使います。
| 繰り返し要素 | <item> |
|---|---|
| 探した範囲 | <items> の子 |
| 行の数 | 2 行 |
| 列の数 | 3 列 |
1 要素 1 行の表
| @id | name | price |
|---|---|---|
| 1 | りんご | 120 |
| 2 | みかん |
検算(この結果になる理由)
ルート items の中で item が 2 回繰り返すので、item を行にします。列は 1 行目に出る @id・name・price で、2 行目は price がないため空のセルです。行は 2 行、列は 3 列、空のセルのある行の指摘が 1 件付きます。
判定の根拠は仕様と根拠に、仕様の出典とともにまとめています。自分の入力で試すにはツールをお使いください。
このツールの制約
- XML Schema(XSD)による検証、XPath の指定、XSLT による変換はしません。繰り返し要素は名前だけで決めます。
- DTD は読みません。DTD の内部で定義した実体は展開せず、&名前; のまま出力します。
- 文字の前後の空白は取り除きます。要素の途中に文字が混ざる文書(HTML のような文章)の細かい構造は再現できません。
- ファイルは UTF-8 として読みます。Shift_JIS などほかの文字コードのファイルは文字化けすることがあります。
ご利用にあたって
- XML の中身によっては、列が多くなり、表計算ソフトで開いたときに見づらくなることがあります。
- 大きな XML はお使いの端末の性能によって処理に時間がかかることがあります。