2005-07-03 ========== リハビリと ruby-xslt -------------------- Reference URI: http://lowreal.net/logs/2005/07/03/1 Written Time: 2005-07-03T01:47:08+09:00 Tags: web xml xslt ruby-xslt 使うと XSLT (XSL Transformations) から Ruby のメソッドを呼べるみたいなので、とても使ってみたい。(何をするか、はと もかく) ただ、ちょっと実装が残念な形。 class XML::XSLT def round_trip( arg ) arg end def type( arg ) arg.class.to_s endendxslt = XML::XSLT.new()xslt.xsl = "functions.xsl"xslt. xml = "test.xml"xslt.extFunction("roundTrip", "http://test.none", xslt, "round_tr ip")xslt.extFunction("type", "http://test.none", xslt, "type")俺としては Proc オブジェクトとか、ブロックを直接渡したい。すなわち次のように xslt.extFunction("roundTrip", "http://test.none/", xslt) do |arg| argend#または round_trip = lambda {|arg| arg}xslt.extFunction("roundTrip", "http://test.none", xslt, round_trip)# あるいはまとめたクラス / インスタンスを登録する形。# もとのヤツ に似ているけど名前が衝突しない。class XSLTFunctions def round_trip(arg) arg end def type(arg) arg.class.to_s endendxslt.set_ext_functions ("http://test.none", XSLTFunctions) # XSLTFunctions.new# この場合 XSLT から呼ぶ関 数名は Ruby でのメソッド名と同じになる。とか。# やはり Ruby は書いていて気持ちいい 。ちょっとどうでもいいけど、なんかこの PC 描画がおかしい。温度のせい? 再起動したらなおった? ちょっと時間おかないと分からない。 限りなく不安定な PC だ。グラフィックボードにもファンがついているから、グラフィックボードが暑くて困っ ているのかもしれない。しかしゲームのとき気にならない (or 症状が出ていない?) のは なぜだろう。最も影響うけやすそうなんだけど。 新しい日記システムはいつできるのか。 ------------------------------------ Reference URI: http://lowreal.net/logs/2005/07/03/2 Written Time: 2005-07-03T02:18:44+09:00 Tags: web 日々頭が悪くなっていく cho45 です。こんにちは。(前にも書いたけどこういう書き出し 嫌い。いやむしろ好き?) ローカルで更新部分を生成させてアップロードさせる形って実は素敵なのかな、ってちょっ と思ったり。でもサーバー上で完全動的にやるのも更新する側としては楽なのかなって思っ たり……たった今一瞬の気持ちは前者に傾いております。なぜならローカルで動いてさえく れれば、サーバーと同じ環境をローカルに作ってテストする、といった途方もなく面倒くさ い行為をしなくてすむからです。記憶によるとローカルでは ruby-xslt が動いた気がする 。 ただ、私はいったんアップロードしたあとブラウザ上で数回読み直して typo とか見つける ので、何回もローカルで再構築させながらアップロードするのはアレかな、とも思うのです 。ひとつのファイルが数個から数十個のファイルになるような感じなので、何度も思いつき をアップロードしまくりんぐなのは良くないのかな、と。 flickr のタグ機能みたいに、日記に使っているタグを集計し、頻度・新しさを考慮したう えで表示できたら面白いと思うのだけど、うまくいくかなぁ。 - カテゴリではなく、タグにするので、パス表記 (スラッシュ区切り) をやめるし、URI (Uniform Resource Identifer | Universal Resource Identifer) のソレっぽいのも実装しない。 - 月に1個程度のファイルにする。(前セッションを復元するエディタを使いさえすれば、起 動したらすぐ書ける) - XML (Extensible Markup Language) で書ける。あるいは Markdown でもいいかもしれない、と最近思う。XML (Extensible Markup Language) ってそのまんま読んでも「読みやすいぜ!」ってもんじゃないですし。 - ぶっちゃけ Markdown 使うならほとんど blosxom でいいじゃん。blosxom + xyzzy lisp と か…… - そしてだんだん XML (Extensible Markup Language) , XSLT (XSL Transformations) から離れていく。 - まーしかし XSLT (XSL Transformations) を使わないと、そのシステムを使用しないほかのコンテンツとの統一性をとるのが面倒に なってしまうのが問題なのですが…… ruby-xslt --------- Reference URI: http://lowreal.net/logs/2005/07/03/3 Written Time: 2005-07-03T14:17:58+09:00 Tags: web xslt configure make make configure -opt make make とかウザい。 それはともかく、拡張できないよ。/..snip../ruby-xslt/extfunc.c:57: undefined reference to `_xml*' が永遠出る。ライブラリは指定されているみたいなんだけど……意味がわからない。cygw in ruby-xslt とかでぐぐってもこのサイトがでてきてウザい。 なんで環境によってライブラリ・ヘッダーファイルのパスが違うとかいうバカげた状況なん だろう。configure とかうざい。うざい。 あれだよね、拡張ライブラリは作る時点で八割りがたウマくいかないし、Pure Ruby なライ ブラリは使うときにウマくいかない。スーパーハカーなら自分で作るんだろうなぁ。