5.文書構造 Document Structure

HTML文書は、頭・本文・見出し・段落・箇条などの要素が、樹形構造をなしています。書式要素については8,「書式」で論じます。

5.1.文書の要素 Document Element:HTML

HTML文書の要素は、メモや手紙のように頭(かしら)と本文から成ります。頭は標題と選択要素を含みます。本文は段落や箇条や他の要素から成る文章です。

5.2.頭 Head:HEAD

HTML文書の頭は、文書についての情報を順不同に集めたものです。例えば以下のようになります。

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HEAD>
<TITLE>HTML入門</TITLE>
</HEAD>
...

5.2.1.標題 Title:TITLE

HTML文書には文書毎に<TITLE>要素が必要です。

標題は全体的な文脈の中で文書の内容がわかるようにつけることが条件となります。短い標題、例えば「はじめに」のようなものは文脈外では意味不足かもしれません。「はじめに:HTML要素について」のようにしたほうが適切です。

注 :
標題の長さに制限はありませんが、長い標題は使用するソフトウェアによっては途中で切れるかもしれません。この事態をできるだけ避けるため、標題は全角32文字以内にすることが条件となります。

利用代理者は、文書の標題を、履歴一覧や文書を表示している窓の名前として表示することが可能です。これは本文に明示される見出し(5.4,「見出し:H1 ... H6」)とは異なります。

5.2.2.基盤 Base Address:BASE

オプションである<BASE>要素は、外部にある文書を参照する際に(7,「超連鎖」を見てください)、相対URLを解釈するための基盤を指定するものです。HREF属性の値は絶対URIにする必要があります。

5.2.3.キーワード索引 Keyword Index:ISINDEX

<ISINDEX>要素により、利用代理者は与えられたキーワードによる検索を可能にすることが条件です。詳しくは7.5,「照会と索引」を見てください。

5.2.4.連鎖 Link:LINK

<LINK>要素は超連鎖(7,「超連鎖」を見てください)を表わします。LINK要素はHTML文書の<HEAD>要素の中にいくつでも書くことができます。この要素は<A>要素と同じ属性を持ちます(5.7.3,「錨:A」を見てください)。

<LINK>要素は一般的に著作者の表示、関連する索引や用語集、新版・旧版、文書階層、スタイルシートのような結合資材などに使われます。

5.2.5.前置き Associated Meta-information:META

<META>要素は、特定の文書の前置きを提示する、拡張用の入れ物です。前置きには主として、以下の二つの機能があります。

各々の<META>要素は名称と値(name/value)の組み合わせを指定します。同じ名称を持つ複数のMETA要素を使用する場合、それらを合わせた内容――コンマで区切られた一覧で表されます――がその名称に結びつけられる値となります。

注 :
<META>要素は、<TITLE>などのように、特定の要素でより適切なものがある場合には使用しないことを条件とします。CONTENT属性の値としてURIを持つ<META>要素よりは、<LINK>要素を使用してください。

HTTPサーバは、文書の<HEAD>を読み取ってHTTP-EQUIV属性の値で定められた要素のすべてに対応するようにヘッダ部分を作成することができます

注 :
サーバが文書の前置きを抜き出す手段は決められても強制されてもいません。<META>要素は単に文書の前置きを認識し埋め込むための拡張機能をもたらすだけで、それをどのように扱うかは個々のサーバの実装とHTML利用代理者しだいです。

META要素の属性は以下のとおりです:

HTTP-EQUIV
要素をHTTPヘッダ部に追加します。HTTPサーバはこの情報により文書を処理することができます。特に、文書請求に対して応答する際にヘッダ部を付け足すことができます。この時、ヘッダの名称はHTTP-EQUIVの属性値から取られ、ヘッダの値はCONTENT属性の値から取られます。HTTPヘッダ名は大文字小文字を区別しません。

NAME
名称/値の組み合わせの名称を定めます。これがない場合にはHTTP-EQUIVにより定められます。

CONTENT
名称/値の組み合わせの値を定めます。

<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'などを無視してもかまいません。

5.2.6.ネクストID Next Id:NEXTID

<NEXTID>要素は歴史的な理由から含まれているだけです。HTML文書に<NEXTID>要素を入れないことを条件とします。

<NEXTID>要素は、HTML文書を編集するときに新しい<A>要素を使うための名称のヒントを与えてくれます。これは<A>要素におけるNAME属性値のどれとも異なっているはずです。
例えば:

<NEXTID N=Z27)
となります。

5.3.本文 Body:BODY

<BODY>要素には、見出しや段落や一覧などを含んだ文書の文章が入ります。

