[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 2ch.scのread.cgiへ]
Update time : 09/30 13:17 / Filesize : 139 KB / Number-of Response : 689
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C++でXML(主にxerces)やろう!



1 名前:デフォルトの名無しさん [02/04/01 15:06.net]
スレ無いしサイト少ないので立ててみる
いらなかったらサゲまくってください

342 名前:デフォルトの名無しさん mailto:sage [04/10/24 02:12:58.net]
>339
typenameをどっかにつけたら通る
でも、そもそもあれだとgccでも通らない気がするけど…

343 名前:デフォルトの名無しさん [04/10/24 14:26:43.net]
>>342
dクス

えーっと、typenameを付ける場所は二カ所あるです

MiXのバージョンは0.5.3ね

Attribute.h(21)
  typedef nodelist_type::iterator nodelist_iter;
       ↓
  typedef typename nodelist_type::iterator nodelist_iter;

NodeList.h(39)
  typedef container_type::iterator basic_iterator;
       ↓
  typedef typename container_type::iterator basic_iterator;

あと、凡ミスってかcygwinのgcc3.3.1だと平気だけど、VC++7で引っかかる点

Attribute.h(55)
  virtual string_type toString(bool dmy=false,const string_type& dmy=xml_traits::indent(),int dmy2=0)const;
                                          ↓
  virtual string_type toString(bool dmy=false,const string_type& dmy1=xml_traits::indent(),int dmy2=0)const;

引数の名前がダブってる(;´д⊂)


