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

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
NGNG
スレ無いしサイト少ないので立ててみる
いらなかったらサゲまくってください
NGNG
>>240
ついてる。

つーか俺はMSXMLを使うななんて言ってないわけよ。
ただ、
・IEのバージョンをあげてもらう必要があるかもしれない
・MSXMLを単体でインストールしてもらう必要があるかもしれない
で、フリーソフトの場合だと試用の場合も含めてユーザーがそこまでしてくれる
かどうかはあまり期待できないから敬遠されるだろうなってこと。

で作者側からすると、今までインストーラ付けずに配布してた場合、
MSXMLのためだけにインストーラをつけかけらばならなくなるなら
それも敬遠される理由の一つだろうなってこと。
NGNG
xercesの巨大DLLもダウンロードに躊躇するわけだが。
NGNG
expatは小さいけどDOMやSAXに対応してないし・・・
244デフォルトの名無しさん
垢版 |
NGNG
別途インストールの必要:

1.自作・組込⇒なし
2.MSXML4⇒40〜60%(予想)
3.xerces・その他⇒99.99%(以上)

どれを選択しますか?
NGNG
自作・組み込みって何?パーサ自作すんの?
NGNG
MSXML4を一般のユーザがインストールしてる確率はもっと低いだろう。
90%くらいにみてもいいと思うが。
NGNG
>>243
sax には対応してるけど。

>>244
xerces ならサイズは大きくなるが同梱すればいい。
NGNG
expatってSAX対応してんの?イベント型ではあるけどSAXとは違うんじゃないの?
NGNG
xercesのDOMだけ版とかSAXだけ版とか小サイズのがあればいいのに。
250デフォルトの名無しさん
垢版 |
NGNG
>>246
MSXML2使う。これ。
今時PCの8割以上には、IE5.5以降が入ってるとみて良いのでわ。
NGNG
で、やっと>>216に戻るわけだ。
IEのシェアはどっかの会社がアンケートとって95%以上だったはず。
IE5以上と見ても90%近く。

検索するとこんな結果も。
http://216.239.51.100/search?q=cache:70ChAT9EdSgC:vmag.vwalker.com/news/microsoft/art.asp%3Fnewsid%3D2298+IE%E3%80%80%E3%82%B7%E3%82%A7%E3%82%A2%E3%80%80%E3%82%A2%E3%83%B3%E3%82%B1%E3%83%BC%E3%83%88&hl=ja&lr=lang_ja&ie=UTF-8
NGNG
で、MSXML2.0のDOMってどこまで準拠してるの?
最終勧告に完全対応してる?
NGNG
>>248
だったかも。
XML を弄る規格は乱立してるから標準規格を使う意義もないなと思う今日この頃。
254デフォルトの名無しさん
垢版 |
NGNG
細部まで「完全対応」でなくとも、
IEでの動作の実績もあるワケで、
そうそう実用に困る凄い非互換や
バグがあるも思えない > MSXML
NGNG
実績あるか?
NGNG
細部まで完全対応じゃないのか。どこ情報だ。
NGNG
http://www.xml.com/pub/a/1999/11/parser/index.html

この辺から辿るといいよ。
http://www.perfectxml.com/msxml.asp
http://xmlconf.sourceforge.net/
258デフォルトの名無しさん
垢版 |
NGNG
>>255
IE本体から使われまくってるのでわ。
259デフォルトの名無しさん
垢版 |
NGNG
>>256
そもそも2はW3Cの最終勧告前に出てるから、何かしらあるに違い無い。
問題になるとは思えないが。
NGNG
MiXをBCCDev(BCCのバージョンは5.6.4)で使えるのを確認して同じコードを
BCB6で入力してコンパイルするとコンパイラの内部エラー…
なんでだろ??