例:
<BODY>
<h1>重要な資料</h1>
<p>重要な資料についての説明…
</BODY>

5.4.見出し Headings:H1 ... H6

<H1>から<H6>までの六つの要素により見出し部分を示します。見出しの順序や付け方はHTML DTDで定められてはいませんが、その文書を別の形式に変換する際に問題にならないようにするために、(例えばH1からH3というように)レベルを飛ばすのは望ましくありません。

使用例:
<H1>見出しです</H1>
ここには文章が入ります
<H2>第二水準の見出しです</H2>
さらに文章が入ります

一般的にそれぞれ以下のように表示されます:

H1
太字の巨大活字、中央揃え。前後1、2行ほど空ける。

H2
太字の大きな活字、左寄せ。前後1、2行ほど空ける。

H3
斜体の大きな活字、左端から少し字下げ(インデント)。前後1、2行ほど空ける。

H4
太字の常用活字、H3よりも字下げする。前後1行空ける。

H5
斜体の常用活字、H4と同様の字下げ。前を1行空ける。
H6
太字。H5以上で、一般文章と同じ字下げ。前を1行空ける。

5.5.ブロック構成要素 Block Structuring Elements

ブロック構成要素は、段落・一覧・引用などを含みます。見出し要素はここに入れることを禁止します。語句表記(phrase markup)はここに入れることができ、場合によっては入れ子にすることもできます

5.5.1.段落 Paragraph:P

<P>要素は段落を示します。段落全体を字下げして表示することについては、規定がありません。それはスタイルシートなど他のタグの機能になるでしょう。

一般的に段落は1行あるいは半行ほどの空行で挟まれます。段落の最初の行はさまざまな方法で字下げされます。

使用例:
<H1>この見出しは段落に先駆けます</H1>
<P>これは最初の段落です。
<P>これは二番目の段落です。新しく改行して段落を開始する必要はありませんが、そうしたほうが文書の扱いが容易になります。</P>
<P>これは三番目の段落です。</P>

5.5.2.割付け済み文章 Preformatted Text:PRE

<PRE>要素は文章において文字の割り付けを示すもので、等幅活字(a monospaced font)で割付けられた文章に適しています。

<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>
5.5.2.1.例とリスティング Example and Listing:XMP,LISTING

<XMP>と<LISTING>要素は<PRE>要素と似ていますが、異なる語法です。この内容はCDATAとして宣言され、終了タグ以外のすべての表記記号は認識されません([SGML]の9.6 "Delimiter Recognition"を見てください)。

注 :
以前のHTML仕様暫定版では、<XMP>と<LISTING>要素の語法ではタグ名が<XMP>でも<LISTING>でもない限り、終了タグをデータ文字として扱っていいことになっていました。

CDATA宣言の内容を処理するときに不適切な反応をおこしたり矛盾した仕様や実装が行われるために、HTML文書では<XMP>も<LISTING>も使用しないことを条件とします。<PRE>タグのほうがより表現力があり広く支持されているからです。

<LISTING>要素は1行あたり132文字までに収まるように表示されます。<XMP>要素は1行あたり80字までに収まるように表示され、そのほかは<LISTING>要素と同様です。

注 :
以前の暫定仕様では、HTMLに<PLAINTEXT>という要素がありました。これは終了タグがないということを除いては<LISTING>要素によく似たもので、<PLAINTEXT>開始タグ以降のすべての文字はデータになります。

5.5.3.宛先 Address:ADDRESS

<ADDRESS>要素は住所や書名や著作者などの情報を含み、よく文書の本文の最初か最後に置かれます。

一般的に<ADDRESS>要素は斜体で表示され、字下げされることもあります。

使用例:
<ADDRESS>
Newsletter editor<BR>
J.R. Brown<BR>
JimquickPost News, Jimquick, CT 01234<BR>
Tel (123) 456 7890
</ADDRESS>

5.5.4.引用 Block Quote:BLOCKQUOTE

<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.

5.6.一覧要素 List Elements

HTMLにはさまざまな一覧要素があります。一覧要素は組み合わせて使うことが可能です。例えば<OL>は<UL>の<LI>要素の中で入れ子にして使用することができます

COMPACT属性は、その一覧を詰めて表示(compact rendering)するように指示します。

5.6.1.番号なし一覧 Unordered List:UL,LI

<UL>は項目の一覧を表わすもので、一般的に箇条書きで表示されます。

<UL>要素の中身は一連の<LI>要素です。例えば以下のように使用します:

<UL>
<LI>第一の項目
<LI>第二の項目
<p>第二の項目の第二段落
<LI>第三の項目
</UL>