344 名前:デフォルトの名無しさん mailto:sage [04/10/24 15:52:48.net]
>343
> 引数の名前がダブってる(;´д⊂)
そういえばそんなのもあったね(ニガワラ

んでもって、DOMパーサーにXML食わせてパースに失敗したらリソースリークしたり、
(auto_ptrをparseの中に仕組んだりして対処したような)
開始タグを入れる前に終了タグを入れたりしたら(いきなり </> 見たいに)
STLPortのデバックモードで落ちたり…
(空のstackをpopしてたんだっけかな…)

結局途中で断念してしまった…

345 名前:デフォルトの名無しさん mailto:sage [04/10/24 16:56:11.net]
>>344
おとなしくXerces使った方が良いのかも知れんね(´・ω・`)
もうちょっと、MiX使ってみてから判断します


346 名前:345 mailto:sage [04/10/26 21:28:26.net]
感想。

リークはちゃんと調べてないので分かんないけど、
とりあえず、ドキュメントが間違ってるのは何とかして欲しいと思った(;´д`)
まあ、規模はそれなりに小さいので、条件によっては使っても良いんじゃないかと。


347 名前:デフォルトの名無しさん [04/10/28 00:26:18.net]
ホシュ

348 名前:デフォルトの名無しさん mailto:sage [04/11/02 02:00:55.net]


349 名前:デフォルトの名無しさん [04/11/02 18:46:06.net]
C++でXMLいじるとなんかアドバンテージあるの?

350 名前:デフォルトの名無しさん mailto:sage [04/11/02 18:54:30.net]
悪いけどそういうスレじゃないんだよね



351 名前:デフォルトの名無しさん [04/11/02 19:00:25.net]
>>350
(^o^;)

352 名前:デフォルトの名無しさん [04/11/02 20:48:34.net]
>>350
そういうスレだろ

353 名前:デフォルトの名無しさん mailto:sage [04/11/02 21:02:11.net]
違うって。C++のアドバンテージとか言い出すと他の言語による比較論議になる。
そうするともはやC++で〜スレじゃなくなる。
(C++による)MSXMLとXercesの比較などならわかるが、C++を比較対象にするのはちょっと違う。
C++スレでJavaとの比較議論始まったらウザイだろ。それと同じ。


354 名前:デフォルトの名無しさん mailto:sage [04/11/02 21:20:11.net]
>>349
速い。その代わり文字列処理が面倒になるかな。
やるならJavaとかの方がいいと思うけどね。

355 名前:デフォルトの名無しさん mailto:sage [04/11/02 21:25:53.net]
stringクラスとboost使えばそうでもないよ。

356 名前:デフォルトの名無しさん [04/11/02 22:33:02.net]
>>354
じゃあスーパープログラマにとってはC++で組んだ方が気持ちいいんですね

357 名前:デフォルトの名無しさん mailto:sage [04/11/02 22:52:54.net]
C++の場合はXercesじゃないほうがいいじゃん。
ちょっと規模が大きいからもっさりしそう。
単純なパーサ作ればそのアプリのデータだけはきびきび処理できるわけで。

358 名前:デフォルトの名無しさん mailto:sage [04/11/03 03:13:15.net]
>>357
MiX小さくて(・∀・)イイよ

359 名前:デフォルトの名無しさん mailto:sage [04/11/03 16:52:27.net]
バグバグだけどな

360 名前:デフォルトの名無しさん mailto:sage [04/11/03 16:54:28.net]
作者ウザイ



361 名前:デフォルトの名無しさん mailto:sage [04/11/03 17:03:19.net]
無名なのになぜかMiXの名がしばしば出てくるよね

362 名前:デフォルトの名無しさん mailto:sage [04/11/03 17:38:08.net]
MiXでさえ機能多すぎでうぜぇ気がする。
単にパースしてくれれば済む話。

363 名前:デフォルトの名無しさん mailto:sage [04/11/03 17:47:58.net]
キミはちょっと脳たりんだな。

364 名前:デフォルトの名無しさん mailto:sage [04/11/03 17:49:07.net]
誰か、STLPortのデバッグモードでも落ちない小さなXMLパーサをつk(ry

365 名前:デフォルトの名無しさん mailto:sage [04/11/03 18:32:31.net]
>>359
確かになんとかしてほしい。
取らぬ狸の皮算用とか言ってる場合じゃないぞ。


366 名前:デフォルトの名無しさん mailto:sage [04/11/16 14:11:53.net]
hosyu

367 名前:デフォルトの名無しさん [04/12/01 18:22:35.net]
hs

368 名前:デフォルトの名無しさん mailto:sage [04/12/05 21:53:22.net]
xerces-cのminGW用インポートライブラリ作ろうと思って挫折した。難しすぎ。
窓dllの仕組みもよう分からんのに移植しようとか思ったのが甘かったか・・・

369 名前:デフォルトの名無しさん mailto:sage [04/12/05 21:54:43.net]
pexports/dlltoolで駄目だった?

370 名前:368 mailto:sage [04/12/05 22:17:11.net]
名前マングリングされててどうにもならんす orz
pexportsで抜き出したdefの上4行はこんな惨状

LIBRARY xerces-c_2_6.dll
EXPORTS
??0ASCIIRangeFactory@xercesc_2_6@@QAE@XZ
??0AbstractDOMParser@xercesc_2_6@@IAE@QAVXMLValidator@1@QAVMemoryManager@1@QAVXMLGrammarPool@1@@Z




371 名前:デフォルトの名無しさん mailto:sage [04/12/05 22:38:38.net]
ここのxerces-c-mingwは使えないだろうか?
sourceforge.net/project/showfiles.php?group_id=104669

372 名前:デフォルトの名無しさん [04/12/06 22:51:00.net]
てか、ソースからコンパイルすればいいじゃん。

373 名前:デフォルトの名無しさん mailto:sage [04/12/06 23:45:56.net]
ん、たしかに。で、ソースからリコンパイルしてリンクまでいけた。
・・・が、SAXparserのコンストラクタでコケる。
これからデバッグモードでやりなおしてみるつもり。やれやれ・・・。

374 名前:デフォルトの名無しさん [04/12/07 00:21:12.net]
runConfigのオプションは? 
-p mingw-msys -n fileonly -r noneで行けた。
pスレにすると、MinGWのDLLがウザいので、pスレをやめると良いと思われ。


375 名前:デフォルトの名無しさん [04/12/07 11:10:18.net]
tinyXMLって名前のとおりtinyなのかな?
パースするだけならこれで良さそうなんだけれど。

376 名前:デフォルトの名無しさん [04/12/07 20:16:25.net]
パースするだけで、高速なのがよければexpatがお薦め!!
安定してるしね。CPPラッパーの、expatppも結構使える。


377 名前:デフォルトの名無しさん mailto:sage [04/12/08 11:20:48.net]
>374
ビルドの最後でdoowrap.exeからc++.exeに渡すパラメータがおかしくてエラー出てたけど
手動でg++.exeに変更したらなんとかビルドできて正常動作しました。ありがとう。


378 名前:デフォルトの名無しさん [04/12/30 16:33:16.net]
Xerces C++ 2.6.0を使用しています。

for(;;) {
 elem = doc->createElement(tag_name);
 root->appendChild(elem);
 root->removeChild(elem);
 elem->release();
}

と書くと、メモリをがんがんに消費しまくるのですが、
何か足りない処理はありますか?

379 名前:デフォルトの名無しさん [04/12/30 16:49:52.net]
メモリ使用量が正常で無いというのは何と比較したのよ

380 名前:378 [04/12/30 17:09:03.net]
>>379
えと、比較ではなくて、Windowsのタスクマネージャでメモリ消費量を眺めつつ
378を実行すると、メモリ消費量が単調増加していき、最終的にはメモリ不足で落ちる、
という感じです。



381 名前:378 [04/12/30 17:35:37.net]
ついしんです。

for(;;) {
 elem = doc->createElement(tag_name);
 elem->release();
}

でも、起きました...

382 名前:デフォルトの名無しさん mailto:sage [04/12/30 18:01:47.net]
Xercesのソースを少し追ってみました。

release()を行うと、Documentオブジェクトの再利用バッファにElementが退避されます。
退避されたオブジェクトは、次回に同型のオブジェクトを割り当てる際に、再利用されます。

確かにrelease()で解放したオブジェクトは、次回のcreateElement()の
呼び出しで再利用されているようです。しかし、Elementのデータメンバは
管理されておらず、コンストラクタでNULLが上書きされ、結果としてデータメンバは
メモリリークになります。

では手を加えてこのデータメンバを手動で解放しよう...と考えたいところですが、
オブジェクトの割り当てにはDocument独自のヒープ管理によりなされており、
このヒープ管理機能には、個々の割り当て結果を解放する機能がないように
見えます。(一括の解放はある)

恐らくフラグメントの処理等を省いて高速化を図っているんじゃないかと
思うんですが、このあたりの事情はどこかに書いてありますか?
(あるなら、お客さんには「そういうものなんだ」と言って逃げます)

FAQに再利用の件が少し書いてあるのを見つけましたが、リークが起きる事象
そのものの記述ではなく、いまいちな感じです。

383 名前:デフォルトの名無しさん mailto:sage [04/12/30 18:15:29.net]
やっぱり素人にはJavaの方が楽だな.....

と思った。

384 名前:デフォルトの名無しさん mailto:sage [04/12/30 18:15:51.net]
素人って俺のことな

385 名前:382 [04/12/31 01:25:11.net]
そのまま納品しました。
ようやく年が越せそうだ...

386 名前:デフォルトの名無しさん [05/01/13 19:39:01.net]
玄人には?

387 名前:デフォルトの名無しさん [05/01/13 21:57:50.net]
XMLパースプログラムを自分で作るのは難しいのですか?

388 名前:デフォルトの名無しさん mailto:sage [05/01/14 02:11:04.net]
簡単ですよ
ただ、仕様把握するのが面倒なだけで
難しいというか楽しい部分が少ないので誰もやりたがらない

389 名前:デフォルトの名無しさん mailto:sage [05/01/18 18:48:03 .net]
XMLPlatformUtils::Terminate() 呼び出したら
cloneNode() とかで作成したオブジェクトも勝手に削除してる?
アプリの終了時に Terminate() 呼び出すから、
実行中に破棄できるオブジェクトを破棄し忘れてても気づかない・・・

390 名前:デフォルトの名無しさん mailto:sage [05/01/27 12:12:29 .net]
・Xerces(SAX,DOM)
xml.apache.org/xerces-c/
マルチプラットホーム(win32,linux)
windowsの場合、xerces-c_2_6.dll(2,304KB)が必要。

・msxml()
www.microsoft.com/japan/msdn/xml/default.asp
MSXML4まで出てる。
MS独自の仕様があるっぽ

・expat/expatpp(SAX)
expat.sourceforge.net/
早いっぽい

・tinyXML()
sourceforge.net/projects/tinyxml/
小さいっぽい

・MiX()
mix.sourceforge.jp/
このスレに作者がいる予感


速度: expat > msxml = xerces = tinyXML = MiX
機能: xerces > msxml > expat = tinyXML = MiX
容量: msxml = expat = tinyXML = MiX > xerces
安定: xerces = expat = tinyXML > msxml > MiX
OS : xerces > msxml = expat = tinyXML = MiX

このスレを一通り読んで適当に書いてみた。
改変してー




391 名前:デフォルトの名無しさん mailto:age [05/01/27 12:19:24 .net]
誰も居ない予感

392 名前:デフォルトの名無しさん [05/01/27 12:21:40 .net]
何か目標でも立てれば?
2chパーサー作るとか

393 名前:デフォルトの名無しさん mailto:sage [05/01/27 12:27:30 .net]
>>392
別に何か作ろうってスレじゃないと思われ
C++でXMLを使う事について ライブラリとかバグとかを話し合うスレと思われ
そしてネタ切れしてると思われ
とりあえず>>390改変でまとめようと思われ
wiki建てた方がいいのかな

394 名前:デフォルトの名無しさん mailto:sage [05/01/27 12:42:24 .net]
個人的に思ったXML(parser)使う利点
・HTMLぐらい皆がわかる簡単な書式ってそうない。
・簡単なCSVでもパーザ書くのめんどくさいし。
・属性等に名称つけてるので可読性が高い。(CSVは、何行目が何ーとか覚えてないと駄目)
・解析後に独自のバイナリに落としときゃそれなり早いはず。
・ツリー状(親子関係)にデータをもてるので幅広く活用できる
・ゲーム系だとかなり使えるんじゃないの
3Dは、もちろん 基本的なアクションやシューティングって親子関係多いし。
別に親子関係無しでもいいと思う。

弾幕記述言語にXML使ってあり、
libBulletMLにtinyXML使ってるっぽい。
shinh.skr.jp/libbulletml/



395 名前:デフォルトの名無しさん mailto:sage [05/01/27 16:57:29 .net]
食える文字コード
 Xerces: ICUと組んでとにかくいろいろ
 msxml: MSの各種コードページいろいろ(?)
 expat: UTF-8
 tinyXML: UTF-8
 MiX: std::basic_string<> (?)

※適当な調査です

396 名前:デフォルトの名無しさん mailto:sage [05/01/27 18:24:28 .net]
tinyXMLのlibファイル
VC6,Releaseで118KBだった
小さい

397 名前:デフォルトの名無しさん mailto:sage [05/01/27 23:04:33 .net]
expat: SAX
tinyXML: DOM

398 名前:Rubyist! mailto:sage [05/01/27 23:23:22 .net]
libxmlを忘れるなよ。

399 名前:デフォルトの名無しさん mailto:sage [05/01/28 01:15:49 .net]
There are four built-in encodings in Expat:

 * UTF-8
 * UTF-16
 * ISO-8859-1
 * US-ASCII

400 名前:デフォルトの名無しさん mailto:sage [05/01/28 10:07:33 .net]
>>398
それC++じゃないけど



401 名前:デフォルトの名無しさん mailto:sage [05/01/28 10:08:11 .net]
>>396
Mixの方がそれより小さいんじゃないの?

402 名前:デフォルトの名無しさん mailto:sage [05/01/28 10:10:17 .net]
>>390
一番重要なライセンスについて知りたいよう

403 名前:デフォルトの名無しさん mailto:sage [05/01/28 12:44:32 .net]
expatもC++じゃないだろ

404 名前:デフォルトの名無しさん mailto:sage [05/01/28 13:15:16 .net]
>>402
expatとlibxmlはMITライセンス。他は使わないので知らん。

405 名前:デフォルトの名無しさん mailto:sage [05/01/28 14:37:45 .net]
tinyXMLは、zlib? ライセンス

406 名前:デフォルトの名無しさん mailto:sage [05/01/28 15:15:56 .net]
MixとtinyXML容量比較しようと
適当にMiXの全ソース
VC6のstatic libプロジェクトにぶっこんでビルドしたけど
エラー出た。66個
おしまい。
template使いまくりで非常にC++らしく
SAX,DOM両方出来るらしいのは素敵なんだが。

tinyXMLは、
DOMしか出来ないっぽいが、
VC6のlib生成用のプロジェクト最初からついてて
template使わない単純なクラスばっかり。

ヘタレプログラマーには、導入しやすいかと。


407 名前:デフォルトの名無しさん mailto:sage [05/01/28 15:20:50 .net]
>>403
C++版のexpatppってのがあるらしい

libxmlはCだね。
まあC++でも使えるからいいんじゃね?


tinyXML遅いっぽ
ttp://www.radiumsoftware.com/0303.html#030308


408 名前:デフォルトの名無しさん mailto:sage [05/01/28 15:23:49 .net]
Cだと
Parsifalってのもあるっぽいね

www.saunalahti.fi/~samiuus/toni/xmlproc/

速度はやっぱり
expatだが

409 名前:Rubyist! mailto:sage [05/01/28 17:47:33 .net]
libxmlはHTMLParserやシンプルなhttp/ftpクライアントとかXMLSchema/RelaxNG validationやlibxsltと連携できるのが利点かな?
windows上だとiconvやzlibもおまけで付いてくるので少し配布サイズがでかくなるが。

410 名前:デフォルトの名無しさん mailto:sage [05/01/28 19:13:49 .net]
XMLって
<root att0="a", att1="b" />

じゃなく

<root>
<att0>a</att0>
<att1>b</att1>
</root>

って書かないと駄目なんですか?
Elements使えば解析できるが



411 名前:デフォルトの名無しさん mailto:sage [05/01/28 19:23:39 .net]
>>410
テクニカルにはどっちもOK。
理念的には、というか普通はどっちも×。

412 名前:デフォルトの名無しさん mailto:sage [05/01/28 20:11:27 .net]
xmlの理念について解説してるページ教えて

413 名前:デフォルトの名無しさん [05/01/28 21:15:44 .net]
理念など無いよ。

414 名前:デフォルトの名無しさん mailto:sage [05/01/28 21:52:09 .net]
<root att0="a", att1="b" />
         ↑

415 名前:デフォルトの名無しさん mailto:sage [05/01/28 22:01:56 .net]
見落としてた・・・・orz

416 名前:デフォルトの名無しさん mailto:sage [05/01/29 02:58:17 .net]
XMLをバイナリーデータに落とし込む良い方法はありますか?

ttp://www-6.ibm.com/jp/developerworks/xml/040903/j_x-trans1.html
1つだけ情報見つけたけどなんかもっと分かりやすくて
C++で使えるツールとか無いかなぁと。

417 名前:デフォルトの名無しさん mailto:sage [05/01/29 03:32:52 .net]
>>416
zipなりで圧縮すれば?

418 名前:デフォルトの名無しさん mailto:sage [05/01/29 12:11:34 .net]
1バイトずつ読み込んで全ての最上位ビットを1にすればよろし。

419 名前:デフォルトの名無しさん mailto:sage [05/01/29 16:09:30 .net]
壊れちゃうよ

420 名前:デフォルトの名無しさん mailto:sage [05/01/29 16:25:41 .net]
>>410-411は結局どう書けば普通なの?



421 名前:デフォルトの名無しさん mailto:sage [05/01/29 21:28:01 .net]
>>419
ごめん。そうだね。

1バイトずつ読み込んで全ての最上位ビットを反転すればよろし。

に訂正。

422 名前:デフォルトの名無しさん mailto:sage [05/01/30 01:00:02 .net]
>>420
気分次第

423 名前:デフォルトの名無しさん mailto:sage [05/01/30 02:21:42 .net]
>XML Binary Infoset (XBIS)プロジェクト

↑これ使った人いる?

>プレーンテキストの XML と XBIS エンコーディングした XML と
>gzip 圧縮した XML に対するテスト結果によると、
>XBIS を使えば処理時間と文書サイズ両方が小さくできるのに対し、
>gzip 圧縮を用いれば文書サイズが大幅に小さくできる代わりに処理時間が
>増えるということです。

って事らしいが。

424 名前:デフォルトの名無しさん mailto:sage [05/01/31 09:44:26 .net]
読みやすきゃ形式どうでもいいんじゃない?
不安ならHTML真似すれば

425 名前:デフォルトの名無しさん mailto:sage [05/02/01 09:01:41 .net]
SOX(Simple Outline XML)流行らないね

426 名前:デフォルトの名無しさん mailto:sage [05/02/01 18:59:57 .net]
C++でXML書かせたいんですけどいいライブラリないですか?

427 名前:デフォルトの名無しさん mailto:sage [05/02/01 19:50:34 .net]
擦れたい嫁

428 名前:デフォルトの名無しさん [05/02/01 21:22:21 ID:Ibde1uYg.net ? ]
>>427
得ろ杉

429 名前:デフォルトの名無しさん mailto:age [05/02/01 21:35:51 .net]
WinだったらMSXML以外を選択するメリットが分らないんだけど。
XercesとMSXMLの違いを教えてぽ。

430 名前:429 mailto:age [05/02/01 21:52:22 .net]
MSXMLってXPathもXSLTも(1.0だけど)XMLSchemeも実装していて、まじ便利じゃん。
独自拡張って言っても、細かい制御なり設定/取得できていい感じじゃん。
XSLTでもJavaScriptを拡張言語指定できて便利じゃん。(早く2.0を実装しろと)
パフォーマンスも外部参照やValidation組んでいる割にはかなり早いし、軽いじゃん。

くだらない::CoInitialize(VOID)書かなきゃいかんのは、デメリットかな?
スマートポインタと相性悪いんだYO!
個人的にはRELAXを実装して欲しいところ。



431 名前:デフォルトの名無しさん mailto:sage [05/02/01 21:54:13 .net]
ありえね

432 名前:429 [05/02/01 22:03:55 .net]
>>431
具体的にどうありえねーのか教えてくれろ?
ついでにXercesの素晴らしさも教えて欲しいです。

いまXerces-C++使うプログラム書いてんだけどよ、なんか馴染まないんだぁよ。

433 名前:デフォルトの名無しさん mailto:sage [05/02/01 22:07:09 .net]
msxmlでrelaxngの実装されることなんてありえね、と言っているのではないかな。431じゃないがたぶん。

434 名前:429 mailto:sage [05/02/01 22:26:25 .net]
>>433
ありえて欲しいところw
VCのAdd-Inで組んで広めれば、簡単に広がりそうなもんだが。

そういったシェア拡大の為の宣伝は下手だな<relaxng

435 名前:デフォルトの名無しさん mailto:sage [05/02/03 01:22:12 .net]
誘導されてきました。

知ってる人いたら教えてけろ

407 名前:デフォルトの名無しさん 投稿日:2005/02/02(水) 23:26
COMはありですか?

VC6 でMSXML使ってます。

XML形式の書き出しは何とかできたんだけど、出力が1行になっちゃいます。
複数行に出力されるようなフラグとかあるんですか?

現状
<?xml 略?>
<root><a><b>text</b></a></root>

理想
<?xml 略?>
<root>
タブ1個<a>
タブ2個<b>text</b>
タブ1個</a>
</root>

436 名前:デフォルトの名無しさん mailto:sage [05/02/03 01:38:23 .net]
>>435 www.azureus.com/xml/art_prettyprinting_xml.htm

何か大変だな。

437 名前:435 mailto:sage [05/02/03 02:10:32 .net]
ぐ、ぐぅ分からん。
段差をつけるには単純に空白を追加しろって書いてあるような気ガス

もしくは VCでやるには XSLT 使わないとダメってことかなぁ

438 名前:デフォルトの名無しさん mailto:sage [05/02/03 14:02:59 .net]
>>435
IEでみればいいよ

439 名前:429 [05/02/03 19:11:28 .net]
>>435
DOMいじって再帰で階差をつけるよりは>>436のサイトのXSLTを読み込んで
変換かけたほうがパフォーマンス的に良い場合が多いし、楽。(データ量が多いほどXSLT使った方が早い)
もともとXML的にはトリミング無い方が正しい(?自信無し)訳だし、確認だけなら>>438の言う通り
IEで見ればいいと思う。

それ以外だと、UTF-8が素で読み込めないという欠点はあるが、Pythonの標準DOMにprettyXML関数がある。
俺はそれを使って、データの確認をしている。

440 名前:429 [05/02/03 19:15:23 .net]
>>435
ちなみにDOM使って再帰で階差をつけるのはそんなに簡単じゃない。
>>436のサイトではSAX使っている例があるが、SAXならクソ簡単。

>>439
誤 トリミング
正 インデント



441 名前:435 mailto:sage [05/02/03 21:17:00 .net]
みんな色々さんく。

とりあえず今回は時間もないんでDOMのままでいっとく

時間が空いたらSAXやってみるかな

442 名前:デフォルトの名無しさん mailto:sage [05/02/10 19:21:30 .net]
XSLTなら
<xsl:output method="xml" />
<xsl:output indent="yes" />
で済むからめっちゃ楽だよね。

443 名前:デフォルトの名無しさん mailto:sage [05/03/09 20:49:38 .net]
MiXバグだらけ、という話だけど
XMLファイルの読み込み程度なら耐えられるのかな?

それともそれすらままならない?

444 名前:デフォルトの名無しさん mailto:sage [05/03/09 21:38:35 .net]
>443
>339,342,343-346
ここらへんの話だね。
しょうじきSTLの扱いが怪しいところが何箇所かあった。
内部処理にexpatを使ってくれるようになったらいくらか…、
って、expatラッパーならほかにあるしなぁ……。

445 名前:デフォルトの名無しさん mailto:sage [2005/05/10(火) 23:44:35 .net]
<xml>
<text prop="a">AAAA</text>
<text prop="b">BBBB</text>
</xml>

XPathで2番目のノードを指定する場合って
/xml/text[2] なんだけど、
これ以外にプロパティで選択する方法ってある?

ニュアンスはこんな感じ。
/xml/text:prop="b"



446 名前:デフォルトの名無しさん mailto:sage [2005/05/11(水) 01:26:12 .net]
>445
XPathには詳しくないが、ググったら一発で見つかったんで答えてみるテスト。
 /xml/text[@prop="b"]
または
 /xml/text[attribute::prop="b"]

ttp://www.doraneko.org/xml/xpath10/19991116/Overview.html#location-paths

447 名前:345 mailto:sage [2005/06/07(火) 15:22:34 .net]
>>444
結局、時間がなかったのであの時はMiX使ったけど、
次の機会には絶対別のパーサを使おうと決めました。

正直お勧めはしません。

448 名前:デフォルトの名無しさん [2005/07/14(木) 17:24:57 .net]
>>206でも話題にあがってるけど、レスした人がいないようなんで。
XMLのパスに全角文字が含まれていると正しく実行されない。
(DLL内で永久ループにはまる?)
回避法ないですか?

449 名前:デフォルトの名無しさん mailto:sage [2005/07/14(木) 17:34:34 .net]
すまん。DLL内で永久ループ〜ってのは俺のプログラムがあほなせいだった。
m_pParser->parseURI(lpszFileName);

ここでNULLが返ってくるだけだな。
ためしにMSLCh* に変換しても×だった

450 名前:デフォルトの名無しさん [2005/07/15(金) 00:24:56 .net]
#include <Windows.h>

↑Xercesでこれやったら、コンパイルエラーになるんだけど、どうして?



451 名前:デフォルトの名無しさん [2005/07/15(金) 07:59:05 .net]
Windows + VisualC++2003 + STLPortで
コンパイルが通らない。
STLPortが駄目なんですかね?
UNIXユーザーはアプリケーションはソースから
コンパイルして使うのが一般的と聞いたんだけど
こういう場合どういった対処をするもんなんですか?

1.アプリ製作元が確認したビルド環境に合わせる
2.ソースを改変してコンパイルが通る様にする
3.バイナリ版を使う

452 名前:デフォルトの名無しさん mailto:sage [2005/07/16(土) 02:50:03 .net]
Xercesで

DOMWriter *pxWriter = static_cast<DOMImplementationLS*>(pxImpl)->createDOMWriter();
pxWriter->setEncoding( _UNICODE("Shift_JIS") );
pxWriter->setFeature(XMLUni::fgDOMWRTFormatPrettyPrint, true);
LocalFileFormatTarget target( _UNICODE("tekitou.xml") );
pxWriter->writeNode(&target, *pxDoc);

ってやると、勝手に空白二つのインデントが入ったXML文書が出力されます。それをタブにする方法はありませんか?

453 名前:デフォルトの名無しさん [2005/07/16(土) 02:50:36 .net]
age

454 名前:デフォルトの名無しさん [2005/07/26(火) 19:17:47 .net]
neta.ywcafe.net/000339.html

天気予報をXMLで提供すると気象庁が発表してから半年が経った
実は2004年の11月には既に気象庁がこんなプレスリリースを出している。
府県天気予報・府県週間天気予報を新しい形式(XML形式)で提供します。

◎:平成16年12月から追加して発表するもの
(XML形式で提供します。気象庁HPでも12月から掲載します。)

しかし発表で予告された12月1日からもう半年以上を経た2005年7月現在、
気象庁のwebサイトにはXML形式のデータなどどこにも見当たらない。

なお、お察しのとおり、財団法人 気象業務支援センターも
財団法人 日本気象協会も 気象庁の官僚の天下り先である。

455 名前:デフォルトの名無しさん mailto:sage [2005/08/01(月) 20:11:10 .net]
官僚って毎日終電過ぎてタクシーで帰るらしいね。

456 名前:デフォルトの名無しさん mailto:sage [2005/08/21(日) 13:12:18 .net]
仕事が忙しいんだね。大変だ。

457 名前:デフォルトの名無しさん mailto:sage [2005/08/25(木) 23:19:59 .net]
タクシーで帰れるなんてなんて贅沢なんだと思ってしまったw

458 名前:デフォルトの名無しさん mailto:sage [2005/09/04(日) 13:27:06 .net]
仕事で忙しいか。
接待したり、飲み会したり、勉強会と称して雑談したり、
有り余るゼニの使い道を考えたり
ゴルフの練習をしたり

大忙し

459 名前:デフォルトの名無しさん [2005/09/12(月) 22:43:37 .net]
ビルドできないんだけど・・・・

XERCESCROOT=c:/usr/xerces-c-src_2_7_0/src/xercesc

>runConfigure -pcygwin -cgcc -xg++
>make

すっと、

AbstractDOMParser.cpp が、dom/impl/DOMAttrImpl.hpp が見つからないっつってとまる。
そのファイルちゃんとあるし、frameworkディレクトリとかは問題なくコンパイルとおっている
んだけど、なんでですか?

460 名前:459 mailto:sage [2005/09/12(月) 23:20:35 .net]
あれ、cygwinにxerces ついてるじゃん。
こっちつかえばいいや。失礼しました。



461 名前:デフォルトの名無しさん [2005/09/13(火) 03:32:00 .net]
xercesってなんですか?発音も教えて

462 名前:デフォルトの名無しさん mailto:sage [2005/09/13(火) 04:18:34 .net]
ザーシーズ。

紀元前5世紀前半、アケメネス朝ペルシャの王位についていたクセルクセス(Khshaiarsha)王の
名がギリシア語経由で欧米に伝ったもの。ドイツ語や、英語ではXerxesと書く。
のち、フランスの昆虫学者が、サンフランシスコ半島に生息していた絶滅種の蝶に、この大王の
名を付けた。このクセルクセスのフランス語形Xerces、蝶の名が、XMLパーサxercesの元ネタ。

463 名前:デフォルトの名無しさん mailto:sage [2005/09/13(火) 04:25:30 .net]
>>462
本当なんだかネタなんだかよくわからん情報をありがとう。

464 名前:デフォルトの名無しさん mailto:sage [2005/09/13(火) 04:32:09 .net]
本当だ、ばかもの。

465 名前:デフォルトの名無しさん mailto:sage [2005/09/13(火) 19:16:52 .net]
バカとは何だ、バカとは!

466 名前:デフォルトの名無しさん mailto:sage [2005/09/13(火) 19:22:37 .net]
そうだこのうつけが!

467 名前:デフォルトの名無しさん mailto:sage [2005/10/07(金) 00:54:31 .net]
Xercesやexpatの存在を最近知って
とりあえずイジってみたいというレベルの人向けの
入門的サイトってありますか?できれば日本語で。

468 名前:デフォルトの名無しさん mailto:sage [2005/10/12(水) 21:49:16 .net]
大人しく本買うかライブラリ付属の説明を頑張って読むほうが良さげ

469 名前:デフォルトの名無しさん mailto:sage [2005/10/12(水) 21:55:42 .net]
本あったっけ

470 名前:デフォルトの名無しさん mailto:sage [2005/10/12(水) 21:58:18 .net]
俺は↓の読んだけど意見分かれるかもね

C++によるXML開発技法
ttp://www.amazon.co.jp/exec/obidos/ASIN/4894714140/250-1021717-6488243



471 名前:デフォルトの名無しさん mailto:sage [2005/10/13(木) 21:44:54 .net]
というかその本しか無いんだよな

472 名前:デフォルトの名無しさん [2005/10/20(木) 01:46:55 .net]
xerces とか libxml って、そのままだとかなりでかいライブラリなんだが、
サブセットで xxx.dll サイズ小さくしたやつってない?

473 名前:デフォルトの名無しさん mailto:sage [2005/10/20(木) 02:10:42 .net]
TinyXMLとか、MiXとかじゃだめなんか?

474 名前:デフォルトの名無しさん mailto:sage [2005/10/20(木) 02:41:45 .net]
>>472
おま、dll って、windows 限定でいいんなら始めから素直に msxml 使っとけよw

インストールされているバージョンに若干気をつける必要があるが、
最近の windows なら標準で添付されてんだから dll の大きさなんか気にする必要なし。
( 最近の windows じゃなくても最近の IE が入ってればおk )

475 名前:デフォルトの名無しさん mailto:sage [2005/10/20(木) 02:51:38 .net]
最近はライブラリで提供されているのにDLLを使うメリットを感じないんだが。

476 名前:472 [2005/10/21(金) 00:02:41 .net]
ゴメソ
別にwindows限定な話じゃないつもりだったんだけど、dll っていっちゃって失敗したw
いや、フリーでソースも公開されてるので、linuxでもwindowsでも使えて、サブセットを
選べて、場面に応じてコンパクトなライブラリとしてビルドできたらいいななんて思ったんです。

>>473
知りませんでした。ちょっと調べてみまつ Thx!!

ただ、本当は xerces の config オプションとかでサブセットでライブラリを作るかフルセット
で作るかをビルド時に選択できたりするとうれしいかなと。

477 名前:デフォルトの名無しさん mailto:sage [2005/10/21(金) 14:06:32 .net]
小さめのライブラリがいいんならもともと小さいのを使っておればいいだろ
expatとかさ
まあDOMもXPATHも使えんがw

478 名前:デフォルトの名無しさん mailto:sage [2005/10/22(土) 01:05:24 .net]
小さいサイズのライブラリを使うためにライブラリの種類を変えないと
いけない(使い方も微妙にかわる)ってのが嫌なんだろう

479 名前:デフォルトの名無しさん mailto:sage [2005/10/23(日) 00:01:29 .net]
XMLを使うったって、
ちょっとプログラム上でApacheやRealServerのconfを
書き換えたいという程度の時もあるんだな。
夜中にトップページを「また明日」に自動的に変更するとかさ。
そういうちょっとした作業にはMiXでさえうざいぐらい大きい。

480 名前:デフォルトの名無しさん mailto:sage [2005/10/23(日) 21:26:45 .net]
ちょっと書き換えたいだけなら、Perlでも遣え。



481 名前:デフォルトの名無しさん mailto:sage [2005/10/23(日) 21:38:47 .net]
だよな。使う道具を間違えてるのに道具のせいにしてるとしか思えん。

482 名前:デフォルトの名無しさん mailto:sage [2005/10/23(日) 22:53:38 .net]
いや、だから自作してるって。メジャーなのは大きすぎるから。
あと、単独では動かず、Perl本体をインストールしないといけないPerlは問題外。

483 名前:デフォルトの名無しさん mailto:sage [2005/10/23(日) 23:00:44 .net]
もしかしてサーバはWindowsか。なんかもう・・・いいや。

484 名前:デフォルトの名無しさん mailto:sage [2005/10/23(日) 23:06:19 .net]
使うOSすら間違えているんだな。論外。

485 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 00:27:39 .net]
全台UNIXというわけにもいかない。
ハードや商用ソフトの知的所有権の制約もあるんだよ。

486 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 00:31:56 .net]
WindowsならWSHからMSXML使用でいいのでは。

