LUNKHEAD の東京にてを聞くたびに、顔は浮かんできても名前が思い出せないことなんてあるんだろうか、とか考えていた。でも、今日ふと幼稚園のころの友達の名前を思い出そうとしたら顔しかでてこなかった。名前が思い出せないってかなり困るなぁ。

不思議なのは、小学生・中学生のころのやつは名前はでてきても顔がでてこなかったりする。あ、でも顔しか思い出せないやつもいるな。何の違いなんだろうか。

  1. トップ
  2. life
  3. 顔は浮かんできても名前が出てこない
  1. トップ
  2. thinking
  3. 顔は浮かんできても名前が出てこない
  1. トップ
  2. music
  3. 顔は浮かんできても名前が出てこない

何度やってもできない。わけわかんないです。-lxml2 -lxslt ついてますよ? /lib に libxslt.dll.a libxml2.dll.a とかありますよ?

つまり今うちの環境で動く XSLT on Ruby はないわけですか。Ruby で XML しちゃダメですか……

にぎやかな孤独。

ちなみに、こういうケースでは-lで指定せずに直接*.aファイルを一緒に指定するとうまくいくことがあります。裏技ですが。 とかいうのを見つけたのでやってみたら成功?した。

Makefile の OBJS の最後に /lib/libxml2.dll.a /lib/libxslt.dll.a を追記。

でもこれ tests/ 以下のやつ実行するとエラーでまくるんだけど……

