[1]
<option
selected
> の selected
のように、
指定されていれば真、指定されていなければ偽である属性を、真偽値属性と呼びます。
[2] これは、 SGML 的には、列挙値属性の属性名と vi
が省略できる (ことがある) ことを利用しています。
>>1 の例は、 DTD では、 <!ATTLIST option
selected
(selected) #IMPLIED> と定義されます。
マークの最小化を使わないと
<option
selected
="selected"> になります。
[3] XML のように属性名が省略できない時は、 >>1 のような表現はできず、 >>2 のように書かなければなりません。ですから、真偽値属性はあまり有り難味がありません。 むしろ奇妙な感じもしますから、他の属性の指定の仕方を検討した方がいいかもしれません。
[4] ところで真偽値属性
って、 HTML の用語なのでしょうか、
それとも元から SGML の世界で使われていた用語でしょうか。
SGML でも列挙型属性を使って属性の指定を簡単化するのはよくやりますが、選択肢一つだけで真偽になるのはあまり無い気がします。 (気のせい?)
[5]
border=border
属性のように、真偽値属性だけど
のせいで無理矢理 border
=<length>
にしちゃったものもあったりします。
(この場合非 SGML 的に frame
=border border [ = <length> ]
と定義しちゃったのか。その辺の時系列順は要調査。)
[6] Web Forms 2.0 で規定されているブール型属性に関しては、列挙型の項もご覧下さい。
[10] IRC logs: freenode / #whatwg / 20100111 ( 版) <http://krijnhoetmer.nl/irc-logs/whatwg/20100111#l-392>
[7] ブール型属性の属性値は、大文字と小文字を区別しません。 ASCII大文字・小文字不区別です。 Web Applications 1.0
[8] (互換性大文字・小文字不区別などではなく) ASCII大文字・小文字不区別である、という性質は、
実質的には「i
」が属性名に入っている以下の HTML
属性にのみ影響があります。
[9] 22個中8個が「i
」を含むということで、意外と多いですね。
[12] HTML5 Revision Tracker ( 版) <http://html5.org/tools/web-apps-tracker?from=5021&to=5022>
[13] [whatwg] Serialization of boolean content attributes ( 版) <http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2010-August/027779.html>
[14] Packaged Web Apps (Widgets) - Packaging and XML Configuration (Second Edition) ( ( 版)) <http://w3c.github.com/packed-webapps/packaging/#boolean-attribute>
[15] XSLT and XQuery Serialization 3.0 ( ( 版)) <http://www.w3.org/TR/xslt-xquery-serialization-3/#XHTMLBOOLEANS>