コンテンツにスキップ

HTML Living Standard/XML構文

出典: フリー教科書『ウィキブックス(Wikibooks)』

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タイプの設定が重要です。

参考文献

[編集]