5.6.2.番号付き一覧 Ordered List:OL

<OL>要素は番号付きの項目一覧を表わし、その順番や重要度順に並べられます。一般的には番号付きの箇条書きとなります。

<OL>要素の中身は一連の<LI>要素です。例えば以下のように使用します:

<OL>
<LI>URI窓を開くためにWebボタンをクリックしてください。
<LI>開いたURI窓の記入欄にURIを入力してください。指定したWeb文書が表示されます。
<ol>
<li>substep 1
<li>substep 2
</ol>
<LI>別の連鎖先に移動するには文章の強調部分をクリックしてください。
</OL>

5.6.3.階層一覧 Directory List:DIR

<DIR>要素は<UL>要素によく似ています。これは短い項目の一覧、一般的にはそれぞれが半角20字までに収まるような一覧を表わします。階層一覧の項目は一般的に半角24字分の幅の列になります。

<DIR>要素の中身は一連の<LI>要素です。<DIR>要素の中では要素の入れ子は許されていません。例えば以下のように使用します:

<DIR>
<LI>A-H<LI>I-M
<LI>M-R<LI>S-Z
</DIR>

5.6.4.献立 Menu List:MENU

<MENU>要素は1項目につき1行となるような一覧です。献立は一般的に番号なし一覧よりも詰めて表示されます。

<MENU>要素の中身は一連の<LI>要素です。<MENU>要素の中では要素の入れ子は許されていません。例えば以下のように使用します:

<MENU>
<LI>一覧の第一項目
<LI>一覧の第二項目
<LI>一覧の第三項目
</MENU>

5.6.5.定義型一覧 Definition List:DL,DT,DD

定義型一覧は、用語とそれに対応する定義の一覧です。定義型一覧の典型的な形としては、用語が左揃えで並べられ、定義はその用語の次に字下げした段落の形で表示されます。

<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>

5.7.語句表記 Phrase Markup

語句は、慣用的な表現や表示上の見た目に従って、あるいは超連鎖の錨として表記することが可能です。

利用者代理はその語句を他の部分より目立つように表示することが必要です。さらに、<EM>の内容は<STRONG>の内容とは区別し、<B>の内容は<I>の内容とは区別して表示することが必要です。

語句要素は他の語句要素の中に入れ子にすることが可能です。しかし、HTML利用者代理によっては、入れ子になっているものとなっていないものを同じように表示するかもしれません。

プレーン<B>太字<I>イタリック</I></B>は、
プレーン<B>太字</B><I>イタリック</I>と同じように表示されるかもしれません。

5.7.1.語法的要素 Idiomatic Elements

語句は特定の語法を示すために表記することが可能です。

注 :
この仕様には含まれていませんが、一種の拡張仕様として使われてきた<DFN>要素をサポートしている利用者代理があるかもしれません。これは用語の定義に使われ、一般的に斜体か太斜体で表示されます。
5.7.1.1.引用 Citation:CITE

<CITE>要素は、本の書名や引用などを示すのに使用します。一般的に斜体で表示されます。

使用例:

僕は<cite>HTML2.0</cite>を読んでみたけれど、よくわからないんだ。
5.7.1.2.コード Code:CODE

<CODE>要素はコードの例を示すもので、一般的に等幅活字で表示されます。<CODE>要素は単語やコード語句に用いられることを想定しています。複数行にわたる一覧には<PRE>要素(5.5.2,「割付け済み文章:PRE」)のほうが適切です。

使用例:

<code>x += 1</code>という表現は
<code>x = x + 1</code>より短い。
5.7.1.3.特筆 Emphasis::EM

<EM>要素は注意を引く語句を示すのに使われ、一般的にイタリックで表示されます。

使用例:

単数形の主語の後には<em>常に</em>単数形の動詞がくる。
5.7.1.4.キーボード Keyboard:KBD

<KBD>要素は利用者の入力した文を示し、一般的に等幅活字で表示されます。これは主に使用説明書で使われます。

使用例:

データベース検索には<kbd>FIND IT</kbd>と入力します。
5.7.1.5.例 Sample:SAMP

<SAMP>要素はそのままの文字を示し、一般的に等幅活字で表示されます。

使用例:

<samp>mt</samp>の文字を含む単語はdreamtだけです。
5.7.1.6.強調 Strong Emphasis:STRONG

<STRONG>要素は強調を示し、一般的に太字で表示されます。

使用例:

<strong>止めなさい</strong>。もう一度言うよ、「<strong>止めなさい!</strong>」
5.7.1.7.変数 Variable:VAR

<VAR>要素は置き換え可能なものを示し、一般に斜体で表示されます。

使用例:

