HTMLの記述中における様々な「約束ごと」が込められており、W3Cによって定義されているHTMLの基本的なデータ形式について触れます。
ここで記述されている情報は、W3Cの Basic HTML data types を大まかに翻訳したものです。
出典先: http://www.w3.org/TR/html4/types.html
| CS | 値に大文字と小文字の区別があります。ユーザエージェントは「a」と「A」を異なるものとして解釈します。 |
| CI | 値に大文字と小文字の区別がありません。ユーザエージェントは「a」と「A」を等しいものとして解釈します。 |
| CN | 文字種変換の影響を受けません。属性値が数値であるため大文字と小文字の区別がないというのが大きな理由です。 |
| CA | 要素、あるいは属性の定義自体に大文字と小文字の区別がある場合、ユーザエージェントはこれを理解します。 |
| CT | 大文字と小文字の区別については、ユーザエージェントはデータ形式の定義を参照します。 |
HTMLの要素と属性の文法について、PCDATA、CDATA、NAME、ID等の SGML字句(トークン)を用いて定めています。ここでは、その鍵となる情報を説明します。
HTMLは、SGMLを誰にも使いやすいように発展させた元となるもので、HTMLのルーツにあたり、SGMLの基本的な仕様を継承しています。SGML はマークアップ言語を定義するメタ言語です。 HTML 4.0/4.01 は SGML アプリケーションであるマークアップ言語の代表格です。SGML 自身は、プラットホーム非依存のテキストフォーマットとして、電子データの共有を目的に策定され、1986年に、ISO規格 [ISO-8879] になりました。高い拡張性と柔軟な構文規則の表現を誇り、電子文書の交換用フォーマットを記述する規格として安定的な地位を保っています。
詳しくは、SGMLの概略をお読みください。
Paesed Character Data の略で、任意の長さを持つ(あるいはゼロでも)任意のテキストを、SGML的(トークン)に解釈する文字集合体を指します。その特徴として、
& は & に置き換えられます。Character Data の略で文字データそのものをあらわします。#PCDATAと異なるのは、マークが SGML的に解釈されない点にあります。
CDATA は文書文字集合中の任意の文字の列であり、実体参照も含まれます。ユーザエージェントはこの属性値を次のように解釈しています。
& は & のまま表示します。style要素と、script要素は CDATA型の内容モデルを持っていますが、両者の要素について、ユーザエージェントは CDATAを上記の解釈とは異なる方法で処理する必要があります。
マークアップと実体参照とはそのままのテキストとして扱い、何も変化させることなくアプリケーション (CSSやスクリプト)に引き渡すことになります。最初に現れる「 </ 」(終了タグの開始区切り子) は、そこで要素が終わるものとして扱います。これらは非HTMLのデータ形式として定義されています。
HTML4.0/4.01では基本的に 65536(16ビット)文字ですので、事実上制限を加えるということではないかもしれません。なお、HTML2.0 や 3.0 では72文字までと制限されています。IDは、id属性の値として使われる形式です。大文字と小文字の区別があります。また、NAMEと同じ制限も持っています。
ID Reference の略で、他の IDを参照する場合に使います。他の場所で定義されたIDの値をそのまま利用します。IDREFSは IDREFの複数形で、スペースで区切って複数指定することが可能です。
HTMLのすべての属性の値は、CDATAの型をとります。CDATA型の内容は多種多様です。アスキー文字で記述された名前、URI (URI)、数値や文章など、それぞれまったく異なる値であるにもかかわらず、SGML的にはCDATAとされています。
HTMLでは、DTD (文書型定義) のパラメータ実体を用いて属性のデータ形式を、それぞれに区別しています。
MIMEタイプは大文字と小文字の区別がありません。要素の形式がこの type属性の形式を取ります。
MIMEタイプの例として、「text/html」、「image/png」、「image/gif」、「video/mpeg」、「text/css」、「audio/basic」などがあります。なおこのデータ形式は、DTDでは %ContentType(コンテントタイプ)と表しています。
DTDでは、%LanguageCode と表します。HTMLにおける言語コードの指定は、lang属性によって決められます。lang属性の値は、会話、筆記、その他情報交換のために人々が用いる自然言語を識別する言語コードです。
HTMLにおける言語の文字符号化方法は、IANAに登録されている文字列を定義します。なお、文字符号化方法の指定は、大文字と小文字を区別しません。日本語文字符号として、下記の3つが定義されています。
charset="euc-jp":日本語EUCコードの文字符号(UNIX系)charset="iso-2022-jp":日本語JISコードの文字符号charset="shift_jp":日本語シフトJISコードの文字符号(Win、Mac共通)| 値 | 値の機能 |
|---|---|
| altemate | リンクがある文書の代替バージョン |
| stylesheet | 外部スタイルシート |
| start | 指定する文書が最初の文書であることを示す |
| next | 指定する文書が次の文書であることを示す |
| prev | 指定する文書が前の文書であることを示す |
| contents | 指定する文書が全体の目次であることを示す |
| index | 指定する文書が索引であることを示す |
| glossary | 指定する文書が用語解説であることを示す |
| copyright | 著作権に関する部分の記述 |
| chapter | ひとまとまりの文書中で、「章」にあたる文書 |
| section | ひとまとまりの文書中で、「節」にあたる文書 |
| subsection | ひとまとまりの文書中で、「項」にあたる文書 |
| appendix | ひとまとまりの文書中で、「付録」にあたる文書 |
| help | ヘルプのある文書 |
現在、 Internet Explorer や Netscape などの視覚系ブラウザでは、スタイルシートを外部から読み込む場合を除いて上記の各機能には対応していません、念のため。
属性定義
href = URI [CT]
この属性は、相対URIを解決する際の基本URIとして働く絶対URIを指定します。
sRGBについては、http://www.w3.org/Graphics/Color/sRGB(英文)を参照してください。
基本的な色名(Color Code)は下記16色しかありません。
|
|
Black = "#000000" |
|
Green = "#008000" |
|
|
Silver = "#C0C0C0" |
|
Lime = "#00FF00" |
|
|
Gray = "#808080" |
|
Olive = "#808000" |
|
|
White = "#FFFFFF" |
|
Yellow = "#FFFF00" |
|
|
Maroon = "#800000" |
|
Navy = "#000080" |
|
|
Red = "#FF0000" |
|
Blue = "#0000FF" |
|
|
Purple = "#800080" |
|
Teal = "#008080" |
|
|
Fuchsia = "#FF00FF" |
|
Aqua = "#00FFFF" |
HTMLの要素や属性によって直接色の指定を行うことは、非推奨としています。その代替策としてスタイルシートを用いるように奨められています。HTMLには、属性値としての長さ(高さも含める)の形式には次の3つの形式があります。長さの値は大文字と小文字には無関係にあります。
YYYY-MM-DDThh:mm:ssTZD
| YYYY | 4桁の西暦年 |
| MM | 2桁の月数(01の時には1月を表す) |
| DD | 2桁の日にち(01から31までが割り当てられる) |
| hh | 2桁の時刻(00〜23まで。am/pmは許されていません) |
| mm | 2桁の分数(00〜59まで) |
| ss | 2桁の秒数(00〜59まで) |
| TZD | タイムゾーンを示す |
TZDのタイムゾーンは、UTC(Coordinated Universal Time: 協定標準時間)を表し、「Z」は大文字でなければなりません。日本時間の場合には「+09:00:00」なので、
2002-11-08T23:10:00+09:00 の表記になります。
HTMLのマークアップに利用する各タグには、以下のようなタイプがあり、それぞれの規則に従って記述しなければなりません。
%Blockブロックレベル要素とは、一般的な Webブラウザでは前後に改行を持ち、ブラウザ画面の左から右までいっぱいの矩形の領域を持っています。また、ブロックレベル要素には、文書構造を示す大変重要な意味を持つものが多く定義されています。
address(所在情報)、 blockquote(引用文)、 center(中央揃え)、
dir(ディレクトリ一覧)、 div(汎用ブロック要素)、 dl(定義済みリスト)、
fieldset(フィールドグループ化)、 form(フォーム)、 h1〜h6(見出し)、
hr(罫線)、 isindex(入力フィールド)、 menu(メニュー)、
ol(番号つきリスト)、 p(段落)、pre(整形済みテキスト)、 table(表組)、
ul(リスト)
%Inlineインラインレベル要素とは、通常の文字列と同じ扱いとなり、前後に改行や余白は持っておりません。また、すべてのインラインレベル要素は、ブロックレベル要素内で配置しなければなりません。
a(アンカー)、 abbr(略語)、 acronym(頭字語)、 applet(アプレット)、
b(ボールド)、 basefont(基準フォント)、bdo(文字方向)、big(大きい字)、
br(強制改行)、 button(ボタン)、 caption(表題)、 cite(参照先情報)、
code(コード文字)、 dfn(定義語)、 em(文字強調)、 font(フォント)、
i(イタリック体文字)、 iframe(擬似フレーム)、 img(静止画像貼付)、
input(入力フィールド)、 kbd(キーボード入力文字)、 label(ラベル)、
map(イメージマップ定義)、object(オブジェクト)、 q(引用文)、
s(抹消線文字)、 samp(サンプル文字)、 select(メニューフィールド)、
small(小さい文字)、 span(汎用インライン要素)、 strike(抹消線文字)、
strong(文字強調)、 sub(下付き文字)、 sup(上付き文字)、
textarea(テキスト領域)、 tt(テレタイプ文字)、 u(下線付き文字)、
var(変数文字)
なお、del(抹消文字)、ins(追加文字) の2つの要素は、ブロック、インライン両方で利用可能ですが重複して使うことは許されていません。
%Flow and headers, ETC.インライン、ブロックレベルのどちらにも規定されていない要素です。
この要素内では、ヘッダ内でのみで使用する要素(headers)、あるいは規定されている親要素の中で配置されなければならない要素が含まれます。
それらの中には、ブロック及びインラインレベル要素を配置することが可能な要素(%Flow)、あるいは非HTMLデータを配置する要素(headers)なども含まれます。
area、base、body、col、colgroup、dd、dt、frame、frameset、head、html、legend、li、link、meta、noscript、noframes、optgroup、option、 param、script、style、tbody、td、tfoot、th、thead、title、tr