Network Working Group T. Berners-Lee
Request for Comments: 1866 MIT/W3C
Category: Standards Track D. Connolly
November 1995
Hypertext Markup Language - 2.0
このメモの状態(Status if this Memo)
===================================
この文書は、インターネットコミュニティのための標準プロトコルを述べたもので、改良のために議論や提案を求めるものです。標準化の状況とこのプロトコルの状態は最新版の"Internet Official Protocol Standards"(STD1)を参照してください。このメモの配布は自由です。
概要(Abstract)
==============
ハイパーテキストマークアップランゲージ(HTML)は、プラットホームに依存しないハイパーテキスト文書を作成するために使われるシンプルなマークアップ言語です。HTML文書はSGML文書の一種であり、幅広い分野にわたる情報を表現するのに適しています。ハイパーテキストニュース、メール、文書、そしてメニューの選択やデータベースの検索結果、絵を含んだ簡単な構造の文書、存在する大量の情報をハイパーテキスト表示させるといったハイパーメディアを表現することができます。
HTMLは1990年からワールドワイドウェブ(WWW)の全体的な情報の先駆けとして利用されています。この仕様書は1994年7月以前に一般的に使用されたHTMLの能力におおよそ一致します。HTMLはISO Standard 8879:1986 Information Processing Text and Office System; Standard Generalized Markup Language (SGML) のアプリケーションです。
この仕様書では"text/html"というInternet Media Type (RFC1590) と MIME Content Type (RFC1521) を定義しています。
目次(Table of Contents)
=======================
1. イントロダクション
1.1 ねらい
1.2 準拠
2. 用語
3. SGMLアプリケーションとしてのHTML
3.1 SGML文書
3.2 HTML語彙の構文
3.3 HTML Public Text Identifiers .......................... 17
3.4 HTML文書の例
4. インターネットメディアタイプとしてのHTML
4.1 text/htmlメディアタイプ
4.2 HTML文書の表現
5. 文書構造
5.1 文書の要素:HTML
5.2 ヘッダ:HEAD
5.3 ボディ:BODY
5.4 見出し:H1 ... H6
5.5 ブロック構成要素
5.6 リスト要素
5.7 語句マークアップ
5.8 改行:BR
5.9 水平線:HR
5.10 イメージ:IMG
6. 文字、単語、段落
6.1 HTML文書文字セット
7. ハイパーリンク
7.1 リソースへのアクセス
7.2 ハイパーリンクの有効化
7.3 画像リソースの同時表現
7.4 フラグメント識別子
7.5 質問とインデックス
7.6 イメージマップ
8. フォーム
8.1 フォーム要素
8.2 フォーム提出
9. HTMLパブリックテキスト
9.1 HTML DTD
9.2 厳密なHTML DTD
9.3 レベル1HTML DTD
9.4 厳密なレベル1HTML DTD
9.5 HTMLのSGML宣言
9.6 HTMLのSGML公開実体カタログ例
9.7 文字記号実体セット
10. セキュリティへの配慮
11. 参考文献
12. 謝辞
12.1 著者の住所
13. HTMLでコード化された文字記号セット
14. 提案された実体
1.イントロダクション(Introduction)
==================================
Hypertext Markup Language(HTML)は、ハイパーテキスト文書を作成するために使われるシンプルなマークアップ言語で、あるプラットホームから別のプラットホームへ簡単に移すことができます。HTML文書はSGML文書の一種であり、幅広い分野にわたる情報を表現するのに適しています。
HTMLはSGMLアプリケーションですので、この仕様書はSGMLの実用的な知識をもたらすでしょう。
1.1.ねらい(Scope)
-----------------
HTMLは1990年からワールドワイドウェブ(WWW)の全体的な情報の先駆けとして利用されています。以前はインターネット上の様々なところからHTMLについての非公式な文書を入手することができました。この仕様書は、1994年7月以前に一般的に使用されたHTMLの能力におおよそ一致するように、一連の特徴を統合、整理し、形式化したものです。インターネットコミュニティにおいては新たなHTMLの特徴が多数提案され実験されています。
したがってこの文書では(それ以前の非公式な仕様と区別するために)HTML2.0を定義しています。新たな特徴を含めたHTMLの次期バージョン(おそらくは上位互換)は、より上位のバージョンとしてリリースされるでしょう。
HTMLは、ISO Standards 8879:1986,"Information Processing Text and Office Systems; Standard Generalized Markup Language"(SGML)のアプリケーションです。HTMLの文書型定義(DTD)は、SGMLの観点から正しいHTMLの文法を定義しています。
また、この仕様書は`text/html'というInternet Media Type[IMEDIA]とMIME Content Type[MIME]としてのHTMLも定義しています。これ自体は、HTMLの文法の意味を定義するもので、(ブラウザなどの)ユーザーエージェントがどのように文法を解釈するかを示しています。
1.2.準拠(Conformance)
---------------------
この仕様書はHTML文書の文法とユーザーエージェントの動作の外観を決定するものです。
1.2.1.文書(Documents)
以下の要件を満たす文書はHTML文書に準拠しています
* SGML文書に準拠し、HTML DTDに準拠している(9.1.「HTML DTD」を参照)
注意‐歴史的なユーザーエージェントにおいては、いくつかの文法上の語法がサポートされていたりされていなかったりと矛盾した状況になっています。これらの語法は、この仕様書を通して、このような注意書きの中で確認していきます。
* この仕様書におけるアプリケーションのしきたりに準拠している。例えば、要素のHREF属性の値はURIの文法に準拠しなければならない。
* その文書の文字セットが[ISO-8859-1]を含み、[ISO-10646]に一致している。すなわち、各々のコード位置が、13で列挙する「HTMLの文字コードセット」に含まれ、その文書の文字コード位置が[ISO-10646]で定められたコード位置と一致する。
注意‐文書を表わす際にはいくつかの異なった文字コード体系が使用されています。例えば`ISO-2022-JP'の文字コード体系は、[ISO-10646]のサブセットなのでHTMLで使用可能です。重要な特徴は、数字はその文書の文字コードに関係なく[ISO-10646]に準拠しているということです。
1.2.2.Feature Test Entities
feature test entitiesでHTML DTDは標準的なHTML文書タイプと様々なバリエーションを定義しています。Feature Test EntitiesはHTML DTDにおける宣言であり、DTDの一部を含むか除くかをコントロールします。
HTML.Recommended
その言語のいくつかのfeaturesは広範囲な使用での互換性に必要です。しかし、それにより文書の構造の完全性を損なうかもしれません。このfeature test entitiesはこれらのfeaturesを除いた、より規範的なDTDを選択します。デフォルトでは`IGNORE'にセットされます。
例えば、文書の構造を保つために、ユーザーエージェントはHTML文書をrecommendedサブセットに変換するか、あるいは文書をrecommendedサブセットに合わせるように要求するでしょう。
HTML.Deprecated
その言語のいくつかのfeaturesは古い使用との互換性に必要です。しかしこれは使われるものと組み込まれているものが矛盾する傾向があり、そこでdeprecatedが使われます。このfeature test entitiesは、これらのfeatureを許可したDTDにします。デフォルトでは`INCLUDE'にセットされます。
変換ソフトや編集ソフトで作成された文書にはdeprecatedの語句を含むべきではありません。
1.2.3.ユーザーエージェント(User Agents)
HTMLユーザーエージェントは以下の要件に準拠します:
* HTML文書の文字からデータ文字を取りだし、[SGML]に従って、マークアップする。
注意‐仕様にない文書を扱うための習慣が広範囲にわたり強い影響力で存在します。詳しくは4.2.1.「宣言されていないマークアップのエラー処理」を見てください。
* `ISO-8859-1'文字コード系をサポートし、ISO Latin Alphabet No.1 を6.1.「HTML文書の文字セット」で述べる仕様として処理する。
注意‐非欧米の書式をサポートするために、HTMLユーザーエージェントに`ISO-10646-UCS-2'あるいは同様の文字コード系をサポートすることを推奨します。[ISO-10646]と同程度の文字の種類は実用的です。
* 同一の印の連続として分析した文書は同一にふるまう。
例えば、コメントやタグの空白は無視されるので、ユーザーエージェントの動作には影響しません。
* HTML文書において要素からハイパーリンクにより、ユーザーが行き来する(あるいは少なくとも行き来する許可を与える)ことが可能である
さらにレベル2のユーザーエージェントは以下の要件にも準拠します:
* 情報サービスへの要求としてHTML文書内で、フォーム入力と提出の値を表現することができる。
2.用語(Terms)
=============
絶対URI(absolute URI)
例えば[URL]のように完全な形式でのURI
アンカー(anchor)
ハイパーリンクの両端の一つ。要するに要素としてマークアップされた語句
ベースURI(base URI)
他の絶対URIと区別するために、相対URIと共に使用する絶対URI
キャラクター(character)
文字や数字のように情報の原子となるもの。グラフィックキャラクタはglyphsと関連し、一方でコントロールキャラクタは記号を処理します。
文字コード系(character encording scheme)
キャラクタの集まりに基づいて連続したオクテットの領域と文字の列を定めたもの。すなわち一連のオクテットと文字コード系により文字を確定します。
文字群(character repertoire)
コード化された文字列のように限られた数の文字の集まり。
コード位置(code position)
整数。コード化された文字セットとその領域でのコード位置により文字を確定します。
コード化された文字セット(coded character set)
整数の一部の領域と文字群の列をもったもの。すなわち、いくつかの整数(たいてい{0,1,2, ...,N})により、コード化された文字セットとその文字セットの整数で文字を区別しています。逆にいえば、文字とコード化された文字セットでその文字のコード位置(稀な例ではいくつかのコード位置)が決定されます。
適合したHTMLユーザーエージェント(conforming HTML user agent)
the Internet Media Type `text/html'の処理においてこの仕様書に従っているユーザーエージェント。
データ文字(data character)
要素の中身を作っているマークアップ記号以外の文字
文書文字セット(document character set)
文書で使用される全ての文字を含んだ文字コードセット。あらゆるSGML文書は厳密に一つの文書文字セットを持っています。参照する数字はその文書文字セットにより決定されます。
DTD
文書型定義(document type definition)。要素(element)と実体(entity)の宣言を含み、特定のタイプのマークアップでSGMLが従うルール。[SGML]
要素(element)
DTDで定義された階層構造の構成要素。文書においては、ふつう開始タグと終了タグというマークアップ記述により他と区別されます。[SGML]
終了タグ(end-tag)
要素の終了を明かにするマークアップ記述。[SGML]
実体(entity)
記述法や解釈と関連したデータ。例えば一連のオクテットはInternet Media Typeに関連しています。[SGML]
(fragment identifier)
`#'で始まるHREF属性の値の一部で、ハイパーリンクの行き先を提示します。
フォームデータセット(form data set)
名前(name)/値(value)の組み合わせ。名前はHTML文書より与えられ、値はユーザーにより与えられます。
HTML文書(HTML document)
このDTDに従ったSGML文書
ハイパーリンク(hyperlink)
頭(head)と尾(tail)と呼ばれるふたつのアンカー間の関係。リンクは尾から頭に行きます。頭と尾は、それぞれ目的地(destination)と源(source)としても知られています。
マークアップ(markup)
文書の構造を明かにするために、その文書データに構文的に分けられた文字を挿入すること。マークアップの種類には、記述的マークアップ(descriptive markup)(タグ)、参照(references)、マークアップ宣言(markup declarations)、処理命令(processing instructions)の四種類があります。
(may)
文書あるいはユーザーインターフェースは、ここでの記述で許可しているかどうかに従います。
メディアタイプ(media type)
[IMEDIA]のようなInternet Media Type。
メッセージ実体(message entity)
ヘッド部(head)とボディ部(body)。ヘッド部は名前/値の集まりで、ボディ部は一連のオクテットです。ヘッド部はコンテントタイプ(content type)とボディ部の転送コードの内容を定義します。
最低限準拠したHTMLユーザーエージェント(minimally conforming HTML user agent)
フォーム処理を除き、この仕様書に準拠したユーザーエージェント。それはレベル1のHTML文書をのみ処理します。
(must)
ここでの記述に矛盾する文書やユーザーエージェントは準拠しません。
数字の参照(numeric character reference)
文書の文字セットにおいてコード位置により文字が参照されるマークアップ。
SGML文書(SGML document)
実体の集まりとして物理的に、そして要素の階層において論理的に定められた一連の文字。SGML文書はデータ文字とマークアップから成り、マークアップは情報の構造とその構造の実例を記述します。[SGML]
(shall)
もし文書やユーザーエージェントがここの記述に反するならば、それはこの仕様書に準拠していません。
(should)
もし文書やユーザーエージェントがここの記述に反するならば、この仕様に準拠していても実行時に望ましくない結果がおこるかもしれません。
開始タグ(start-tag)
要素の開始を明かにし、一般的な区切りと属性を示す記述的マークアップ。[SGML]
構文参照文字セット(syntax-reference character set)
マークアップに使用される全ての文字を含んだ文字セット。すなわち名前を示す文字(name characters)と区切り文字(delimiter character)です。
タグ(tag)
要素を区切るマークアップ。タグにはDTDの要素宣言を参照する名前を含み、属性を含むこともできます。[SGML]
テキスト実体(text entity)
限られた範囲の文字。一般的にテキスト実体は、ネットワークにより送られるかファイルに格納された文字コード系に従った一連のオクテットの形態をとります。[SGML]
(typical)
典型的な処理はたくさんの要素を記述することです。これは仕様書の必須部分ではありませんが、設計者へのガイドと、要素が使われていることを説明する助けとして与えられます。
URI
Uniform Resource Identifierは(特にインターネット上の)リソースを特定するものとして示す定型の書式です。URIはハイパーリンクのアンカーを特定するためにHTMLで使用されます。またUniform Resource Locater(URL)や相対URLを含んでいます。
ユーザーエージェント(user agent)
ユーザーのためにインターフェースを持ち要求を処理するようなシステムの組み合わせ。例えばWWWブラウザやメーラー(a mail user agent)などです。
WWW
ワールドワイドウェブ(The World-Wide Web)はハイパーテキストベースの分散情報システムで、スイスのCERNの研究者により開発されました。 テキスト。 *wow*
|
\-"テキスト。 "
|
\-EM
| |
| \-
| |
| \-"*wow*"
| |
| \-
|
\-これは見出しです
いくつかの要素は終了タグはなく開始タグのみで使用されます。例えば改行するときには`
'タグを使います。加えて、段落(`
3.3.(HTML Public Text Identifiers) ---------------------------------- この仕様に準拠したHTMLであることを明示するには、それぞれの文書を以下の文書型宣言で始めなければなりません。 この文書型宣言は9.1,「HTML DTD」で示すHTML DTDに関連しています。 注意‐もし`text/html'のメッセージ実体が文書型宣言から始まっていない場合には、HTMLユーザーエージェントは上の文書型宣言を推測すべきです。 この文書型宣言も9.1,「HTML DTD」で示すHTML DTDに関連しています。 この文書型宣言は9.3,「レベル1HTML DTD」によるレベル1HTML DTDに関連しています。レベル1文書はフォーム要素が存在してはいけません。 この二つの文書型定義は、9.2,「厳密なHTML DTD」と9.4,「厳密なレベル1HTML DTD」によるHTML DTDに関連しています。これは構造的により厳密なHTMLの定義になっています。 HTMLユーザーエージェントはその他の文書型をサポートしてもかまいません。特にまったく別のformal public identifiersや文書型をサポートしてもかまいません。付け加えた実体や要素など、内部宣言のサブセットや別のマークアップ宣言をサポートしてもかまいません。 3.4.HTML文書の例(Example HTML Document) -------------------------------------------
HTMLファイル例における段落です。テキスト文書内にタイトルは現われませんが、(H1で定義した)見出しは現われることを覚えておいてください。
追加された段落です。ここでは付けていますが、段落の終了タグは技術的には必要ではありません。また、段落内で強調文字を含めることもできます。この部分は強調されています。終了タグ </P>が省略されていることに注目してください。
この太字の説明を読みましょう。 4.インターネットメディアタイプとしてのHTML(HTML as an Internet Media Type) ============================================================================== HTMLユーザーエージェントにより、ユーザはHTMLで記述されたリソースをインタラクティブに扱うことができます。最低でもHTMLユーザーエージェントはHTMLレベル1文書の内容を調査したりナビゲートできなければなりません。そしてHTML文書で表わされた形式の特徴すべてを維持でき、同時にIMG要素により参照されるリソースを表示できるようにするべきです(これらはユーザの要求に従って無視するようにしてもかまいません)。レベル2HTMLユーザーエージェントは、フォーム入力と提出をサポートするべきです。 4.1.text/htmlメディアタイプ(text/html media type) ------------------------------------------------- この仕様は`text/html'というインターネットメディアタイプ[IMEDIA](以前はコンテントタイプ[MIME]として示されていました)を定義するものです。以下は[IANA]で登録されたものです。 メディアタイプ名称(Media Type name) text メディアサブタイプ名称(Media subtype name) html 必要なパラメータ(Required parameters) なし(none) オプションパラメータ(Optional parameters) level, charset エンコーディングへの配慮(Encoding considerations) 全てのエンコーディングを許可 セキュリティへの配慮(Security considerations) 10,「セキュリティへの配慮」を見てください オプションパラメータは以下のように規定されます: レベル(Level) レベルパラメータは文書内で使われる特徴のセットを規定します。レベルは整数で表わされ、文書内にあらわれるのと同じ、もしくは低いレベルの特徴を含みます。レベル1はこの仕様の