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 strong %Inline;>
<!ATTLIST strong %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; (イベント属性)
では、それぞれの属性の詳細について見て行こう。
コア属性
<!ENTITY % coreattrs
"id ID #IMPLIED
class CDATA #IMPLIED
style %StyleSheet; #IMPLIED
title %Text; #IMPLIED"
>
- id属性
- Webページ中で要素を一意に識別する名前を指定する。
- class属性
- クラス名を指定する。ここで指定された名前は主にスタイルシートのクラス名を指定することが多い。
- style属性
- 要素に対するスタイル情報を記述する。
- title属性
- 要素に対する補助情報を記述します。
国際化属性
<!ENTITY % i18n
"lang %LanguageCode; #IMPLIED
xml:lang %LanguageCode; #IMPLIED
dir (ltr|rtl) #IMPLIED"
>
- lang属性
- 要素の基本言語情報を指定する。日本語の場合、「ja」を指定する。
- xml:lang属性
- 要素の基本言語情報を指定する。日本語の場合、「ja」を指定する。 lang属性のXML文書用の属性である。
- dir属性
- 書字方向を指定する。左から右へ書く言語の場合は「ltr」、逆に右から左で各言語の場合は「rtl」を指定する。
イベント属性
要素に対するイベントを指定し、属性値に記述されたスクリプトを駆動する。
<!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イベントは、要素上で何かあるキーが解放される際に発生する。