有効なXML名の規則に従った値だけを指定する
DTDではデータ型をs呈することはできませんが、属性に対して課すことのできる制限が1つだけあります。それは、値を有効なXML名に限定するということです。つまり、先頭は文字又はアンダースコアでなければならず、文字、数字、アンダースコア(_)、ハイフン(-)、ピリオド(.)だけを含めることができます。
1. <!ATTLIST tag と入力します。
tagの部分には、属性を指定するようその名前を入力します。
2. attribute と入力します。
attributeの部分には、そのタグに追加する情報を識別するための名前を入力します。
3. NMTOKEN と入力します。
これは、XML名として有効な値だけを指定できることを示します。
または NMTOKENS と入力します。
これは、ホワイトスペースで区切って複数のXML名を指定できることを示します。
4. "default" と入力します。
これは、その要素内でこの単位を好きな数だけ指定でkることを示します。全く指定しないこともできます。
または、#FIXED "default" と入力します。
defaultの部分に規定値を入力します。この属性には必ずこの値を設定することを示します。
または、#REQUIRED と入力します 。
これはmその属性には何らかの値を指定しなければならないことを示します。
または、#IMPLIED と入力します。
これは、属性に規定値がなく、省略することもできることを示します。
5. 要素に含める核属性ごとに 2.~4.を繰り返します。
6. > と入力して属性の宣言を終えます。
・NMTOKEN型の属性値にはホワイトスペースを含めることができません。ホワイトスペースを使用できないようにするためにこの型を使うこともあります。
・XML名として有効である上に、XML文書内で一意な値を使いたい場合は、NMTOKEN型ではなくID型を使います。