487 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 00:33:56 .net]
だからそういう外部モジュールと依存関係とりたくねーの。
スタティックリンクしてなるべく自己完結したいの。

488 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 00:34:01 .net]
同意。

489 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 00:35:56 .net]
同意は486に対してね。

つかもういいよ。その例はXMLの話にもっていくほどでもない。

490 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 00:55:56 .net]
自分が必要な機能だけをサポートした、小さなライブラリ作れば済むだけの話じゃん。
汎用のライブラリが小さく作れるわけ無かろう。
バカを相手するのも大変だな、まったく。



491 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 01:01:35 .net]
小さいライブラリの実装とか話題にしたくないわけね?

492 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 01:03:13 .net]
「小さいライブラリ無い?」ってただのクレクレ厨じゃん。

493 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 01:08:53 .net]
その場合の大きい小さいって何だ?
ファイルサイズか?それともいらない関数が多いとかか?

494 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 01:15:46 .net]
オレの場合いらない機能が多すぎ。

495 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 01:18:58 .net]
じゃあスレ違いだね。
君専用の汎用ライブラリなんて存在し無いから。

496 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 01:19:07 .net]
「お前が欲しい機能だけ実装されたライブラリ」の話だったらまったく興味は無いな。

497 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 01:22:45 .net]
やっぱXMLの話にもっていくほどじゃないな。
>>494が欲しいのはconfの特定の部分を書き換えるライブラリじゃん。

