固定属性

固定属性

[1]

固定属性 (fixed attribute)
指定値 (もしあれば) が省略時値と同じでなければならない属性。 (JIS X 4151‐1992 3. (93) を参照。)

ここで指定値とは、属性指定によって指定した値のことです。

[2] 例えば <!ATTLIST foo bar CDATA #FIXED "baz"> と定義すると、 foo 要素の bar 属性は、 省略しない場合には必ず baz という値でなければならないことになります。

[3] ある一つの決まった値しか取れないとすると、 属性として存在する意義が疑わしく思われるかもしれません。 固定属性が使われる主たる用途の一つは、宣言的な属性です。

例えば、ある XML文書で、出現するすべての a 要素は XML名前空間 http://foo.example/ に属しているとします。他の名前空間も混在している場合、 何度か xmlns 属性を指定する必要がありますが、

<!ATTLIST a xmlns %URI.datatype; #FIXED "http://foo.example/">

文書型定義内部部分集合に書いておけば、 その手間が省けます。

固定属性はあまり使いどころは多くありませんし、 XML では妥当性を検証しない処理器があるので注意が必要ですが、 正しく使えばマーク付けの効率が上がる・・・かもしれません。