HTML Living Standard/XML構文
表示
XML構文(XML syntax)
[編集]XML構文は、HTMLドキュメントを記述するための構文の一つです。HTML構文と並ぶ具体的な記法として定義されており、XMLプロセッサによって処理されることを意図しています。かつては「XHTML」と呼ばれていましたが、現在の仕様ではその用語は使用されていません。
特徴
[編集]基本的な性質
[編集]- XMLプロセッサによって処理される構文です。
- MIME typeとして
application/xhtml+xml
を使用します。 - 厳密な構文規則に従う必要があります。
- 小さな構文エラーでもドキュメント全体の描画が妨げられます。
- 名前空間(namespace)をサポートしています。
HTML構文との違い
[編集]- より厳密な構文規則を持ちます。
- エラー処理がより厳格です。
- 名前空間を使用できます。
noscript
要素を使用できません。- コメント内に "
-->
" を含めることができません。
構文規則
[編集]<?xml version="1.0" encoding="UTF-8"?> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>XML構文の例</title> </head> <body> <p>これは<em>XML構文</em>で書かれたドキュメントです。</p> <br /> <img src="example.png" alt="例" /> </body> </html>
主な規則
[編集]- 文書宣言(XML宣言)が必要です。
- 名前空間の宣言が必要です。
- すべての要素は閉じタグが必要です。
- 空要素は自己閉鎖タグを使用します(例:
<br />
)。 - 属性値は必ずクォートで囲む必要があります。
- 要素名や属性名は大文字小文字が区別されます。
- ネストは正しく行う必要があります。
DOM表現との関係
[編集]DOMとXML構文は完全に同じ内容を表現できるわけではありません:
- XML構文は名前空間をサポートしています。
- DOMでは "
-->
" を含むコメントを表現できますが、XML構文では表現できません。 noscript
機能を使用したドキュメントはXML構文では表現できません。
使用例
[編集]基本的なドキュメント
[編集]<?xml version="1.0" encoding="UTF-8"?> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>サンプルドキュメント</title> <meta charset="UTF-8" /> <link rel="stylesheet" type="text/css" href="style.css" /> </head> <body> <h1>見出し</h1> <p>段落テキスト</p> <img src="image.jpg" alt="画像" /> </body> </html>
名前空間の使用例
[編集]<?xml version="1.0" encoding="UTF-8"?> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:svg="http://www.w3.org/2000/svg" xmlns:math="http://www.w3.org/1998/Math/MathML"> <head> <title>名前空間の例</title> </head> <body> <h1>混合コンテンツ</h1> <svg:svg width="100" height="100"> <svg:circle cx="50" cy="50" r="40" /> </svg:svg> <math:math> <math:msup> <math:mi>x</math:mi> <math:mn>2</math:mn> </math:msup> </math:math> </body> </html>
注意事項
[編集]- XML構文を使用する場合、ブラウザはより厳格なエラー処理を行います。
- 小さな構文エラーでもドキュメント全体が表示されなくなる可能性があります。
- 名前空間を適切に管理する必要があります。
- HTML5の一部の機能はXML構文では使用できません。
- レガシーブラウザとの互換性に注意が必要です。
- MIMEタイプの設定が重要です。