← 1.17 属性リスト(DTD編) 目 次 1.19 画像を表示しよう →
属性の中には,多くの要素で共通に使用される属性があります。これらの属性を汎用属性と呼びます。まずは,これまでの要素のうち,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;">
と定義されています。これらのパラメータ実体参照で定義されている属性群は,それぞれ次のように呼ばれています。
では,それぞれの属性について詳しく見ていきましょう。
<!ENTITY % coreattrs
"id ID #IMPLIED
class CDATA #IMPLIED
style %StyleSheet; #IMPLIED
title %Text; #IMPLIED"
>
<!ENTITY % i18n
"lang %LanguageCode; #IMPLIED
xml:lang %LanguageCode; #IMPLIED
dir (ltr|rtl) #IMPLIED"
>
要素に対するイベントを指定し,属性値に記述されたスクリプト(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"
>