実体参照 ( 正 ) と実態参照 ( 誤 ) と数値文字参照

http://hxxk.jp/2005/11/16/2024

記事データ

投稿者

真琴

投稿日時

2005-11-16T20:24+09:00

タグ
概要

指摘を受け、「コメントスパム対策と実体参照」を修正しました。また、合わせて数値文字参照のちょっとしたトリビアを紹介。

リプライ

2 件のリプライがあります。

記事本文

コメントスパム対策と実体参照を修正しました

コメントスパム対策と実体参照にて、実参照と書くべきところを実参照と書いていたので、修正しました。 ( title 要素も合わせて修正しました。 ) 誤りに気付いたのは entity = 実体 - 徒書からトラックバックをいただいたことによるものです。 北村曉さん ( 曉に死す ) 、ご指摘ありがとうございます。 以下、何故間違って書いていたかを振り返り、備忘としておきます。

元の語句を調べようとしなかった

entity reference という元の語句をちゃんと頭に入れていれば、実参照というのは誤りだとすぐに気付くのですが、元の語句を調べることを怠っていたために間違ったまま覚えていました。

検索に頼りすぎていた

コメントスパム対策と実体参照を書く際に、「実参照だったっけ実参照だったっけ」という疑問は抱きました。 そこで「実体参照 実態参照」で Google 検索して、最初の検索結果ページにて実参照の方が多く使われているようだったので、そのまま実参照と書きました。

この考え方にまず誤りがあるのですが、多く使われている = 正しいということではないんですよね。 疑問に行き当たったら Google 検索で答えを得ようとすることが多いので、今後も気を付けないと。

仕様書をあたっていなかった

先ほど検索エンジンを変更して「実体参照 実態参照」で Yahoo! 検索したら HTML4 で使える文字実体参照が一番上に表示されました。 実はこの記事こそが 以前どこかのサイトで実体参照を網羅的に掲載しているサイトがあったと思う という記事で、仕様書からまとめたものであることが明記されています。

以前目にしたことがあって、それが仕様書から得られる情報であるというところまで知っていたはずなのに仕様書まで調べなかったのは私の怠慢です。

ふだん「仕様書によれば」みたいなこととか「本来の語句の意味は」みたいなことを言っているのにことごとく逆を行っていますね。 今回のミスを糧として自戒しないと……。

また、 DTDを参照しないXML文書(RSSとか)で使われることを考慮するならば、実体参照ではなく数値文字参照を使う方がよさそうな気がします といったことは考えが及んでなかったです。 数値の方が覚えやすいという理由で数値文字参照をずっと使っていました。

数値文字参照のトリビア

大したことじゃないんですが、覚えておくとちょっぴり便利かもしれないこと。 & や " 、あるいは Movable Type を使用している場合は $ を実体参照なり文字数値参照に置き換える機会が多くなると思いますが、いちいちどれがどの数値だったかを覚えなくても覚えなくても大丈夫。 と言ってもひとつだけは覚えないとなりませんが。

一般的なキーボード ( 何を以って一般的と言うんだと言われそうですが、この場合はヨドバシカメラやヤマダ電機等の店頭に並んでいるようなメーカー製パソコンのキーボードとします ) の 1 から 9 までのキーに書かれている記号を見てください。 そして、次に示す数値文字参照の早見表を見てください。

キー 文字 実体参照 数値文字参照 備考
1 !   !  
2 " " " quotation mark = APL quote
3 #   #  
4 $   $  
5 %   %  
6 & & & ampersand
7 ' ' ' XML 1.0 から新たに定義
8 (   (  
9 )   )  

! の ! から、 ) の ) までは、キーボードに書かれている順番で数値文字参照の数値がインクリメンタルされている形になっています。 ということは、 ( ! を数値文字参照する機会はあまり無いので ) " の " を覚えておけば、そこから数えることで $ や & の数値文字参照を覚える必要が無い、というネタです。 もしくは「キーに書かれている数字」 + 32 = 「キーに書かれている記号の数値文字参照」という覚え方でも良いかも。

トラックバック送信先

entity = 実体 - 徒書

ご指摘を受けて該当記事を修正するとともに、「何故間違ったまま書いたか」を考えてみました。

リプライ

2 件のリプライが送られています。

2005-11-18T23:11+09:00 - ちはや(智猫)

コメントしといて放置してるヤツが参上しました(苦笑) 数値文字参照の例の部分は、ご存じと思いますけど実はアスキーコードだったりします。 >キーボードに書かれている順番で数値文字参照の数値がインクリメンタルされている形になっています の部分は英語キーボード(というかASCII配列キーボードだったかなぁ?)の場合は該当しなかったりも…… 日本語キーボードの場合でも、日本語キーボード対応ドライバが入っていないDOSの起動FDで起動するとその配列になったり…… (WindowsXPでのFDフォーマット時に作成できます)

2005-11-22T01:08+09:00 - 真琴

まあ、本文中にも書いていますが狭い意味での「一般的なキーボード」ってことで。ちゃんとコードで覚えるのが理想ですしね :-)

この記事に対するご意見やご質問、ご感想などありましたらこのフォームに簡潔に記入して下さい。 簡潔に記入できない場合や、関連記事にてご意見をお寄せいただく場合は、ご自身の weblog にて記事を書かれた上で あてにトラックバックとして送信してください。

記入フォーム

補足情報

著作、講演、制作実績など