5. 属性リスト宣言
属性リスト宣言は、DTD内で定義するマークアップ宣言のうちのひとつです。どの要素に、どのような形式で属性をつけてよいのか、記述するのが、属性リスト宣言です。本章では、属性リスト宣言の形式について、記述します。
5.1 属性リスト宣言
属性リスト宣言の構文は以下のとおりです。
<!ATTLIST 要素名 属性名 属性値の候補 デフォルト値>
この属性リスト宣言では、「要素名」に記述された要素に対する属性を定義します。属性名は、ほとんどの文字が使用できます(詳細は、2章「要素と属性に使用できる文字 」を参照ください)。属性の値の形式に関する情報は、「属性値の候補」に記述します。データ型を指定する方法と、属性値候補のリストを記述する方法があります。XML文書内で明示的に属性の値を定義しなかった場合のXMLプロセッサの振る舞いを「デフォルト値」に指定します。
属性リスト宣言では、ひとつの要素に付随する複数の属性を一回の宣言で定義することも可能です。
<!ATTLIST 要素名 属性名 属性値の候補 デフォルト値 属性名 属性値の候補 デフォルト値 ... 属性名 属性値の候補 デフォルト値 >
また、DTD内で、重複して属性リスト宣言を行った場合、先に宣言されたものが使用されます。
<!ATTLIST 商品 商品分類 (書籍|雑貨|食品|) "書籍" > <!ATTLIST 商品 商品分類 CDATA #IMPLIED >
以上の例の場合、デフォルトで「書籍」が設定されている宣言のほうが採用されます。