2010年12月21日火曜日

ホームページを作ろう - 1.18 汎用属性

1.18 汎用属性

属性の中には,多くの要素で共通に使用される属性があります。これらの属性を汎用属性と呼びます。まずは,これまでの要素のうち,body要素の内側に記述される要素のDTDを見てみましょう。

<!ELEMENT body %Block;>
<!ATTLIST body
%attrs;
onload %Script; #IMPLIED
onunload %Script; #IMPLIED
>

<!ELEMENT p %Inline;>
<!ATTLIST p %attrs;>

<!ELEMENT h1 %Inline;>
<!ATTLIST h1 %attrs;>

<!ELEMENT h2 %Inline;>
<!ATTLIST h2 %attrs;>

<!ELEMENT h3 %Inline;>
<!ATTLIST h3 %attrs;>

<!ELEMENT h4 %Inline;>
<!ATTLIST h4 %attrs;>

<!ELEMENT h5 %Inline;>
<!ATTLIST h5 %attrs;>

<!ELEMENT h6 %Inline;>
<!ATTLIST h6 %attrs;>

<!ELEMENT ul (li)+>
<!ATTLIST ul %attrs;>

<!ELEMENT ol (li)+>
<!ATTLIST ol %attrs;>

<!ELEMENT li %Flow;>
<!ATTLIST li %attrs;>

<!ELEMENT dl (dt|dd)+>
<!ATTLIST dl %attrs;>

<!ELEMENT dt %Inline;>
<!ATTLIST dt %attrs;>

<!ELEMENT dd %Flow;>
<!ATTLIST dd %attrs;>

<!ELEMENT address %Inline;>
<!ATTLIST address %attrs;>

<!ELEMENT hr EMPTY>
<!ATTLIST hr %attrs;>

<!ELEMENT pre %pre.content;>
<!ATTLIST pre
%attrs;
xml:space (preserve) #FIXED 'preserve'
>

<!ELEMENT blockquote %Block;>
<!ATTLIST blockquote
%attrs;
cite %URI; #IMPLIED
>

<!ELEMENT br EMPTY>
<!ATTLIST br %coreattrs;>

<!ELEMENT em %Inline;>
<!ATTLIST em %attrs;>

<!ELEMENT b %Inline;>
<!ATTLIST b %attrs;>

<!ELEMENT dfn %Inline;>
<!ATTLIST dfn %attrs;>

<!ELEMENT code %Inline;>
<!ATTLIST code %attrs;>

<!ELEMENT samp %Inline;>
<!ATTLIST samp %attrs;>

<!ELEMENT kbd %Inline;>
<!ATTLIST kbd %attrs;>

<!ELEMENT var %Inline;>
<!ATTLIST var %attrs;>

<!ELEMENT cite %Inline;>
<!ATTLIST cite %attrs;>

<!ELEMENT abbr %Inline;>
<!ATTLIST abbr %attrs;>

<!ELEMENT acronym %Inline;>
<!ATTLIST acronym %attrs;>

<!ELEMENT q %Inline;>
<!ATTLIST q
%attrs;
cite %URI; #IMPLIED
>

<!ELEMENT sub %Inline;>
<!ATTLIST sub %attrs;>

<!ELEMENT sup %Inline;>
<!ATTLIST sup %attrs;>

これらの各要素に共通している属性にパラメータ実体参照「%attrs;」があります。これを詳しく見てみると,

<!ENTITY % attrs "%coreattrs; %i18n; %events;">

と定義されています。これらのパラメータ実体参照で定義されている属性群は,それぞれ次のように呼ばれています。

  • %coreattrs; (コア属性
  • %i18n; (国際化属性
  • %events; (イベント属性

では,それぞれの属性について詳しく見ていきましょう。

1.18.1 コア属性

<!ENTITY % coreattrs
"id ID #IMPLIED
class CDATA #IMPLIED
style %StyleSheet; #IMPLIED
title %Text; #IMPLIED"
>

id属性
Webページ中で要素を一意に識別する名前を指定します。CSSやJavaScriptと合わせて使用されます。
class属性
クラス名を指定します。主にスタイルシートで定義されたスタイルのクラス名を指定する場合に使用されます。
style属性
要素に対するスタイル情報を記述します。通常,外部スタイルシートと呼ばれる手法を使用するので,この属性はあまり使用されません。
title属性
要素に対する補助情報を記述します。

1.18.2 国際化属性

<!ENTITY % i18n
"lang %LanguageCode; #IMPLIED
xml:lang %LanguageCode; #IMPLIED
dir (ltr|rtl) #IMPLIED"
>

lang属性
要素の基本言語情報を指定します。日本語の場合,「ja」を指定します。将来的には,廃止方向にある属性なので,あまり使用しません。
xml:lang属性
要素の基本言語情報を指定します。日本語の場合,「ja」を指定します。lang属性のXML文書用の属性です。基本言語情報を記述する必要がある場合,通常,こちらの属性を使用します。
dir属性
書字方向を指定します。左から右へ書く言語の場合は「ltr」,逆に右から左で各言語の場合は「rtl」を指定します。

1.18.3 イベント属性
要素に対するイベントを指定し,属性値に記述されたスクリプト(JavaScriptなど)を駆動します。

<!ENTITY % events
"onclick %Script; #IMPLIED
ondblclick %Script; #IMPLIED
onmousedown %Script; #IMPLIED
onmouseup %Script; #IMPLIED
onmouseover %Script; #IMPLIED
onmousemove %Script; #IMPLIED
onmouseout %Script; #IMPLIED
onkeypress %Script; #IMPLIED
onkeydown %Script; #IMPLIED
onkeyup %Script; #IMPLIED"
>

onclick属性
onclickイベントは,ポインティングデバイスのボタンが要素の上でクリックされた時点で発生するイベントです。
ondblclick属性
ondblclickイベントは,ポインティングデバイスのボタンが要素の上でダブルクリックされた時点で発生するイベントです。
onmousedown属性
onmousedownイベントは,ポインティングデバイスのボタンが要素の上で押し下げられる際に発生するイベントです。
onmouseup属性
onmouseupイベントは, ポインティングデバイスのボタンが要素の上で放される際に発生するイベントです。
onmouseover属性
onmouseoverイベントは,ポインティングデバイスが要素の上に移動してきた際に発生するイベントです。
onmousemove属性
onmousemoveイベントは,ポインティングデバイスが要素の上を移動する際に発生するイベントです。
onmouseout属性
onmouseoutイベントは,ポインティングデバイスが要素の上から離れていく際に発生するイベントです。
onkeypress属性
onkeypressイベントは,要素上で何かあるキーが押されて放された際に発生するイベントです。
onkeydown属性
onkeydownイベントは,要素上で何かあるキーが押し下げられる際に発生するイベントです。
onkeyup属性
onkeyupイベントは,要素上で何かあるキーが解放される際に発生するイベントです。

0 件のコメント:

コメントを投稿