引用元表示のやり方
HTMLでまとまった引用文を表記するとき、blockquote
要素が用いられます。例えば、http://www.example.com/というURLで「例文」というタイトルのページにある文章を引用するときには次のように書きます。
<blockquote cite="[]http://www.example.com/[]" title="例文">
<p>これが引用された文章です。</p>
</blockquote>
HTMLとしてはこれで引用元表記が完了したことになりますが、はてなダイアリーではこのように書くと親切にもさらに次のように変換してくれます*1(空白や改行は一部変更しています。)。
<blockquote cite="[]http://www.example.com/[]" title="例文">
<p>これが引用された文章です。</p>
<cite><a href="[]http://www.example.com/[]">例文</a></cite>
</blockquote>
つまり、blockquote
要素内の末尾にcite
要素が付加されるわけです((blockquote
要素直下にインライン要素が出てくるのは気持ちが悪いので、p
要素で囲んでほしいところですが、これは本題からはやや離れた話です。))。
この機能が追加された経緯については、http://d.hatena.ne.jp/hatenadiary/20030202#p4を参照下さい。
で、この機能に関する話題です。
はてなダイアリーの自動生成では、
blockquote
要素の中に、私が記述した引用元 URN がcite
要素でマークアップされて挿入されてしまいます。これでは、引用元の記述に私が編集した文面がはいっていることになります。これは大変に不都合です。別の言葉で言えば仮に引用元に既にcite
要素が存在していた場合、引用元筆記者が書いたcite
要素なのか、私が書いたcite
要素なのかが区別出来ません。
このことは私も気にはしていましたが、そのままにしていました。調べてみると、こんなページが。
今まで私はblockquote
要素の内部にcite
要素を書くやり方にしていました。そこに落ち着いたのは、引用の方法とか『詳解HTML&スタイルシート辞典』を見て真似ていたためでした。しかし今回調べてみて、外に書いた方がいいという議論に説得力があると感じました。
外に書くとすると、blockquote
要素とcite
要素をどうやって結びつけるかという問題が出てきます。あまりスマートではありませんが、div
要素でまとめて囲っておくのが無難でしょうか。
ともあれ、そのあたりの自動生成機構は後からでも変更できると思うので、元テキストが正しくなっているように書くことを心がけておけば何とかなりそうな気がします。
ところで、私の場合urn:isbn:
スキームは気にせず使っています。IEでクリックしても何も起こらないとかは、まあそのうち解決されるだろうという楽観的発想です。(ただし、はてな内では「isbn:
」と書くのが推奨されているのでそちらに従うことが多いです。)