498 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 01:27:01 .net]
だからトップダウンでパースするかイベントでとるかとか
字句解析時の内部コードはどうするかとか
そういう話にはもって行きたくないのね?

499 名前:デフォルトの名無しさん [2005/10/24(月) 01:28:31 .net]
msxmlの使い方がわかんなくて駄々こねてるだけと見た。

500 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 01:32:09 .net]
いらない機能は使わなければいいだけだと思うのだが。



501 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 01:33:53 .net]
>>498
いつのまにライブラリ無いか?の話からライブラリ作らないか?の話に変わったんだ

502 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 01:35:48 .net]
話が錯綜してるけど482は自作しているのだが。
もう一人は小さいのが無いのか探している。

503 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 01:36:13 .net]
staticリンクなら、もともと「使ってない機能に関する」オブジェクトは
リンクされないんじゃないか?


504 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 01:36:49 .net]
>>498
おまえ素人か。
仮に作りたいなら要件を詰めろよ。
どんな機能が必要か決めないとそんな話にもっていけるわけねーだろ。

505 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 01:37:42 .net]
文字エンコード対応だけで結局デカくならん?
Windowsには標準ではiconvも(もちろんICUも)ないよ?
まあデカいからICUなんてこの場合まず選択肢に入らないだろうけど

506 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 01:39:00 .net]
>>502
自作してるのはXMLパーサじゃないんだろ?


507 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 01:39:44 .net]
>>503
規模が大きいということはずーっとバグ取りやセキリティfixの
バージョンアップがずーっと続くということもあるし。

508 名前:デフォルトの名無しさん [2005/10/24(月) 01:40:39 .net]
>>507
だったら何?

509 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 01:42:00 .net]
具体的に必要な機能って何よ。

510 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 01:43:24 .net]
>>505
UTF-8の場合、外部の正規表現ライブラリの制約とかが無い限り
ASCII記号とマルチバイトが被らないという特徴を生かすという方向もある。

>>506
オレのはトップダウンパーサ。



511 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 01:44:38 .net]
>>508
汎用のパーサに大きすぎるって不満があるから
必要な都度作ってるって話だな。

512 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 01:44:53 .net]
>>510
それは暗にUTF-8限定、と言っとるわけだな。
俺的にはその時点でかなりやなかんじ。

513 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 01:48:01 .net]
俺様ライブラリになる可能性大だなぁ

514 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 01:48:20 .net]
ttp://www.40hz.org/tox/
これはまじで小さいよ。パーサといえるかどうかは微妙だが
インタフェースはSAX風のイベントハンドラ式。
これをちょっといじったのを使ったことはある。


515 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 01:49:26 .net]
ていうか「正規のXML文書であっても読めるとは限らない」ライブラリ、だよね
いらないよそんなの。

516 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 01:50:32 .net]
>>510
いや、parseの方法なんか聞いて無いんだ。
任意のXMLを確実に扱えるのか?

517 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 01:51:06 .net]
配布まで考えるとオレ様ライブラリの方がいいかもね。
ほげほげXMLのバージョンいくつをインストールして
あれもこれもダウンロードしてOSはサービスパックいくつ以上とかうるさくなるから、
なるべくひとつの実行ファイル単体で動作するもののほうがうれしい。


518 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 01:53:50 .net]
俺様なのと単体なのは話が別だ。

519 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 01:54:47 .net]
逆に単体で動く汎用パーサなんてあるわけ?

520 名前:デフォルトの名無しさん mailto:sage [2005/10/29(土) 06:12:53 .net]
www.trickpalace.net/cxx/ex/yggdrasil/



521 名前:デフォルトの名無しさん [2005/10/29(土) 10:39:05 .net]
結論:msxml最高

522 名前:デフォルトの名無しさん mailto:sage [2005/10/30(日) 04:22:38 .net]
>>520
それこそオレ様系だろ

523 名前:デフォルトの名無しさん mailto:sage [2005/10/30(日) 19:51:13 .net]
オレ様系と汎用の境目がわからん。
TinyXmlとかMixあたりだとどっちになるんだ?

524 名前:デフォルトの名無しさん mailto:sage [2005/11/02(水) 07:48:50 .net]
MiX凍結して結構経つなぁ
個人的にTinyやexpatよりもMiXが一番ニーズに合うから期待はしてたんだけど


もうだめぽ…?

525 名前:デフォルトの名無しさん mailto:sage [2005/11/02(水) 14:25:14 .net]
小規模ソフトですぐに枯れたんならむしろ旬だが。
逆に永遠にバグフィックスが続くのが大規模ソフトのイタイ点。

526 名前:デフォルトの名無しさん mailto:sage [2005/11/03(木) 10:12:24 .net]
LISPで我慢しろや

