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

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
NGNG
スレ無いしサイト少ないので立ててみる
いらなかったらサゲまくってください
2006/03/14(火) 08:05:50
MiX使ってみたんだけどこれなんで引数の受け渡しが参照じゃないの?
理由がサッパリわからんのだけど
もしかしてこれは俺の知らないワンダフルな最適化方法なのかい?
2006/03/16(木) 13:40:55
Xerces ってなんて発音するんですか?
2006/03/16(木) 13:49:59
生の XML ではなくて、RDF (RSS/RDFに限らず)を
いじくるための標準的なライブラリは何でしょうか?

Mozilla のソースなどから取り出して使えないかと
検討したことがあるんですが、単独で使うには
適していないみたいです。
2006/03/26(日) 17:30:15
>>538
MiXは腐ってるし作者も投げたみたいだから使わない方がいいよ。
2006/04/11(火) 05:51:59
>>541
やっぱりか……
MiXソース眺めてみたけどそんな気がしたのでXercesに乗り換えた。

レスdクス
2006/05/30(火) 17:55:21
XML教えて♪
2006/05/30(火) 17:58:28
セクロスって何?XMLのツール?
545デフォルトの名無しさん
垢版 |
2006/06/03(土) 06:38:22
XML Schema Language でかかれたスキーマから、
C++ のクラスを生成してくれるようなライブラリはありますか?
できればシリアライザも・・・

Java や .NET Framework ではあるのですが、
C++ で読み書きしたいっす。
546デフォルトの名無しさん
垢版 |
2006/06/24(土) 02:22:52
セクロス=sex
2006/06/24(土) 02:33:39
>>546
Simple Expression Xml?
548デフォルトの名無しさん
垢版 |
2006/06/24(土) 13:38:38
>>540
http://librdf.org/

C++っていうかCだけど。
あとrepatっていうexpatベースのRDFパーサがあったんだけど配布元が消えた。
549デフォルトの名無しさん
垢版 |
2006/08/25(金) 02:16:21
xercesのC++版で、SAXをつかって、ファイルに書き出すクラスってあります?
MSXMLやxercesのJava版ではあったんですが。
とりあえず実装して使ってますが、元々あるなら切り替えたいなぁと。
2006/08/30(水) 10:19:57
Java版にあってC++版にない事もなかろう。つーか、ドキュメントないの?
2006/08/30(水) 22:38:19
Documentというか、Java版のクラス名と同名、一部でソース検索掛けたり、
ぐぐったりしてみましたが、見つからず。
552デフォルトの名無しさん
垢版 |
2006/09/04(月) 19:56:26
xecersってライブラリの事?
2006/09/08(金) 10:26:53
100MくらいのXMLをIEで開いたらフリーズした
2006/09/08(金) 18:32:23
フリーズではなく、思いっきり時間かかっているだけってことないか?
#100Mもあったら無茶苦茶リソース食いそうだが。
2006/09/10(日) 18:57:49
XMLはDOMで開くと開くXMLのサイズの10倍はメモリ喰うと考えていいな。
556デフォルトの名無しさん
垢版 |
2006/09/17(日) 15:34:34
DOMが使えて軽いXMLパーサある?
2006/09/17(日) 17:21:33
MSXML最高

IE6入ってればMSXML3使えるし
2006/09/18(月) 14:00:32
libxml2をわかりやすく解説してるサイトある?
2006/09/18(月) 14:05:06
MSXのMLとどう区別すれば良いですか?
2006/09/28(木) 23:06:24
C++ というか、.NET の話な気がするけど、
XPath などで、1部分だけXMLノードを抜き出して、
それを Read() で回して各ノードの情報を取りたいんだけど、
どの reader に代入すれば良いのか分からない……どうしらた良いですか?
561デフォルトの名無しさん
垢版 |
2006/09/28(木) 23:07:44
dom使ったらすんげー遅かった
saxってどうなんすか?

っていうかセンス無いライブラリだと思った
libxmlでも試すか…
562560
垢版 |
2006/09/28(木) 23:27:40
あ、違う方法だけどできた。すまんかった。
2006/09/28(木) 23:54:00
Javaみたいにインタフェースベースで作ればいいのに。
MSXMLだろうがXercesだろうが、
それぞれのファクトリだけ変更すれば全部同じになるじゃん
2006/09/29(金) 00:00:38
MSXMLは元からインターフェースベースですよ。

