DTD 属性を固定して必須にすることはできますか?
<!ATTLIST myTag myAttribute CDATA #FIXED #REQUIRED "some text">
Daniel Haley は、少なくとも DTD の構文に関しては正しいです。
属性のすべての発生に特定の値を持たせ、その値が XML ドキュメントに物理的に存在することを要求する場合 (デフォルト値メカニズムでは存在しない)、および値が正当な NMTOKEN である場合、別のルートで必要な動作を実現できます。
<!ATTLIST myTag
myAttribute (some-text) #REQUIRED >
ここで、attribute-type 情報(some-text)
は、 の唯一の有効な値が であることを指定しmyAttribute
、some-text
キーワード#REQUIRED
はmyAttribute
、入力に物理的に存在しなければならない制約を課します。
必要な値が正当な NMTOKEN でない場合 (たとえば、絶対 URI である場合、またはスペースや名前以外の文字を含むフレーズである場合)、この手法は機能しません。