image

  • フォト Amazonギフト券
    ※この時計の時刻は、閲覧しているパソコンのものであり、必ずしも正確な時間とは限りません

検索

最近のトラックバック

無料ブログはココログ

« ピックアップ:Ruby gettextのデモ, GoogleMapスーパーズーム, etc... | トップページ | ピックアップ: ユーザー造反で Digg が敗北宣言, プログラミングの6大10項目, etc... »

2007-05-03

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
EOS

LightCsv.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&lt;ge</baz>
</foo>
EOF

doc = REXML::Document.new source
puts doc
#<?xml version='1.0'?> 
# <foo><bar/>
#    <baz>ho&lt;ge</baz>
#</foo>

« ピックアップ:Ruby gettextのデモ, GoogleMapスーパーズーム, etc... | トップページ | ピックアップ: ユーザー造反で Digg が敗北宣言, プログラミングの6大10項目, etc... »

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: xfy + cvs + jruby で何ができるか?:

« ピックアップ:Ruby gettextのデモ, GoogleMapスーパーズーム, etc... | トップページ | ピックアップ: ユーザー造反で Digg が敗北宣言, プログラミングの6大10項目, etc... »

mokuji

2013年12月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

google

  • twitter
  • __
  • _
    Googleボットチェッカー

合わせて読む

  • 合わせて読む
    フィードメーター - katoy: cocolog あわせて読みたい

リンク