NULL::something

Login via flickr, はてな, TypeKey.

2005-07-05

ruby-xslt undefined reference to

何度やってもできない。わけわかんないです。-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 を追記。

Inserted at 2005-07-05T14:09:46+09:00

でもこれ 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 っぽいのを返したりできるようになってる?

Inserted at 2005-07-05T15:03:50+09:00

Inserted at 2005-07-05T14:20:36+09:00

Trackback URI: http://lowreal.net/logs/2005/07/05/1.trackback

髪を切る場所が嫌いだ。

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

Trackback URI: http://lowreal.net/logs/2005/07/05/2.trackback

プログラミングの仕方

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

Trackback URI: http://lowreal.net/logs/2005/07/05/3.trackback

NULL

RSS feed meter for http://lowreal.net/logs/latest

Alternates

  1. RSS 1.0
  2. Atom 1.0

Generated with Taglibro

この日記は Taglibro と呼ばれる XML ベースの XSLT をテンプレートとして使ったシステムを使っています。現在の Taglibro は Ruby, ruby-xslt, libxml-ruby による実装です。ソースコードはとりあえず公開していません。