……すまん、言ってみたかっただけだ。
2006/09/29(金) 00:24:22
まあ、言ってることに間違いはないなw
566デフォルトの名無しさん
垢版 |
2006/10/28(土) 21:30:02
xmlファイルのdiffツールでいいものないかな?
単純なdiffだと、line単位で差分を検出してしまうので
無視していいものまで出てきてしまいます
xpath形式に変換してdiffとかすればできるかな?
2007/01/12(金) 18:35:35
UTF-8のxmlをXMLString::transcodeでShift-JISに変換すると下記の様に、"〜"や"−"が"?"となってしまうのは解決できませんか?

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

BCC5.5、Xerces-C++ Version 2.7.0 を使ってます。
2007/01/13(土) 06:23:05
>>567
Shift-JIS と CP932 (MS-Windows-31J, MS932) の違いを覚えるといいと思うよ.
569567
垢版 |
2007/01/13(土) 14:44:52
>>568さん
ありがとうございます。
ttp://www.ingrid.org/java/i18n/encoding/shift_jis.html
を参考に何となく分かりました。

結局解決は無理なのでしょうか…?
Xercesのソースをいじったり、transcodeで使う変換テーブルの様なものがあって、それをいじれば可能とか?
解決方法をネットで探しているのですが、一向に見つからなかったので質問させて頂いた次第です…
2007/01/13(土) 14:48:09
>>569
ICUは?
571567
垢版 |
2007/01/13(土) 15:24:46
>>570さん
ありがとうございます。

実は私、Cの経験は多少あるのですが、C++やXML、またWindows上でのソフト開発に関してはさっぱりのド素人です。
今回は、あるフリーソフトの公開されているソースを、少しだけ自分で必要な機能に特化して改造しようとしていている最中です。
とりあえず何とか環境を揃えて、ソースをビルドできるまでにはなりました(^^;
ICUというのも知りませんでしたが、少し調べてみて、これを文字変換に使えばできるのかな?という感じなのでもう少し調べてみます。
分からなかった場合、また質問させて頂くと思うので、よろしくお願いします。
2007/01/13(土) 15:51:57
今時XPathも使わずにDOMを真面目にたどって要素を取得なんて考えられんが
Xerces, Xalan両方入れるとなるとデカ杉っつー感じよなぁ
573道化師
垢版 |
2007/01/13(土) 18:35:35
>>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
574567
垢版 |
2007/01/13(土) 21:51:04
>>567-571,573
ICUとやらををどうにか組み込んだりしてみましたが、ダメでした。
私のレベルでは無理みたいなので、あきらめます…

どなたかWindowsXP、BCC 5.5.1、Xerces-C++ 2.7.0の環境で
>>567が問題無くできているよという識者の方がいらっしゃいましたら、初心者向けに具体的対策を御教授願います。m(_ _)m
2007/01/14(日) 06:19:14
>>574
>>573 の解決策を施すのが無理って言われたら、
こっちもお前さんに教えるのは無理っす、勘弁してください。
576567
垢版 |
2007/01/14(日) 11:46:00
>>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)
2007/01/14(日) 17:09:56
ひっかかったのはそこか。
>>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
578567
垢版 |
2007/01/15(月) 15:58:45
>>567です。
読み込むオリジナルのXMLはUTF-8だったのですが、これを一旦Shift-JISに変換してからxercesを通す事で、XMLString::transcode周りをいじらずに、とりあえず求める結果を得ることが出来ました。
("〜"はまだですが、"−"は表示確認済み)
レスをして下さった皆様ありがとうございました。m(_ _)m
2007/02/05(月) 14:09:48
linux & C++ & libxml2 で設定ファイル読み書きさせたいんだけど全然資料ねーや
日本語の資料なんかないですか?
2007/02/21(水) 18:19:34
unixって言語ごとに別のライブラリがいるのか?
2007/02/21(水) 20:37:25
基本的にUNIXはソース配布が常識。
同じディストリでもバージョンでランタイム環境は変わるよ。

