既定の名前空間を子で解除する
外側の要素で既定の名前空間を宣言し、内側の要素で xmlns="" により解除する境界の例です。内側の要素が名前空間なしになることを確かめます。
入力
XML
<a xmlns="urn:a">
<b xmlns="">
<c/>
</b>
</a>
結果
エラー 0 件・警告 0 件・情報 1 件
指摘(エラー・警告・情報)
- 情報 2 行目 <b> xmlns="" は、この要素の範囲で既定の名前空間を解除します(6.2 節)。以降の接頭辞なしの要素は名前空間なしです。
| 要素の数 | 3 個 |
|---|---|
| 宣言の数 | 2 件 |
| 使われていない宣言 | 0 件 |
名前空間の宣言
| 行 | 種類 | 接頭辞 | 名前空間 | 宣言した要素 | 使われた回数 |
|---|---|---|---|---|---|
| 1 | 既定 | (なし) | urn:a | <a> | 1 |
| 2 | 既定 | (なし) | (空=解除) | <b> | 0 |
検算(この結果になる理由)
Namespaces in XML 6.2 節では xmlns="" が既定の名前空間を解除します。a だけが urn:a の要素で使われた回数は 1 です。b と c は名前空間なしなので、解除の宣言の使われた回数は 0 で、情報が 1 件出ます。
判定の根拠は仕様と根拠に、仕様の出典とともにまとめています。自分の入力で試すにはツールをお使いください。
このツールの制約
- タグを走査する簡易の処理です。DTD の内部定義、実体参照による要素の展開、文字コードの宣言の検査はしません。
- XML としての完全な整形式検査(タグの入れ子の厳密な検査や属性の重複)は行いません。閉じ忘れは警告するだけです。
- スキーマ(XSD・DTD)に沿っているかの検証、名前空間の URI が実在するかの確認はしません。
- 属性値の中の文字は、標準の 5 つの実体参照(& など)だけを読み替えます。数値参照や独自の実体は読み替えません。
ご利用にあたって
- 一覧は貼り付けた XML の見かけの宣言です。実際の処理系の解釈と食い違う場合は、処理系のエラーメッセージを優先してください。