HTML4.01の規格書を読む(その2)
前回に引き続き。今日は5〜6章。雑然とまとめるよ。
5 HTML Document Representation
HTML文書のビット列としての表現方法について。エンコーディングとか文字参照とか。
- HTMLでは文字集合としてISO10646のUCSを使う
- 使うエンコーディングはお好きなものをどうぞ
- エンコーディング名はIANAに登録されているもの。大文字小文字は区別しない
- UAがエンコーディングを決定する規則。
- HTTPヘッダの、Content-Typeフィールド中のcharsetパラメータでの指定
- META要素での指定
- charset属性での指定
- 何らかのヒューリスティックスとかユーザー設定とか(オプション)
- 使っているエンコーディングでカバーしていない文字やハード・ソフトの制限で入力できない文字とかは、文字参照を使うと入力可能
- フォントががないとかエンコーディングの対応外とかで、UAがHTML中の文字を表示できないとき
- どうするかは実装しだい。規格では定めないので適当にやってください
- 推奨なのは次の方法
- 表示できない文字があることを何らかの形で表す
- 文字のコードポイントを16進数で表示する
6 Basic HTML data types
要素内容や属性値に現れるデータ型について。規格を読んでいくための情報。
- Case information:大文字小文字の区別。以下の5種類がある。
- CS:大文字小文字は区別する
- CI:大文字小文字は区別しない
- CN:大文字小文字は関係ない。数値とか。
- CA:大文字小文字どちらなのかは定義により与えられる
- CT:その他
- SGMLのデータ型
- URI:詳細はRFCを。RFC2396
- URIは、だいたいはCSだが一部CIの箇所も(マシン名とか)。ややこしいので、安全側に倒して大文字小文字は常に意識しといた方がよい
- Colors:色の定義は別文書にあるそうな(自分注:こんな文書あったんだ。初めて見た)。以下のいずれかの方法で表現する。
- 16進数値。例:#000000
- 色の名前。16種類ある。CI。(自分注:確かCSS2.1ではOrangeが加えられて17種類)
- Lengths:長さ関連の値。3種類ある。CN。
- Content types:コンテントタイプ。メディアタイプとも。CI。
- "text/html", "image/png", "text/css" など。一覧はIANAからダウンロードできる。
- 国コード:RFC1766で定義されている。CI。
- エンコーディング(既出):IANAに登録されている。CI。
- 日時:ISO8601のサブセット。 "YYYY-MM-DDThh:mm:ssTZD"の形式(TZDはタイムゾーン)。CS。
- Link types:リンクの種類? AlternateとかStylesheetとか。詳細は12章に。CI。
- Media descriptors:出力メディア。screenとかtvとか。CSSの@mediaルールと同じか。
- Frame target names:フレームのリンク先。以下の4種類は予約されている。
- _blank、_self、_parent、_top
- 他の値を指定する場合は、その値の先頭はアルファベット(a-zA-Z)でなければならない