というかバイナリ配布だと動作確認が面倒くさすぎる。
582デフォルトの名無しさん
垢版 |
2007/04/08(日) 02:46:54
XMLで文字を太字にするにはどうすればいいんでしょうか?
初心者でわからないので、宜しくお願いいたします。
2007/04/08(日) 04:36:57
その質問自体的外れだが、XMLをどうやって使うのが目的かによる。
XML自体は太字にする機能や文書の整形に関する機能などは無い、
例えば最近のWordでは文書をXMLで保存しているのでWordで使っているXMLの構造にあわせる
というのであれば、Wordのファイルをのぞいてまねをすればできるとは思う。
それでもプログラムを組むこととは関連が無いので、板違いだ。
2007/04/08(日) 13:25:37
<b></b>
2007/04/08(日) 14:14:25
オリジナルのプログラムをお持ちの方いらっしゃいませんか?
この度クレジット決済でスムーズにダウンロード売買が
できるサイトを立ち上げました。
つhttp//web-cart.jp/
※会員登録&商品のうp全て無料です!
クオリティの高い商品のうpをお待ちしてますw
586デフォルトの名無しさん
垢版 |
2007/04/24(火) 22:05:20
先週からxeres-c使いはじめました。基本的な質問ですが、
DOM->XML(DOMStringからXMLStringなど)にどうして変更になったのでしょう?
2007/04/24(火) 23:15:12
すいません。自分の作るexeよりも
xeresのDLLの方が大きいのですがどうしましょう
2007/04/25(水) 12:40:32
何の問題もないと思うが
2007/05/12(土) 17:01:07
>>587
俺もC++で作ってたツールのデータ表現でxmlがいいかなぁと、
Javaみたいなノリで使おうと思ったら、
ライブラリの方が巨大で( ゚Д゚)ポカーンって感じだった。

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

どうせ文字列パースするだけだし、
車輪の云々とか気にしないならお勧め。w
2007/05/12(土) 17:22:06
WindowsならそこでMSXMLですよ
591デフォルトの名無しさん
垢版 |
2007/06/28(木) 16:09:26
質問です。初期化の
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
XML文書の一部もしくは全部を暗号化したり署名したりする
XML暗号化の規格がありますが、実際にその操作をすることが
できるライブラリはあるのでしょうか?

RSS で配信する情報の一部分を暗号化したり、
もしくは改変されていないことを保証するために
署名したりしたいと思っています。
593592
垢版 |
2007/07/22(日) 00:12:03
.NET Framework と Java にはあるみたいなんですが、
C++ で使えるライブラリを探しています。
2007/07/22(日) 03:07:51
libxml++使ってる人いる?
595デフォルトの名無しさん
垢版 |
2007/07/23(月) 20:22:57
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用で分かれているとかでしょうか?
2007/07/28(土) 16:03:44
>595
特定しますた。

ちなみに、Xerces の正規表現実装がマッチが成功した場合にはバックトラックしない({2}にマッチするものは確実に{1}にマッチするけど、{1}にマッチした段階で{2}にマッチさせようとしない)というのが問題。
選択の順番をひっくり返すか、普通に量指定子{1,2}を使うことで回避可能。
597デフォルトの名無しさん
垢版 |
2007/07/28(土) 16:11:47
【派遣ネガティブ根性チェック】

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

