-
Notifications
You must be signed in to change notification settings - Fork 4
/
834.txt
30 lines (25 loc) · 1.56 KB
/
834.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#?SuikaWiki/0.9
[1]
>
:固定属性 (fixed attribute):
[[指定値]] (もしあれば) が[[省略時値]]と同じでなければならない[[属性]]。
([[JIS X 4151]]‐1992 3. (93) を参照。)
ここで[Q[指定値]]とは、[[属性指定]]によって指定した値のことです。
[2] 例えば [SAMP(SGML)[<![[ATTLIST]] foo bar [[CDATA]] #[[FIXED]] "baz">]]
と定義すると、 [CODE(SGML)[foo]] 要素の [CODE(SGML)[bar]] 属性は、
省略しない場合には必ず [CODE(SGML)[baz]] という値でなければならないことになります。
[3] ある一つの決まった値しか取れないとすると、
属性として存在する意義が疑わしく思われるかもしれません。
固定属性が使われる主たる用途の一つは、宣言的な属性です。
例えば、ある [[XML文書]]で、出現するすべての [SAMP(XMLe)[a]]
要素は [[XML名前空間]] [SAMP(URI)[http://foo.example/]]
に属しているとします。他の名前空間も混在している場合、
何度か [CODE(XMLa)[[[xmlns]]]] 属性を指定する必要がありますが、
[PRE(XML)[
<!ATTLIST a xmlns %URI.datatype; #FIXED "http://foo.example/">
]PRE]
と[[文書型定義]]の[[内部部分集合]]に書いておけば、
その手間が省けます。
固定属性はあまり使いどころは多くありませんし、 [[XML]]
では[[妥当性を検証しない]][[処理器]]があるので注意が必要ですが、
正しく使えばマーク付けの効率が上がる・・・かもしれません。