コードはこんなん
MiX::DOM_Parser<char> parser;
MiX::Document<char> &doc = parser.parse("hoge.xml");
NGNG
>>260
おいらも同じ。
xml2htmlは問題なくコンパイルできたけど、
xmlpb_saxなんかはコンパイルでけん。
やっぱ内部エラーでる。
262260
垢版 |
NGNG
>>261
おぉ同じ境遇の人がいた…!?
BCBもMiXもどっちもマイナーだからこの組み合わせで使ってる人少ないのかな?
NGNG
ほしう
NGNG
実際さ、BCBでXML扱うには、どうすれば一番いいのかな?
MiXはちょっと挙動不審だし、
Xercesは大きすぎる気もするし。
VCLについてるのはEnterpriseだけだよね?

だれか詳しい人教えてちょ〜
NGNG
>>264
msxml
266
垢版 |
NGNG
>>264
BCB ProでTXMLDocumentを使う方法
ttp://codecentral.borland.com/codecentral/ccweb.exe/listing?id=18938
267山崎渉
垢版 |
NGNG
(^^)
268山崎渉
垢版 |
NGNG
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
NGNG
XML関係については、かなーり初心者です。

XML+XSLをMSXMLつかってFO出力するテストDLL作れ
(C++で)
と言われたんですが何の事やらさっぱり状態です。

なにか参考になるサイトがあったら教えてもらえませんか?
msxml3.dllのインストの仕方とか、そんなページばっかで
使い方についてのサイトが見つけられなかった...
270デフォルトの名無しさん
垢版 |
NGNG
XML:構造定義ができる言語(データ群)
XSL:出力を整形するスタイルシート(従来のHTMLみたいな)
XSLFO:XSLのフォーマットを定義するスタイルシート(従来のCSSみたいな)
MSXML:XMLのパーサー(解読エンジン)

んでここの第6章にXSLFOのことが書いてある
ttp://www.w3.org/TR/xsl/
271デフォルトの名無しさん
垢版 |
NGNG
>>269
解読するならXMLという形式のデータを
MSXMLというコンポーネントでオブジェクト化して
それをXSLの仕様に沿って出力できるテストDLLを作れ
尚XSLFOを使ってリッチテキスト整形が出来るようにしておくこと

でもこれだと出力先が不明確だね
・XML、XSL、XSLFOを読み込んでWindowに出力するDLLなのか
・もしくはXML、XSLを読み込んでXSLFOはソースに記述するのか
・それともXML、XSL、XSLFOをソースに記述して各ファイルを出力するのか
ちゃんと上司に聞いたほうがいいよ
NGNG
>>270
>>271

ありがとうございます。
XSLFOのほうは、解読中です
(なんだこの分量は・・・)

入出力はファイルで
XML+XSL -> XSLFO
をするものにしろ、という事らしいです。

上司に質問した結果
「ん?ソース毎買い取ったんだけど、無茶苦茶だしドキュメントないから
 とりあえず機能単位で切り出ししようと思って。あー、おれもよくわからん」
という、ありがたいお言葉を・・・

がんばって社畜への道を歩もうとおもいまふ
なんとなーくの理解ですが
msxmlいれて、IXMLDOMDocumentとかあたりをつかって、ソースの読み込みかけて
IXSLTemplatePtrつかってインターフェイスとりこんで、transかけたら出てくるのか、と
大雑把な理解をしたりとか、してなかったりとか。
NGNG
>XML+XSL -> XSLFO
これだったらtransformNodeで変換すればいいだけだと思うけど違うのかな
NGNG
>>273
そういったキーになる関数名もわからない状態でしたので、
大変ヒントになりました。
なんとか理解できそうです。

