2chブラウザののログコンバーターを作ろう
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG移行するにしても過去ログを捨てなければいけません。
そこで共通のログコンバーターを作ろうというスレッドです。
ちなみに私はプログラムはVC++が出来ますが、
プロでもないし、それ程の実力も無いので協力者を募集します。
関連スレ
monazilla.org (w
http://www.monazilla.org/
0232デフォルトの名無しさん
NGNG<!ELEMENT mail - - CDATA>
<!ELEMENT id - - CDATA>
<!ELEMENT rh - 0 (name?, mail?, id?)>
<!ATTLIST rh
id ID #REQUIRED -- レス番 --
date CDATA #REQUIRED -- yyyy-mm-dd --
time CDATA #REQUIRED -- hh:mm(:ss)? --
>
<!ELEMENT ref - 0 EMPTY>
<!ATTLIST ref
id IDREFS #REQUIRED -- レスの参照 >>1 --
>
<!ELEMENT br - 0 EMPTY>
<!ELEMENT % inline "ref, br">
<!ELEMENT rb - - ((%inline;)|PDATA)*>
<!ELEMENT res - - (rh, rb)>
0233デフォルトの名無しさん
NGNGDTDとスキーマってどっちがはやってるの?
0234デフォルトの名無しさん
NGNG0235デフォルトの名無しさん
NGNG流行という意味ではschema
というか上 >>229,232 にでてるDTDはSGMLのであってXMLのじゃない。
0236デフォルトの名無しさん
NGNG0237デフォルトの名無しさん
NGNG0238デフォルトの名無しさん
NGNG0239デフォルトの名無しさん
NGNGタブはヌル文字アタックでゲーハー板がForbidden攻撃などの結果
他の制御文字もろともフィルタリングされるようになりますた。
0240デフォルトの名無しさん
NGNG0241デフォルトの名無しさん
NGNG私一人かも知れませんが。がんばって作っていただけるとうれしいです。
0242デフォルトの名無しさん
NGNGXMLの形式はまとまるのにまだ時間がかかりそうだし、
>>1は友人のケコーン式に行っておそらく今ごろ二次会か三次会で
騒いでいるかもしれないので、プラグイン形式の模索版を作ってみました。
一応、OpenJaneログ→>>215式XMLに "なんちゃって変換" する
プラグインとそのソースも同封しています。その他はReadme.txtをご覧あれ。
0243デフォルトの名無しさん
NGNG悲しいけどここ作ろうスレなのよねぇ
0244デフォルトの名無しさん
NGNG今のところXMLは
要素名、属性名は >>215、
ツリー構造は >>219、
res要素以下の構造は >>215 か>>230 ってところですかね。
で、その>>215と>>230で違っているのが.datの各フィールドを
そのまま保存するか、
パーシングして保存するか。
前者は楽チン、
後者はログコンバータとしては2度手間、だけどマークアップ的にはより良い。
例:日付フィールド
<date>03/03/05 10:06 ID:3TyuvqLs</date>
<rh date="03/03/05" time="10:06">
0245デフォルトの名無しさん
NGNGhttp://www.w3.org/TR/xmlschema-2/
0246242 ◆GsQAUnYIlM
NGNGhttp://www.geocities.co.jp/Beautycare/4965/public/logconv.html
02471 ◆LirUghTKBo
NGNG|
| ('A`) ハァ...
/ ̄ノ( ヘヘ ̄ ̄
02481 ◆LirUghTKBo
NGNGよく読むと欲しかった情報があまり無かったり…。
>>242
CFileFindとGetProcAddressあたりに目から鱗が落ちた気分。
プラグインと言っても作り方、利用方法が漠然としてて
全然わからなかったので非常に参考なります。感謝。
>>238
待ってくれるだけ良いですね。('ー`)
0249デフォルトの名無しさん
NGNG構造は
ドメイン(2ch)
+- 板(プログラム)
+- スレッド(ログコンバータを作ろう)
+- レス(1-n)
この形で表現できると思う。
それを踏まえた上で、
ボトムアップでフォーマットを決めて行けば
色々と作業しやすいんじゃないだろうか?
お帰り >>1
0250デフォルトの名無しさん
NGNG朝帰りですか…
0251242 ◆GsQAUnYIlM
NGNG実は俺、道民。
0252242 ◆GsQAUnYIlM
NGNGちょっと手直し版です。プラグイン呼び出しを別スレッドにしました。
XMLも、とりあえず<res>内をそのまんま出力するようにしてみました。
0253デフォルトの名無しさん
NGNG朝帰りってまさか結婚式で出会った女性とちょめちょめしたんじゃないだろうな。
もしも>>1がそんなナンパな奴なら俺はこのプロジェクトを降りる!
02541 ◆LirUghTKBo
NGNG下らないスレ違いの戯言だけどさ、聞いてくれよ。
2次会行ったんですよ、2次会。
それは楽しく終了して帰ろうと思って電車の時間を確認したら
終電の時間過ぎてたんですよ。えぇ。
してね、始発の時間を確認したら4時間あるんですよ。
その間どう過ごそうかと。
で、3次会行ったんですよ。3次会。
カラオケ2時間歌って閉店なので終了。
残り2時間くらいはまぁ、駅で過ごそうかと。そう思ったんですよ。
駅に戻ったら
鍵かかってたんですよ。
後ろ向いて繁華街だった場所を見直したんです。
適当なところで時間潰そうかと思って。
真っ暗なんです。
気温ですか?マイナス20度ですよ。
以下想像どおり。(場合によっては絶する)
02561 ◆LirUghTKBo
NGNG修正。
改めて参考になるような本を探してみたら
XMLを扱っている参考書ではJavaやPerl、PHPばっかりで後は.NETぐらい。
MSXML4付属の英語マニュアル読めって事ですか…。
頑張るか('A`)
02571 ◆LirUghTKBo
NGNGとりあえず前回とほとんど変わってませんが
レスの数だけかましていたメモリリークを修正しました。
流石に放置しておくのもアレなんで…。
02581 ◆LirUghTKBo
NGNGBBSによって記述が違うみたいです。
(Janeの2ch DAT)
03/02/28 10:01 ID:???
(JaneのしたらばJBBS DAT)
2002/05/13(月) 08:40 ID:???
こういう場合もありますし、そのままやった方が
良いのではないかと思います。
0259デフォルトの名無しさん
NGNGぽいけど、あの辺の仕様って公開されてんの?
0260デフォルトの名無しさん
NGNG>>70らしいでつ
0261デフォルトの名無しさん
NGNG0262デフォルトの名無しさん
NGNG共通だし。
0263デフォルトの名無しさん
NGNGこのスレのOpenJaneログ
http://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0007.zip
0264デフォルトの名無しさん
NGNGDateTime=2003/03/10 00:14:37
Size=78075
Url=http://pc2.2ch.net/tech/dat/1046742687.dat
BOLD=0
REVERSE=0
COLOR=clWindowText
ABONE=0
INVISIBLE=0
READ=263
BBSTYPE=0
BOARDURL=http://pc2.2ch.net/tech/
TOP=15981
READALL=0
PRIORITY=0
READ_POS=0
UPDCHECK=0
LAST_LOAD=03/03/10 00:44:13
TITLE=2chブラウザののログコンバーターを作ろう
LAST_SENT=03/03/08 02:02:19
0265デフォルトの名無しさん
NGNGホットゾヌ1.0β2.9
http://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0008.zip
0266デフォルトの名無しさん
NGNG中間形式を XML で持つんだったら、XPath とか XSLT とか使って
レスのフィルタリング機能とか実装しませんか?
中間形式 XML のログ * フィルタリング情報 XML ファイル
= フィルタリング済み HTML ログ
よく2ちゃんのまとめサイトで、必要な情報や、より価値のあるレスだけを
抜き出してまとめて整理してあるところってあるじゃないですか。スレの杜とか。
そういう「選ぶ・まとめる・整理する」というのを自動化して、
フィルタリング結果を javadoc みたいに HTML にレンダリングできたら、
面倒くさくなくていいと思いません?
「有意義なレスを抽出する」作業を分散できるので、特定のサイト管理者が
全部やらなくちゃいけないこともなくなるから、2ちゃんの膨大な資源を
みんなで効率良く発掘できる手段になると思うんですが・・。
まぁ必ずしも XML でやる必要もないでしょうけど。
0267デフォルトの名無しさん
NGNGselection
「いる/いらない」情報をもつフィルタ。
いわゆる荒らし対策のあぼ〜ん情報を保持するフィルタと考えてください。
score
「どれだけ価値があるか」情報。selection の上位版。
それぞれのレスに non-negative number のスコアを与えます。
0/1 の値だけを持つ score 情報は、selection と等価。
hierarchy(tree)
ベタ形式 → Tree 形式
先例はこちら:
http://nmgm.s2.xrea.com/x/class/
link
hierarchy の上位版? それぞれのレスに関連したレスの情報の情報を保持。
walkthrough
読む順番と関連レスを保持。
memo
レスに対するコメントや捕捉、メモなどの情報を保持。
0268デフォルトの名無しさん
NGNG自動化や共有をする?
0269デフォルトの名無しさん
NGNG使うというのがあります。
たとえば、スレを斜め読みしたい人は、selection * hierarchy で
スレのだいたいの像がつかめます。
より有意義と思われる情報を読みたい人は、score + score で得点の高い
レスを目印に読み進めます。
そして、辞書的に使いたい人は、selection + link といった風です。
>>268
フィルタリングのやり方は、どういうフィルタを作りたいかという
価値観によって変わるでしょうか・・。
人の手が必要な場合もあるでしょうし、レスの tree 関係を抽出するだけなら、
http://nmgm.s2.xrea.com/x/class/
で示されているように '>>数字' を元に機械的に処理してもいいでしょうし。
もちろん '>>数字' に投稿者によるミスが含まれていたら、手動で直す
こともできるでしょうね。
>>268さんのおっしゃるとおり、フィルタリング情報を共有することによって
ログのブラウズ作業がより効率化することにもつながると思います。
そのフィルタリング情報は、どんなファイル形式で持ってもいいと思います。
XML でもいいし、もっとコンパクトにシリアライズして、スレの締め 950-1000
あたりに「これがこのスレのハイライトでした」と貼りつけてもいいでしょうし。
0270デフォルトの名無しさん
NGNGフィルタリング情報ファイルを共有するアップローダを用意しさえすれば、
クライアントがローカルに HTML レンダリングできるので、CGI に HTML
レンダリングさせてサーバに負荷をかけることはないと思います。
0271デフォルトの名無しさん
NGNGdate要素にID入ってていいの?
0272デフォルトの名無しさん
NGNG各monazillaツール互換以外にHTMLでの出力プラグインの話は前にも少し出てたよね。
そっちを作る話と一緒にすればいいかも。
あー、でもゾヌ2のしおりを出力するようなもんなのかな。
0273266
NGNGなるほど・・。既にそういう話はあったんですね。コメントありがとうございます。
中間形式 XML の書式が決まったら、既存の XSLT ツールで
レンダリングするのも簡単で柔軟な対応ができるでしょうから、ぜひ
このスレでもその点を考慮に入れてくださいませ。
しおりを共有できるのは面白いですね。
>>267に追加させてください。
bookmark
しおりの情報を保持。
0274デフォルトの名無しさん
NGNGいいですね。
スキン対応とかも含めていいんでしょうか?(漏れだけ違う話かも…)
0275デフォルトの名無しさん
NGNG2ch のログ形式に依存してるよね。
2ch 中でも何もなかったり、ID だったり、リモートホストだったりと
板によって異なるからプラグイン側で面倒を見るべきかと。
02761 ◆LirUghTKBo
NGNGhttp://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0009.zip
仮ですがMSXML(2?)を利用したXML出力をしました。
中身のDATを水曜どうでしょうから>>263の物へ変更。
XMLのフォーマットは仮に>>215を参考に。
<res num="1">のようなアトリビュート(?)の出し方が
よくわからないので保留…。
一応吐き出したXMLもウpしておきます。
http://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0010.xml
MSXMLも昔の奴は全然資料無くて困ります。
02771 ◆LirUghTKBo
NGNG02781 ◆LirUghTKBo
NGNG0279デフォルトの名無しさん
NGNG<res num="1">
じゃなくて
<res>
<num>1</num>
にすればいいじゃん。
ただ、dat自体もレス番号を保持していないし<num>は不要という話もある。
0280デフォルトの名無しさん
NGNG02811 ◆LirUghTKBo
NGNG単なるDATを解析するついでに保持していたぐらいなので
言われてみれば確かにレス番号を保持する必要は無いかもしれません。
でも>>266のようなことをしたい人もいるでしょうし、XSLTを使う要素の一つとして
持つぐらいは良いんじゃないかなと思っています。
で、一応XSLTで利用しやすい形で<res num="1">なんですよね?
・・・と、私が皆さんに聞いてみたり。
ごめんなさい、XMLそのものを知って日が浅いので
私からは何とも言えないです。鬱('A`)
>>280
わかってるくせに。( ´ー`)σ)Д`)
0282デフォルトの名無しさん
NGNG私はそれでいいと思うんだけどな。
ちゃんとした仕様だけ決めてしまえばいい。
そしたら、思いもよらない使い方をするやつが現れたりするかも。
ある1つのデータ形式の書き方の違いで、2ch全体の全てのログを表すことも、
たった1つのレスを表すことも出来るようにすれば、友達同士でログ交換できるし。
2ch ブラウザ開発者が、もしかするとその形式に対応してくれるかもしれないし。
0283デフォルトの名無しさん
NGNGスレッドのタイトルをtitle要素にした方がよくない?
<title>2chブラウザののログコンバーターを作ろう</title>
0284デフォルトの名無しさん
NGNGレスにハッシュコードつけて共有(w
0285デフォルトの名無しさん
NGNGん?言ってる意味がわからない。
ハッシュコードについては理解しているつもりだが・・・。
0286デフォルトの名無しさん
NGNG0287デフォルトの名無しさん
NGNGよくわかんないけど、●買わなくてもよくなる、ってこと?
0290デフォルトの名無しさん
NGNG/ ´∀)
| U /
( ヽノ
ノ>ノ ヒタヒタ
. 三 しU
∧_∧
/ ´∀`) < ぬるぽ
| U /
( ヽノ
ノ>ノ
しU
02911 ◆LirUghTKBo
NGNG「ID:」が本文までに含まれてしまうとID付きスレッドの処理と勘違いして
やっちまうらしい…。
まず区切りまでの部分を先に抽出しなきゃ駄目ね。
と言うことで叩かせて頂きます!!
( ・∀・) | | ガッ
と ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/
(_フ彡 / ←>>290
02921 ◆LirUghTKBo
NGNGhttp://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0011.zip
ID無しのスレで本文にID:があるとおかしくなるのを修正。
トリップ付きの名前だと「1 </b>◆LirUghTKBo <b>」になってるので念のためCDATAで確保。
スレ名を<title>でくくるように修正。
レス番号を<num>1</num>でとりあえず追加。
吐き出したXML。
http://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0012.xml
出力したXMLもちゃんとUTF-8になっているらしく激しく感動。
きっと>>125も安心ですね。
02931 ◆LirUghTKBo
NGNG何とかならないかな…。
0294デフォルトの名無しさん
NGNGhttp://www.w3.org/TR/REC-DOM-Level-1/
http://www.w3.org/TR/REC-DOM-Level-1/idl-definitions.html
0295242 ◆GsQAUnYIlM
NGNGXMLを>>244形式に近づけた。ただし<res>内はそのまんま出力。
まぁ、これ(OpenJaneToXml)はあくまでも動作確認用のプラグインなので、
実際の共通XML作成プログラムは>>1に任せるとする。
で、今回のバージョンの2chブラウザログコンバータ(仮)には
通知関数を付けてみた。
例えば、ログにtechのサーバはpc2.2ch.netと記録されてたとする。
ところがその後サーバがpc20.2ch.netに変更されたとする。
このとき、プラグインはコンバータ本体に問い合わせて、
正しいサーバを取得できるようにしてはどうかというもの。
コンバータ本体は最新の板一覧情報をプラグイン側に通知する。
今のところコンバータはSettingsフォルダに入ってるbbsinfo.iniから取得してるけど。
"tech"自体が変わっちゃったら意味ないけどな・・・
0296デフォルトの名無しさん
NGNG<name>,<msg>,<mail>(?)
でどうするん?
1)実体参照にするのか。
2)実体参照が指す文字にするのか。
3)その他。
0297デフォルトの名無しさん
NGNG0298デフォルトの名無しさん
NGNG]]>
って現れる可能性ある?
0299デフォルトの名無しさん
NGNGに変換してからCDATAセクションに文字列を埋め込むのがXMLの仕様だから、読み取り時には出てこない。
0300デフォルトの名無しさん
NGNG0301デフォルトの名無しさん
NGNGlogをupシル!
0302デフォルトの名無しさん
NGNG0303デフォルトの名無しさん
NGNG0304デフォルトの名無しさん
NGNG0305244
NGNGまず Schema のサンプルとそのインスタンスを作りました。
http://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0013.zip
基本的には >>215, >>219 をあわせたもので、変更点は
[bbslog要素]
意味が広すぎるので要素名を monalog に変更。
[namespace]
これは逆に 2ch のみのログとは限らないので
http://www.2ch.net/log から http://monazilla.org/log に変更。
(サンプルでは http://www.monazilla.org/log-030311)
[abone属性]
abone 以外に Over 1000 Thread , 移転, 等々も
表すため state 属性に変更(省略可、初期値 normal)。
0306迷ったところ
NGNG『そのままでいく』>>258
この場合、要素名を変更するか、もしくは date の解釈を
レスの日付ではなくデータベースの日付フィールドにある値、とする(無理矢理)。
『回避』>>271,>>275
する場合、別途要素か属性を設る。
「あぼーん」や「Over 1000 Thread」等のメッセージもここに入ってくるので、
その場合も意味を通すために要素自体を省略するか、空白にする。
<res num="2" state="abone">
<name><![CDATA[あぼーん]]></name>
<mail>あぼーん</mail>
<date>あぼーん</date>
<msg><![CDATA[あぼーん]]></msg>
</res>
↓
<res num="2" state="abone" />
こうしておくと >>266-270 のようなことをする場合に便利。。。というより
こうしておかないとXMLにした意味が薄れる。
他に、
server 要素の属性は
uri : http://pc2.2ch.net/
name : pc2.2ch.net
どちらかよいか。
num の有無。
トリップの抽出は?
メッセージ内のアンカー情報保存 >>230 は?等々。
0307244
NGNGhttp://monazilla.org/log
↓修正
http://monazilla.org/monalog
03081 ◆LirUghTKBo
NGNGとりあえずトリップの抽出について
トリップを別に用意する場合、
>1 ◆LirUghTKBo
こんな感じの普通のトリップなら問題ないんですが
>ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★
こういう特殊な場合はどういう風にデータを持てば良いのか
という問題が。
03091 ◆LirUghTKBo
NGNGというわけで>>305,244氏の内容に沿って作り直してみます。
ところでその中のXMLで一つ確認したいんですが、
<server uri="http://pc2.2ch.net/" type="2ch" />
urlではなく、uriは誤植ですか?それとも意味有りで正しいですか?
0310デフォルトの名無しさん
NGNG03121 ◆LirUghTKBo
NGNG>>294
ありがとうございます。
>>295 242 ◆GsQAUnYIlM氏
通知の流れがどういう順番で来てるのかわからなかったり…。
また後でソース読ませていただきます。
> 実際の共通XML作成プログラムは>>1に任せるとする。
このスレ読んでる9割近い人が凄い不安を感じてると思います。
というよりも、私が不安です。
>>300
全ての2chブラウザは平等です。
が、今まだ下地を作ってる段階なので待って下さい。
あと工作員の中の人も大変だなとか、Jane川必死だな(藁とか
('ー`)クスッと笑える程度なら結構ですが、それもほどほどに。
0313242 ◆GsQAUnYIlM
NGNGあの中に入ってるプラグインは通知関数を使ってないので見てもわかりにくいかも。
流れとしては、
コンバータが通知関数ポインタ(NotifyCallbackProc)を
プラグインのLogConv関数に渡す
↓
プラグインは渡された関数ポインタを使って問い合わせる
例)
BBSINFO bi;
lstrcpy(bi.szBoard, "tech"); // "tech"のサーバ名を問い合わせる例
lpNotifyCallback(hWnd, コマンド, &bi);
↓
コンバータの通知関数(NotifyCallbackProc)が呼び出される
int CALLBACK CLogconvDlg::NotifyCallbackProc(HWND hWnd, int nCommand, LPVOID pParam)
{
BBSINFO* pbi = (BBSINFO*)pParam;
if(lstrcmp(pbi->szBoard, "tech") == 0)
lstrcpy(pbi->szServer, "pc2.2ch.net"); // プラグイン側へサーバ名を渡す
}
みたいな感じ。要するにコールバック。
0314242 ◆GsQAUnYIlM
NGNG通知関数の使用例とプラグイン設定ダイアログ表示例を
追加したサンプル1プラグインのソースも添付。
03151 ◆LirUghTKBo
NGNGhttp://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0014.zip
XMLのフォーマットを>>305の物に変更。
アトリビュート付加。(何でこんな悩んでたんだ…)
出力したXML
http://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0015.xml
とりあえずスレッドのキーやサーバーなどは決め打ちですので
その辺は後日対応って所で。
03161 ◆LirUghTKBo
NGNG解説ありがとうございます。
OKです。大体わかりました。
近いうちに私の方で組んでいるプログラムを
これに従ってDLL化しようかと思ってます。
0317デフォルトの名無しさん
NGNG305のことだけど
1 </b>◆LirUghTKBo <b>
は
<b>1</b>◆LirUghTKBo <b></b>
じゃない?
>>315
の構造だけど
<monalog>
<log> or <thread> //ラップしておいたほうがmonalogに複数logをおけるかも
<head> //ヘッダ
<body> //内容
</log> or </thread>
</monalog>
0318317
NGNGの構造...
..以下
はなんか勘違いしてたんで無視して。
0319デフォルトの名無しさん
NGNG> ラップしておいたほうがmonalogに複数logをおけるかも
賛成です。
1氏の>>315の形式ですと、1ファイル内に1つのログしか置けないです。
代わりの案としては、
・body を thread に置き換えて、thread-id をその属性もしくは要素として持たせる
→ 1ファイル内に、1板の複数のスレのログを保持できる。
・<monabbs><head /><body /></monabbs> 相当の形式にする
→ 1ファイル内に、サーバとスレにかかわらずいくつもログを置ける
あと <head /> とか <body /> とか general 過ぎるタグ名使うのたるいんで、
http://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0004.xml
↑みたいに、<head /> の代わりに <original /> とか、<body /> の代わりに
<postings /> や、あるいは <res-set />、<thread /> というように、
より具体的な名前を使って欲しいです。これは個人的な希望。
0320デフォルトの名無しさん
NGNG1つのファイルに複数のログを入れる必要ってあるのかな・・・
あんまり大きなサイズのXMLは避けたほうがいいと思うんだけど。
0321デフォルトの名無しさん
NGNG置き換えるよりもさらにラップするほうが簡単。
<monalogarchive>
<monalog>
</monalog>
<monalog>
</monalog>
</monalogarchive>
みたいな感じにすれば参照も楽々。
0322デフォルトの名無しさん
NGNGなぜ?
0323デフォルトの名無しさん
NGNG複数のログを入れてもいいし、入れなくてもいい。
なるべく必要のない制限は作らないスキーマがいいと思うけど。
0324デフォルトの名無しさん
NGNGファイルサイズがでかくなるのがいやなだけなら、
外部実体にすればいいっしょ?
っていうか、ログって言葉気をつけないと、意味が不明。
板なのかスレなのかレスなのか。
03251 ◆LirUghTKBo
NGNG現状でXMLのファイルをスレッド毎に保持しているのは
2chブラウザのDAT保存がそういう形になっているので
そうしているだけで、必ずしも分ける必要は無いかもしれないです。
スレッドのキー(番号)もXML側で持っていますからね。
で>>320はブラウザやエディタで開いた時の事を考えて
大きな一つのXMLは避けたいと言っているのだろうと勝手に解釈。
というわけで外部実体というのが現実的でしょうか?
・・・で、外部実体って何?
0326320
NGNG100M超えてるXMLのDOMなんか想像したくねぇぞーって事です
外部実体でも結局読むので同じかな
ちなみに
2月から使い始めたOpenJaneのログが既に120MB
マ板だけでも18MBあるのでかちゅな人とかじゃ死にそう
とおもちゃって、
でも323なのでアボーン>>俺
0328デフォルトの名無しさん
NGNG外部実体については、「たのしいXML」というページで確認しました。
たしかにこれだと、巨大なDOMってことになっちゃいますね。
ということは、XMLレベルじゃなく、monalog のレベルで外部のファイルを
参照する方法が必要ということでしょうか?
「たのしいXML」
http://www.cityfujisawa.ne.jp/~yanai/xml/
「外部エンティティ」という項があります。
0329デフォルトの名無しさん
NGNG・thread-id="0fda343fdsfa" で参照し、id から実体を得る方法は別途用意
・2ch用ブラウザがやっているように、ログの配置を固定して、
ルートからの相対パスで参照 ref="/hoge/moge.xml"
03301 ◆LirUghTKBo
NGNG外部実体もa hrefみたいな感じかなと思っていたら丸ごと持ってくるようで、
>>329で提案された方法もプログラム側としては構わないのですが、
スタイルシートから使うのは無理になってしまうのではないかと。
(可能なら以下の行は無視してください)
で、外部参照だったら>>326で言われている超巨大なDOMにはならず、
確認もルートのXMLをIEなどで開かない限りは大丈夫だろう、ということで
結局、外部参照に落ち着きそうな結論に達しました。
いずれにしろボードリストみたいな物は持っておかないと駄目ですね。
03311 ◆LirUghTKBo
NGNG■ このスレッドは過去ログ倉庫に格納されています