FUKUDA Fumiki
ffuku****@ntes*****
2002年 11月 7日 (木) 10:45:35 JST
επιστημη@朱鷺飼育係 です。 --- "[Cuppa-users:162] Re: テストデータを外から食わす" / Tsutsui Kazuhiko --- >フィードバックが遅くなりました。 いえいえ、さんきゅーです。 >tociのtutorialを見ながら、こちょこちょ遊んでいたのですが >XMLで持つデータの一番目のパラメータ型をint型にするとゴミ >データが入るようです。 >... >上記のようにパラメータの定義順を「std::string int」から >「int std::string」ひっくり返した後、 >・上記変更の影響を受ける部分を修正 >・cuppa::TestData::params_type 型に読み込まれているデータを標準 > 出力へ吐き出すように修正 >し、下記のデータを食べさせて実行しますと > > <method name='testLogin'> > <params name='user' type='user'> > <param>5 cocupp</param> > <param>8 umigame</param> > </params> > </method> > >結果は >id-> 0 name-> >id-> 5 name-> cocupp >id-> 8 name-> umigame >と出力され、1件目にゴミが混入します。 僕とこでも再現してくれやがりました。しくしく。 <param>内の子要素が 3つあると思い込んでますなぁ。 朱鷺の腹ン中まさぐってみたけど、 // TestData_parser.cpp void TociYggSAXHandler::catch_text(ygg::ygg_node text) { if ( !insideParam_ || (className_ != targetClassName_) ) { return; } if ( key_.first.empty() || key_.second.empty() ) { return; } // 上の脱出判断をすり抜けるケースがあるのかしらん? map_[key_].push_back(text.get_value()); // ここに3回飛び込んでゆ。 } なんか心当たりありますぅ? > 青紫蘇/菩提樹 担当 -----:-----:-----:-----:-----:-----:-----:-----:-----:----- FUKUDA (episteme) Fumiki -- magical, but never a magic...