-\ruby-xslt\tests>ruby test_parameters.rb
XPath error : Invalid expression
the first parameter ...
^
runtime error
Evaluating user parameter p1 failed
nil
test_parameters.rb:13:in `serve': cannot convert nil into String (TypeError)
from test_parameters.rb:13
-\ruby-xslt\tests>ruby test_functions.rb
Entity: line 1: parser error : Start tag expected, '<' not found
Float
^
Entity: line 1: parser error : Start tag expected, '<' not found
String
^
Entity: line 1: parser error : Start tag expected, '<' not found
string
^
Entity: line 1: parser error : Start tag expected, '<' not found
TrueClass
^
Entity: line 1: parser error : Start tag expected, '<' not found
Array
^
1 is a Float and becomes 1
'string' is a String and becomes string
true() is a TrueClass and becomes true
nodes are type Array and are passed through:
Hello, (1)
World!(2)
'

なんか parameters に渡すやつが XPath 式として評価されているようだからクオートしてみたらとりあえず動くけど、一度 xslt.serve したあと、parameters に新しく値をセットして xslt.serve しても xsl:param は更新されてない。正しい挙動? 違う気がするけど、いちいち xslt インスタンス作り直せってことなんだろうか?

function のほうはよくわからない。function からの返り値を XML として評価しているように見える。そのようだ。"<dummy>" +arg.class.to_s + "</dummy>" とかいう文字列を返してやると string( returned value ) みたい (これは xsl:value-of の効果=xsl:value-of は最終結果を string 関数に渡す) になる。おそらく node-set っぽいのを返したりできるようになってる?

  1. トップ
  2. web
  3. ruby-xslt undefined reference to

伸びてきてうざったいので切りたいけれど、床屋とか、美容院とか嫌いなんだ。ほんとに、心のそこから嫌い。髪を切ってるときに話しかけてくるとか、あるいはずっと黙っているとか、どっちの雰囲気もダメだ。

  1. トップ
  2. life
  3. 髪を切る場所が嫌いだ。

プログラム書くとき最初になにをすればいいか忘れてしまった……最終的にサイトから PHP を排除したい。ということで日記のスクリプトを Ruby に移植・再編するんだけど、どうすればいいかなぁ。

  1. トップ
  2. web
  3. プログラミングの仕方
  1. トップ
  2. prog
  3. プログラミングの仕方

ruby-xslt 使うと XSLT から Ruby のメソッドを呼べるみたいなので、とても使ってみたい。(何をするか、はともかく)

ただ、ちょっと実装が残念な形。

class XML::XSLT
def round_trip( arg )
arg
end
def type( arg )
arg.class.to_s
end
end
xslt = XML::XSLT.new()
xslt.xsl = "functions.xsl"
xslt.xml = "test.xml"
xslt.extFunction("roundTrip", "http://test.none", xslt, "round_trip")
xslt.extFunction("type", "http://test.none", xslt, "type")

俺としては Proc オブジェクトとか、ブロックを直接渡したい。すなわち次のように

xslt.extFunction("roundTrip", "http://test.none/", xslt) do |arg|
arg
end
#または
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
end
end
xslt.set_ext_functions("http://test.none", XSLTFunctions) # XSLTFunctions.new
# この場合 XSLT から呼ぶ関数名は Ruby でのメソッド名と同じになる。とか。
# やはり Ruby は書いていて気持ちいい。

ちょっとどうでもいいけど、なんかこの PC 描画がおかしい。温度のせい?

再起動したらなおった? ちょっと時間おかないと分からない。

限りなく不安定な PC だ。グラフィックボードにもファンがついているから、グラフィックボードが暑くて困っているのかもしれない。しかしゲームのとき気にならない (or 症状が出ていない?) のはなぜだろう。最も影響うけやすそうなんだけど。

  1. トップ
  2. web
  3. リハビリと ruby-xslt
  1. トップ
  2. xml
  3. リハビリと ruby-xslt
  1. トップ
  2. xslt
  3. リハビリと ruby-xslt

日々頭が悪くなっていく cho45 です。こんにちは。(前にも書いたけどこういう書き出し嫌い。いやむしろ好き?)

ローカルで更新部分を生成させてアップロードさせる形って実は素敵なのかな、ってちょっと思ったり。でもサーバー上で完全動的にやるのも更新する側としては楽なのかなって思ったり……たった今一瞬の気持ちは前者に傾いております。なぜならローカルで動いてさえくれれば、サーバーと同じ環境をローカルに作ってテストする、といった途方もなく面倒くさい行為をしなくてすむからです。記憶によるとローカルでは ruby-xslt が動いた気がする。

ただ、私はいったんアップロードしたあとブラウザ上で数回読み直して typo とか見つけるので、何回もローカルで再構築させながらアップロードするのはアレかな、とも思うのです。ひとつのファイルが数個から数十個のファイルになるような感じなので、何度も思いつきをアップロードしまくりんぐなのは良くないのかな、と。

flickr のタグ機能みたいに、日記に使っているタグを集計し、頻度・新しさを考慮したうえで表示できたら面白いと思うのだけど、うまくいくかなぁ。

  • カテゴリではなく、タグにするので、パス表記 (スラッシュ区切り) をやめるし、URI のソレっぽいのも実装しない。
  • 月に1個程度のファイルにする。(前セッションを復元するエディタを使いさえすれば、起動したらすぐ書ける)
  • XML で書ける。あるいは Markdown でもいいかもしれない、と最近思う。XML ってそのまんま読んでも「読みやすいぜ!」ってもんじゃないですし。
  • ぶっちゃけ Markdown 使うならほとんど blosxom でいいじゃん。blosxom + xyzzy lisp とか……
  • そしてだんだん XML, XSLT から離れていく。
  • まーしかし XSLT を使わないと、そのシステムを使用しないほかのコンテンツとの統一性をとるのが面倒になってしまうのが問題なのですが……
  1. トップ
  2. web
  3. 新しい日記システムはいつできるのか。

configure make make configure -opt make make とかウザい。

それはともかく、拡張できないよ。/..snip../ruby-xslt/extfunc.c:57: undefined reference to `_xml*' が永遠出る。ライブラリは指定されているみたいなんだけど……意味がわからない。cygwin ruby-xslt とかでぐぐってもこのサイトがでてきてウザい。

なんで環境によってライブラリ・ヘッダーファイルのパスが違うとかいうバカげた状況なんだろう。configure とかうざい。うざい。

あれだよね、拡張ライブラリは作る時点で八割りがたウマくいかないし、Pure Ruby なライブラリは使うときにウマくいかない。スーパーハカーなら自分で作るんだろうなぁ。

  1. トップ
  2. web
  3. ruby-xslt
  1. トップ
  2. xslt
  3. ruby-xslt