ORE記法原論

はてなダイアリーで賞賛すべき点があるとすれば、それははてな記法の存在であると感じました。Livedoorはてな、それにXOOPS上で動くものを除くblogの多くはHTMLを用いて編集を行います。しかしHTMLによる編集は時に不便だったりします。
はてな記法で特に頻繁に用いるもの、そして優れていると感じるものとしては、引用記法、スーパーpre記法、:titleを用いたhttp記法、isbn/asin記法です。これらはHTMLタグで編集する場合の困難を大幅に低減してくれます。
たとえば引用記法の替わりにblockquoteを用いたならば、常にスペルミスの危険にさいなまれると同時に、自動改行付での編集時に可視性の高い編集を行うならば余計な改行が入ってしまいます。またスーパーpre記法がなかったならばソースコードの単純なコピペは不等号で恐ろしいことになります。またリンク先のtitleを自動的に取得する機能は、リンク先の気が変わらない限りかなり便利でしょう。isbn記法は手元にある書籍の紹介を容易にします。(amazonアフィリエイトに興味があるような人にはさらに便利かもしれません。)
というわけで、自分でblogシステムを作ることがあればその際には、HTMLの不便な点を修正する特殊な記法を可能にすると嬉しそうです。


ただし、そこでどのような形式の記法を採用するか、は別の問題です。はてな記法が優秀なのはその機能であって、記法は必ずしも優秀と断言できません。
ここでいう「優秀な記法」というのは例えば、ある種の用途ではYAMLXMLよりも美しい、そういう種類の問題です。
で、私の個人的な好みとしては、HTMLの中に異質な文法を持つ記法が混在するのがいまいち好きになれない、ということです。たとえばPythonスクリプトの中にインラインでAppleScriptが入ってたら気持ち悪いとか、そういう感じ。


というわけで、私がこうしたHTMLを拡張する特殊な記法を作るのであれば、XMLとして作るだろうな、という話。
暫定的にOREXMLと呼ぶことにする。なんでOREなのかっていうと、別に中日のファンというわけではなくてむしろエースが復活し一場が海外武者修行で成長した来年には今年以上の何の話だっけ?そうそう、OREはOriental Radio Ente...上手いボケが思い付かなかった。
例えば引用記法に相当するものとしては<ore:bq>とか。改行処理とスペルミスのしやすさが問題なのであって、タイプ量は大した問題じゃない。スーパーpreは要するにプログラムのコードを書くためのものだから<ore:code>ってところか。http記法は原則としてはHTMLのaタグを拡張すれば良い話のような気がする。例えば<a ore:type="title" src="..." />という感じでaの空タグを使って表記するとか。isbn/asin記法も同様に、基本的にaタグを使って<a ore:type="title" ore:isbn="4-xxx-xxxx-x" />みたいな感じ。isbn:detailは専用の<ore:book isbn="..." />みたいな感じにすれば良いような気がする。
XMLにするメリットとしてはXSLTが使える…とか書こうと思ったけど、XSLTの煩雑さを考えると素直に正規表現で置き換えた方が良いような気がする。それよりも気分的な気持ちよさの問題。