HTML文書は、頭部(ヘッド)・体部(ボディ)・見出し・パラグラフィフ・リストなどの要素が樹状になっています。フォーム要素については、 Formsのセクションで言及します。
HTML文書要素は、頭部(ヘッド)と体部(ボディ)からなっていて、丁度メモやメールのメッセージと同じです。頭部(ヘッド)は、タイトルと選択性の要素からなります。体部(ボディ)はテキスト文(text flow)がき、パラグラフ・リストそしてその他の要素からなります。
HTML文書の頭部(ヘッド)は、その文書について情報の非序列の集まりです。例えば:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <HEAD> <TITLE>Introduction to HTML</TITLE> </HEAD> ...
各HTML文書には、一つの TITLE 要素がこなければなりません。
タイトルは、文書の内容を全体の文脈上で決めなければなりません。"イントロダクション"といった短いタイトルは、意味がなく文脈から外れています。"HTML要素へのイントロダクション"ならより適切です。 (12)
表示代行手段は、文書タイトルをリストや文書表示の枠のラベルとして表示するものもあります。これは、見出し(Headings: H1 ... H6セクション)とは異なり、見出しは典型的にボディのテキスト文内に表示されます。
選択性であるBASE 要素は、文書が文脈からはずれて読み込まれる場合、相対的なURLsを解釈する基盤住所です( Hyperlinksセクションを参照)。 HREF属性の値は、 絶対的なURIでなければなりません。
ISINDEX 要素で、 表示代行手段はキーワードを指定してインデックスを検索できるようにすべきであることを指示します。より詳しいことは、 Queries and Indexesセクションを参照してください。
LINK要素は、 ハイパーリンクを表わします ( ハイパーリンクを参照)。リンク要素は、 HTML文書の HEAD 要素内に幾つでもこれます。 A 要素と同じ属性を持っています( Anchor: Aセクション参照)。
LINK 要素は、典型的には著者・関連インデックスや用語集・バージョンの新旧・文書階層構造・スタイルシートといった関連資源などを指します。
META 要素は、特殊化された文書のメタ情報を特定する際使われる拡張内容です。メタ情報には二つの機能があります:
各META 要素は、name/valueの組を設定します。複数のMETA要素が同じ名前(name)で提供される場合は、結合された内容−コンマで区切られたリストとして結合されている−は、その名前(name)に関連した値(value)です。 (13)
HTTPサーバーは、文書HEADの内容を読み込み、属性HTTP-EQUIVの値(value)を定義している要素に対応してヘッダー領域を生成します。 (14)
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">
そうすると、文書が要求する`GET'や`HEAD'へのHTTP応答部分として、サーバーは以下のようなヘッダー領域を含みます:
Expires: Tue, 04 Dec 1993 21:29:02 GMT Keywords: Fred, Barney Reply-to: fielding@ics.uci.edu (Roy Fielding)
HTTP-EQUIV属性がない場合HTTPサーバーは、HTTP応答ヘッダーを生成するためにMETA要素を使うべきではありません。
HTTPサーバーは、HTTPサーバーが制御する情報、例えば `Server'・ `Date'・ `Last-modified'など、を特定するMETA要素を無視するかもしれません。
NEXTID 要素は、ただ歴史的な理由で含まれているにすぎません。HTML文書でNEXTID要素を使うべきではありません。
NEXTID要素は、 HTML文書を編集する際新しいA要素に使う名前のヒントを与えます。 A要素の全ての属性値と区別すべきです。例えば:
<NEXTID N=Z27>
BODY 要素には、見出し・パラグラフ・リストなど文書のテキスト構成(text flow)がきます。
例えば:
<BODY> <h1>Important Stuff</h1> <p>Explanation about important stuff...</p> </BODY>
六段階の見出し要素、 H1からH6まで、は章の見出しを象徴しています。見出しの順序や頻度はHTML DTDで束縛されてはいませんが、文書でレベルをとばしてはいけません(例えば、H1に続いてH3といった)。この様な文書を他の表示に変換するとよく問題を生じます。
使い方の例:
<H1>This is a heading</H1> <P>Here is some text</P> <H2>Second level heading</H2> <P>Here is some more text.</P>
典型的には以下のように表示されます:
ブロック構造を作る要素として、パラグラフ・リスト・引用符があります。見出し要素は内容に取ってはいけませんが、語句マーク付けは内容になりえ、ある場合では入れ子(ネスト)ができます。
P 要素は、パラグラフであることを示します。パラグラフでの字下げや先頭一文字空白などは特定されていなくて、スタイル・シートなどの他のタグの機能でできるかもしれません。
典型的にはパラグラフは、一行乃至は半行の空白で囲まれます。パラグラフ内の最初の行が字下げされる場合もあります。
使い方の例
<H1>This Heading Precedes the Paragraph</H1> <P>This is the text of the first paragraph.</P> <P>This is the text of the second paragraph. Although you do not need to start paragraphs on new lines, maintaining this convention facilitates document maintenance.</P> <P>This is the text of a third paragraph.</P>
PRE 要素は、 テキストの文字セル・ブロックを表示し、等幅文字に整形されたテキストに適しています。
PRE タグは、 WIDTH属性を選べることもあります。WIDTH属性で、一行の最大文字数を特定し、 HTML 表示代行手段が適切な文字や字下げを選べるようにします。
整形されたテキストは:
使い方:
<PRE>
Line 1.
Line 2 is to the right of line 1. <a href="abc">abc</a>
Line 3 aligns with line 2. <a href="def">def</a>
</PRE>
XMPとLISTING要素は、 PRE 要素と同じ様なものですが、構文は異なっています。内容はCDATAとして定義され、end-tag文脈内オープン区切り符号を除いて、 マーク付けは認められていないことを意味しています( [SGML]の9.6 "Delimiter Recognition"を参照)。 ([SGML]) (18)
CDATA宣言された内容は、処理技術と思わぬ相互反応を持ち、使われ方や装備にも一貫性に欠けていますので、HTML文書ではXMPやLISTING要素を使うべきではありません− PRE タグがより表現的でよりサポートもより一貫性があります。
LISTING要素は、少なくとも132文字が一行に合うように表示すべきです。 XMP要素は、少なくとも80文字が一行に合うように表示されるべきで、それ以外はLISTING 要素と同じです。 (19)
ADDRESS要素には、住所や署名や著作権がき、文書のボディの最初か終にきます。
Typically, the ADDRESS element is rendered in an italic typeface and may be indented.
使い方:
<ADDRESS> Newsletter editor<BR> J.R. Brown<BR> JimquickPost News, Jimquick, CT 01234<BR> Tel (123) 456 7890 </ADDRESS>
BLOCKQUOTE 要素には、他の資源からの引用されたテキストがきます。
典型的には、左右に多少字下げされ、斜体文字で表示されます。BLOCKQUOTEは、典型的には引用の上下に一行空白を取ります。
一つの文字の追加によって、左端により大きいというシンボル(>)といったグラフィカルなラインに垂直な文字を配置して、インターネット・メールの引用スタイルを反映できるかもしれません。
使い方:
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属性は、簡潔な表示が使われることを示唆します。
ULは、項目のリストを表示し、−典型的には黒丸印のあるリストとして表示します。
UL要素の内容は、一連のLI要素です。例えば:
<UL> <LI>First list item <LI>Second list item <p>second paragraph of second item <LI>Third list item </UL>
OL要素は、項目を序列付のリストとして表示し、順序や重要性の順に分類されます。典型的には、番号付きリストで表示されます。
OL 要素の内容は、一連のLI要素です。例えば:
<OL> <LI>Click the Web button to open URI window. <LI>Enter the URI number in the text field of the Open URI window. The Web document you specified is displayed. <ol> <li>substep 1 <li>substep 2 </ol> <LI>Click highlighted text to move from one link to another. </OL>
DIR要素は、 UL 要素に似ています。短い項目のリストを表示し、典型的には各々20文字までです。階層リスト内の項目は、典型的には24文字の幅の列にアレンジする こともできます。
DIR 要素の内容は、一連のLI要素です。例えば:
<DIR> <LI>A-H<LI>I-M <LI>M-R<LI>S-Z </DIR>
MENU要素は、典型的には項目が一行のリストです。メニュ・リストは、典型的には非序列リストのスタイルよりより簡潔なものです。
MENU 要素の内容は、一連のLI要素です。ブロック要素の入れ子は、 MENU要素の内容では許されません。例えば:
<MENU> <LI>First item in the list. <LI>Second item in the list. <LI>Third item in the list. </MENU>
定義リストは、用語とそれに対応する定義のリストです。定義リストは、典型的には用語は左寄りにフォーマットされ、定義はパラグラフ形式にフォーマットされ、用語より字下げされています。
DL要素の内容は、一連のDT要素とDD要素、DT要素かDD要素で、通常はペアーです。複数のDTが、一つのDD 要素とペアーにすることもあります。文書は、複数の連続したDD要素を使うべきではありません。
使い方:
<DL> <DT>Term<DD>This is the definition of the first term. <DT>Term<DD>This is the definition of the second term. </DL>
DT用語がDT列に合わない場合(典型的には表示画面の三分の一)、ページを超えて広がり、DDセクションは次の行に移動するかまたは引き続くライン上を左側の列に折り返すかもしれません。
選択できるCOMPACT属性は、簡潔な表示が使われることを指します。何故なら、リスト用語が小さく、全体のリストは大きいからです。
COMPACT属性がないなら、 HTML 表示代行手段は繋がっているDTとDDのペアーの間に空白文字を入れるかもしれません。 COMPACT属性はまた左側の(DT)列幅を減らすかもしれません。
<DL COMPACT> <DT>Term<DD>This is the first definition in compact format. <DT>Term<DD>This is the second definition in compact format. </DL>
語句は、慣用的な使い方に従って、タイポグラフな見え方やハイパーリンクアンカーとしての使い方にマーク付けするかもしれません。
表示代行手段は、際立たされた語句をプレーン・テキストと区別して表示しなければなりません。更に、 EM 内容はSTRONG 内容と区別して表示しなければ なりませんし、 B 内容はI 内容と区別して表示しなければなりません。
語句要素は、他の語句要素の内容内で入れ子するものもありえます:しかし、HTML表示代行手段は入れ子された語句を入れ子されていない語句を区別しないで表示することもあります:
plain <B>bold <I>italic</I></B>は、 plain <B>bold </B><I>italic</I>と同じに表示されるかもしれません。
語句は、ある種の慣用を示すようにマーク付けします。 (20)
CITE要素は、本やその他の引用の表題を指すのに使われます。典型的には斜体で表示されます。例えば:
He just couldn't get enough of <cite>The Grapes of Wrath</cite>.
CODE要素は、コードの例を指し、典型的には等幅文字で表示されます。 CODE要素は、コードで短い言葉や語句を意図しています:数行にわたるリストには、 PREブロック構造要素が適しています( 整形文:PREのセクション)。例えば:
The expression <code>x += 1</code> is short for <code>x = x + 1</code>.
EM要素は、強調語句を指し、典型的には斜体で表示されます。例えば:
A singular subject <em>always</em> takes a singular verb.
KBD要素は、ユーザーがタイプするテキストを指し、典型的には斜体で表示されます。これは、一般的に説明マニュアルに使われます。例えば、:
Enter <kbd>FIND IT</kbd> to search the database.
SAMP 要素は、遂語的な文字を指し、典型的には等幅文字で表示します。例えば:
The only word containing the letters <samp>mt</samp> is dreamt.
STRONG 要素は、最強調を指し、典型的には太字で表示されます。例えば:
<strong>STOP</strong>, or I'll say "<strong>STOP</strong>" again!
VAR 要素は、変数プレースホールダーを指し、典型的には斜体で表示します。例えば:
Type <SAMP>html-check <VAR>file</VAR> | more</SAMP> to check <VAR>file</VAR> for markup errors.
タイポグラフ(印刷)要素は、マークが付けられたテキストの形式を指します。
慣用的な要素の典型的な表示は、表示代行手段によって様々になるかもしれません。特別な表示が必要−例えば、"The italic parts are mandatory イタリックの部分は強制的なものです"の様に特別なテキスト属性で表示したい時−タイポグラフィクな要素が意図されたタイポグラフ(印刷)が使われることを確認するのに使われます。
B 要素は、太字テキストを指します。太字タイポグラフがない場合代わりのの表示が使われる かもしれません。
I 要素は、斜体(イタリック)テキストを指し、斜体タイポグラフがない場合代わりのの表示が使われるかもしれません。
TT 要素は、テレタイプ(等幅)テキストを指し、テレタイプ.タイポグラフがない場合代わりのの表示が使われるかもしれません。
A 要素は、 ハイパーリンク アンカーを指します( ハイパーリンクセクション参照)。少なくとも一つのNAMEやHREF属性がなければなりません。 A 要素の属性は:
BR要素は、言葉の途中で行を改める行改行を特定します( Characters, Words, and Paragraphsセクションを参照)。例えば:
<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要素は、 ハイパーリンクを経て画像やアイコンを参照します(Simultaneous Presentation of Image Resourcesセクションを参照)。
HTML表示代行手段は、SRC属性で指定された画像資源の処理代わるものとしてALT属性の値を使うかもしれません。 (22)
IMG要素の属性は:
使い方:
<IMG SRC="triangle.xbm" ALT="Warning:"> Be sure to read these instructions.
<a href="http://machine/htbin/imagemap/sample"> <IMG SRC="sample.xbm" ISMAP> </a>