2. XHTML 1.1 DTD

since: 30th/Aug./2001; last modified: 30th/Aug./2001

Contents

  1. XHTML 1.1 DTD 宣言
    1. 公開識別子とシステム識別子

XML 文書では、 XML 宣言の次には、コメントか文書型定義宣言が来ます。コメントは任意ですが、 XHTML 1.1 文書型の定義の宣言は必須です。

XHTML 1.1 DTD 宣言

XHTML 1.1 の文書の形式を定義しているのが XHTML 1.1 DTD です。これに則った文書は、その旨を文書の最初に宣言しておく必要があります。 XHTML 1.1 DTD を参照するには、次の二つの方法が与えられています:

公開識別子PUBLIC -//W3C//DTD XHTML 1.1//EN
システム識別子SYSTEM http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd

公開識別子は、普遍的にこの DTD を参照するための識別子であり、値は FPI (Formal Public Identifier)と呼ばれます。これは標準化団体などが定義した DTD を参照するためのものであり、 FPI は絶対に自分で書き換えてはいけません。

一方、システム識別子は、ウェブ上で、当該文書が依拠する DTD を参照する URI です。従って、プライベートな DTD などの参照にも使うことが出来て、自由に変更して構いません。

この二つの識別子を用いて、当該文書が依拠する文書型を宣言するものが、 DTD 宣言です:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

この文書は XHTML 1.1 ですが、同じディレクトリに XHTML 1.1 を表す DTD を置いてあります(ファイル)。従って、私はこの文書の DTD 宣言では、システム識別子を、次のように相対 URI で参照することも許されます:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
 "xhtml11.dtd">

XML では、 DTD 宣言中のシステム識別子も必須とされていますので、 XHTML でも省略することは出来ません。 HTML 4 では省略可能でしたから、間違えないようにしてください。

HTML 4 では、要素名は大文字と小文字を区別しませんでしたから、 DTD 宣言中の文書型名 HTML は、大文字でも小文字でも許されました。しかし、 XML では大文字と小文字を区別しますので、 DTD 宣言中の文書型名は、必ず小文字で html としなければなりません。

以下の内容は、最初は読まなくても結構です。自分で文書型を定義したい場合は、必要となります。

FPI: Fromal Public Identifier

XML を応用した文書型を識別する FPI は次の規則で命名されています:

-//所有組織名//DTD XHTML-識別名//言語

ISO などの標準化団体に登録していない組織名を用いる場合は、冒頭の -// が必須になります。

結果として、文書型宣言は次のように成ります:

<!DOCTYPE root PUBLIC "FPI" "URI">

SYSTEM 識別子

一方、社内文書などのプライベートな文書型は、 PUBLIC 識別子は使わず、 SYSTEM 識別子を用います。このとき FPI に類するものはなく、 URI だけで参照します:

<!DOCTYPE root SYSTEM "URI">

SYSTEM 識別子の URI は、絶対 URI 、相対 URI 共に使えますので、次のようにしても構いません:

<!DOCTYPE supply SYSTEM "file:///pub/www/doctype/supply.dtd">
<!DOCTYPE commerce SYSTEM "/doctype/commerce.dtd">
<!DOCTYPE learn SYSTEM "../../doctype/learn.dtd">

URI書式で何が便利かは、使い道によりますので、十分検討する必要があります。


Copyright © 2001, SUGAI, Manabu. All rights reserved. 著作権は放棄していません。