引用符の利用

先のエントリを書いてる最中に見つけた記事に、気になる記述があったので調べてみた。

また、Wikipediaにもう1点気になる記述がありました。

属性値はすべて " " (ダブルクォーテーション)ないし ‘ ‘(シングルクォーテーション)で囲まなければならない。

Extensible HyperText Markup Language - Wikipedia

こちら、W3Cのドキュメントを参照したところ、シングルクオーテーションについては言及がありませんでした。

All attribute values must be quoted, even those which appear to be numeric.

XHTML 1.0: The Extensible HyperText Markup Language (Second Edition)

として、正しい例としてダブルクオーテーションのもののみが掲載されています。
そのため、現状ではどちらが正しいか分からないため、ここでは念のため「ダブルクオーテーションのみ」という記載を残しました。もし、筆者が間違えているようでしたら是非ともコメント欄などでご指摘をいただけると幸いです。

http://chanto-web.net/archives/145

HTML4.01 だときちんとシングル・ダブルクォーテーション共に言及されていて、どっちを使っても良いと書かれているけど、XHTML1.0 SE だと具体的には記述されてない。
試しにシングルクォーテーションを使って Validator にかけたけど問題なかった。*1
と言うわけでちょっち手元にある書籍をひっくり返してみた。(3冊しか無いけどw)

Web 標準の教科書

Web標準の教科書

Web標準の教科書

36ページ

属性値は引用符(「"」または「'」)で囲む、と言うのがポイントである。属性名は必ず小文字で記述するが、属性値は状況に応じて大文字と小文字を使い分けたり、日本語を含めることができる。
なお、引用符には一重引用符(')を試用してもよいが、習慣上は二重引用符(")を使う。

詳解 HTML&XHTML&CSS 辞典(改訂版)

詳解HTML&XHTML&CSS辞典 改訂版

詳解HTML&XHTML&CSS辞典 改訂版

5ページ

HTML4.01 では属性の値を囲う引用符(")を条件によっては省略できることになっています。しかし、これも HTML では省略できませんので、省略しないで書いておくようにしてください(HTML4.01 でも省略しないことが推奨されています)。なお、引用符には「"」だけでなく、「'」を使うこともできます。

HTML&XHTML 第5版

HTML & XHTML 第5版

HTML & XHTML 第5版

3章40ページ

HTML では、属性の値が1つの単語や数字である場合(空白を含まない場合)は、単純に等号の後ろにそれらを記述して構いませ。しかし、複数の単語などからなる場合は、シングルクォーテーション(')またはダブルクォーテーション(")でそれらを囲みます。特に、複数の値をスペースで区切って指定する場合には必須です。XHTML では、全ての属性の値はダブルクォーテーション(")で囲まなければなりませ。属性の値の長さは、最大で1024文字(半角英数字)です。

HTML&XHTML 第5版だけは XHTML の場合、ダブルクォーテーションのみと記述されてる。
どーなんだろ。仕様上では「All attribute values must be quoted, even those which appear to be numeric.」ってあるから、厳密な指定は無いっぽい。”引用符”と言う言葉の定義自体を考えた方がいいのかも。(「引用符=(")」なのか「引用符=(" or ')」なのか。)
まあとりあえずダブルクォーテーション使っておけばおkってことでいっか(ぇー

*1:これを全面的に信用するつもりは無いけど