<VAR>file</VAR>の表記エラーをチェックするには、<SAMP>html-check <VAR>file</VAR> | more</SAMP>とタイプしてください。

5.7.2.表示型要素 Typographic Elements

表示型要素は表記された文の形式を定義するのに使用します。

語法的要素の一般的な表示は利用者代理によってはかなり変化します。もし特定の表現が必要なら――例えば「イタリックの部分は必須」という明確なテキスト属性を参照する場合――、表示型要素を使うことにより、意図したとおりの表示にすることができるようになります。

注 :
利用者代理は、この仕様には含まれていないけれども一種の拡張仕様として使われてきた表示型要素を実装することが可能です。<STRIKE>要素は文字の上に水平に線をひくもので、<U>要素は下線を示します。
5.7.2.1.太字 Bold:B

<B>要素は太字を表わします。太字表現が不可能な場合は他の表示形式で代用することができます

5.7.2.2.斜体 Italic:I

<I>要素はイタリック(斜体)を表わします。イタリック表現が不可能な場合は他の表示形式で代用することができます

5.7.2.3.固定幅 Teletype:TT

<TT>要素はテレタイプ(固定幅)文を表わします。等幅活字が表示不能な場合は他の表示形式で代用することができます

5.7.3.錨 Anchor:A

<A>要素は超連鎖の錨(7,「超連鎖」参照)を表わします。NAME属性かHREF属性を少なくとも一つは明示することを条件とします。<A>要素の属性は以下のとおりです:

HREF
超連鎖の連鎖先のURIを与えます。

NAME
錨に名前をつけて、超連鎖の連鎖先になるようにします。

TITLE
連鎖先の資材に標題をつけます――と言っても助言程度にとどまりますが。TITLE属性は以下のように使用することができます
REL
REL属性は超連鎖が示す相互関係を渡します。関係の名称を空白で区切られた一覧にしたものがその値です。連鎖関係の意味についてはこの文書では定義しません。

REV
REL属性と同じですが、連鎖関係が反対方向になっています。AからBへの連鎖がREL="X"と表わされるのはBからAへの連鎖がREV="X"で表わされるのと同じ関係です。錨にはRELとREVの両方の属性を持たせることが可能です。

URN
超連鎖の連鎖先をよりはっきりと識別するように定義します。URN属性の語法や意味はまだ定義されていません。

METHODS
連鎖先への接続方法を定義するもので、空白で区切られた名称一覧になります。有効な名称はHREF属性のURI案の役割をします。TITLE属性の場合と同様、これに連鎖の説明を入れておくと便利でしょう。例えば、METHODSでの指定によりHTML利用者代理は異なった表示を選択することができるようになります。例えば検索可能なものには別のアイコンを使うなど。

5.8.改行 Line Break:BR

<BR>要素は単語(6,「文字、単語、段落」参照)間の改行を指定します。

使用例:

<P> Pease porridge hot<BR>
Pease porridge cold<BR>
Pease porridge in the pot<BR>
Nine days old.

5.9.水平線 Horizontal Rule:HR

<HR>要素は文の区切りとなるもので、一般的には幅いっぱいの水平線か同等の形象で表示されます。

使用例:

<HR>
<ADDRESS>February 8, 1995, CERN</ADDRESS>
</BODY>

5.10.画像 Image:IMG

<IMG>要素は超連鎖によって画像やアイコンを参照するものです(7.3,「画像素材の即時表現」参照)。

HTML利用者代理はSRC属性で示される画像を処理する代わりにALT属性の値を処理することが可能です。

注 :
HTML利用者代理によっては、錨による連鎖のみ画像表示が可能で、<IMG>では表示不可能なものもあります。もし画像が必要不可欠なものなら、<IMG>要素よりは<A>要素で参照することを条件とします。必要不可欠でないのなら<IMG>要素が適切です。

<IMG>要素の属性は以下のとおりです:

ALIGN
文の基線に対しての画像位置を指定します。
ALT
例えば処理方法が制限されている場合や利用者の障害などに対応するために、参照される画像の代わりになる文章を指定します。

ISMAP
イメージマップであることを示します(7.6,「イメージマップ」参照)。

SRC
画像のURIを指定します。
注 :
実際には画像のメディアタイプは少数のラスター画像形式に限られていて、一般的には`image/gif'、`image/jpeg'です。特に`text/html'の素材は画像素材として使用しません。

使用例:

<IMG SRC="triangle.xbm" ALT="警告:">この説明を読んでください。

<a href="http://machine/htbin/imagemap/sample">
<IMG SRC="sample.xbm" ISMAP>
</a>


戻る  目次  進む