4.インターネット伝送種別としてのHTML
 HTML as an Internet Media Type

 

HTML利用者代理は利用者がHTMLで記述された素材へ干渉できるようにしてくれます。HTML利用者代理は、まず最低限でも、利用者が第1水準HTML文書の内容を観察し、巡回できるようにしてやることが必要です。次に、HTML文書で表わされた形式の特徴すべてを維持でき、同時にIMG要素により引っぱってくる素材を表示できるようにすることが条件です(これらは利用者の要求に従って無視するようにしてもかまいません)。第2水準HTML利用者代理は、さらに書式入力と送信を実行できることが条件になります。

4.1.text/html伝送種別 text/html media type

この仕様は`text/html'というインターネット伝送種別[IMEDIA](以前は内容種別Content-Type[MIME]として示されていました)を定義するものです。以下は[IANA]で登録されたものです。

伝送種別名称(Media Type name)
text

伝送副種別名称(Media subtype name)
html

必要な変数(Required parameters)
なし(none)

選択変数(Optional parameters)
level, charset

符号化への配慮(Encoding considerations)
全ての符号化を許可

防犯への配慮(Security considerations)
10,「防犯への配慮」を見てください

選択変数は以下のように規定されます:

水準 Level
水準変数は文書内で使われる特徴のセットを規定します。水準は整数で現され、文書内に現れるのと同じ、もしくは下位の水準の特徴を含みます。第1水準はこの仕様の<FORM>以外のすべての特徴を満たすものです。第2水準は書式処理を含みます。指定を省略すると第2水準になります。

文字セット(Charset)
(RFC 1521[MIME]の7.1.1で定義されている)文字セット変数は、HTML文書をデータ文字列として表現できるように文字コード体系を定義することができます。省略したときの設定値はこの仕様の範囲外ですが、例えばMIMEメールで省略したときの設定値は`US-ASCII'で、HTTPでは`ISO-8859-1'です。

4.2.HTML文書の表現 HTML Document Representation

`text/html'の内容種別によるメッセージ実体はHTML文書として表わされ、文章実体を構成します。文字コード変数は(明示されていなくても)文字コード体系を規定します。文章実体は、この文字コード体系で規定された文字とメッセージ実体の本文のデータから成ります。

4.2.1.宣言されていない表記のエラー処理 Undeclared Markup Error Handling

HTMLのさまざまなバージョン間での実験や相互運用(interoperability)を容易にするために、HTML利用者代理はそれらをHTML2.0に引き下げることによってHTML2.0のスーパーセットを支持します。開始タグや終了タグの中での表記で、種別が宣言されていないものは何もなかったものとして提示されます。宣言されていない属性も同様に扱われます。不明な属性のすべての仕様(すなわち何であれ属性とその値)は無視するのが条件です。一方、宣言されていない実体データ文字として扱われることが条件になります。

例:
<div class=chapter><h1>foo</h1><p>...</div>
=> <H1>,"foo",</H1>,<P>,"..."
xxx <P ID=z23> yyy
=> "xxx ",<P>," yyy
Let &alpha; &amp; &beta; be finite sets.
=> "Let &alpha; & &beta; be finite sets."

このようなエラーを利用者に知らせる機能をつけておくとよいでしょう。

この約束事には拘束力がないことを情報提供者は注意してください。この仕様から外れた表記である以上は、規定外のふるまいをする可能性があります。

4.2.2.慣習的な改行の表現 Conventional Representation of Newlines

SGMLでは、文章実体は記録の組み合わせ(a sequence of records)であり、それぞれ記録開始記号で始まり記録終了記号(文字コード番号10と13に対応)で終わると定めています([SGML]のセクション7.6.1,"Record Boundaries")。

[MIME]では、種別`text/*'の本体は行の組み合わせであり、CRLF、つまり文字コード番号13と10で区切られると定めています。

実際には、HTML文書にはしばしば元の文書の慣習に依存した行末の表現が表わされ伝えられています。多くの場合、この表現はCRのみ、LFのみ、あるいはCRとLFの組み合わせで構成されます。そのため、データを解析する際に、文章実体にある記録開始および終了の記号を落としてしまうことがあります。

他に解釈の余地がない以上、失われた記録開始および終了の記号をHTML利用者代理があてはめるようにすることを推奨します。

HTML利用者代理は、割付け済み文章を除き、すべての行末を空白文字として扱うようにするのが条件です。割付け済み文章では、一般的な三つの改行表現を新たな行の開始として扱うようにすることが条件です。


戻る   目次   進む