
HTML5では文中の半角不等号はちゃんと特殊文字として書くべき?
手打ちでHTML5でホームページを作ろうと思っているのですが、各ページの上部に
トップ > 日記 > 2010年
のような感じで、半角大なりを使っていました。
これはW3Cのバリデーションに合格できたのですが、プログラミングのページを作り、preで括ってそのままソースコードを書いたところ、半角小なりでエラーを吐かれました。
エラーが出た以上は半角小なりは使うべきではないのでしょうが、やはり大なりも使うべきではないでしょうか?
一応、特殊文字ではなくそのまま入力したほうが、見やすいという利点はあるんですが・・・
また、他にも「これは特殊文字で記述すべき」という記号はありますか?
No.2ベストアンサー
- 回答日時:
& を文字として表示させたい場合は、& と書く必要があります。
ブラウザは & にアルファベットが続いたときにそれを実体参照だと認識します。
例えば、<html とすると、<html の実体参照を探し、存在しないのでそのまま表示します。(IE8-は「<html」と認識するようです)
全ての実体参照を認識していれば、使い分けられるのでしょうが、今後増えていかないとも限らない実体参照を覚えて使い分けるのは徒労だと思います。
<a href="./search?foo=a<"></a>
ブラウザはhref属性値に "./search?foo=a<" があると認識します。
<a href="./search?foo=a&lt;"></a>
こちらは、"./search?foo=a<" と認識します。
属性値内でも実体参照は有効なので、& は出来るだけエスケープした方が良いでしょう。
<test> を文字列として表示する場合は、<test> と記述します。
こちらは比較的分かりやすいルールですが、ブラウザがメタキャラクタとして認識する文字は、やはりエスケープすべきだと思います。
<span title=""test"">test</span>
ダブルクオートで括られた属性値でダブルクオートを代入したい場合も、実体参照を使います。
シングルクオートも同じです。
テキストノード上では、クオートをエスケープしなくても問題はないような気もしますが、統一性を考えるとエスケープした方が良いかもしれません。
HTML Document Representation (ja)
http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401 …
8 The HTML syntax ? HTML5
http://www.w3.org/TR/2010/WD-html5-20100624/synt …
> また、他にも「これは特殊文字で記述すべき」という記号はありますか?
空白文字やCopyrightなどのUnicode文字でしょうか。
	 (タブ文字)
  (no-break space)
​ (zero-width space)
© (Copyright)
余談。
XHTML5になると実体参照文字はXML1.0規定のものに限定され、ほとんど数値参照で指定することになります。
http://www.y-adagio.com/public/standards/jis_xml …
No.3も読みましたが、こちらでまとめさせていただきます。
属性値までは考えていませんでした(笑)
2つ目の方にも答えていただきありがとうございます。
No.3
- 回答日時:
#2です。
HTML予約文字のエスケープチェックは HTML-lint が行ってくれます。
HTML-lint はHTML5未対応ですが、エスケープチェッカーとしてなら十分使えると思います。
Another HTML-lint gateway
http://openlab.ring.gr.jp/k16/htmllint/htmllint. …
No.1
- 回答日時:
HTML5というより、
HTML4でもXHTMLでも普通、
半角(<) ----> $lt;
半角(>) ----> >
でしょ。
他にも
半角(&) ----> &
半角(”) ----> &quto;
半角(’) ----> '
( 半角(スペース) ----> ␣ )
とか実体参照文字といいます。
ありがとうございます。
「特殊文字で~」っておかしいですね・・・
おっしゃるとおり実体参照のことです。
アンパサンドなどについてもそのような表記があるのは知っていますが、
そのような文字は普通、そのまま書いても問題になりませんよね。
(半角スペースは並べられなかったりしますが)
半角不等号以外に実体参照で表現すべき文字はありますでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Cpadで文字化け
-
jsp~jspにhiddenを使って変数...
-
C言語 exitの使い方
-
VB6.0-整数と余りを求める
-
フォームを開くときに、コンボ...
-
COLUMN(1:1)の意味を教え...
-
VBAでダブルコーテーション入り...
-
配列の値を置換するにはどうす...
-
Excel-vba 文字列と変数を...
-
[VBS]変数を定数に変換する方法...
-
フリーランタイマーの時間差分...
-
vbaで極大値を抽出する方法
-
数字の位ごとの値を表示するプ...
-
足して100になるような乱数のア...
-
VBAのWorksheetFunctionの引数...
-
Variant型で宣言してるのにEmpt...
-
エラーの意味は? Lvalue req...
-
EXCEL/VBA 変数の値をクリップ...
-
変数名の間接指定
-
データ構造のmapとは?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VisualStudio2022でC言語プログ...
-
Accessで文字列のバイト数読み込み
-
ファイル名について
-
tomcat7 web.xml のエンコード
-
C言語で全角文字を扱いたいので...
-
VC2008+Qtの文字化け
-
Kシェルでの桁数取得
-
VBA シート上にドロップダウン...
-
Cpadで文字化け
-
スプレッドシートの関数
-
VBでまた行き詰まってしまいました
-
Ruby 文字コード判別
-
open-uriを用いた、ウェブ上か...
-
アンダーバーとバックスラッシュ
-
C言語 exitの使い方
-
VBAでダブルコーテーション入り...
-
Excel-vba 文字列と変数を...
-
フォームを開くときに、コンボ...
-
エラーの意味は? Lvalue req...
-
jsp~jspにhiddenを使って変数...
おすすめ情報