527 名前:デフォルトの名無しさん mailto:sage [2005/11/04(金) 00:04:29 .net]
LISPで"我慢"か
勧めてるのか、けなしてるのか

528 名前:デフォルトの名無しさん mailto:sage [2005/11/29(火) 17:56:08 .net]
MiX、サンプルの
MiX::DOM_Parser<char> parser;
parser.setIgnoreSpace(true);
return parser.parse(fin);
がコンパイル通らなくてどうしようもないんだが。。。
document_typeとMiX::document<char>が合わない??

529 名前:デフォルトの名無しさん [2005/12/07(水) 07:42:08 .net]
WebサービスもXMLもVBならカンタンだね。
WebアプリケーションもWindowsアプリと同じだし、


そもそもXMLって何だっけ?


530 名前:デフォルトの名無しさん [2005/12/10(土) 17:06:55 .net]
MiXが使えないと嘆いてた者です
ちょっとしたXMLを読み書きしたいだけなら
SourceForgeにある、Froggerがよさげでした
機能、サイズともにMiXより小さくて(ヘッダとソースで1000行以下)
DOMでの読み書きができて、SAXは使えません
他、細かい事はできない感じですが、用途によっては十分だと思いました
参考になればと思い書き残しておきます



531 名前:デフォルトの名無しさん mailto:sage [2005/12/10(土) 21:57:39 .net]
HTMLパーサの話題はこのスレ的には×ですか?

532 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 15:40:42 .net]
HTMLパーサの話題はスレが止まるので×です

533 名前:デフォルトの名無しさん mailto:sage [2006/02/02(木) 18:14:26 .net]
ほらほら、止まってるよ!

534 名前:デフォルトの名無しさん mailto:sage [2006/02/04(土) 01:10:11 .net]
IXMLDOMNodeのnodeTypedValueプロパティがSystem.Xml.XMLNodeには
存在しないんだけど、C++でput_nodeTypedValue()でシリアライズした
VARIANTは、どうやればC#で読み出せるんだ。

いろいろ調べたけど、どうも無理ぽなんだが。
(Interop.MSXML2.dllを作れば別だけど)


535 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 21:53:09 .net]
S式パーサがあればXMLなんて不要。
どうしようもなく冗長なXMLを使ってる馬鹿は考えを改めた方がいい。

pc8.2ch.net/test/read.cgi/tech/1140006937/


536 名前:デフォルトの名無しさん mailto:sage [2006/02/19(日) 00:04:45 .net]
機能的にはむしろS式の方が優れているのだが、
XMLである必要ってのは結局ミドルウェアや市販のツールの都合だろうな。

537 名前:デフォルトの名無しさん mailto:sage [2006/02/19(日) 02:06:56 .net]
それよりもHTML(そしてSGML)らしさを醸し出してカモを集めようとしただけだと思う。

538 名前:デフォルトの名無しさん mailto:sage [2006/03/14(火) 08:05:50 .net]
MiX使ってみたんだけどこれなんで引数の受け渡しが参照じゃないの?
理由がサッパリわからんのだけど
もしかしてこれは俺の知らないワンダフルな最適化方法なのかい?

539 名前:デフォルトの名無しさん mailto:sage [2006/03/16(木) 13:40:55 .net]
Xerces ってなんて発音するんですか?

540 名前:デフォルトの名無しさん mailto:sage [2006/03/16(木) 13:49:59 .net]
生の XML ではなくて、RDF (RSS/RDFに限らず)を
いじくるための標準的なライブラリは何でしょうか?

Mozilla のソースなどから取り出して使えないかと
検討したことがあるんですが、単独で使うには
適していないみたいです。



541 名前:デフォルトの名無しさん mailto:sage [2006/03/26(日) 17:30:15 .net]
>>538
MiXは腐ってるし作者も投げたみたいだから使わない方がいいよ。

542 名前:デフォルトの名無しさん mailto:sage [2006/04/11(火) 05:51:59 .net]
>>541
やっぱりか……
MiXソース眺めてみたけどそんな気がしたのでXercesに乗り換えた。

レスdクス

543 名前:デフォルトの名無しさん mailto:age [2006/05/30(火) 17:55:21 .net]
XML教えて♪

544 名前:デフォルトの名無しさん mailto:sage [2006/05/30(火) 17:58:28 .net]
セクロスって何?XMLのツール?

545 名前:デフォルトの名無しさん [2006/06/03(土) 06:38:22 .net]
XML Schema Language でかかれたスキーマから、
C++ のクラスを生成してくれるようなライブラリはありますか?
できればシリアライザも・・・

Java や .NET Framework ではあるのですが、
C++ で読み書きしたいっす。

546 名前:デフォルトの名無しさん [2006/06/24(土) 02:22:52 .net]
セクロス=sex

547 名前:デフォルトの名無しさん mailto:sage [2006/06/24(土) 02:33:39 .net]
>>546
Simple Expression Xml?

548 名前:デフォルトの名無しさん [2006/06/24(土) 13:38:38 .net]
>>540
librdf.org/

C++っていうかCだけど。
あとrepatっていうexpatベースのRDFパーサがあったんだけど配布元が消えた。

549 名前:デフォルトの名無しさん [2006/08/25(金) 02:16:21 .net]
xercesのC++版で、SAXをつかって、ファイルに書き出すクラスってあります?
MSXMLやxercesのJava版ではあったんですが。
とりあえず実装して使ってますが、元々あるなら切り替えたいなぁと。

550 名前:デフォルトの名無しさん mailto:sage [2006/08/30(水) 10:19:57 .net]
Java版にあってC++版にない事もなかろう。つーか、ドキュメントないの?



551 名前:デフォルトの名無しさん mailto:sage [2006/08/30(水) 22:38:19 .net]
Documentというか、Java版のクラス名と同名、一部でソース検索掛けたり、
ぐぐったりしてみましたが、見つからず。


552 名前:デフォルトの名無しさん [2006/09/04(月) 19:56:26 .net]
xecersってライブラリの事?

553 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 10:26:53 .net]
100MくらいのXMLをIEで開いたらフリーズした

554 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 18:32:23 .net]
フリーズではなく、思いっきり時間かかっているだけってことないか?
#100Mもあったら無茶苦茶リソース食いそうだが。

555 名前:デフォルトの名無しさん mailto:sage [2006/09/10(日) 18:57:49 .net]
XMLはDOMで開くと開くXMLのサイズの10倍はメモリ喰うと考えていいな。

556 名前:デフォルトの名無しさん [2006/09/17(日) 15:34:34 .net]
DOMが使えて軽いXMLパーサある?

557 名前:デフォルトの名無しさん mailto:sage [2006/09/17(日) 17:21:33 .net]
MSXML最高

IE6入ってればMSXML3使えるし

558 名前:デフォルトの名無しさん mailto:sage [2006/09/18(月) 14:00:32 .net]
libxml2をわかりやすく解説してるサイトある?

559 名前:デフォルトの名無しさん mailto:sage [2006/09/18(月) 14:05:06 .net]
MSXのMLとどう区別すれば良いですか?

560 名前:デフォルトの名無しさん mailto:sage [2006/09/28(木) 23:06:24 .net]
C++ というか、.NET の話な気がするけど、
XPath などで、1部分だけXMLノードを抜き出して、
それを Read() で回して各ノードの情報を取りたいんだけど、
どの reader に代入すれば良いのか分からない……どうしらた良いですか?



561 名前:デフォルトの名無しさん [2006/09/28(木) 23:07:44 .net]
dom使ったらすんげー遅かった
saxってどうなんすか?

っていうかセンス無いライブラリだと思った
libxmlでも試すか…

562 名前:560 mailto:sage [2006/09/28(木) 23:27:40 .net]
あ、違う方法だけどできた。すまんかった。

563 名前:デフォルトの名無しさん mailto:sage [2006/09/28(木) 23:54:00 .net]
Javaみたいにインタフェースベースで作ればいいのに。
MSXMLだろうがXercesだろうが、
それぞれのファクトリだけ変更すれば全部同じになるじゃん

564 名前:デフォルトの名無しさん mailto:sage [2006/09/29(金) 00:00:38 .net]
MSXMLは元からインターフェースベースですよ。

……すまん、言ってみたかっただけだ。

565 名前:デフォルトの名無しさん mailto:sage [2006/09/29(金) 00:24:22 .net]
まあ、言ってることに間違いはないなw

566 名前:デフォルトの名無しさん [2006/10/28(土) 21:30:02 .net]
xmlファイルのdiffツールでいいものないかな?
単純なdiffだと、line単位で差分を検出してしまうので
無視していいものまで出てきてしまいます
xpath形式に変換してdiffとかすればできるかな?

567 名前:デフォルトの名無しさん mailto:sage [2007/01/12(金) 18:35:35 .net]
UTF-8のxmlをXMLString::transcodeでShift-JISに変換すると下記の様に、"〜"や"−"が"?"となってしまうのは解決できませんか?

「お〜い。−100」 → 「お?い。?100」 となってしまいます。

BCC5.5、Xerces-C++ Version 2.7.0 を使ってます。

568 名前:デフォルトの名無しさん mailto:sage [2007/01/13(土) 06:23:05 .net]
>>567
Shift-JIS と CP932 (MS-Windows-31J, MS932) の違いを覚えるといいと思うよ.

569 名前:567 mailto:sage [2007/01/13(土) 14:44:52 .net]
>>568さん
ありがとうございます。
ttp://www.ingrid.org/java/i18n/encoding/shift_jis.html
を参考に何となく分かりました。

結局解決は無理なのでしょうか…?
Xercesのソースをいじったり、transcodeで使う変換テーブルの様なものがあって、それをいじれば可能とか?
解決方法をネットで探しているのですが、一向に見つからなかったので質問させて頂いた次第です…

570 名前:デフォルトの名無しさん mailto:sage [2007/01/13(土) 14:48:09 .net]
>>569
ICUは?



571 名前:567 mailto:sage [2007/01/13(土) 15:24:46 .net]
>>570さん
ありがとうございます。

