RDFを公開しました
RDFを公開しました。Railsに同梱されているBuilderでXMLを生成しています。
ご迷惑をおかけしました
こんなブログ、だれも見てないだろうと思っていたのですが、RSSリーダーでごらんになってくれてる奇特な方もいらっしゃるようで(たぶん友人?)、ちょっとあせりました。
やっつけで実装していたRSSがあまりにしょぼかったので、新たにRDFを公開させていただきました。もしよろしければ、こちらをご利用ください。ちなみに「技術について」のみ配信するように、RSS/RDFとも仕様を変更しました。
RailsでRDFを実装
RailsにはRubyForgeで配布されているBuilderクラスが同梱されていて、これがActionControllerと連携できます。こんな感じ。
ActionController側。
def rdf
@items = Item.find(:all)
render :type=>:rxml
end
View側(rdf.rxml)
xml.item do
for item in @items
xml.title item.title
xml.content do
xml.cdata! item.content
end
end
end
こんな風にしていけば、XMLを生成してくれて、とても便利でした。
しかし、ネームスペースやAttributeを入れようとするとそんなにキレイにはいかず、どこからどこまでがBuilderのコードかRailsのコードかわからなくなってきて、最初イライラしました。括弧は意識的につけたほうがいいと思います。
xml.tag! "rdf:RDF","xmlns"=>"http://~" do
xml.channel ( "rdf:about"=> (url_for :controller=>'blog') ) do
・・・
end
end
一見するとXMLを直接書いたほうがいいようにも感じます。でもすぐに慣れるし、Builder使ったほうがキーパンチ量がはるかに少ないです。・・・XMLダイキライ。

