2006年05月26日(金) [過去の今日]
#8 HNFパーサはどこ……
2.19.8に付属してるrss.cgiでも、やっぱり出力されるRSSのdescriptionにSUBで書いた部分だけ入っちゃったりしてアレなので、ソースを読んでみることに。
そしたら、RSS.pmは独自にhnfをparseしてんのね……。hnsに付属のhnfパーサを使ってHTML化してCDATAで突っ込んでやろうと本体のソースまで読みはじめたのだが、これがまた見つからない。
ていうか、date_timeとかExpandTemplとか、どこで定義されてるのかわからないメソッドがいっぱいあって泣けて来る。違うクラスのメソッドとかもばんばん呼び出してて、クラス内部で閉じてるわけでもないし。
特に悩んだのが、 ObjectTemplate というモジュールを使ってるところ。newされるとinitializeが呼ばれたり、attributesでメソッドを定義したりできるらしい。よくわからんが、けっこうわかりにくい。 attributes.pm とも別物。
何年も前からhnsのソースを読むというのはチャレンジして来たが、いつもどこかで挫折してしまう。奥が深いというべきか……。
(@968)