実は私、Cの経験は多少あるのですが、C++やXML、またWindows上でのソフト開発に関してはさっぱりのド素人です。
今回は、あるフリーソフトの公開されているソースを、少しだけ自分で必要な機能に特化して改造しようとしていている最中です。
とりあえず何とか環境を揃えて、ソースをビルドできるまでにはなりました(^^;
ICUというのも知りませんでしたが、少し調べてみて、これを文字変換に使えばできるのかな?という感じなのでもう少し調べてみます。
分からなかった場合、また質問させて頂くと思うので、よろしくお願いします。

572 名前:デフォルトの名無しさん mailto:sage [2007/01/13(土) 15:51:57 .net]
今時XPathも使わずにDOMを真面目にたどって要素を取得なんて考えられんが
Xerces, Xalan両方入れるとなるとデカ杉っつー感じよなぁ

573 名前:道化師 mailto:sage [2007/01/13(土) 18:35:35 .net]
>>567-568
バベルでその問題に対応する為にそのへんの差分をいろいろ調べたけど、
取りあえず Xeerces に読み込ませる前に予め以下の変換を施せば十分だと思う。

0x2014 → 0x2015 // HORIZONTAL BAR
0x301C → 0xFF5E // FULLWIDTH TILDE
0x2016 → 0x2225 // PARALLEL TO
0x2212 → 0xFF0D // FULLWIDTH HYPHEN-MINUS
0x00A2 → 0xFFE0 // FULLWIDTH CENT SIGN
0x00A3 → 0xFFE1 // FULLWIDTH POUND SIGN
0x00AC → 0xFFE2 // FULLWIDTH NOT SIGN

あと、Mac 上で作成された UNICODE 文字列には結構
PRIVATE USE AREA ( 0xE000 〜 0xF8FF )のコードが含まれるんで
必要に応じてこのへんのコードも読み飛ばせばおk

574 名前:567 mailto:sage [2007/01/13(土) 21:51:04 .net]
>>567-571,573
ICUとやらををどうにか組み込んだりしてみましたが、ダメでした。
私のレベルでは無理みたいなので、あきらめます…

どなたかWindowsXP、BCC 5.5.1、Xerces-C++ 2.7.0の環境で
>>567が問題無くできているよという識者の方がいらっしゃいましたら、初心者向けに具体的対策を御教授願います。m(_ _)m

575 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 06:19:14 .net]
>>574
>>573 の解決策を施すのが無理って言われたら、
こっちもお前さんに教えるのは無理っす、勘弁してください。

576 名前:567 mailto:sage [2007/01/14(日) 11:46:00 .net]
>>575さん
表の値がよくわかりませんでした…
例えば "〜" のUTF-8コードって 0xEFBD9E、Shift-JISは 0x8160ですよね。
でも XMLString::transcode に渡すのは const XMLCh* 型みたいなので、unsigned shortのワイド文字型のポインタになってますよね。
ということは、XMLString::transcode に渡す前にどこかで UTF-8→XMLCh型の変換 が行われているという事ですか?
つまり "〜" 0xEFBD9E(UTF-8)→<どこかで変換>→0x????(XMLCh型)→<XMLString::transcodeで変換>→0x8160(S-JIS) ということ?
見当違いでしたらすみません。

>>575さんは対策可能なのでしょうね…。ひょっとしたら確認も取れているのでしょうか。すばらしいです。
私の知識レベルでは無理そうです(T_T)

577 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 17:09:56 .net]
ひっかかったのはそこか。
>>573 の変換表の値は UTF32 の時の値。

>でも XMLString::transcode に渡すのは const XMLCh* 型みたいなので、
>unsigned shortのワイド文字型のポインタになってますよね。
>ということは、XMLString::transcode に渡す前にどこかで UTF-8→XMLCh型
>の変換 が行われているという事ですか?
>つまり "〜" 0xEFBD9E(UTF-8)→<どこかで変換>→0x????(XMLCh型)→
><XMLString::transcodeで変換>→0x8160(S-JIS) ということ?

xerces を触ったことはないけど、恐らくそうだろうね。
const XMLCh * な文字列に格納された時点で UTF32 に変換されていれば、
>>573 の変換を<XMLString::transcodeで変換>の直前に適用するだけで多分、おk

578 名前:567 mailto:sage [2007/01/15(月) 15:58:45 .net]
>>567です。
読み込むオリジナルのXMLはUTF-8だったのですが、これを一旦Shift-JISに変換してからxercesを通す事で、XMLString::transcode周りをいじらずに、とりあえず求める結果を得ることが出来ました。
("〜"はまだですが、"−"は表示確認済み)
レスをして下さった皆様ありがとうございました。m(_ _)m

579 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 14:09:48 .net]
linux & C++ & libxml2 で設定ファイル読み書きさせたいんだけど全然資料ねーや
日本語の資料なんかないですか?

580 名前:デフォルトの名無しさん mailto:sage [2007/02/21(水) 18:19:34 .net]
unixって言語ごとに別のライブラリがいるのか?



581 名前:デフォルトの名無しさん mailto:sage [2007/02/21(水) 20:37:25 .net]
基本的にUNIXはソース配布が常識。
同じディストリでもバージョンでランタイム環境は変わるよ。

というかバイナリ配布だと動作確認が面倒くさすぎる。

582 名前:デフォルトの名無しさん [2007/04/08(日) 02:46:54 .net]
XMLで文字を太字にするにはどうすればいいんでしょうか?
初心者でわからないので、宜しくお願いいたします。

583 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 04:36:57 .net]
その質問自体的外れだが、XMLをどうやって使うのが目的かによる。
XML自体は太字にする機能や文書の整形に関する機能などは無い、
例えば最近のWordでは文書をXMLで保存しているのでWordで使っているXMLの構造にあわせる
というのであれば、Wordのファイルをのぞいてまねをすればできるとは思う。
それでもプログラムを組むこととは関連が無いので、板違いだ。

584 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 13:25:37 .net]
<b></b>

585 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 14:14:25 .net]
オリジナルのプログラムをお持ちの方いらっしゃいませんか?
この度クレジット決済でスムーズにダウンロード売買が
できるサイトを立ち上げました。
つhttp//web-cart.jp/
※会員登録&商品のうp全て無料です!
クオリティの高い商品のうpをお待ちしてますw

586 名前:デフォルトの名無しさん [2007/04/24(火) 22:05:20 .net]
先週からxeres-c使いはじめました。基本的な質問ですが、
DOM->XML(DOMStringからXMLStringなど)にどうして変更になったのでしょう?

587 名前:デフォルトの名無しさん mailto:sage [2007/04/24(火) 23:15:12 .net]
すいません。自分の作るexeよりも
xeresのDLLの方が大きいのですがどうしましょう

588 名前:デフォルトの名無しさん mailto:sage [2007/04/25(水) 12:40:32 .net]
何の問題もないと思うが

589 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 17:01:07 .net]
>>587
俺もC++で作ってたツールのデータ表現でxmlがいいかなぁと、
Javaみたいなノリで使おうと思ったら、
ライブラリの方が巨大で( ゚Д゚)ポカーンって感じだった。

結局、xmlの仕様は無視して、
体裁だけそれっぽいだけの俺xmlで書きたかっただけだから、
ヘッダ読み捨て、エンコード腐ってたらこける、
DTDって何ですか?な俺ライブラリ書いて適当にやった。w

どうせ文字列パースするだけだし、
車輪の云々とか気にしないならお勧め。w

590 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 17:22:06 .net]
WindowsならそこでMSXMLですよ



591 名前:デフォルトの名無しさん [2007/06/28(木) 16:09:26 .net]
質問です。初期化の
XMLPlatformUtils::Initialize();
の引数の使い方わかる方教えてください。
適当に指定しても動くのですが、効いているのかわからなくて…。
よろしくお願いします。

*適当に指定の例
DefaultPanicHandler pn;
MemoryManager *m = new MemoryManagerImpl();
XMLPlatformUtils::Initialize("ja_JP","",&pn,m,true);

*引数は以下
XMLPlatformUtils::Initialize (
        const char *const locale = XMLUni::fgXercescDefaultLocale,
const char *const nlsHome = 0,
PanicHandler *const panicHandler = 0,
MemoryManager *const memoryManager = 0,
bool toInitStatics = false
)


592 名前:デフォルトの名無しさん [2007/07/22(日) 00:01:19 .net]
XML文書の一部もしくは全部を暗号化したり署名したりする
XML暗号化の規格がありますが、実際にその操作をすることが
できるライブラリはあるのでしょうか?

RSS で配信する情報の一部分を暗号化したり、
もしくは改変されていないことを保証するために
署名したりしたいと思っています。

593 名前:592 [2007/07/22(日) 00:12:03 .net]
.NET Framework と Java にはあるみたいなんですが、
C++ で使えるライブラリを探しています。

594 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 03:07:51 .net]
libxml++使ってる人いる?

595 名前:デフォルトの名無しさん [2007/07/23(月) 20:22:57 .net]
Xercesのパースに関する質問です。
現在、スキーマを用いたparse時の挙動が分からず困っています。
<xs:pattern value="(([0-9]{1})|([0-9]{2}))-(([0-9]{1})|([0-9]{2}))"/>
というパターンがあるのですが、"["と"]"が処理できていないようなのです。(パース時にエラー)

スキーマを適用する際のパラメータは以下の3つ(だけ)だと思っています。
・setDoValidation
・setValidationScheme
・setDoSchema

そのうちのsetDoValidationはsetValidationSchemeにとって変わられたので、
意識すべきはsetValidationSchemeとsetDoSchemaであるということが調べて分かりました。

setValidationSchemeとsetDoSchemaはそれぞれどういうことをするためのものでしょうか?
一応APIドキュメントは読んだものの、理解できませんでした。
DTD用とschema用で分かれているとかでしょうか?

596 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 16:03:44 .net]
>595
特定しますた。

ちなみに、Xerces の正規表現実装がマッチが成功した場合にはバックトラックしない({2}にマッチするものは確実に{1}にマッチするけど、{1}にマッチした段階で{2}にマッチさせようとしない)というのが問題。
選択の順番をひっくり返すか、普通に量指定子{1,2}を使うことで回避可能。

597 名前:デフォルトの名無しさん [2007/07/28(土) 16:11:47 .net]
【派遣ネガティブ根性チェック】

3つ以上、チェックがつけばアナタの性格はひん曲がっており、
ネガティブ負け組派遣人生を歩んでいます。

□派遣先正社員の作った糞開発ツールはたとえ腐っててもマンセーして使う
□派遣先の人事権のある社員の意見はたとえ間違っていてもマンセーする
□仕様とは正社員から口伝されるものだ
□耳で聞いた仕様を正確に覚えていないのは自分の責任だ
□昼食は必ず派遣先の社員と行くべきだ
□自分の仕事で問題が発生しても解決するのは派遣の仕事ではない
□自社で仕事なんてできるわけがない
□派遣労働の問題点の話題が出ると感情剥き出しにして反論する
□派遣労働の問題を指摘する人は嫌いだ
□派遣先には仕事だけでなくプライベートについてもグイグイ引っ張って欲しい
□奢ってくれる派遣先正社員を尊敬する
□自分の月額金額を知らないのは当然だ、単金を聞いてはいけない
□派遣先正社員より自分の生涯収入が低いのは当然だ
□チビは派遣先にかわいがってもらいやすいから派遣には有利だ

598 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 22:43:42 .net]
boost::serializationも仲間に入れておくれ。

