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
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」を参照)
注 : 昔から作成されていたユーザーエージェントには、いくつかの
HTML構文のサポートについて規格に合致しないものがあります。合致
しない恐れのある部分については、この仕様書を通して、このような
注意書きの中で確認していきます。
* この仕様書内で示されている規格に合致している。例えば、要素の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
HTML2.0には慣用的に使われてきた仕様との互換性のために必要な機
構(features)が残してありますが、それらの機構により文書構造の完
全性が損なわれる恐れがあります。この feature test entitiesは構
造を損ないかねない機構を除いた、より規範的なDTDを選択します。
デフォルトでは`IGNORE'にセットされます。
例えば、編集ユーザーエージェントのなかには文書の構造を保つため
に、HTML文書をrecommendedサブセットに変換したり、入力文書を
recommended サブセットに合わせるように要求するものもあるでしょ
う。
HTML.Deprecated
古い仕様との互換性のために必要となる機構(features)です。しかし
これは既に古びてしまい、実装に矛盾が存在し、使用すべきでは無い
ものです。このfeature test entitiesは、これらの機構(features)
を許可した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,「厳密なレベル1 HTML 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はこの仕様の