xfy の xpath関数で ruby文を評価させようと試行中
xfy の Xpath 関数を java 言語で拡張定義する方法を試した。
- Javaでxfyコンポーネントを開発するときの環境設定
- XPath拡張関数を実装したxfyコンポーネントの開発
上の説明文と、doc/sample 下のファイルを利用して作業したが、
build.xml に install ターゲットが無くて、 ant 実行時にエラーになった。
試行錯誤で dist/Sample.jar を xfy の bin/plubin/com.example に copy するようにした。
以下に eclipse プロジェクトを tar+gzip したものを置いた。
xfy で jruby を実行する(作成途中) (2006-10-07)
data/hello.xml を xfy で読み込むことで、動作確認ができる。
次に jruby を利用して、ruby の文を実行させた結果を 表示させることを試みた。
data/hello-ruby.xml を読み込むことで動作を確認しようとしている。
hello-ruby.xml では
<h:ruby>3.times{|i|p i}</h:ruby>
と <h:ruby>で ruby の文を囲む。
そして、xpath 関数でこの ruby 文を実行評価させようと企てている。
しかし、うまくいかない。
現象: eclipse から実行すると動作するが、
xfyclient.jar のダブルクリックで実行すると,次のエラーがでる。
[command failed]com.xfy.common.swing.framework.AwtXfyArea$UpdateCommand
No such file to load -- builtin/etc.rb
これを解決させたら、 jruby の Stdout への出力結果を 文字列として xpath 関数
からの文字列とすることが、つぎの作業課題となる。
今は、eclipse の Conpsole エリアに 次のように実行結果が表示されだけだ。
2006/10/07 19:46:50 com.xfy.place.logging.LoggingSupport$TimeredOutPutStream$Task run
情報: Console Output occurred
0
1
2
P.S.
- xpath の処理部で ProcessBuilder を使って、外部プログラムとしてruby を呼び出して、標準出力の内容を string として取得するという手もある。
- ruby での xml 処理は REXML がある。
http://www.cozmixng.org/~kou/ruby/rexml/
« xfy からの投稿 | トップページ | 感想: 弓 »
この記事へのコメントは終了しました。
« xfy からの投稿 | トップページ | 感想: 弓 »
コメント