■ 属性の宣言(Attribute declarations)
要素に指定する属性を宣言します。属性の省略時の情報や使用できるデータ型なども指定します。以下のように一度に複数の属性を宣言することもできます。・属性の宣言方法
<!ATTLIST 要素名 属性名 属性の値 属性省略時の値> <!ATTLIST 要素名 属性名1 属性の値1 属性省略時の値1 属性名2 属性の値2 属性省略時の値2 属性名3 属性の値3 属性省略時の値3 ・・・・ >「要素名」には、属性を与える要素の名前を記述します。「属性の値」には、属性として指定できる特定の値やデータ型を指定します。
「属性省略時の値」には、属性が省略された場合の値や、省略の可否や解釈に関するキーワードを指定します。
【 例 】 <!ENTITY % URI "CDATA"> <!ENTITY % ContentType "CDATA"> <!ENTITY % Script "CDATA"> <!ENTITY % Charsets "CDATA"> <!ATTLIST FORM %attrs; action %URI; #REQUIRED method (GET|POST) GET enctype %ContentType; "application/x-www-form-urlencoded" onsubmit %Script; #IMPLIED onreset %Script; #IMPLIED accept-charset %Charsets; #IMPLIED >● 属性省略時の値
「属性省略時の値」には、特定の値を指定することもできますが、以下のようなキーワードを指定することもできます。・#REQUIRED
省略不可・#IMPLIED
省略された場合はアプリケーションに依存・#FIXED
このキーワードに続く値に固定【 例 】 <!ATTLIST IMG %attrs; src %URI; #REQUIRED alt %Text; #REQUIRED longdesc %URI; #IMPLIED height %Length; #IMPLIED width %Length; #IMPLIED usemap %URI; #IMPLIED ismap (ismap) #IMPLIED >● 属性の値
「属性の値」には、特定の値を列挙することもできますが、任意のものが与えられる場合には以下のデータ型が指定できます。・CDATA
実体参照も含む文字データ
※前後の空白は無視され、途中のタブ・改行コードなどは空白に置き換えられます。・ENTITY
実体参照値・ENTITES
実体参照値(複数)・ID
識別子
※識別子は、必ずアルファベット(A〜Z, a〜z)で始まり、アルファベット、数字(0〜9)、「-」「_」「:」「.」以外の文字を含むことはできません。・IDREF
ID属性で指定された識別子への参照値・IDREFS
ID属性で指定された識別子への参照値(複数)・NAME
名前
※名前は、必ずアルファベット(A〜Z, a〜z)で始まり、アルファベット、数字(0〜9)、「-」「_」「:」「.」以外の文字を含むことはできません。・NAMES
名前(複数)
※名前は、必ずアルファベット(A〜Z, a〜z)で始まり、アルファベット、数字(0〜9)、「-」「_」「:」「.」以外の文字を含むことはできません。・NUMBER
数値・NUMBERS
数値(複数)【 例 】 <!ATTLIST META %i18n; http-equiv NAME #IMPLIED name NAME #IMPLIED content CDATA #REQUIRED scheme CDATA #IMPLIED >● 論理値をとる属性
文書インスタンス(HTML)の中で属性の値を指定せずに、属性名だけを書いた場合に「真(true)」、属性名がない場合に「偽(false)」の値となるような属性があります。【 例 】 <!ATTLIST OPTION %attrs; selected (selected) #IMPLIED disabled (disabled) #IMPLIED label %Text; #IMPLIED value CDATA #IMPLIED >この例の属性「selected」と「disabled」は、文法的には <OPTION selected="selected"> と使用するものなのですが、<OPTION selected> のように属性名が指定されただけで有効(真:true)となります。