C++でXML(主にxerces)やろう!
■ このスレッドは過去ログ倉庫に格納されています
スレ無いしサイト少ないので立ててみる いらなかったらサゲまくってください >>189 wchar_tと同じだと思って差し支えないっぽい できればスタティックリンクのできる手ごろなパーサーはないでしょうか。 xercesってサイズでかくない? これ使ってる人はxercesのdllも一緒に配布するんでしょ? さっき見たらwinampはexpat使ってるんだよなぁ。 どこかにパーサーのサイズやライセンスや勧告の対応状況に関する 良い比較サイトないかな。 MSXML使ってる人ってユーザーに別途インストールしてもらってるの? IE6入れろとかMSXML4入れろとか。 XercesのDLL、ソフト本体の4倍以上あるよ・・・ >>195 MSXML3 は IE5 あたりいれれば入ってないっけ? >>197 XML Schema や DOM 使わないなら expat。 ぶくぶくと規格を肥大化させた W3C が諸悪の根源。 WEBで見つけたMSXMLのバージョンとIEの対応表 1.0 msxml.dll Internet Explorer 4.0 2.0 msxml.dll Internet Explorer 5.0 2.5 msxml.dll Internet Explorer 5.01 2.5 SP1 msxml.dll Internet Explorer 5.5 3.0 msxml3.dll Internet Explorer 6.0 正直、IEと全然関係ないソフトを公開するにもIEのバージョンアップを 促さなきゃならないのがMSXMLの欠点だと思う。 >>199 インストーラにmsxmlを付けときゃ済む話。 最近はほとんどIE5以上は入ってるんじゃね? MSXML2.0の勧告の対応度はどのくらいなんだろう。 WindowsでXerces C++ 2.2.0使ってるけど XercesXMLParser parser; parser.parse("全角文字を含むパス"); ってすると実行時に落ちちゃうけどこれを回避する方法を誰か知らない?? どっかでパーサーの中でMSXMLが一番高性能と書いてた気がする。 デメリットはWinのみとかそんなん。 じゃ、VC++で使う分には最強ですな。 相性もよさげだし。 使ってもらう人にも入れてもらわないと駄目なのが痛いのを覗けば WindowsでMSXMLを使わない理由は無いと思われるけど VCやBCB使ってる身分としてはXercesのほうが好み >>211 >使ってもらう人にも入れてもらわないと駄目なのが痛い だからインストーラに一緒に入れとけば問題ないって つか、IEに入ってなかったっけ? …ってループしてるし。 そもそもインストーラ付けてねーんだよ。 IEに入ってるけどユーザーにIEのバージョン上げてもらわなきゃならない こともあるってことだろ。 DOMだけならMSXML2.0で実装されてるよね(?) それならIE5.0が入ってれば良いのでほとんどのユーザは何もしないで大丈夫かと。 >>214 インストーラも付けずに配布してんじゃねーよ 非常に誤解を招く表現だな。 でも取り消せないからあきらめるよ。 これから使いたいからどうしようかなって話だろーが。 Xercesという単語をみると、どうしてもゼノギアスを思い出してしまう。 >>217 何処かにいいインストーラーの作り方書いてあるサイト知らない? MSXML2.0のDOMってどこまで準拠してるかわかりますか? Xercesにもネームスペースがついたかぁ xerces::DOMDocument *... みたいに書いてる?? それともマクロで書かなくていいようにusingしてる? そらC++製フリーソフトにあまりXMLが使われないわけだ XPath になれたせいか、 必死に素の DOM をこねくり回してるコード見るとぶん殴りたくなる >そらC++製フリーソフトにあまりXMLが使われないわけだ 何故? MSXMLのためにインストーラをつけなけりゃならないなら敬遠されるわな MSXMLはIEに付いてると何度(略 Javaのクライアントアプリときた日には(略 >>234 IEをバージョンアップしてもらわなければならないかもしれないと何度 フリーソフトの作者はインストーラも作れないのかよ。 >>235 MSXML4だけで配布されてるわけだが。 >>238 >>235 のIEをMSXMLに置き換えて読め。 > MSXMLはIEに付いてると何度 そうだっけ? >>240 ついてる。 つーか俺はMSXMLを使うななんて言ってないわけよ。 ただ、 ・IEのバージョンをあげてもらう必要があるかもしれない ・MSXMLを単体でインストールしてもらう必要があるかもしれない で、フリーソフトの場合だと試用の場合も含めてユーザーがそこまでしてくれる かどうかはあまり期待できないから敬遠されるだろうなってこと。 で作者側からすると、今までインストーラ付けずに配布してた場合、 MSXMLのためだけにインストーラをつけかけらばならなくなるなら それも敬遠される理由の一つだろうなってこと。 xercesの巨大DLLもダウンロードに躊躇するわけだが。 expatは小さいけどDOMやSAXに対応してないし・・・ 別途インストールの必要: 1.自作・組込⇒なし 2.MSXML4⇒40〜60%(予想) 3.xerces・その他⇒99.99%(以上) どれを選択しますか? MSXML4を一般のユーザがインストールしてる確率はもっと低いだろう。 90%くらいにみてもいいと思うが。 >>243 sax には対応してるけど。 >>244 xerces ならサイズは大きくなるが同梱すればいい。 expatってSAX対応してんの?イベント型ではあるけどSAXとは違うんじゃないの? xercesのDOMだけ版とかSAXだけ版とか小サイズのがあればいいのに。 >>246 MSXML2使う。これ。 今時PCの8割以上には、IE5.5以降が入ってるとみて良いのでわ。 で、MSXML2.0のDOMってどこまで準拠してるの? 最終勧告に完全対応してる? >>248 だったかも。 XML を弄る規格は乱立してるから標準規格を使う意義もないなと思う今日この頃。 細部まで「完全対応」でなくとも、 IEでの動作の実績もあるワケで、 そうそう実用に困る凄い非互換や バグがあるも思えない > MSXML >>256 そもそも2はW3Cの最終勧告前に出てるから、何かしらあるに違い無い。 問題になるとは思えないが。 MiXをBCCDev(BCCのバージョンは5.6.4)で使えるのを確認して同じコードを BCB6で入力してコンパイルするとコンパイラの内部エラー… なんでだろ?? コードはこんなん MiX::DOM_Parser<char> parser; MiX::Document<char> &doc = parser.parse("hoge.xml"); >>260 おいらも同じ。 xml2htmlは問題なくコンパイルできたけど、 xmlpb_saxなんかはコンパイルでけん。 やっぱ内部エラーでる。 >>261 おぉ同じ境遇の人がいた…!? BCBもMiXもどっちもマイナーだからこの組み合わせで使ってる人少ないのかな? 実際さ、BCBでXML扱うには、どうすれば一番いいのかな? MiXはちょっと挙動不審だし、 Xercesは大きすぎる気もするし。 VCLについてるのはEnterpriseだけだよね? だれか詳しい人教えてちょ〜 >>264 BCB ProでTXMLDocumentを使う方法 ttp://codecentral.borland.com/codecentral/ccweb.exe/listing?id=18938 XML関係については、かなーり初心者です。 XML+XSLをMSXMLつかってFO出力するテストDLL作れ (C++で) と言われたんですが何の事やらさっぱり状態です。 なにか参考になるサイトがあったら教えてもらえませんか? msxml3.dllのインストの仕方とか、そんなページばっかで 使い方についてのサイトが見つけられなかった... XML:構造定義ができる言語(データ群) XSL:出力を整形するスタイルシート(従来のHTMLみたいな) XSLFO:XSLのフォーマットを定義するスタイルシート(従来のCSSみたいな) MSXML:XMLのパーサー(解読エンジン) んでここの第6章にXSLFOのことが書いてある ttp://www.w3.org/TR/xsl/ >>269 解読するならXMLという形式のデータを MSXMLというコンポーネントでオブジェクト化して それをXSLの仕様に沿って出力できるテストDLLを作れ 尚XSLFOを使ってリッチテキスト整形が出来るようにしておくこと でもこれだと出力先が不明確だね ・XML、XSL、XSLFOを読み込んでWindowに出力するDLLなのか ・もしくはXML、XSLを読み込んでXSLFOはソースに記述するのか ・それともXML、XSL、XSLFOをソースに記述して各ファイルを出力するのか ちゃんと上司に聞いたほうがいいよ >>270 >>271 ありがとうございます。 XSLFOのほうは、解読中です (なんだこの分量は・・・) 入出力はファイルで XML+XSL -> XSLFO をするものにしろ、という事らしいです。 上司に質問した結果 「ん?ソース毎買い取ったんだけど、無茶苦茶だしドキュメントないから とりあえず機能単位で切り出ししようと思って。あー、おれもよくわからん」 という、ありがたいお言葉を・・・ がんばって社畜への道を歩もうとおもいまふ なんとなーくの理解ですが msxmlいれて、IXMLDOMDocumentとかあたりをつかって、ソースの読み込みかけて IXSLTemplatePtrつかってインターフェイスとりこんで、transかけたら出てくるのか、と 大雑把な理解をしたりとか、してなかったりとか。 >XML+XSL -> XSLFO これだったらtransformNodeで変換すればいいだけだと思うけど違うのかな >>273 そういったキーになる関数名もわからない状態でしたので、 大変ヒントになりました。 なんとか理解できそうです。 ありがとうございました! お世話になりました269です。 また質問させてください(泣 msxmlの使い方に関して理解したつもりで、 プロトタイプつくって流したら(<結局元ソースは参考にもしませんでした) 「ほかのパーサも使えるんだろ?」と意味不明な一言が。 LinuxとWindowsのプラットフォームで共通で使えるソースが欲しいとか、なんとか。 そーいう事は最初にいえー!<上司 それから必死こいて情報集めてみたんですが、 transformNodeってMSお得意の独自拡張機能なんですね…… W3CでtransformNodeって検索かけたら、MLログにそんな事が書いてありました。 パーサに共通の変換用関数ってのはあるんでしょうか? つまりLinuxとWindowsのプラットフォームで共通で使えるパーサが知りたいと。 まさにここのスレタイでもあるXercesの出番かと。 XSTLの変換関数も提供されてるし。関数の名前は忘れた。 Mixは作者の方が別なプロジェクトにかかわってて、あまり進捗してない ように見えますよね。 なんちゃって、ごきらくXMLをしたいなら、道化師さんの世界樹がいい感じ だと思うけど。フリーソフトで使うなら、軽くて、ライセンス的にも使いや すいですよー ∧_∧ ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。 =〔~∪ ̄ ̄〕 = ◎――◎ 山崎渉 ねぇ、XML全般の話題ってこのスレでいいの? XMLがタイトルに入ってるスレがここともうひとつしかないんだけど…。 C++BuilderでXerces C++ 2.3.0を使おうとしてるんですが、 うまくいかない・・。コンパイルするとエラーがいっぱいです・・ 何故?誰か教えて下さい・・。 2.3はわからんけど、2.2なら borlandの最新パッチを当てた上でコンパイルできたような気がする (builder6 personal) 285> ありがとうございます。最新パッチ当ててみたんですが、 やっぱりだめでした。出力パスとかいじって エラーをいくつかでないようにした後に、致命的エラーとやらが でてしまいます。コンパイラ内部のエラー?・・今の私にはお手上げです。 ちなみに(Builder6 Professional)だったのですが・・。 う〜ん。 他のやり方を少し探してみようかと思います。 でも、分かる方いらっしゃったら教えていただければうれしいです。 libxmlについてききたいんですが いいっすか? タグの移動とか パースとか ききたいんですが。 >>287 内容は少し古いけど、まずはここを嫁。 ttp://www.turbolinux.co.jp/world/library/features/c_magazine/vol_08.html libxml2は構造体のメンバ名に一部違いがあるから、注意しる。 ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる