xfy + cvs + jruby で何ができるか?
ruby で csv を扱う例を見つけた。
ruby で xml を扱う例を見つけた。
これを "xfy から ruby/jruby を呼出す" 事と組み合わせれば、
xfy で cvs を表示する例が簡単に作れそうだ。
(xfy からrubyを呼び出すことで xml を得て、xvcd の template を適用する。
<xvcd:apply-templates select="function:xml-string-to-dom($output)"/>
呼び出す ruby コードでは、 cvs を読み込み、必要に応じて何らかの処理をする。
さらに xml に変換して xfy には、文字列として返すのだ。)
以下の例は、java, jruby で動作する。
CSV を扱う例:
===========
- http://tmtm.org/ja/tdiary/?date=20070412
> > tmtm日記(2007-04-12): SimpleCSV
- http://tmtm.org/ja/ruby/lightcsv/
> > LightCsv: CSV をパースして配列を返す。
(この LightCsv は FasterCVS よりも速いらしい)
require "lightcsv"
s =<<EOS
0,1,2
"a","b","c"
X,,Z
EOSLightCsv.parse(s){|row| p row}
#["0", "1", "2"]
#["a", "b", "c"]
#["X", "", "Z"]LightCsv.new(s).each{|row| p row}
#["0", "1", "2"]
#["a", "b", "c"]
#["X", "", "Z"]p LightCsv.parse(s)
#[["0", "1", "2"], ["a", "b", "c"], ["X", "", "Z"]]p LightCsv.new(s).map
#[["0", "1", "2"], ["a", "b", "c"], ["X", "", "Z"]]
XML を扱う例:
===========
- http://www.nslabs.jp/ruby-rexml.rhtml
> > Netsphere Laboratories: RubyでXML (REXML)
require "rexml/document"
source = <<EOF
<?xml version="1.0"?>
<foo><bar />
<baz>ho<ge</baz>
</foo>
EOFdoc = REXML::Document.new source
puts doc
#<?xml version='1.0'?>
# <foo><bar/>
# <baz>ho<ge</baz>
#</foo>
« ピックアップ:Ruby gettextのデモ, GoogleMapスーパーズーム, etc... | トップページ | ピックアップ: ユーザー造反で Digg が敗北宣言, プログラミングの6大10項目, etc... »
この記事へのコメントは終了しました。
« ピックアップ:Ruby gettextのデモ, GoogleMapスーパーズーム, etc... | トップページ | ピックアップ: ユーザー造反で Digg が敗北宣言, プログラミングの6大10項目, etc... »
コメント