引用符の利用
先のエントリを書いてる最中に見つけた記事に、気になる記述があったので調べてみた。
また、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 標準の教科書
- 作者: 益子貴寛
- 出版社/メーカー: 秀和システム
- 発売日: 2005/07/07
- メディア: 単行本
- 購入: 17人 クリック: 532回
- この商品を含むブログ (104件) を見る
属性値は引用符(「"」または「'」)で囲む、と言うのがポイントである。属性名は必ず小文字で記述するが、属性値は状況に応じて大文字と小文字を使い分けたり、日本語を含めることができる。
なお、引用符には一重引用符(')を試用してもよいが、習慣上は二重引用符(")を使う。
詳解 HTML&XHTML&CSS 辞典(改訂版)
- 作者: 大藤幹
- 出版社/メーカー: 秀和システム
- 発売日: 2005/01/31
- メディア: 単行本
- 購入: 1人 クリック: 16回
- この商品を含むブログ (35件) を見る
HTML4.01 では属性の値を囲う引用符(")を条件によっては省略できることになっています。しかし、これも HTML では省略できませんので、省略しないで書いておくようにしてください(HTML4.01 でも省略しないことが推奨されています)。なお、引用符には「"」だけでなく、「'」を使うこともできます。
HTML&XHTML 第5版
- 作者: Chuck Musciano,Bill Kennedy,原隆文
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 2003/05/26
- メディア: 単行本
- 購入: 1人 クリック: 79回
- この商品を含むブログ (14件) を見る
HTML では、属性の値が1つの単語や数字である場合(空白を含まない場合)は、単純に等号の後ろにそれらを記述して構いませ。しかし、複数の単語などからなる場合は、シングルクォーテーション(')またはダブルクォーテーション(")でそれらを囲みます。特に、複数の値をスペースで区切って指定する場合には必須です。XHTML では、全ての属性の値はダブルクォーテーション(")で囲まなければなりませ。属性の値の長さは、最大で1024文字(半角英数字)です。
HTML&XHTML 第5版だけは XHTML の場合、ダブルクォーテーションのみと記述されてる。
どーなんだろ。仕様上では「All attribute values must be quoted, even those which appear to be numeric.
」ってあるから、厳密な指定は無いっぽい。”引用符”と言う言葉の定義自体を考えた方がいいのかも。(「引用符=(")」なのか「引用符=(" or ')」なのか。)
まあとりあえずダブルクォーテーション使っておけばおkってことでいっか(ぇー
*1:これを全面的に信用するつもりは無いけど