□派遣先正社員の作った糞開発ツールはたとえ腐っててもマンセーして使う
□派遣先の人事権のある社員の意見はたとえ間違っていてもマンセーする
□仕様とは正社員から口伝されるものだ
□耳で聞いた仕様を正確に覚えていないのは自分の責任だ
□昼食は必ず派遣先の社員と行くべきだ
□自分の仕事で問題が発生しても解決するのは派遣の仕事ではない
□自社で仕事なんてできるわけがない
□派遣労働の問題点の話題が出ると感情剥き出しにして反論する
□派遣労働の問題を指摘する人は嫌いだ
□派遣先には仕事だけでなくプライベートについてもグイグイ引っ張って欲しい
□奢ってくれる派遣先正社員を尊敬する
□自分の月額金額を知らないのは当然だ、単金を聞いてはいけない
□派遣先正社員より自分の生涯収入が低いのは当然だ
□チビは派遣先にかわいがってもらいやすいから派遣には有利だ
2007/08/07(火) 22:43:42
boost::serializationも仲間に入れておくれ。
599デフォルトの名無しさん
垢版 |
2007/08/08(水) 12:56:54
>>598
俺愛用してる、 boost::serialization。
でも XML という点でいうならむしろ
boost::archive::xml_iarchive と
boost::archive::xml_iarchive ではないだろうか。
2007/08/22(水) 22:52:36
xml_iarchiveと
xml_iarchiveには
つっこまずにいられない。
2007/08/22(水) 22:57:02
XMLじゃねーけどPythonでlxml(libxml2のバインディング)に
hogeとか食わせたら
<html><body><p>hoge</p></body></html>
みたに出力するのに驚いた

なんだこれ、やり過ぎじゃねとも思うがスゲーな
2007/09/11(火) 23:02:03
全然詳しくないので質問させてください。

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

彼のXMLプログラムが動かないのを調べるのは誰の仕事なのでしょうか?
2007/09/12(水) 23:08:44
それなら「XMLが僕のプログラムどおりに読めない原因を調べるのは僕の仕事です。」
という人に来てもらえばよいでしょう。
2007/09/14(金) 00:34:25
expatの使い方でちょっと質問。
たとえばこんなXMLがあったとき。

<aaa>hoge<hage</aaa>

XML_SetCharacterDataHandlerで登録したハンドラは3回呼ばれる。
それぞれ "hoge" "<" "hage" を引数として伴うわけだけど、
実体参照があるたびにいちいちそこで分割されてるのがめんどくさい。
何かオプションをセットして解決できないかな?
実体参照はできればそれが参照している文字に置き換えてくれた方がいいけど、
そうでなくてもいい。
605デフォルトの名無しさん
垢版 |
2007/09/30(日) 08:54:15
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
上記のものです。
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

と言われてライブラリのビルドでこけてしまいます。
一人で騒いで済みませんが、ご存知の方お教えください。
2007/10/20(土) 00:17:53
Javaと同じようにw3cのネームスペースでインタフェースを作ったりする運動はないの?
2007/12/17(月) 17:53:24
libxml2でXML出力したら全部1行に。
ちゃんと改行やインデントを入れて、人に優しいXMLを出力したいのですが。

xmlIndentTreeOutput = TRUE;
xmlTreeIndentString = "\t";

とかやってみたけど結果は変わらず…。
2007/12/17(月) 19:59:45
libxml2使うならサイト見ろや。ちゃんと書いてあるから。
2008/03/07(金) 21:02:04
windowsでtinyxml利用してるんだけど、保存時、shift_jisになっていまいます。
utf-8で保存することはtinyxmlでは無理ですか?

リファレンスとかも探したつもりなんだが、
無理なら使うのやめるか保存後に変換しようと思ってます。
2008/03/07(金) 21:47:02
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
人少なそうなのでage
613デフォルトの名無しさん
垢版 |
2008/03/26(水) 18:25:20
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)
で参照されました。

とか出てリンクできない
これ有名なバグだったりする?
2008/03/26(水) 18:28:18
ごめww
分かった

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

スマソ
615デフォルトの名無しさん
垢版 |
2008/04/08(火) 15:46:57
boostに取り込まれないかな

ていうかstlに
2008/04/08(火) 22:33:02
Boostに加わって解説書出ないかな
ネット上にあった他人のソースを参考に組んでるが全然理解できない
617デフォルトの名無しさん
垢版 |
2008/04/09(水) 02:24:44
このスレの住人なら知っていますね、あの糞開発ツールのことを

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

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

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

