順序が変だと思われる方へ。この文書は W3C の勧告する HTML 4.01 Strict DTD の順序を元に記述されています。この他にも ISO や JIS が出しているバージョンもあります。(微妙な差異があります)
基本的に Strict DTD 前提として記述してありますので、Transitional DTD では定義されている要素が無い場合があります。(なお、XHTML 1.1 では Strict DTD や Transitional DTD という概念はありません。基本的に独自拡張可能な XHTML 1.0 Strict だと思えば余り差はありません)
2001/ 5/31 に勧告となった XHTML 1.1 へ対応しました。
なお、用語を知っている事を前提に書いていたりします。文法はそれ以前の問題で、合っていて当り前として書いています。とりあえず、書いたら HTML Validator などを利用してチェックしておくと良いでしょう。
HTML/XHTML での要素の一覧が書かれていますが、以下のような順序で記述されます。
要素名
XHTML 1.1 での内容と属性
HTML 4/XHTML 1.0 での内容と属性
要素と属性の説明
HTML 4、XHTML 1.0、XHTML 1.1 での主要な違いです。
HTML 3.2 以前と比べて以下のような点が変更されました。
用途に応じた DTD が 3 つ定義されました。
使用できる charset に日本語コードが範囲に入りました (旧バージョンでは HTML 2.x 以外では利用可能文字コードに明記されていませんでした)。
WWW ブラウザによって独自実装されていた一部要素が仕様に盛り込まれました。
フレームが正式採用になりました。→ Frameset DTD
インラインレベル (テキストレベル)、ブロックレベル要素が明確にされ、文書構造を重要視するようになりました。
将来的に削除される可能性を明確にし、非推奨の要素/属性が明確にされました。
HTML の後継として正式に勧告され、XML パーサなどでも HTML 文書を解釈できるようになりました。なお、基本的には XML の書式に合わせて HTML 4.01 を書き換えただけのものです。
HTML 4 と比べて、以下のような点が変更されました。
XML に合わせて大幅に書き方が変更されました。
要素名、属性名が全て小文字で定義されました。大文字で書くことはできません。
XHTML 1.0 をより進化させ、モジュール化 XHTML (Modularization of XHTML) [XHTMLMOD] によって書き直されました。これにより、XHTML の目的として挙げられていたユーザが任意に拡張可能となりました。
XHTML 1.0 と比べて、主に以下のような点が変更されました。要素毎の詳しい差異は、要素一覧の該当項目をご覧ください。
Transitional DTD や Frameset DTD は破棄され、Strict DTD のみをベースとしました。同時に、非推奨 (Deprecated) とされていた要素と属性がついに取り除かれました。
ルビ仕様が盛り込まれ、文章にルビを振る事が出来るようになりました。(使い方はルビ振りモジュールについてを参照してください)
style 属性が非推奨 (Deprecated) となりました。スタイル指定を XHTML 文書へ直接記述せず、外部スタイルシートを利用するようにしてください。
なお、XHTML 1.0 Transitional DTD/Frameset DTD にしか無かった要素や非推奨とされていた要素を利用したい場合は、新たにモジュールを組み込んで指定する事で利用可能です。
HTML は SGML アプリケーションである、ということから、文書の先頭には DOCTYPE 宣言を行う必要があります。以下に、その例を挙げます。なお、XHTML は HTML を XML で表現できるように再定義したため、XML の宣言に従う必要があります。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
( #PCDATA | %Inline.mix; )* / %Common.attrib;
テレタイプ、もしくはモノスペーステキストとして表示されることを期待します。簡単に言えば、固定幅フォントでの描画を期待します。
( #PCDATA | %Inline.mix; )* / %Common.attrib;
イタリック体で描画されることを期待します。
( #PCDATA | %Inline.mix; )* / %Common.attrib;
ボールド体で描画されることを期待します。
( #PCDATA | %Inline.mix; )* / %Common.attrib;
一段階大きなフォントで描画されることを期待します。
( #PCDATA | %Inline.mix; )* / %Common.attrib;
一段階小さなフォントで描画されることを期待します。
( #PCDATA | %Inline.mix; )* / %Common.attrib;
下付き文字として描画されることを期待します。
( #PCDATA | %Inline.mix; )* / %Common.attrib;
上付き文字として描画されることを期待します。
( #PCDATA | %Inline.mix; )* / %Common.attrib;
インラインレベル用の、汎用スタイルコンテナです。HTML で定義されていない論理的な意味などを文書の一部に付与したいときなどに利用します。
( #PCDATA | %Inline.mix; )* / %Common.attrib;
短縮された頭字語から意味が発生している語を示します。例えば NATO などです。
( #PCDATA | %Inline.mix; )* / %Common.attrib;
acronym 要素には当てはまらない略語を示します。例えばパソコンなどです。
ほとんどがコンピュータに関係するもので、普通は強調などしか使わないのではないでしょうか。
( #PCDATA | %Inline.mix; )* / %Common.attrib;
プログラムやスクリプトなどからのサンプル出力を示します。
( #PCDATA | %Inline.mix; )* / %Common.attrib;
他のソースから参照したり引用した部分を示します。
( #PCDATA | %Inline.mix; )* / %Common.attrib;
激しい強調を示します。
( #PCDATA | %Inline.mix; )* / %Common.attrib;
強調を示します。
( #PCDATA | %Inline.mix; )* / %Common.attrib;
変数の実体を示します。
( #PCDATA | %Inline.mix; )* / %Common.attrib;
閉じられた用語の中で定義された実体を示します。
( #PCDATA | %Inline.mix; )* / %Common.attrib;
コンピュータコードの一部を示します。
( #PCDATA | %Inline.mix; )* / %Common.attrib;
ユーザがキーボードから入力するテキストを示します。
このような感じで利用します。
サンプルコード 1 (複雑なルビマークアップ):
<ruby xml:lang="ja">
<rbc>
<rb>近</rb>
<rb>藤</rb>
<rb>和</rb>
<rb>宏</rb>
</rbc>
<rtc class="reading">
<rt>こん</rt>
<rt>どう</rt>
<rt>かず</rt>
<rt>ひろ</rt>
</rtc>
<rtc class="title">
<rt rbspan="4" xml:lang="en">Site manager</rt>
</rtc>
</ruby>
実際例:
サンプル 2 (単純なルビマークアップ):
<ruby xml:lang="ja">
<rb>近藤和宏</rb>
<rp>(</rp>
<rt>こんどうかずひろ</rt>
<rp>)</rp>
</ruby>
実際例:
( %Ruby.content.simple; %Ruby.content.complex; ) / %Ruby.common.attrib;
ruby 要素はルビを振るインライン (もしくはテキストレベル) 要素です。この要素は rb, rt 要素を、そして選択的に rp 要素 (単純なルビマークアップ) や rbc や rtc 要素 (複雑なルビマークアップ) を格納できます。
単純なルビマークアップの場合、ruby 要素は rb 要素に続けて rt 要素、または rb 要素に続けて rp 要素、rt 要素、rp 要素を連続で格納します。
複雑なルビマークアップの場合、rbc 要素に続けて rtc 要素を 1 つ、もしくは 2 つ格納できます。各 rtc 要素の副要素の内容は、ルビテキストを持ち、rbc 要素と基本テキストを結びつけます。
ruby 要素は共通の属性のみを持ちます。共通属性として持っている物は、例えば id 属性、class 属性、xml:lang 属性などです。共通属性はルビマークアップが使用されるマークアップ言語に依存します。例えば、XHTML 1.1 の場合にはモジュール化 XHTML (Modularization of XHTML) の 5.1 節で定義されています。
( %rb.qname; )+ / %Ruby.common.attrib;
rbc (ルビ基本コンテナ / ruby base container) 要素は複雑なルビマークアップの際に rb 要素へのコンテナを提供します。ruby 要素内には 1 つだけの rbc 要素が現れます。
( %rt.qname; )+ / %Ruby.common.attrib;
rtc (ルビテキストコンテナ / ruby text container) 要素は複雑なルビマークアップの際に rt 要素へのコンテナを提供します。ruby 要素内には 1 つだけの rtc 要素が現れます。
rb (ルビ基本 / ruby base) 要素は基本となるテキストへのマークアップを提供します。単純なルビマークアップでは、1 つだけの rb 要素が現れます。複雑なルビマークアップでは rbc 要素の中に複数の rb 要素が現れる事が出来ます。rb 要素は対応する rt 要素と関連付けられ、ルビ表現が綺麗に揃うように制御されます。
rb 要素はインライン要素や、これに格納された文字データを格納する事ができますが、ruby 要素を格納する事は出来ません。
%NoRuby.content; / %Ruby.common.attrib;, rbspan = %Number.datatype; 1
rt 要素はルビテキストをマークアップします。単純なルビマークアップでは、rt 要素は一つだけ現れます。複雑なルビマークアップの場合、rtc 要素の中に複数の rt 要素が現れる事ができ、それぞれの rt 要素は関連するベーステキストへのルビテキストを格納し、対応する rb 要素に応じて描画されます。
rt 要素はインライン要素や、これに格納された文字データを格納する事ができますが、ruby 要素を格納する事は出来ません。
rt 要素は共通属性と rbspan 属性を持ちます。複雑なルビマークアップの場合、rbspan 属性は rt 要素に対応する rb 要素の個数を指定します。この値はが 0 より大きい値を指定してください。この属性の値が指定されなかった場合には 1 がセットされます。rbspan 属性は単純なルビマークアップの場合には利用されません。また、ユーザエージェントは単純なルビマークアップの場合には rbspan 属性を無視してください。
( #PCDATA ) / %Ruby.common.attrib;,
rp 要素は、単純なルビマークアップの場合にユーザエージェントがベーステキストとルビテキストを区別して表現できない場合に、特定の文字によってルビテキストの開始と終了する位置を明示する事が出来ます。
なお、複雑なルビマークアップの場合にはこの要素を利用する事が出来ませんが、その場合には CSS2 や XML スタイルシートを利用する事で同等の表現を得る事が可能です。
( #PCDATA | %Inline.mix; / %Core.attrib;, xml:lang = %LanguageCode.datatype;, dir = (ltr | rtl)
%inline; / %coreattrs;, lang = %LanguageCode;, dir = (ltr | rtl)
文字の基本的な描画方向を上書き指定します。左右方向のみの指定だけで上下方向はありませんので、縦書きなどの指定は出来ません。
EMPTY / %Common.attrib;
EMPTY / %coreattrs;
強制的に改行を行ないます。ただし、論理的な意味を考慮した場合、「改行」という意味よりも「段落」で改行を考えたほうが良いでしょう。
( %Block.mix; )+ / %Common.attrib; onload = %Script.datatype;, onunload = %Script.datatype;
%block;, script+, +(ins|del) / %attrs;, onload = %Script;, onunload = %Script;
HTML 文書の本体部分となる要素です。ここには直接インラインレベルの要素を置くことは出来ません。
文書が読み込まれたときに呼び出されるスクリプトを指定します。
文書から離れたときに呼び出されるスクリプトを指定します。
( %Inline.mix; )+ / %Common.attrib;
連絡先など、HTML 文書著者のアドレス情報を記述します。ブロックレベルの要素は置くことは出来ません。(従って、p 要素などを置かずに文章を記述することになります)
( #PCDATA | %Flow.mix; )+ / %Common.attrib;
節や項など、まとまった文章のかたまりをまとめるための要素です。
( #PCDATA | %InlNoAnchor.mix; )+ / %Common.attrib;, href = %URI.datatype;, charset = %Charset.datatype;, type = %ContentType.datatype;, hreflang = %LanguageCode.datatype;, rel = %LinkTypes.datatype;, rev = %LinkTypes.datatype;, accesskey = %Character.datatype;, tabindex = %Number.datatype;, onfocus = %Script.datatype;, onblur = %Script.datatype;
%inline; / %attrs;, charset = %Charset;, type = %ContentType;, name = CDATA, href = %URI;, hreflang = %LanguageCode;, rel = %LinkTypes;, rev = %LinkTypes;, accesskey = %Character;, shape = %Shape; rect, coords = %Coords;, tabindex = NUMBER, onfocus = %Script;, onblur = %Script;
HTML の中核となるハイパーリンクを利用するための要素です。インライン要素しか含むことは出来ません。
name 属性は削除されました。今後は ID 属性を使ってください。
参照先リソースで利用されている文字集合を指定します。
参照先リソースの内容形式を指定します。
要素に名前をつける場合に指定します。ハイパーリンクの参照先として URI の最後に名前を指定したりする場合には、id 属性の利用が推奨されます。
name 属性は消去されました。id 属性を利用してください。
参照先リソースの URI を指定します。
参照先リソースで利用されている言語のコードを指定します。
当該リソースから見て、参照先リソースの関係を指定します。
参照先リソースから見て、当該リソースの関係を指定します。
ハイパーリンクへアクセスするための文字を指定します。
クライアントサイトイメージマップで利用する、リンクとして機能する領域の形状を指定します。
クライアントサイトイメージマップで利用する、リンクとして機能する領域の座標を指定します。
タブ順序を指定します。
要素がフォーカスを得たときに処理を行なうスクリプトを指定します。
要素がフォーカスを失ったときに処理を行なうスクリプトを指定します。
(( %Block.mix; ) | area )+ / %XHTML.xmlns.attrib;, id = ID, %class.attrib;, %title.attrib;, %Core.extra.attrib;, %I18n.attrib;, %Events.attrib;,
クライアントサイドイメージマップを指定します。
クライアントサイドイメージマップとは、ユーザエージェント側で処理を行うイメージマップです。
EMPTY / %Common.attrib;, href = %URI.datatype;, shape = %Shape.datatype; 'rect', coords = %Coords.datatype;, nohref = (nohref), alt = %Text.datatype;, tabindex = %Number.datatype;, accesskey = %Character.datatype;, onfocus = %Script.datatype;, onblur = %Script.datatype;
EMPTY / %attrs;, shape = %Shape;, coords = %Coords;, href = %URI;, nohref (nohref), alt = %Text;, tabindex = NUMBER, accesskey = %Character;, onfocus = %Script;, onblur = %Script;
クライアントサイドイメージマップでリンク領域として認識する座標を指定します。
クライアントサイトイメージマップで利用する、リンクとして機能する領域の形状を指定します。
クライアントサイトイメージマップで利用する、リンクとして機能する領域の座標を指定します。
指定した領域では他のリソースを参照しないことを指定します。
リンクに関しての簡単な説明を指定します。必須項目です。
タブ順序を指定します。
リンク領域に直接アクセスするためのキーを指定します。
要素がフォーカスを得たときに処理を行なうスクリプトを指定します。
要素がフォーカスを失ったときに処理を行なうスクリプトを指定します。
EMPTY / %Common.attrib;, charset = %Charset.datatype;, href = %URI.datatype;, hreflang = %LanguageCode.datatype;, type = %ContentType.datatype;, rel = %LinkTypes.datatype;, rev = %LinkTypes.datatype;, media = %MediaDesc.datatype;
EMPTY / %attrs, charset = %Charset;, href = %URI;, hreflang = %LanguageCode;, type = %ContentType;, rel = %LinkTypes;, rev = %LinkTypes;, media = %MediaDesc;
HTML 文書ファイルが他のリソースとどのような相関関係にあるかを指定します。
参照先のリソースの文字集合を指定します。
参照先リソースの所在を URI で指定します。
参照先リソースの言語コードを指定します。
参照先リソースの内容形式を指定します。
当該リソースから見て、参照先リソースの関係を指定します。
参照先リソースから見て、当該リソースの関係を指定します。
対象となる媒体を指定します。
EMPTY / %Common.attrib;, src = %URI.datatype;, alt = %Text.datatype;, longdesc = %URI.datatype;, height = %Length.datatype;, width = %Length.datatype;
EMPTY / %attrs;, src = %URI;, alt = %Text;, longdesc = %URI;, name = CDATA, height = %Length;, width = %Length;, usemap = %URI;, ismap (ismap)
文書中に画像を埋め込みたい場合に利用します。
実際に表示する元リソースを指定します。画像の形式は問いませんが、ユーザエージェントがサポートしていなければ表示されません。
画像の代わりとなる簡単な説明文です。例えば、リンク先画像が見つからない場合などに代わりに表示されるものです。これは必須です。飾りとして利用していて、特に意味が無い場合は alt="" などとすると良いでしょう。リンクスポットとして画像を利用する場合は必ず指定するようにしましょう。
画像の詳しい説明が書かれているリソースの所在を示します。
画像に名前をつける場合に利用します。
画像が描画される際の縦ピクセル数を指定します。これは必ずしも画像の縦ピクセル数と一致する必要はありません。パーセンテージ指定の場合は画像サイズが基準になります。
画像が描画される際の横ピクセル数を指定します。これは必ずしも画像の横ピクセル数と一致する必要はありません。パーセンテージ指定の場合は画像サイズが基準になります。
クライアントサイドイメージマップを利用する場合の map 要素の所在を示します。
サーバサイドイメージマップを利用する際の宣言になります。
( #PCDATA | %Flow.mix; | param )* / %Common.attrib;, declare = ( declare ), classid = %URI.datatype;, codebase = %URI.datatype;, data = %URI.datatype;, type = %ContentType.datatype;, codetype = %ContentType.datatype;, archive = %URIs.datatype;, standby = %Text.datatype;, height = %Length.datatype;, width = %Length.datatype;, name = CDATA, tabindex = %Number.datatype;
(param | %flow;) / %attrs, declare (declare), classid = %URI;, codebase = %URI;, data = %URI;, type = %ContentType;, codetype = %ContentType;, archive = CDATA, standby =%Text;, height = %Length;, width = %Length;, usemap = %URI;, name = CDATA, tabindex = NUMBER, %reserved;
文書中にテキスト以外のなんらかのものを埋め込む場合に利用します。例えば、MIDI データや Flash など。
宣言のみでユーザから要求が出るまではオブジェクトを実体化しないことを示します。これにより、HTML 文書ファイルが開かれた時点で常にオブジェクトを実体化するだけでなく、ユーザの要求に応じたオブジェクトのみを実体化させることが可能になります。(これをサポートしないユーザエージェントは、常にオブジェクトを実体化します)
オブジェクトの実体の所在を示します。埋め込むオブジェクトの形式によっては、data と一緒に、もしくは代わりとして利用されます。
classid、data、archive 属性での相対 URI を処理する際の基準パスを指定します。
オブジェクトで利用されるデータの所在を指定します。
data 属性で指定されたデータの MIME タイプを指定します。実際にサーバからデータを参照した際に HTTP 応答ヘッダの Content-Type が異なっていた場合、サーバの Content-Type が優先します。
classid 属性で指定されたオブジェクトの MIME タイプを指定します。
オブジェクトに関係するリソースを含んでいる書庫群をスペースを区切りとして複数指定できます。
オブジェクトの実行とデータの読み込みを待っている間にユーザエージェントが利用できるテキストを指定します。
レンダリングされる際に確保される縦ピクセル数を指定します。
レンダリングされる際に確保される横ピクセル数を指定します。
クライアントサイドイメージマップを利用する場合の map 要素の所在を示します。
埋め込むオブジェクトに名前を付ける際に指定します。
埋め込むオブジェクトのタブ順序を指定します。
EMPTY / %XHTML.xmlns.attrig;, name = CDATA, value = CDATA, valuetype = ( data | ref | object ) 'data', type = %ContentType.datatype;
EMPTY / id = ID, name = CDATA, value = CDATA, valuetype = (data | ref | object) data, type = %ContentType;
オブジェクト要素に何らかのパラメータを与える際に利用します。
HTML 文書ファイル中で重複がない ID を指定します。
オブジェクトに渡すパラメータの名前を指定します。
オブジェクトに渡すパラメータの値を指定します。
パラメータとして渡される value 属性の型を指定します。
指定した値が文字列としてオブジェクトに渡されます。
データが格納されているリソースの URI として扱います。指定された値は解決されずにオブジェクトに渡されます。
同じ HTML 文書ファイル中にある別のオブジェクト宣言を参照することとして扱います。この場合、value は同じ HTML 文書ファイル中にある object 要素が持つ id 属性の値を示します。
valuetype 属性が ref の場合に参照されるデータリソースの MIME タイプを指定します。
EMPTY / %Common.attrib;
EMPTY / %attrs;
水平な罫線を示します。当然、視覚表現を行うユーザエージェント以外には無視されるかもしれません。
( #PCDATA | %Inline.mix; )* / %Common.attrib;
段落を示す要素です。普通、インラインレベルの要素は段落の中に入れることになるでしょう。
見出しです。文書全体の構成を考えてレベルに合ったものを利用しましょう。どのような表現になるかはユーザエージェントに一任されます。
( #PCDATA | %InlStruct.class; %InlPhras.class; | tt | i | b %I18n.class; %Anchor.class; | script | map %Inline.extra; )* / %Common.attrib;, xml:space = ( preserve ) 'preserve'
(%inline;)* -(%pre.exclusion;) / %attrs;
予め整形されたテキストを示します。この要素の内容は空白やタブ文字、改行文字などがそのままに扱われます。ただし、& などの特殊文字などは全て & などと記述する必要があります。また、内容を見ていただくと分かりますが含むことが出来るのは %inline; 全てになりますので、マークアップ可能です。
( #PCDATA | %Inline.mix; )* / %Common.attrib;, cite = %URI.datatype;
インラインレベルでの引用を行います。ごく一部分のフレーズなどを引用したりする場合に利用します。
参照元リソースの URI を示します。
( %Block.mix; )+ / %Common.attrib;, cite = %URI.datatype;
ブロックレベルごと引用する際に利用します。含むことが出来る要素はブロックレベルになることに注意してください。
参照元リソースの URI を示します。
( #PCDATA | %Flow.mix; )* / %Common.attrib;, cite = %URI.datatype; datetime = %Datetime.datatype;
( %flow; )* / %attrs;, cite = %URI;, datetime = %Datetime;
文書に変更があった際、挿入された個所を明示するために利用します。
変更の元となったリソースが存在する場合に、その URI を示します。
変更を行った日時を指定します。
ins 要素はブロックレベルにもインラインレベルにもなりますが、インラインレベルで扱われているときにはインライン要素以外は含むことが出来ません。
( #PCDATA | %Flow.mix; )* / %Common.attrib;, cite = %URI.datatype; datetime = %Datetime.datatype;
( %flow; )* / %attrs;, cite = %URI;, datetime = %Datetime;
文書に変更があった際、削除された個所を明示するために利用します。
変更の元となったリソースが存在する場合に、その URI を示します。
変更を行った日時を指定します。
del 要素はブロックレベルにもインラインレベルにもなりますが、インラインレベルで扱われているときにはインライン要素以外は含むことが出来ません。
( dt | dd )+ / %Common.attrib;
定義リストを示します。定義リストとは、項目を挙げ、それを説明するようなリストです。例えば辞書などはこれに当たるでしょう。
( #PCDATA | %Inline.mix; )* / %Common.attrib;
定義リストの項目名を示します。
( #PCDATA | %Flow.mix; )* / %Common.attrib;
定義リストの項目がどのように定義されているかを示します。
( li )+ / %Common.attrib;
番号付きリストを示します。
( li )+ / %Common.attrib;
番号が付かないリストを示します。
( #PCDATA | %Flow.mix; )* / %Common.attrib;
リストの項目を示します。
( %BlkNoForm.mix; | fieldset )+ / %Common.attrib;, action = %URI.datatype;, method = ( get | post ) 'get', enctype = %ContentType.datatype; 'application/x-www-form-urlencoded', accept-charset = %Charsets.datatype;, accept = %Charsets.datatype;, onsubmit = %Script.datatype;, onreset = %Script.datatype;
(%block; | script)+ -(form) / %attrs;, action = %URI;, method = (GET | POST) GET, enctype = %ContentType; application/x-www-form-urlencoded, accept = %ContentTypes;, name = CDATA, onsubmit = %Script;, onreset = %Script;, accept-charset = %Charsets;
フォームを利用して HTTP によるデータ送信を行います。
フォームを処理するためのリソースを指定します。
フォームから処理を行なうリソースへデータを渡す方法を指定します。 get の場合は HTTP 要求の際に QUERY_STRING へセットされます。 post の場合は CONTENT_LENGTH の長さだけ標準入力へ渡されます。
method 属性が post の際にデータのエンコード方式を指定します。標準では URL エンコードされます。 input 要素で type 属性が file の項目を含む場合、multipart/form-data を指定する必要があります。
action 属性で指定されたリソースが処理する MIME タイプを指定します。
フォームに名前をつけるために利用することができます。これは、スタイルシートやスクリプトから参照したりするために使うことが出来ます。(この目的のためには id 属性を利用することが推奨されています)
フォームが submit された (input 要素で type 属性に submit が指定されている項目が押下/選択された) 時に実行されるスクリプトを指定します。
フォームが reset された (input 要素で type 属性に reset が指定されている項目が押下/選択された) 時に実行されるスクリプトを指定します。
フォームを処理するためのリソースが置かれているサーバが処理することのできる MIME タイプ群を指定します。
#PCDATA | input | select | textarea | button | %InlStruct.class; %InlPhras.class; %I18n.class; %InlPres.class; %Anchor.class; %InlSpecial.class; %Misc.clas; )* / %Common.attrib;, for = IDREF, accesskey = %Character.datatype; onfocus = %Script.datatype;, onblur = %Script.datatype;
(%inline;)* -(label) / %attrs;, for = IDREF, accesskey = %Character;, onfocus = %Script;, onblur = %Script;
input 要素などのフォーム用コントロールにラベルをつけるために利用します。
ラベル名を与えるコントロールの ID を指定します。
for 属性で関連付けられたコントロールに対してアクセスキーを提供します。
フォーカスを得た時に実行されるスクリプトを指定します。
フォーカスが外れた時に実行されるスクリプトを指定します。
EMPTY / %Common.attrib;, type = %InputType.class; 'text', name = CDATA, value = CDATA, checked = ( checked ), disabled = ( disabled ), readonly = ( readonly ), size = %Number.datatype;, maxlength = %Number.datatype;, src = %URI.datatype;, alt = %Text.datatype;, tabindex = %Number.datatype;, accesskey = %Character.datatype;, accept = %ContentTypes.datatype;, onfocus = %Script.datatype;, onblur = %Script.datatype;, onselect = %Script.datatype;, onchange = %Script.datatype;
EMPTY / %attrs;, type = %InputType;, name = CDATA, value = CDATA, checked (checked), disabled (disabled), readonly (readonly), size = CDATA, maxlength = NUMBER, src = %URI;, alt = CDATA, usemap = %URI;, ismap (ismap), tabindex = NUMBER, accesskey = %Character;, onfocus = %Script, onblur = %Script, onselect = %Script;, onchange = %Script;, accept = %ContentTypes;, %reserved;
フォームにデータを入力するコントロールを提供する要素です。もっとも汎用的な要素です。
%InputType; で定義される、入力用コントロールの種類を指定します。
コントロールに名前を割り当てるための属性です。
コントロールの初期値を指定する為の属性です。type 属性の値によっては、同じ値を指定する事は出来ません。(radio や checkbox など)
type 属性の値が radio か checkbox の時、ボタンがオンになるかを真偽値で指定します。ユーザエージェントは type 属性がこれ以外の値の時には無視します。
このコントロールを利用できなくします。例えば、必要なデータが入力されるまではフォームの提出を行えないようにする為に submit ボタンを利用できなくする、などという使い方をします。
このコントロールを読み込み専用にします。例えば、ユーザに変更されたくないけど表示しておきたい項目に指定したりするなどです。
この属性はユーザエージェントにコントロールが取る初期の幅を伝えます。type 属性が text か password の値を持つ場合には文字数で、それ以外の値の場合はピクセル数で指定します。
type 属性が text か password の値を持つ場合、ユーザが入力可能な最大文字数として扱われます。size 属性の値よりも大きい場合には、ユーザエージェントによってなんらかのスクロールを行う為の機構が期待されます。指定が無い場合には、値は最大文字数は無制限となります。
type 属性の値が image の時に、この属性はフォーム提出ボタンとして利用する画像の所在を指定する物として扱われます。
type 属性の値が image の時に、画像が表示されない場合に代わりに表示したりされるテキストを指定します。画像ボタンを利用する際には必ず記述してください。
画像ボタンを利用する場合に、クライアントサイドイメージマップを利用したい場合に指定します。
画像ボタンを利用する際に、サーバサイドイメージマップを利用したい場合に指定します。
タブ順序を指定します。
コントロールへアクセスする為のキーを指定します。
コントロールがフォーカスを得た時に実行されるスクリプトを指定します。
コントロールがフォーカスを失った時に実行されるスクリプトを指定します。
ユーザがテキストフィールドの中から項目を選択した際に実行されるスクリプトを指定します。
input 要素のコントロールがフォーカスを失ったときに、フォーカスを得たと比べて値が変化していた場合に実行されるスクリプトを指定します。
( optgroup | option )+ / %Common.attrib;, name = CDATA, size = %Number.datatype;, multiple = ( multiple ), disabled = ( disabled ), tabindex = %Number.datatype;, onfocus = %Script.datatype;, onblur = %Script.datatype;, onchange = %Script.datatype;
(optgroup | option)+ / %attrs;, name = CDATA, size = NUMBER, multiple (multiple), disabled (disabled), tabindex = NUMBER, onfocus = %Script;, onblur = %Script;, onchange = %Script;, %reserved;
いくつかの選択項目の中から項目を選択する為に利用されます。選択項目は optgroup 要素や option 要素によって定義されます。
選択項目群に名前を割り当てます。
select 要素がスクロール可能なリストボックスを提供する場合に、その行数を指定します。ただし、ユーザエージェントが必ずしもリストボックスの形で描画する訳ではない事に注意してください。(例えば、ドロップダウンメニューなどの形が考えられます)
この属性が設定された場合、複数の項目を選択できるようにします。設定されなかった場合は一つしか項目が選択できません。
項目選択を無効にし、ユーザが項目を選択できないようにします。
タブ順序を指定します。
コントロールがフォーカスを得た時に実行されるスクリプトを指定します。
コントロールがフォーカスを失った時に実行されるスクリプトを指定します。
コントロールがフォーカスを失った際に、フォーカスを得た時と選択されている項目が変化していた場合に実行されるスクリプトを指定します。
( option )+ / %Common.attrib;, disabled = ( disabled ), label = %Text.datatype;
いくつかの option 要素をグループ化するために利用されます。
選択項目グループをまとめてユーザが選択できないようにします。
選択項目グループのラベル名を設定します。
( #PCDATA ) / %Common.attrib;, selected = ( selected ), disabled = ( disabled ), label = %Text.datatype;, value = CDATA
(PCDATA) / %attrs;, selected (selected), disabled (disabled), label = %Text;, value = CDATA
select 要素の為に選択項目を提供します。
この属性が設定されている場合、最初から項目が選択されていることとします。
ユーザがこの項目の選択状態をへんこうできないようにします。
選択項目のラベル名を指定します。
選択項目が選択された場合の値を指定します。この属性が指定されなかった場合には、option 要素の内容が値として渡されます。
( #PCDATA ) / %Common.attrib;, name = CDATA, rows = %Number.datatype;, cols = %Number.datatype;, disabled = ( disabled ), readonly = ( readonly ), tabindex = %Number.datatype;, accesskey = %Character.datatype;, onfocus = %Script.datatype;, onblur = %Script.datatype;, onselect = %Script.datatype;, onchange = %Script.datatype;
(PCDATA) / %attrs;, name = CDATA, rows = NUMBER, cols = NUMBER, disabled (disabled), readonly (readonly), tabindex = NUMBER, accesskey = %Character;, onfocus = %Script;, onblur = %Script;, onselect = %Script;, onchange = %Script;, %reserved;
複数行からなるテキスト入力ボックスを提供します。
コントロールに名前を割り当てます。
テキスト入力ボックスの行数を指定します。この行数を越える入力がある場合には、ユーザエージェントは何らかの形で表示できるようにする方法を持つ事が期待されます。
テキスト入力ボックスの桁数を指定します。この桁数を越える入力がある場合には、ユーザエージェントは何らかの形で表示できるようにする方法を持つ事が期待されます。
ユーザエージェントがテキスト入力ボックスを利用できないように指定します。
ユーザエージェントがユーザからのテキストが入力できない様、読み込み専用で扱うように指定します。
タブ順序を指定します。
コントロールへ直接アクセスする為のキーを指定します。
コントロールがフォーカスを得た時に実行されるスクリプトを指定します。
コントロールがフォーカスを失った時に実行されるスクリプトを指定します。
選択項目が選択された際に実行されるスクリプトを指定します。
選択項目がフォーカスを失った際に、フォーカスを得た時と選択状態が変化していた場合に実行されるスクリプトを指定します。
( #PCDATA | legend | %Flow.mix; )* / %Common.attrib;
書き手にラベルやコントロール群のグループ化を明確にさせる事で、ユーザが対してよりアクセシブルな文書を提供します。
( #PCDATA | %Inline.mix; )* / %Common.attrib;, accesskey = %Character.datatype;
(%inline;)* / %attrs;, accesskey = %Character;
fieldset 要素に対して見出しを提供します。
( #PCDATA | %BlkNoForm.mix; | %InlStruct.class; %InlPhras.class; %InlPres.class; %I18n.class; %InlSpecial.class; %Inline.extra; )* / %Common.attrib;, name = CDATA, value = CDATA, type = ( button | submit | reset ) 'submit', disabled = ( disabled ), tabindex = %Number.datatype;, accesskey = %Character.datatype;, onfocus = %Script.datatype;, onblur = %Script.datatype;
(%flow;)* -(a | %formctrl; | form | fieldset) / %attrs;, name = CDATA, value = CDATA, type = (button | submit | reset) submit, disabled (disabled), tabindex = NUMBER, accesskey = %Character;, onfocus = %Script;, onblur = %Script;, %reserved;
押しボタンを提供します。input 要素で提供されるものと同等ですが、こちらは内容を持つ事が出来ます。
ボタンに名前を割り当てます。
ボタンに値を割り当てます。
ボタンの種別を指定します。
フォームを提出するボタンを作成します。指定が無い場合はこれになります。
フォームの内容をリセットするボタンを作成します。
単なる押しボタンを作成します。
ユーザがボタンを押下できないようにします。
タブ順序を指定します。
コントロールに直接アクセスする為のキーを指定します。
コントロールがフォーカスを得た時に実行されるスクリプトを指定します。
コントロールがフォーカスを失った時に実行されるスクリプトを指定します。
( caption?, ( col* | colgroup* ), (( thead?, tfoot?, tbody+ ) | ( tr+ ))) / %Common.attrib;, summary = %Text.datatype;, width = %Length.datatype;, border = %Pixels.datatype;, %frame.attrib;, %rules.attrib;, cellspacing = %Length.datatype;, cellpadding = %Length.datatype;
(caption?, (col* | colgroup*), thead?, tfoot?, tbody+) / %attrs;, summary = %Text;, width = %Length;, border = %Pixels;, frame = %TFrame;, rules = %TRules;, cellspacing = %Length;, cellpadding = %Length;, %reserved;, datapagesize = CDATA
表を構成する為の要素です。
表が示す目的や構造を簡単に提示します。非視覚メディア向けユーザエージェント (音声ブラウザや点字印刷など) の為に指定されます。
視覚メディア向けユーザエージェント用に表の幅を指定します。
境界線の太さを指定します。指定がない場合は 0 になります。
各セルの枠線の描画方法を指定します。%TFrame; を参照してください。
各セル間の罫線の描画方法を指定します。%TRules; を参照してください。
セルの間隔を指定します。
セルの枠と内容が描画される間隔を指定します。
現在は予約されている属性です。なお、XHTML 1.0 Strict では抹消されています。
( #PCDATA | %Inline.mix; )* / %Common.attrib;
表に表題をつけます。
( tr )+ / %Common.attrib;, %CellHAlign.attrib;, %CellVAlign.attrib;
(tr)+ / %attrs;, %cellhalign;, %cellvalign;
表のヘッダ行グループを指定します。
( tr )+ / %Common.attrib;, %CellHAlign.attrib;, %CellVAlign.attrib;
(tr)+ / %attrs;, %cellhalign;, %cellvalign;
表のフッタ行グループを指定します。
( tr )+ / %Common.attrib;, %CellHAlign.attrib;, %CellVAlign.attrib;
(tr)+ / %attrs;, %cellhalign;, %cellvalign;
表のデータ実体グループを指定します。この要素はテーブル中にいくつあっても構いませんが、最低 1 つは必要です。(HTML 4.0)
HTML 4.01 では開始/終了タグを省略できる為、明記しなかったセル行は全てこの要素に含まれる事になりますが、XHTML 1.0 では省略は許されない為、明記する必要がありますが、さりげなく table 要素の内容定義が HTML 4.01 の (CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+) から (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+)) に変更になっている為、tbody 要素がなくても tr 要素を table 要素へ格納できるようになっています。
( col )* / %Common.attrib;, span = %Number.datatype; '1', width = %MultiLength.datatype;, %CellHAlign.attrib;, %CellVAlign.attrib;
(col)* / %attrs;, span = NUMBER, width = %MultiLength;, %cellhalign;, %cellvalign;
明示的に桁セルをグループ構造化する為に利用します。
グループに含める桁数を指定します。指定されなかった場合は 1 桁になります。
まとめられた桁の幅を指定します。この幅はグループ化されたセル全てに適用されます。
EMPTY / %Common.attrib;, span = %Number.datatype; '1', width = %MultiLength.datatype;, %CellHAlign.attrib;, %CellVAlign.attrib;
EMPTY / %attrs;, span = NUMBER, width = %MultiLength;, %cellhalign;, %cellvalign;
この属性により、暗黙的な構造にグループ化されずに書き手がいくつかの桁に属性を共有させることが出来ます。
col 要素は桁グループを構造化しません。これは colgroup の役目です。col 要素は無意味で、単に属性を与えるだけのものです。
( th | td )+ / %attrs;, %cellhalign;, %cellvalign;
(th | td)+ / %attrs;, %cellhalign;, %cellvalign;
表内の行を示します。
( #PCDATA | %Flow.mix; )* / %Common.attrib;, axis = CDATA, headers = IDREFS, %scope.attrib;, rowspan = %Number.datatype; '1', colspan = %Number.datatype; '1', %CellHAlign.attrib;, %CellVAlign.attrib;
(%flow;)* / %attrs;, abbr = %Text;, axis = CDATA, headers = IDREFS, scope = %Scope;, rowspan = NUMBER 1, colspan = NUMBER 1, %cellhalign;, %cellvalign;
行中の見出しセルを示します。
セルの内容の概略を示し、ユーザエージェントがセルの内容の代わりに表示することができます。
この属性はセルを概念によりカテゴリ化します。ユーザエージェントはカテゴリ化されたグループの中からデータを任意に抽出し、ユーザが容易に必要なデータを取得できるようになります。複数のカテゴリに所属する場合には、カンマで区切って指定します。
この属性はデータセルのヘッダ情報を提供するヘッダのリストを指定します。この属性は、ヘッダセルの名前をスペースで区切って指定します。(ヘッダセルの名前には id 属性によって指定される必要があります。
この属性は、ヘッダ情報を提供するセルを特定します。単純なテーブルでデータセルが関連するヘッダセルの位置を指定する事でヘッダ属性を指定する為に利用されます。この属性の指定には、%Scope; の値を利用します。
セルが何行に及ぶかを定義します。指定がない場合には 1 行です。0 が指定された場合は、表中の残りの行全てとなります。
セルが何桁に及ぶかを定義します。指定がない場合には 1 桁です。0 が指定された場合は、行中の残りの桁全てとなります。
( #PCDATA | %Flow.mix; )* / %Common.attrib;, axis = CDATA, headers = IDREFS, %scope.attrib;, rowspan = %Number.datatype; '1', colspan = %Number.datatype; '1', %CellHAlign.attrib;, %CellVAlign.attrib;
(%flow;)* / %attrs;, abbr = %Text;, axis = CDATA, headers = IDREFS, scope = %Scope;, rowspan = NUMBER 1, colspan = NUMBER 1, %cellhalign;, %cellvalign;
行中のデータセルを示します。属性については th 要素と全く一緒です。
文書特性を定義する要素群です。
( %HeadOpts.mix;, title, %HeadOpts.mix; / %XHTML.xmlns.attrib;, %I18n.attrib;, %profile.attrib;
%head.content; +(%head.misc;) / %i18n;, profile = %URI;
文書特性要素を格納する要素です。
( #PCDATA ) / %XHTML.xmlns.attrib;, %I18n.attrib;
PCDATA -(%head.misc;) / %i18n;
文書の題名を指定します。
EMPTY / %XHTML.xmlns.attrib;, href = %URI.datatype;
EMPTY / href = %URI;
文書中のハイパーリンクが相対 URI 指定が行われていた場合に見る基本 URI を指定します。絶対 URI 指定に対しては影響しません。
EMPTY / %XHTML.xmlns.attrib;, %I18n.attrib;, http-equiv = NMTOKEN, name = NMTOKEN, content = CDATA, scheme = CDATA
EMTPY / %i18n;, http-equiv = NAME, name = NAME, content = CDATA, scheme = CDATA
文書にメタ情報を指定する際に利用します。
この属性は name 属性の代わりに使用されます。HTTP サーバは HTTP 応答メッセージヘッダの為にこの属性を読み取ります。
メタ情報を識別する為の名前をつけます。
メタ情報の値を指定します。
メタ情報の設計を名付けて、メタ情報の値の解釈を助けます。
( #PCDATA ) / %XHTML.xmlns.attrib;, %title.attrib;, %I18n.attrib;, type = %ContentType.datatype;, media = %MediaDesc.datatype;, xml:space = ( preserve ) 'preserve'
%StyleSheet; / %i18n, type = %ContentType;, media = %MediaDesc;, title = %Text;
文書の表現を指定するスタイル情報を指定します。
スタイルを記述する為のスタイルシート言語を指定します。例えば CSS の場合は type="text/css" と書きます。
スタイル指定が対象とする媒体を指定します。複数の媒体を対象とする場合にはカンマ区切りとします。指定がない場合には screen が指定された事とします。
スタイル情報に題名をつけます。
( #PCDATA ) / %XHTML.xmlns.attrib;, charset = %Charset.datatype;, type = %ContentType.datatype;, src = %URI.datatype;, defer = ( defer ), xml:space = ( preserve ) 'preserve'
%Script; / charset = %Charset;, type = %ContentType;, src = %URI;, defer (defer), event = CDATA, for = %URI;
ユーザエージェント側での処理を指示する為のスクリプト言語を記述します。
スクリプトが記述されている文字集合を指定します。
スクリプトが記述されているスクリプト記述言語を指定します。
外部にあるスクリプトが記述されているリソースの所在を指定します。
ユーザエージェントに対し文書内容を変更しない、という情報を明示します。
現在は予約されている属性です。なお、XHTML 1.0 Strict では抹消されています。
現在は予約されている属性です。なお、XHTML 1.0 Strict では抹消されています。
現在は予約されている属性です。なお、HTML 4.01 Strict には存在しません。
( %Block.mix; )+ / %Common.attrib;
スクリプトが実行できない場合に代替的な表現手段を与える為に利用されます。この要素は script 要素が実行されない場合にのみ処理されます。
文書構造を示します。
( head, body ) / %XHTML.xmlns.attrib;, %XHTML.version.attrib;, %I18n.attrib;
(%html.content;) / %i18n;
HTML 文書の根幹要素で、HTML 文書データは全てこの要素の内容として含まれる事となります。
HTML 4.0/4.01/XHTML 1.0 では lang 属性を指定する事が出来ましたが、XHTML 1.1 からは lang 属性は無くなりました。気を付けましょう。