ありがとうございました!
275269
垢版 |
NGNG
お世話になりました269です。
また質問させてください(泣

msxmlの使い方に関して理解したつもりで、
プロトタイプつくって流したら(<結局元ソースは参考にもしませんでした)

「ほかのパーサも使えるんだろ?」と意味不明な一言が。
LinuxとWindowsのプラットフォームで共通で使えるソースが欲しいとか、なんとか。
そーいう事は最初にいえー!<上司

それから必死こいて情報集めてみたんですが、
transformNodeってMSお得意の独自拡張機能なんですね……
W3CでtransformNodeって検索かけたら、MLログにそんな事が書いてありました。
パーサに共通の変換用関数ってのはあるんでしょうか?
NGNG
つまりLinuxとWindowsのプラットフォームで共通で使えるパーサが知りたいと。
まさにここのスレタイでもあるXercesの出番かと。
XSTLの変換関数も提供されてるし。関数の名前は忘れた。
277デフォルトの名無しさん
垢版 |
NGNG
Mixの進捗は滞ってますか?
NGNG
Mixは作者の方が別なプロジェクトにかかわってて、あまり進捗してない
ように見えますよね。
なんちゃって、ごきらくXMLをしたいなら、道化師さんの世界樹がいい感じ
だと思うけど。フリーソフトで使うなら、軽くて、ライセンス的にも使いや
すいですよー
279277
垢版 |
NGNG
ありがとうです。
280山崎渉
垢版 |
NGNG
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉
NGNG
保守age
NGNG
ねぇ、XML全般の話題ってこのスレでいいの?
XMLがタイトルに入ってるスレがここともうひとつしかないんだけど…。
NGNG
>>282
みつけました。お騒がせしますた。

XMLプログラミング
http://pc2.2ch.net/test/read.cgi/tech/1014643296/l50

…スレタイの英字が全角かよー。
284デフォルトの名無しさん
垢版 |
NGNG
C++BuilderでXerces C++ 2.3.0を使おうとしてるんですが、
うまくいかない・・。コンパイルするとエラーがいっぱいです・・
何故?誰か教えて下さい・・。
NGNG
2.3はわからんけど、2.2なら
borlandの最新パッチを当てた上でコンパイルできたような気がする
(builder6 personal)
286デフォルトの名無しさん
垢版 |
NGNG
285> ありがとうございます。最新パッチ当ててみたんですが、
やっぱりだめでした。出力パスとかいじって
エラーをいくつかでないようにした後に、致命的エラーとやらが
でてしまいます。コンパイラ内部のエラー?・・今の私にはお手上げです。
ちなみに(Builder6 Professional)だったのですが・・。
う〜ん。 他のやり方を少し探してみようかと思います。

でも、分かる方いらっしゃったら教えていただければうれしいです。
NGNG
libxmlについてききたいんですが いいっすか?
タグの移動とか 
パースとか ききたいんですが。
NGNG
MSXMLって
MSXのメーリングリストですか?
NGNG
>>287
内容は少し古いけど、まずはここを嫁。
ttp://www.turbolinux.co.jp/world/library/features/c_magazine/vol_08.html
libxml2は構造体のメンバ名に一部違いがあるから、注意しる。
290山崎 渉
垢版 |
NGNG

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
NGNG
Linux上でexeclpをつかってXalanを起動しようとしたけど、
パラメータを受けとってくれまへん。

execlp("Xalan", "Xalan", "-o", "test.htm", "test.xml", "test.xsl", NULL);
こんなんじゃいかんですか?
NGNG
うは、ごめん。
パラメータ指定方法がミスってた

動的にexeclp()の引数の数変えてたのでミスってた……
293デフォルトの名無しさん
垢版 |
NGNG
で、xercesって何て発音するの?
NGNG
ざーしず
295デフォルトの名無しさん
垢版 |
NGNG
Mixあげ
296デフォルトの名無しさん
垢版 |
NGNG
ここで質問していいのかな。

VC++7.1のMFCプロジェクトでexpat使ってるのですが
リンカエラーがでてコンパイルできません。
「error LNK2019: 未解決の外部シンボル _XML_ParserCreate が関数 "public: bool __thiscall ServerConf::ReadConf(char const *)" (?ReadConf@ServerConf@@QAE_NPBD@Z) で参照されました。」

なにか対策はあるでしょうか。よろしくお願いします。
297296
垢版 |
NGNG
>>296
すいません探しかたが甘かったみたいです。
検索で対策が見つかりました。お騒がせしたです。
ttp://www.codeproject.com/soap/expatimpl.asp?df=100&forumid=3312&exp=0&select=363268#xx363268xx
298山崎 渉
垢版 |
NGNG
(^^)
299山崎 渉
垢版 |
NGNG
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
NGNG
Mixの進捗は滞ってますか?
301269
垢版 |
NGNG
>>276
かなり遅れましたが、お世話になったので報告。

結局、xerces+Xalanって方向でやりたい事できました。
それもxerces自体は、Xalanを使うためにいれてくだけって感じです。

Documentなどの読み書き、処理はじつは自前で行う部分がを使ってたんですが、
テストしてる段階で、xercesつかっても要件満たせるんじゃないかと
設計見直し中です。

ども、お世話になりました。
302デフォルトの名無しさん
垢版 |
NGNG
MiX バージョンアップ age
NGNG
誰かMiXの最新バージョン使った人いる?
いたらどんなでした?
NGNG
BCBで無事つかえた。
305デフォルトの名無しさん
垢版 |
NGNG
http://www.efeel.to/survey/xml/
306デフォルトの名無しさん
垢版 |
NGNG
いまXercesC++(Mac)やってるけど、さっぱり。。。
サンプルが動かん。
307デフォルトの名無しさん
垢版 |
NGNG
一ヶ月たったsage
NGNG
MSXML VC++(Win)に変更してはどうか。
サンプルもばっちり動く。
NGNG
>>306
もう知ってるかもしんないけど、PantherからはXML関連のAPI(NSXMLParser)が追加されたよ。

んでこれ、どんな感じなんだろう。使ってみた人いたら感想求ム
NGNG
tinyなアプリならMiXがいちばんよさげ
NGNG
VS2003でstream.h使えなくなってる・・・・・・
XML4Cのコンパイルできなーい!
しょうがないのでMSXMLにnige
312デフォルトの名無しさん
垢版 |
NGNG
あげ
NGNG
DOMをドムと呼ぶのはいいとして、SAXをザクと呼ぶのはやめてくだちい。
NGNG
SAX2はあのジオンの栄光の量産機
315デフォルトの名無しさん
垢版 |
NGNG
MSXML+C++でDOMプログラミングをしているのですが,
タグ名の前に接頭辞をつける方法がわかりません.
CreateNodeは名前空間URIを引数として渡せるのですが,
接頭辞を自動的に振ってはくれませんし,XercessのようなsetPrefix関数もありません.

何か良い方法をご存知の方がいらっしゃいましたら教えてください.
316デフォルトの名無しさん
垢版 |
NGNG
俺的にはXML4Cが好きだな。Xercesは好きくない
317デフォルトの名無しさん
垢版 |
NGNG
XMLはおなかがいっぱいになりまつか?
318デフォルトの名無しさん
垢版 |
NGNG
XercesでDTD通りに要素を挿入するにはどうしたらいいの?
それともファイルに書き出すときに変換するの?
319デフォルトの名無しさん
垢版 |
NGNG
すれ違いかもしれませんが、
Axis使ったことある人いますか?
NGNG
MSXMLパーサに、フルアドレス指定してあるDTDの参照先をローカルに
するAPIってないの?
スタンドアロンのPCじゃ、XML使うなってことなんだろーか。
321デフォルトの名無しさん
垢版 |
NGNG
DOMとSAXってどっちがいいの?
それぞれの特徴を教えてください。
NGNG
SAX : 一度XMLを舐めるだけでいいならこっち(一度読んだ場所へは戻れない一度きり)
DOM : メモリ上にXML文書の内容を表すDOMのオブジェクト共を作るのでSAXよりは重い(ランダムアクセスが可能)
323デフォルトの名無しさん
垢版 |
NGNG
結論:SAX >>>>>>>>> DOM
NGNG
↑のような奴が増える夏到来ですね
NGNG
SAXで自前のデータ構造に読み込み、内部処理。
書き出しはその逆。
これ。
NGNG
>321
それぐらいぐぐって見れ!

http://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&q=DOM%E3%81%A8SAX
NGNG
Simple Outline XML >>>>>>>>>>> 普通のXML
328デフォルトの名無しさん
垢版 |
NGNG
SGML >>>>>>>>超えられない壁>>>>>>>> XML
329デフォルトの名無しさん
垢版 |
NGNG
天気予報は既存の配信ビジネスを守るためにRSS配信できない
http://neta.ywcafe.net/000339.html

国民の税金で気象データの収集・解析までしておきながら、
気象庁の官僚の天下り先である
・財団法人 気象業務支援センター
・財団法人 日本気象協会
の利権保護の為、未だ気象庁はRSS配信を拒んでいるのだ。
将来的に行われるであろう地震予知の情報も、有料で国民に販売するつもりだろうか?
NGNG
がんばって探した結果がこのスレか?
XMLスレもあるしRSSならWebProgにある。
つーかRSSっていうより気象庁バッシングしたいなら板違いだろ。
NGNG
>>330
329 は各地にマルチポスとしてるよ。
332デフォルトの名無しさん
垢版 |
NGNG
#include<Xercesc/util/PlatformUtils.hpp>
#include<Xercesc/util/XMLString.hpp>
#include<Xercesc/dom/DOM.hpp>
using namespace std;

XERCES_CPP_NAMESPACE_USE

#define X(x) XMLString::transcode(x)

int main(){
XMLPlatformUtils::Initialize();
{

DOMImplementation *impl= DOMImplementationRegistry::getDOMImplementation(X(""));

DOMDocumentType *doctype = impl->createDocumentType(
X("html"),
X("-//W3C//DTD XHTML 1.1//EN"),
X("http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd") );

DOMDocument *doc = impl->createDocument(NULL,X("html"),doctype);
}
XMLPlatformUtils::Terminate();
return 0;
}
これをVC7でビルドしようとしたんですが
xml error LNK2020: 未解決のトークン (0A000010) __imp_?fgXercescDefaultLocale@XMLUni@xercesc_2_3@@2QBDB
xml error LNK2020: 未解決のトークン (0A000013) __imp_?fgMemoryManager@XMLPlatformUtils@xercesc_2_3@@2PAVMemoryManager@2@A
xml fatal error LNK1120: 外部参照 2 が未解決です。

というエラーが出るんですが、どう対処すればいいのか分からんのです。誰か助けて。Xersescは2.3っす。
333デフォルトの名無しさん
垢版 |
NGNG
DOMってなんであんなに使いにくいんだろう。
XPathサポートしてる実装じゃないととても使う気になれない
NGNG
>>333
極度に移植性を高めた結果でしょ。言語に制約を受けないように。
335デフォルトの名無しさん
垢版 |
NGNG
それにしても例えば要素の子要素をたどるときと要素の属性をたどるときでまったく違うやり方でしょ。
XPathだったら軸がちがうだけで子要素名/属性名をノードテストに使用できる点は一緒なのに、
DOMだと「ある要素のhoge属性の値を取得」だったらgetAttibuteでノードマップをもらって属性名をキーに値をゲットだけど
似たような「ある要素のhoge子要素の値を取得」でまったく違うコードをいっぱい書かなきゃならん。
XPathだったら/@hogeか/hogeかの違いだけだ。
NGNG
>>332
どーやってビルドしようとしたのか、詳しく書かないとわからんヤロ。
Xersescは2.3 の導入方法、vc7はスタンドアロン?(free)、リンカに渡す
pathチェック…。

一番の原因は最後の理由では?(-_-;
337デフォルトの名無しさん
垢版 |
NGNG
C++でxercesを利用すると一体どんな問題が解決されますか?
NGNG
水虫が治ります
339デフォルトの名無しさん
垢版 |
NGNG
MiX、VC.NETでコンパイルとおらねえよ
NGNG
VC++.NETなのかVC#.NETなのかそもそもスレ違いだバカ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況