糞な開発ツールを糞だと言える、そんな当たり前の環境をみんなの力で取り戻しましょう。
618デフォルトの名無しさん
垢版 |
2008/04/09(水) 04:57:03
>>616
xercescって使いやすい?
C++のDOMパーサーはノードを参照で返したほうが使いやすくなるような気がする。
2008/04/09(水) 06:35:47
なんていうか、大げさな感じがする
2008/04/16(水) 22:47:43
ああ、さすがにBig過ぎてちょっとBlueになるな。
621ゼッド
垢版 |
2008/05/02(金) 12:18:20
XalanでXPathを使ってデータの取得はできるようになったけど、
書き出すには相変わらずDOMを使ってる。
コード的には、完全に切り離されてる感じでカッコ悪いです。
ひさびさに嵌りました。
622デフォルトの名無しさん
垢版 |
2008/05/02(金) 13:52:25
xalanのメリットってxercesと組み合わせられることだと思う

ただ
ライブラリが馬鹿でかすぎるデメリットの方が大きいけど
2008/05/19(月) 10:14:37
要素の混合内容をオミットすれば、DOMみたいに無闇に多相じゃないXML構造木をC++で書けそうな気がするんだよな。
だれかやってみてくれよ。 boost-friendlyな感じでさ。
2008/06/22(日) 08:15:33
よく言われるXMLの構造が複雑なのはデータそのものが複雑だからって解釈でOK?
WindowsもLinuxも両方対応するXMLパーサってあるかな?
あるいは同じソースコードでもOS依存が少ないようなもの
625デフォルトの名無しさん
垢版 |
2008/06/22(日) 08:22:26
あげ
2008/06/22(日) 19:40:07
>>624
MSXMLがWindows依存なだけで他はほとんどプラットフォーム非依存だ。
テキストを読み込んで解析するなんてOSの出る幕はないだろよ。

最近処理を丸投げしてPythonに解析させると楽だということに気がついた。
boost::pythonとPythonのxmlモジュールを使えば、速度の要らない場面なら相当タイプ量を減らせて良い感じ。
2008/06/22(日) 20:00:49
まあXMLなんて使わんでいいんならそれに越したことはねえやな
C/C++で、かつ自分でデータ形式選べるんなら、XMLはあり得んわ
2008/06/22(日) 22:58:02
でもXMLほど多言語・環境でAPIが用意されている形式もなかなかない。
だがしかし、たしかにC/C++でのXMLの扱いの不便さも異常。
2008/06/22(日) 23:07:24
>>628
LispでのXMLの扱いの楽さは異常。
2008/06/23(月) 00:27:48
汎用的に使用できるAPIを提供している非営利団体がいてくれれば、どの言語も同じ。
XMLプログラムは作る時代から使う時代に移ろうとしている
2008/07/01(火) 00:26:17
Xercesの使い方がよく分からなくてザーセツ…
つーか日本語の情報少なすぎて英語苦手の俺にはつらいお…
2008/07/01(火) 00:41:31
たかがテキストのタグとアトリビュート切り分けてせいぜいタグの対応
チェックするだけなら大した話でもないと思うが
IANAのencoding指定に対応したり
外部実体参照だのを解決したり
DTDやらXML Schemaやらでバリデートしたり
XSLだのXPATHだのに対応したり

こういうもろもろの仕様がウゼーからXMLのライブラリは無駄に巨大になるんだろ
Xercesとかさ
階層的なデータ構造を表現するための、ただの構造化テキストが欲しいんなら
XMLなんて仕様的にはtoo muchであって、要らないんだよ
だから最近はYAMLだのJSONだの流行ってるんだろ
別にS式でもいいけど
2008/07/08(火) 21:58:15
UnicodeとかURIとかもなー
634デフォルトの名無しさん
垢版 |
2008/08/03(日) 09:20:05
>>629
ActionScriptもかなり扱いやすいぞ。C++からずれてゴメンネ

2008/08/03(日) 09:20:55
C++でCGIやろうぜ!高速だろ!?
2008/08/03(日) 11:18:32
俺は一人でProtocolBufferに付いて行くぜ。XMLなんて形式ばかりのファイル扱ってられるかよ
2008/08/03(日) 12:46:23
>>635
index.cgi、list.cgi、register.cgi、・・・と個別にバイナリ作るのがめんどくさすぎる
だからと言って一つのcgiにまとめるとパラメータと処理のマッピングがごちゃごちゃに

apacheモジュールとして作れば解決するかも試練が。
2008/08/03(日) 13:34:10
TAOとかつかうの。アレ難しいから
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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