HTML文書は、頭・本文・見出し・段落・箇条などの要素が、樹形構造をなしています。書式要素については8,「書式」で論じます。
HTML文書の要素は、メモや手紙のように頭(かしら)と本文から成ります。頭は標題と選択要素を含みます。本文は段落や箇条や他の要素から成る文章です。
HTML文書の頭は、文書についての情報を順不同に集めたものです。例えば以下のようになります。
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HEAD>
<TITLE>HTML入門</TITLE>
</HEAD>
...
HTML文書には文書毎に<TITLE>要素が必要です。
標題は全体的な文脈の中で文書の内容がわかるようにつけることが条件となります。短い標題、例えば「はじめに」のようなものは文脈外では意味不足かもしれません。「はじめに:HTML要素について」のようにしたほうが適切です。
利用代理者は、文書の標題を、履歴一覧や文書を表示している窓の名前として表示することが可能です。これは本文に明示される見出し(5.4,「見出し:H1 ... H6」)とは異なります。
オプションである<BASE>要素は、外部にある文書を参照する際に(7,「超連鎖」を見てください)、相対URLを解釈するための基盤を指定するものです。HREF属性の値は絶対URIにする必要があります。
<ISINDEX>要素により、利用代理者は与えられたキーワードによる検索を可能にすることが条件です。詳しくは7.5,「照会と索引」を見てください。
<LINK>要素は超連鎖(7,「超連鎖」を見てください)を表わします。LINK要素はHTML文書の<HEAD>要素の中にいくつでも書くことができます。この要素は<A>要素と同じ属性を持ちます(5.7.3,「錨:A」を見てください)。
<LINK>要素は一般的に著作者の表示、関連する索引や用語集、新版・旧版、文書階層、スタイルシートのような結合資材などに使われます。
<META>要素は、特定の文書の前置きを提示する、拡張用の入れ物です。前置きには主として、以下の二つの機能があります。
各々の<META>要素は名称と値(name/value)の組み合わせを指定します。同じ名称を持つ複数のMETA要素を使用する場合、それらを合わせた内容――コンマで区切られた一覧で表されます――がその名称に結びつけられる値となります。
HTTPサーバは、文書の<HEAD>を読み取ってHTTP-EQUIV属性の値で定められた要素のすべてに対応するようにヘッダ部分を作成することができます。
META要素の属性は以下のとおりです:
例
<META HTTP-EQUIV="Expires"文書に上の要素が含まれている場合、サーバは以下のようなヘッダ部を加えることができます。
CONTENT="Tue, 04 Dec 1993 21:29:02 GMT">
<meta http-equiv="Keywords" CONTENT="Fred">
<META HTTP-EQUIV="Reply-to"
content="fielding@ics.uci.edu (Roy Fielding)">
<Meta Http-equiv="Keywords" CONTENT="Barney">
Expires: Tue, 04 Dec 1993 21:29:02 GMT
Keywords: Fred, Barney
Reply-to: fielding@ics.uci.edu (Roy Fielding)
これは文書に対する`GET'あるいは`HEAD'請求へのHTTP応答の一部となります。
HTTPサーバが、HTTP-EQUIV属性のない<META>要素をHTTP応答ヘッダ整形に使用することを禁止します。
HTTPサーバは、サーバを制御するような情報を定めたいかなる<META>要素、例えば`Server'や`Date'や`Last-modified'などを無視してもかまいません。
<NEXTID>要素は歴史的な理由から含まれているだけです。HTML文書に<NEXTID>要素を入れないことを条件とします。
<NEXTID>要素は、HTML文書を編集するときに新しい<A>要素を使うための名称のヒントを与えてくれます。これは<A>要素におけるNAME属性値のどれとも異なっているはずです。
例えば:
<NEXTID N=Z27)となります。
<BODY>要素には、見出しや段落や一覧などを含んだ文書の文章が入ります。
<H1>から<H6>までの六つの要素により見出し部分を示します。見出しの順序や付け方はHTML DTDで定められてはいませんが、その文書を別の形式に変換する際に問題にならないようにするために、(例えばH1からH3というように)レベルを飛ばすのは望ましくありません。
一般的にそれぞれ以下のように表示されます:
ブロック構成要素は、段落・一覧・引用などを含みます。見出し要素はここに入れることを禁止します。語句表記(phrase markup)はここに入れることができ、場合によっては入れ子にすることもできます。
<P>要素は段落を示します。段落全体を字下げして表示することについては、規定がありません。それはスタイルシートなど他のタグの機能になるでしょう。
一般的に段落は1行あるいは半行ほどの空行で挟まれます。段落の最初の行はさまざまな方法で字下げされます。
<PRE>要素は文章において文字の割り付けを示すもので、等幅活字(a monospaced font)で割付けられた文章に適しています。
<PRE>タグはオプションであるWIDTH属性とともに使うこともできます。WIDTH属性は行の最大文字数を定めるもので、それによりHTML利用者代理は適切な活字と字下げ幅を設定することができます。
割付け済み文章内では以下の規則が適用されます:
<XMP>と<LISTING>要素は<PRE>要素と似ていますが、異なる語法です。この内容はCDATAとして宣言され、終了タグ以外のすべての表記記号は認識されません([SGML]の9.6 "Delimiter Recognition"を見てください)。
CDATA宣言の内容を処理するときに不適切な反応をおこしたり矛盾した仕様や実装が行われるために、HTML文書では<XMP>も<LISTING>も使用しないことを条件とします。<PRE>タグのほうがより表現力があり広く支持されているからです。
<LISTING>要素は1行あたり132文字までに収まるように表示されます。<XMP>要素は1行あたり80字までに収まるように表示され、そのほかは<LISTING>要素と同様です。
<ADDRESS>要素は住所や書名や著作者などの情報を含み、よく文書の本文の最初か最後に置かれます。
一般的に<ADDRESS>要素は斜体で表示され、字下げされることもあります。
<BLOCKQUOTE>要素には、別の書類から引用された文章が含まれます。
典型的な解釈としては、左右を少し字下げした上で、またはそのまま、斜体で表示されるようです。<BLOCKQUOTE>では一般的に引用部分の前後に余白を空けます。
Single-fontでは、左端に大なり記号(>)のような記号を縦に並べるという、電子メールでの引用のスタイルを使うことができます。
使用例:
I think the play ends
<BLOCKQUOTE>
<P>Soft you now, the fair Ophelia. Nymph, in thy orisons, be all
my sins remembered.
</BLOCKQUOTE>
but I am not sure.
HTMLにはさまざまな一覧要素があります。一覧要素は組み合わせて使うことが可能です。例えば<OL>は<UL>の<LI>要素の中で入れ子にして使用することができます。
COMPACT属性は、その一覧を詰めて表示(compact rendering)するように指示します。
<UL>は項目の一覧を表わすもので、一般的に箇条書きで表示されます。
<UL>要素の中身は一連の<LI>要素です。例えば以下のように使用します:
<UL>
<LI>第一の項目
<LI>第二の項目
<p>第二の項目の第二段落
<LI>第三の項目
</UL>
<OL>要素は番号付きの項目一覧を表わし、その順番や重要度順に並べられます。一般的には番号付きの箇条書きとなります。
<OL>要素の中身は一連の<LI>要素です。例えば以下のように使用します:
<OL>
<LI>URI窓を開くためにWebボタンをクリックしてください。
<LI>開いたURI窓の記入欄にURIを入力してください。指定したWeb文書が表示されます。
<ol>
<li>substep 1
<li>substep 2
</ol>
<LI>別の連鎖先に移動するには文章の強調部分をクリックしてください。
</OL>
<DIR>要素は<UL>要素によく似ています。これは短い項目の一覧、一般的にはそれぞれが半角20字までに収まるような一覧を表わします。階層一覧の項目は一般的に半角24字分の幅の列になります。
<DIR>要素の中身は一連の<LI>要素です。<DIR>要素の中では要素の入れ子は許されていません。例えば以下のように使用します:
<DIR>
<LI>A-H<LI>I-M
<LI>M-R<LI>S-Z
</DIR>
<MENU>要素は1項目につき1行となるような一覧です。献立は一般的に番号なし一覧よりも詰めて表示されます。
<MENU>要素の中身は一連の<LI>要素です。<MENU>要素の中では要素の入れ子は許されていません。例えば以下のように使用します:
<MENU>
<LI>一覧の第一項目
<LI>一覧の第二項目
<LI>一覧の第三項目
</MENU>
定義型一覧は、用語とそれに対応する定義の一覧です。定義型一覧の典型的な形としては、用語が左揃えで並べられ、定義はその用語の次に字下げした段落の形で表示されます。
<DL>要素の中身は一連の<DT>要素と<DD>要素、あるいは<DD>要素単独で、普通は組にして使われます。複数の<DT>要素を一つの<DD>要素と組にすることもできます。文書には複数の連続した<DD>要素を入れないことを条件とします。
使用例:
<DL>
<DT>用語<DD>一番目の用語の定義
<DT>用語<DD>二番目の用語の定義
</DL>
もしDTの用語がDTの表示枠(一般的に表示領域の3分の1)に収まらなければ、DD部分を次の行に移してページ全体を延ばすか、左枠内で次々に折り返すことが可能です。
オプションのCOMPACT属性により、一覧項目が小さくて一覧全体が大きく見える場合や一覧自体が実際に大きい場合には、詰めて表示するように指示します。
COMPACT属性が明示されない場合には、HTML利用者代理は各々DTとDDの間に余白を入れて表示することが可能です。COMPACT属性により左側(DT)の枠を狭くして表示することも可能です。
<DL COMPACT>
<DT>用語<DD>コンパクト形式での第一の定義
<DT>用語<DD>コンパクト形式での第二の定義
</DL>
利用者代理はその語句を他の部分より目立つように表示することが必要です。さらに、<EM>の内容は<STRONG>の内容とは区別し、<B>の内容は<I>の内容とは区別して表示することが必要です。
語句要素は他の語句要素の中に入れ子にすることが可能です。しかし、HTML利用者代理によっては、入れ子になっているものとなっていないものを同じように表示するかもしれません。
プレーン<B>太字<I>イタリック</I></B>は、
プレーン<B>太字</B><I>イタリック</I>と同じように表示されるかもしれません。
語句は特定の語法を示すために表記することが可能です。
<CITE>要素は、本の書名や引用などを示すのに使用します。一般的に斜体で表示されます。
使用例:
僕は<cite>HTML2.0</cite>を読んでみたけれど、よくわからないんだ。
<CODE>要素はコードの例を示すもので、一般的に等幅活字で表示されます。<CODE>要素は単語やコード語句に用いられることを想定しています。複数行にわたる一覧には<PRE>要素(5.5.2,「割付け済み文章:PRE」)のほうが適切です。
使用例:
<code>x += 1
</code>という表現は
<code>x = x + 1
</code>より短い。
<EM>要素は注意を引く語句を示すのに使われ、一般的にイタリックで表示されます。
使用例:
単数形の主語の後には<em>常に</em>単数形の動詞がくる。
<KBD>要素は利用者の入力した文を示し、一般的に等幅活字で表示されます。これは主に使用説明書で使われます。
使用例:
データベース検索には<kbd>FIND IT</kbd>と入力します。
<SAMP>要素はそのままの文字を示し、一般的に等幅活字で表示されます。
使用例:
<samp>mt</samp>の文字を含む単語はdreamtだけです。
<STRONG>要素は強調を示し、一般的に太字で表示されます。
使用例:
<strong>止めなさい</strong>。もう一度言うよ、「<strong>止めなさい!</strong>」
<VAR>要素は置き換え可能なものを示し、一般に斜体で表示されます。
使用例:
<VAR>file</VAR>の表記エラーをチェックするには、<SAMP>html-check <VAR>file</VAR> | more</SAMP>とタイプしてください。
表示型要素は表記された文の形式を定義するのに使用します。
語法的要素の一般的な表示は利用者代理によってはかなり変化します。もし特定の表現が必要なら――例えば「イタリックの部分は必須」という明確なテキスト属性を参照する場合――、表示型要素を使うことにより、意図したとおりの表示にすることができるようになります。
<B>要素は太字を表わします。太字表現が不可能な場合は他の表示形式で代用することができます。
<I>要素はイタリック(斜体)を表わします。イタリック表現が不可能な場合は他の表示形式で代用することができます。
<TT>要素はテレタイプ(固定幅)文を表わします。等幅活字が表示不能な場合は他の表示形式で代用することができます。
<A>要素は超連鎖の錨(7,「超連鎖」参照)を表わします。NAME属性かHREF属性を少なくとも一つは明示することを条件とします。<A>要素の属性は以下のとおりです:
<BR>要素は単語(6,「文字、単語、段落」参照)間の改行を指定します。
使用例:
<P> Pease porridge hot<BR>
Pease porridge cold<BR>
Pease porridge in the pot<BR>
Nine days old.
<HR>要素は文の区切りとなるもので、一般的には幅いっぱいの水平線か同等の形象で表示されます。
使用例:
<HR>
<ADDRESS>February 8, 1995, CERN</ADDRESS>
</BODY>
<IMG>要素は超連鎖によって画像やアイコンを参照するものです(7.3,「画像素材の即時表現」参照)。
HTML利用者代理はSRC属性で示される画像を処理する代わりにALT属性の値を処理することが可能です。
<IMG>要素の属性は以下のとおりです:
使用例:
<IMG SRC="triangle.xbm" ALT="警告:">この説明を読んでください。
<a href="http://machine/htbin/imagemap/sample">
<IMG SRC="sample.xbm" ISMAP>
</a>