599 名前:デフォルトの名無しさん [2007/08/08(水) 12:56:54 .net]
>>598
俺愛用してる、 boost::serialization。
でも XML という点でいうならむしろ
boost::archive::xml_iarchive と
boost::archive::xml_iarchive ではないだろうか。

600 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 22:52:36 .net]
xml_iarchiveと
xml_iarchiveには
つっこまずにいられない。



601 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 22:57:02 .net]
XMLじゃねーけどPythonでlxml(libxml2のバインディング)に
hogeとか食わせたら
<html><body><p>hoge</p></body></html>
みたに出力するのに驚いた

なんだこれ、やり過ぎじゃねとも思うがスゲーな

602 名前:デフォルトの名無しさん mailto:sage [2007/09/11(火) 23:02:03 .net]
全然詳しくないので質問させてください。

自称「マネージメントもできる」派遣クンが
「XMLが僕のプログラムどおりに読めない原因を調べるのは僕の仕事ではありません。」
と言っています。

彼のXMLプログラムが動かないのを調べるのは誰の仕事なのでしょうか?


603 名前:デフォルトの名無しさん mailto:sage [2007/09/12(水) 23:08:44 .net]
それなら「XMLが僕のプログラムどおりに読めない原因を調べるのは僕の仕事です。」
という人に来てもらえばよいでしょう。

604 名前:デフォルトの名無しさん mailto:sage [2007/09/14(金) 00:34:25 .net]
expatの使い方でちょっと質問。
たとえばこんなXMLがあったとき。

<aaa>hoge<hage</aaa>

XML_SetCharacterDataHandlerで登録したハンドラは3回呼ばれる。
それぞれ "hoge" "<" "hage" を引数として伴うわけだけど、
実体参照があるたびにいちいちそこで分割されてるのがめんどくさい。
何かオプションをセットして解決できないかな?
実体参照はできればそれが参照している文字に置き換えてくれた方がいいけど、
そうでなくてもいい。

605 名前:デフォルトの名無しさん [2007/09/30(日) 08:54:15 .net]
xercesのインストールに関して質問です。
mac osx ppc64 にソースコードをビルドして入れようとしているのですが、
makeで各オブジェクトファイルの生成、コピー後にライブラリをビルドしようとする所でエラーになってしまいます。

対処法をお教えください。

toplevel Building /usr/local/xerces/lib/libxerces-c.28.0.dylib
make -C /usr/local/xerces/obj -k
make[1]: *** No targets specified and no makefile found. Stop.
make: *** [/usr/local/xerces/lib/libxerces-c.28.0.dylib] Error 2

606 名前:デフォルトの名無しさん [2007/10/03(水) 23:42:26 .net]
上記のものです。
64ビットようのオプションを立ててconfig, makeで先には進んだんですが、

/usr/bin/libtool: file: -lxerces-c is not an object file (not allowed in a library)
make[1]: *** [/Users/---/---/xerces-c-src_2_8_0/lib/libxerces-depdom.28.0.dylib] Error 1

と言われてライブラリのビルドでこけてしまいます。
一人で騒いで済みませんが、ご存知の方お教えください。


607 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 00:17:53 .net]
Javaと同じようにw3cのネームスペースでインタフェースを作ったりする運動はないの?

608 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 17:53:24 .net]
libxml2でXML出力したら全部1行に。
ちゃんと改行やインデントを入れて、人に優しいXMLを出力したいのですが。

xmlIndentTreeOutput = TRUE;
xmlTreeIndentString = "\t";

とかやってみたけど結果は変わらず…。

609 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 19:59:45 .net]
libxml2使うならサイト見ろや。ちゃんと書いてあるから。

610 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 21:02:04 .net]
windowsでtinyxml利用してるんだけど、保存時、shift_jisになっていまいます。
utf-8で保存することはtinyxmlでは無理ですか?

リファレンスとかも探したつもりなんだが、
無理なら使うのやめるか保存後に変換しようと思ってます。



611 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 21:47:02 .net]
XalanのTransformerでXSLT変換のプログラムを作っているのですが2点ほど困ったことがあります。
xslに含まれる相対パスが都合上単純にbaseuriを設定しただけでは解決できないため、
setEntityResolver()でリゾルバを指定して解決しようとしているのですが・・・

1.resolveEntity()に相対パスが来ず絶対パスが来ます。相対パスがくるようにする方法ってないでしょうか?

2.以下のようなENTITY宣言の相対パスはresolveEntity()に来ないため相対パスを解決できません。こういう場合はどうしようもないのでしょうか?
<!ENTITY % common.entities SYSTEM "../common/entities.ent">

以上、手がかり等でもいいのでどなたか教えていただけないでしょうか?

612 名前:デフォルトの名無しさん [2008/03/07(金) 21:52:08 .net]
人少なそうなのでage

613 名前:デフォルトの名無しさん [2008/03/26(水) 18:25:20 .net]
vc2003 で xerces の unicode対応版static lib をビルドし
saxサンプルアプリにリンクしようとしたんだけど、

error LNK2019: 未解決の外部シンボル "public: static char * __cdecl xercesc_2_8::XMLString::transcode(wchar_t const * const)" (?transcode@XMLString@xercesc_2_8@@SAPADQB_W@Z) が
関数 "public: virtual void __thiscall MyHandler::startElement(wchar_t const * const,class xercesc_2_8::AttributeList &)" (?startElement@MyHandler@@UAEXQB_WAAVAttributeList@xercesc_2_8@@@Z)
で参照されました。

とか出てリンクできない
これ有名なバグだったりする?

614 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 18:28:18 .net]
ごめww
分かった

xerces側で「wchar_tをビルトイン型として扱う」が「いいえ」
サンプルアプリ側で「はい」になっていたからだった

スマソ

615 名前:デフォルトの名無しさん [2008/04/08(火) 15:46:57 .net]
boostに取り込まれないかな

ていうかstlに

616 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 22:33:02 .net]
Boostに加わって解説書出ないかな
ネット上にあった他人のソースを参考に組んでるが全然理解できない

617 名前:デフォルトの名無しさん [2008/04/09(水) 02:24:44 .net]
このスレの住人なら知っていますね、あの糞開発ツールのことを

・自分のプログラムのバグなのかコンパイラのバグなのかわからない
・他の仕事に応用できない糞開発ツールの独自世界を必死に学習している
・テキストエディタで書いたほうが効率的なのに糞UIツールを懸命に使っている
・糞開発ツールを批判すると「性格が悪いから糞ツールを批判するんだ」と言われる

糞だけど、政治的な理由で無理やり使わされているんですよね。
もう、あんな厨の作った糞ツールを我慢して使うのはやめましょう。

・糞開発ツールを部下に押し付ける上司の命令は無視しましょう。
 上司は糞開発ツールが使われる実績を作ることであの会社のごきげんをとっているのです。
・糞開発ツールを使わせる上司の下では働けません、と上司の上司に直訴しましょう。
・あの糞開発ツール提供会社には「おたくの糞開発ツールは話にならない」と突き放しましょう。
 バグレポートなどしてはいけません。改善要求などもってのほかです。
 あの会社はあなたたちのことをテスター/モルモットとしか思っていません。
・あの会議で「糞開発ツールを使ったら生産性がxx%アップしました」
 なんて話が出たら力強く机を叩き、会議室を出ましょう。
 あの人たちは糞開発ツールをマンセーすることで立場を確保しているのです。

糞な開発ツールを糞だと言える、そんな当たり前の環境をみんなの力で取り戻しましょう。

618 名前:デフォルトの名無しさん [2008/04/09(水) 04:57:03 .net]
>>616
xercescって使いやすい?
C++のDOMパーサーはノードを参照で返したほうが使いやすくなるような気がする。

619 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 06:35:47 .net]
なんていうか、大げさな感じがする

620 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 22:47:43 .net]
ああ、さすがにBig過ぎてちょっとBlueになるな。




621 名前:ゼッド [2008/05/02(金) 12:18:20 .net]
XalanでXPathを使ってデータの取得はできるようになったけど、
書き出すには相変わらずDOMを使ってる。
コード的には、完全に切り離されてる感じでカッコ悪いです。
ひさびさに嵌りました。


622 名前:デフォルトの名無しさん [2008/05/02(金) 13:52:25 .net]
xalanのメリットってxercesと組み合わせられることだと思う

ただ
ライブラリが馬鹿でかすぎるデメリットの方が大きいけど


623 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 10:14:37 .net]
要素の混合内容をオミットすれば、DOMみたいに無闇に多相じゃないXML構造木をC++で書けそうな気がするんだよな。
だれかやってみてくれよ。 boost-friendlyな感じでさ。

624 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 08:15:33 .net]
よく言われるXMLの構造が複雑なのはデータそのものが複雑だからって解釈でOK?
WindowsもLinuxも両方対応するXMLパーサってあるかな?
あるいは同じソースコードでもOS依存が少ないようなもの


625 名前:デフォルトの名無しさん [2008/06/22(日) 08:22:26 .net]
あげ

626 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 19:40:07 .net]
>>624
MSXMLがWindows依存なだけで他はほとんどプラットフォーム非依存だ。
テキストを読み込んで解析するなんてOSの出る幕はないだろよ。

最近処理を丸投げしてPythonに解析させると楽だということに気がついた。
boost::pythonとPythonのxmlモジュールを使えば、速度の要らない場面なら相当タイプ量を減らせて良い感じ。

627 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 20:00:49 .net]
まあXMLなんて使わんでいいんならそれに越したことはねえやな
C/C++で、かつ自分でデータ形式選べるんなら、XMLはあり得んわ

628 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 22:58:02 .net]
でもXMLほど多言語・環境でAPIが用意されている形式もなかなかない。
だがしかし、たしかにC/C++でのXMLの扱いの不便さも異常。

629 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 23:07:24 .net]
>>628
LispでのXMLの扱いの楽さは異常。

630 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 00:27:48 .net]
汎用的に使用できるAPIを提供している非営利団体がいてくれれば、どの言語も同じ。
XMLプログラムは作る時代から使う時代に移ろうとしている




631 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 00:26:17 .net]
Xercesの使い方がよく分からなくてザーセツ…
つーか日本語の情報少なすぎて英語苦手の俺にはつらいお…

632 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 00:41:31 .net]
たかがテキストのタグとアトリビュート切り分けてせいぜいタグの対応
チェックするだけなら大した話でもないと思うが
IANAのencoding指定に対応したり
外部実体参照だのを解決したり
DTDやらXML Schemaやらでバリデートしたり
XSLだのXPATHだのに対応したり

こういうもろもろの仕様がウゼーからXMLのライブラリは無駄に巨大になるんだろ
Xercesとかさ
階層的なデータ構造を表現するための、ただの構造化テキストが欲しいんなら
XMLなんて仕様的にはtoo muchであって、要らないんだよ
だから最近はYAMLだのJSONだの流行ってるんだろ
別にS式でもいいけど

