[#29987] ライセンス論点整理 — Tacos <ozaki@...>

38 messages 2001/06/01

[#30030] Ruby license discussion — Masayuki Hatta <mhatta@...>

八田と申します。

23 messages 2001/06/02
[#30034] Re: Ruby license discussion — "Akinori MUSHA" <knu@...> 2001/06/02

At Sat, 2 Jun 2001 14:31:02 +0900,

[#30039] Re: Ruby license discussion — akira yamada / やまだあきら <akira@...> 2001/06/02

[#30056] Re: Ruby license discussion — Takaaki Higuchi <thiguchi@...> 2001/06/03

In "akira yamada / やまだあきら <akira@ruby-lang.org>" wrote:

[#30155] How do we treat local static variables? — IKEGAMI Daisuke <daisu-ik@...>

ruby-list の皆さんこんにちは。

13 messages 2001/06/09
[#30156] Re: How do we treat local static variables? — NISHI Takao <zophos@...9.com> 2001/06/09

にし@おかやまです。

[#30163] FW: [arg1:119] RE: [RubyUnit:4203] Re: インストーラ・プロジェクト — "KANEMITSU Masao" <masao-k@...>

金光です。RAAを改善しませんか?

10 messages 2001/06/10

[#30190] 呼び出し元のクラスを知る方法? — "Shin'ya Adzumi" <adzumi@...>

あづみです。

13 messages 2001/06/11

[#30215] パス文字列を操作するライブラリはありませんか? — "Kaoru Shirai" <shirai@...1jp.com>

 こんにちわ。常日頃 Ruby を愛用させて頂いております。

13 messages 2001/06/13

[#30270] setup.rb — rubikitch@...

るびきちです。

16 messages 2001/06/16
[#30291] Re: setup.rb — Minero Aoki <aamine@...> 2001/06/18

あおきです。すみません、見逃してました。

[#30292] Re: setup.rb — rubikitch <rubikitch@...> 2001/06/19

From: Minero Aoki <aamine@mx.edit.ne.jp>

[#30293] Re: setup.rb — TADA Tadashi <sho@...> 2001/06/19

ただただしです。

[#30305] TMarshal — rubikitch@...

るびきちです。

25 messages 2001/06/19

[#30333] 共同著作物の謎( re :ライセンス) — Tacos <ozaki@...>

13 messages 2001/06/20
[#30334] Re: 共同著作物の謎( re :ライセンス) — Tacos <ozaki@...> 2001/06/20

[ruby-list:30118] Re: xmlparser について(初心者)

From: Makoto Sato <makotosato@...>
Date: 2001-06-06 08:22:57 UTC
List: ruby-list #30118
佐藤@NGBです。

ご法度かなとも思ったのですが、xml-users MLにも
同じ質問を投げていたところ、よしだむさん、山本もぐさんに
レスをもらい、解決しました。

XMLParserを継承したクラスに、character(data)メソッドを追加し、
インスタンス変数をフラグのように使って、フラグがtrueならば、
出力、そうでなければ出力しないという方法で解決しました。

解決後のスクリプトは以下のとおりです。

 1 #!/usr/local/bin/ruby -Ke
      2
      3 require 'xmlparser'
      4
      5 class NewParser < XMLParser
      6   def initialize
      7     @elemNames = []
      8     @start = false
      9     @data = ''
     10   end
     11
     12   def startElement(name, attrs)
     13     if name == "start"
     14       @start = true
     15       @data = ''
     16     end
     17   end
     18
     19   def endElement(name)
     20     if @start
     21       print @data, "\n"
     22       @start = false
     23     end
     24   end
     25
     26   def character(data)
     27     if @start
     28       @data << data
     29     end
     30   end
     31 end
     32
     33 parser = NewParser.new
     34
     35 begin
     36   parser.parse($<.read)
     37 rescue
     38   print "Error: #{$!} in line #{parser.line}\n"
     39 end
~

Makoto Sato wrote:
> 
> 佐藤@NGBです。
> 
> 吉田正人さんのRuby用XMLParserを使い始めたところなのですが、
> 開始タグと終了タグにはさまれたテキスト部分の抽出の仕方が
> 分からず、はまっています。
> 
> XMLParserクラスを継承して、イベントハンドラstartElementの
> 中でdefaultCurrentを呼んでみたのですが、defaultイベントハンドラが
> そのタグの終了タグや次の開始タグも飛び越えてしまっているようです。
> 
> 下記のcopy-dat.xmlから<start>と</start>にはさまれたテキストのみ
> 抽出したいのですが、どのようにイベントハンドラを定義したら
> 良いのでしょうか?
> 
> ===copy-dat.xml===
> <?xml version="1.0" encoding="UTF-8" ?>
> <copy>
> <country name="US">
>   <kind code="P">
>     <storage name="CD" cmp="num">
>       <start>4562596</start>
>       <end>6167568</end>
>     </storage>
>     <storage name="MICRO" cmp="num">
>       <start>3389208</start>
>       <end>4890334</end>
>     </storage>
>     <storage name="KUMIAI" cmp="num">
>       <start>116531</start>
>       <end>6158049</end>
>     </storage>
>   </kind>
> ........
> ==================
> 
> ===copy-dat.rb====
>       1 #!/usr/local/bin/ruby -Ke
>       2
>       3 require 'xmlparser'
>       4
>       5 class NewParser < XMLParser
>       6   def initialize
>       7     @elemNames = []
>       8   end
>       9
>      10   def startElement(name, attrs)
>      11     if name == "start"
>      12       defaultCurrent
>      13     end
>      14   end
>      15
>      16   def endElement(name)
>      17   end
>      18
>      19   def elemNames
>      20     @elemNames
>      21   end
>      22
>      23   def default(data)
>      24     print data
>      25   end
>      26 end
>      27
>      28 parser = NewParser.new
>      29
>      30 begin
>      31   parser.parse($<.read)
>      32 rescue XMLParserError
>      33   print "Error: #{$!} in line #{parser.line}\n"
>      34 end
>      35__END__


========================
佐藤誠@NGB Corporation

In This Thread

Prev Next