633 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 21:58:15 .net]
UnicodeとかURIとかもなー

634 名前:デフォルトの名無しさん [2008/08/03(日) 09:20:05 .net]
>>629
ActionScriptもかなり扱いやすいぞ。C++からずれてゴメンネ



635 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 09:20:55 .net]
C++でCGIやろうぜ!高速だろ!?

636 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 11:18:32 .net]
俺は一人でProtocolBufferに付いて行くぜ。XMLなんて形式ばかりのファイル扱ってられるかよ

637 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 12:46:23 .net]
>>635
index.cgi、list.cgi、register.cgi、・・・と個別にバイナリ作るのがめんどくさすぎる
だからと言って一つのcgiにまとめるとパラメータと処理のマッピングがごちゃごちゃに

apacheモジュールとして作れば解決するかも試練が。

638 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 13:34:10 .net]
TAOとかつかうの。アレ難しいから

639 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 14:12:52 .net]
わざわざC++使ってCGIなんて糞な仕組み使うなんてありえねえ

ぼこぼこプロセスforkしまくるわ
他言語では利用可能な便利な仕組みはほとんど使えねーわ
コンパイルが必要でおまけにコンパイルに糞みてーに時間かかるわ

ありえなさ過ぎて笑える

せめてCGIじゃなくてFastCGIにしとけよ
単なるWebアプリのためにxSAPI叩いてWebサーバと一蓮托生ってのもありえねーから

640 名前:デフォルトの名無しさん [2008/09/29(月) 20:05:34 .net]
読み取り専用のファイルにLocalFileFormatTarget行ったら落ちました
これ回避する方法ってWin32API使うしかないんでしょうか?
Xercesだけで完結できれば一番なのですが。




641 名前:デフォルトの名無しさん [2008/11/18(火) 23:09:56 .net]
VS2005 VC++で開発してるのですが、
MSXML6.dllの使用方法が猿でも分かるような
書籍、またはサイトはないでしょうか?
ご教授おねがいします。

642 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 23:40:40 .net]
つ[msdn]

643 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 03:07:59 .net]
>>641
無いよ

644 名前:デフォルトの名無しさん [2009/01/21(水) 09:21:31 .net]
プロジェクトにスタイルシートを追加できたのですが、
これ、WEB上で表示させるにはどうすればいいんでしょうか?
もしかしてVSでやるメリットって入力支援があるってだけですか?

645 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 17:01:54 .net]
Visual StudioはASP.NETなどサーバ側アプリケーションの開発の機能も持っている関係で、CSSも編集できるわけだ。
単独で使うなら、インテリセンスが効く、それ以上でもそれ以下でもない。

646 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 11:41:41 .net]
こやつめw

647 名前:デフォルトの名無しさん mailto:sage [2009/03/16(月) 19:46:38 .net]
ほしゅ

648 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 03:48:45 .net]
そうかなあ

649 名前:デフォルトの名無しさん [2009/08/03(月) 12:57:37 .net]
xercesは死滅しちゃうの?

650 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 13:10:43 .net]
英文だと何もできない阿呆共が騒いでるだけ



651 名前:デフォルトの名無しさん [2009/08/05(水) 00:45:59 .net]
ここでこっそりXMLLite

652 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 16:37:31 .net]
C++でXML(主にxerces)は死滅しちゃうの?

653 名前:デフォルトの名無しさん [2009/08/10(月) 22:16:10 .net]
age

654 名前:デフォルトの名無しさん mailto:sage [2009/11/24(火) 19:09:44 .net]
tinyxmlにはgettxtがあるがsettxtがないな
値の変更ぐらい標準装備してないのか・・・
xercesは避けたいのに

655 名前:デフォルトの名無しさん mailto:sage [2009/12/11(金) 18:08:43 .net]
Boost.PropertyTree

656 名前:デフォルトの名無しさん mailto:sage [2010/01/31(日) 19:07:15 .net]
どれも使い方がわからない
自分でパーサー作るわ

657 名前:デフォルトの名無しさん [2010/01/31(日) 22:03:37 .net]
age

658 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 23:31:28 .net]
>>655
それってネストされたmapみたいになってるの?

659 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 00:49:04 .net]
TinyXMLでTiXmlBase::Parseの逆の動作をするメソッドってない?

660 名前:659 mailto:sage [2010/07/05(月) 09:50:41 .net]
自己解決。
TiXmlPrinter printer;
node->Accept( &printer );
std::string str( printer.Str() );
でnodeの文字列表現が取得できた。



661 名前:デフォルトの名無しさん [2010/09/29(水) 23:13:40 .net]
よかった

662 名前:デフォルトの名無しさん mailto:sage [2011/03/11(金) 12:52:15.97 .net]
ありがとうです

663 名前:デフォルトの名無しさん mailto:sage [2011/03/12(土) 18:44:23.40 .net]
どういたしますです

664 名前:デフォルトの名無しさん mailto:sage [2011/07/02(土) 11:48:52.10 .net]
JAXBとかO/Rマッパーみたいにマッピングしてくれるのが欲しいよね

665 名前:デフォルトの名無しさん mailto:sage [2011/07/03(日) 11:33:36.13 .net]
saxよりdomの方が速いよね
ちまちまFILE IOやるSAXが速いわけがない

666 名前:デフォルトの名無しさん [2011/08/03(水) 07:49:22.21 .net]
vc++2010でexpatのスタティックライブラリがコンパイルできない
何か特別なやり方でもあるのでしょうか

667 名前:デフォルトの名無しさん mailto:sage [2011/08/03(水) 17:09:34.97 .net]
>何か特別なやり方でもあるのでしょうか
”特別な”とか言い出すくらいだから
自分のコンパイルまでに至る経緯が全て正しい
とか思ってるだろ?

668 名前:デフォルトの名無しさん mailto:sage [2011/08/03(水) 21:20:43.77 .net]
>>666
ソースからコンパイルしてlibを作るという話ではワークスペースファイルdswが2010だと開けないので
2008でなんやかんやしなくちゃいけない。
sourceforgeのexpat_win32から落とすとlibファイルが手に入る。

libファイル使ってなんか作ったけどコンパイルできないという意味なら
#define XML_STATIC
を追加してみる。

669 名前:デフォルトの名無しさん mailto:sage [2011/08/03(水) 21:46:35.21 .net]
ありがとうございます

670 名前:デフォルトの名無しさん mailto:sage [2011/09/17(土) 15:00:55.28 .net]
エンティティ参照させたXML読ませたら、例外がその数だけ発生するんだけど、ちゃんと読まれてるっぽい。
何がいけないのか?



671 名前:デフォルトの名無しさん [2012/03/09(金) 07:31:48.56 .net]
さあ

672 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/07(土) 16:10:57.69 .net]
XMLパーサーを自作中。
再帰的な構造のクラスを作る勉強のため。

673 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/07(土) 20:05:21.88 .net]
解釈だけじゃなくて設定もできるようにしたぞ。
階層に応じて段付けもしたり。

674 名前:デフォルトの名無しさん [2012/10/08(月) 20:55:29.82 .net]
ほしゅあげ

675 名前:電脳プリオン 忍法帖【Lv=40,xxxPT】(2+0:5) 【38.4m】 mailto:sage [2013/01/27(日) 19:01:01.22 ?PLT(12080).net]
  ∧_∧
  ( ・∀・)            人 ガッ
  (    つ―-‐-‐-‐-‐-‐○ <  >__Λ∩
  人 Y ノ.             V`Д´)/
  し(_)                  /  ←>>268

676 名前:デフォルトの名無しさん mailto:sage [2013/07/20(土) NY:AN:NY.AN .net]
手抜きしてバイナリを使ってみたら
undefined reference to `__ctype_b'
でビルドが通らない。ソース取ってきて、こんな感じでlibxerces-c.aを作り直したらビルド通ったわ。

./configure CC=gcc-4.6 CXX=g++-4.6 CFLAGS=-O3 CXXFLAGS=-O3
make clean
make

(゚ω゚)詳細はブログに書いてる。
ameblo.jp/pochifx/entry-11564044980.html

(゚ω゚)動作環境は Ubuntu
ameblo.jp/pochifx/entry-11487720858.html

677 名前:デフォルトの名無しさん [2014/02/27(木) 22:29:35.86 .net]
難しいな・・・

678 名前:デフォルトの名無しさん [2014/03/01(土) 05:01:05.88 .net]
XMLって言語関係ないだろ

679 名前:デフォルトの名無しさん [2014/03/02(日) 09:57:45.56 .net]
XMLって何か地味なんだよ

680 名前:デフォルトの名無しさん [2014/03/03(月) 10:36:25.45 .net]
Boost.PropertyTree便利だな
構造化したコンフィグファイルみたいな内容を見て処理を変える時にはBoost.Serializationよりいい感じ
DIモドキとかも簡単に作れそうだ
唯一の欠点はValidationできないぐらいか



681 名前:デフォルトの名無しさん mailto:sage [2014/03/04(火) 20:34:41.46 .net]
XML野郎

682 名前:デフォルトの名無しさん [2014/03/08(土) 05:12:19.14 .net]
C言語用の良いXMLパーサってある?

683 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 10:56:06.81 .net]
Cならlibxml2かexpatでええやん

684 名前:デフォルトの名無しさん mailto:sage [2014/10/15(水) 23:29:55.90 ID:gBbd6Hwn.net]
vc++2013でxmlの読み書きをするプログラムを作っています。
visualStudioでreleaseでビルドをして正常に動くプログラムを他のパソコンで動かすと

Fault Module Name: MSVCR120.dll

のような事を言われてプログラムが停止してしまいます。
Visual C++ Redistributable Packages for Visual Studio 2013はプログラムを動かすパソコンにインストールしました。
ヘッダーは以下を使っています:

#include <stdio.h>
#include <Windows.h>
#include "stdafx.h"
#include <afxdisp.h>
#import "MSXML4.dll" rename_namespace(_T("MSXML"))
#include <msxml6.h>
#include <omp.h>
#include <time.h>
#include <iostream>
#include <sstream>
#include <fstream>
#include <msxml6.h>
#include <objbase.h>
#include <comdef.h>
#include <comutil.h>

いったい何が起こっているのでしょうか…

685 名前:デフォルトの名無しさん mailto:sage [2015/09/29(火) 03:01:49.08 ID:z6iiVUPG.net]
test

686 名前:デフォルトの名無しさん [2018/05/23(水) 22:52:45.07 ID:Au5e7VGg.net]
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

E3JMP

687 名前:デフォルトの名無しさん [2018/07/04(水) 23:16:05.69 ID:gFgZc5FG.net]
KSS

688 名前:デフォルトの名無しさん mailto:sage [2018/09/02(日) 08:40:08.20 ID:63fSznzS.net]
Visual C++ Redistributable Packages for Visual Studio 2012 を入れればいいんじゃね?






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<139KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef