トップページ⇒tech
984コメント345KB

2chブラウザののログコンバーターを作ろう

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさんNGNG
乱立する2chブラウザですが、ログの形式がそれぞれ違う為に
移行するにしても過去ログを捨てなければいけません。
そこで共通のログコンバーターを作ろうというスレッドです。

ちなみに私はプログラムはVC++が出来ますが、
プロでもないし、それ程の実力も無いので協力者を募集します。

関連スレ
monazilla.org (w
http://www.monazilla.org/
0002デフォルトの名無しさんNGNG
どうせログは単純な変則CVSなんだから、
Perlとか使えば数日で完了するプロジェクトだと思うんだが。
0003デフォルトの名無しさんNGNG
>>2
その数日で終了することを誰も着手していないわけだが。
代表的なところで、かちゅ、ゾヌ1、ゾヌ2、Abone、Janeあたりの相互変換が
できると結構需要ありそうだね。
オープンソースで作って、対応ソフトを増やしていくと(・∀・)イイ!!かも。
00041NGNG
datログだけではなく、それ以外の設定ファイルもありますし
その内容やフォーマットも私一人では正直、解析ですら大変です。
フォルダもサーバー名だったり、板名だったり様々です。
これから出てくるブラウザにも柔軟に対応できるようなソフトを目指したいのです。
00051NGNG
・・・。

今更ですがスレタイに「の」が一つ多かったですね。(;´д`)
0006デフォルトの名無しさんNGNG
個人的には直で変換するより間にXMLはさんでほしいな
で、最終的な変換はXSLTで。

面倒っちゃ面倒だが普通にやったらそれこそ>>2なので。
0007デフォルトの名無しさんNGNG
個人的な意見なんだが「それ以外の設定ファイル」の解析はそれなりにメンドクサイ。
とりあえず「ログだけ相互変換」で動くものを迅速にリリースしたほうがいいかも。
0008デフォルトの名無しさんNGNG
>>3
>>2ができる奴は作り捨てでやっつけるし、できない奴はどうしようもないので諦める。
結果的に余り公開されて無いだけだと思うが。

公開したら公開したで仕様変わったときに対応迫られて面倒だしな。
0009デフォルトの名無しさんNGNG
>>7
同意。
そもそも、そんなにしょっちゅうソフトを変える人がそう沢山いるとは
思えないので、ユーザ名だのハンドル名だのはコンバートする意義が
少ないと思う。設定し直すのもたいした手間じゃないし。
ついてるに越したことはないが、それよりもコンバート対応ソフトを
一種類でも増やしたほうが有意義と思われ。
00101NGNG
ではとりあえず、今のところ開発言語は置いておいて、それぞれのソフトで
最低限どんなファイルがあれば良いのか調べる必要がありますね。
00111NGNG
とりあえず見つけたコンバーターです。
参考程度に。

色々 → Jane
http://www.geocities.co.jp/SiliconValley-Sunnyvale/7740/

かちゅ〜しゃ → ぞぬ
http://suzuka.cool.ne.jp/aiken/

かちゅ〜しゃ → Hikky ログコンバータ
http://www.geocities.co.jp/SiliconValley-Oakland/4909/

かちゅ〜しゃのログを2chで使用されているdat形式へ
http://kusuri-.hp.infoseek.co.jp/tools.html
0012デフォルトの名無しさんNGNG
プラグインで対応ログ形式を自由に増やせるようにしてください。
0013デフォルトの名無しさんNGNG
>>12
そんな大規模なソフトじゃないから意味ないw
単にVerUPでEXE差し替えで十分だと思われ。
0014デフォルトの名無しさんNGNG
なんか最低でも数種類は形式があるみたいだから、
内部的には何かの統一的な表現形式を採用したほうがいいんじゃない?
XMLでログデータの受け渡しするんならプラグイン化も楽だと思うし。
(それこそ標準入力からXMLを読んで引数で指定したディレクトリにログを吐く
  exe形式のプラグインでもいいような。。。(素人考え)
0015デフォルトの名無しさんNGNG
>>13
プラグイン形式にしておけば他のソフトが利用しやすくなると思うのだが。
ひとりで全部作るなら別にいいけど。

>>14
内部的ではそうするだろうね
0016デフォルトの名無しさんNGNG
とりあえず叩き台が必要だな。
0017デフォルトの名無しさんNGNG
作ろうっていうくらいだから>>1が何か作れ。

データ解析で挫折しそう。
00181NGNG
>>16-17
わかりました。
幼稚な上に汚くて叩き台にもならないかも知れませんが、
簡単なところでAbone→Janeでもやってみます。

余談ですがギコナビのidx(板リスト)ってバイナリなんですねぇ…。
0019デフォルトの名無しさんNGNG
>>18
言語はVC6と思っていいのけ?
それなら俺も力になれるかも。
需要は多いと思うので、がんがれ。
0020デフォルトの名無しさんNGNG
つーか、2chブラウザのログ形式一覧とかって、どっかにないのか?
わざわざインストールして調べるのが鬱だ。
誰か必要最小限だけ張ってくれ。それを元にたぶんきっと誰かがなんか書くから。
00211NGNG
>>19
私が持っているのはVC++6です。
.NETはソースで互換はあるかもしれませんが、よくわかりません。
0022デフォルトの名無しさんNGNG
>>20
ない
00231NGNG
あと、データ形式ですが、私はXML触ったこともないのでさっぱりです…。
もし仮に
・スレッドタイトル
・レス数
・スレッド立てた日時
が項目として用意されていたとして、他の2chブラウザがバージョンアップし
新しい項目(仮にスレッド最終取得日時)が追加され、対応を余儀なくされた場合、
下位互換というのは楽に取れるものなのでしょうか?

ログコンバーターの更にコンバーターを用意する羽目になるのは
ミイラ取りがミイラになってしまうような物なので、XMLで独自に
ログ形式を用意するのであれば慎重に考えないと駄目ですね。
00241NGNG
能書きたれてないで取りあえずなんか作んないと駄目ですね。
少し時間かかるかも。
0025デフォルトの名無しさんNGNG
コンバータ作ったとして、
ぞぬ→かちゅ→ぞぬ
と変換した場合に最初と最後が同じ物になるだろうか?
いくつかの項目はリセットされてしまう気がする……
0026デフォルトの名無しさんNGNG
>>25
たとえばどういう項目がならないと思うの?
2chのスレ情報が

・サーバ(http://pc2.2ch.net/ とか)
・カテゴリ(tech とか)
・スレ番号

んでスレ内の情報が

・番号
・ハンドル名
・メールアドレス
・投稿日
・発言内容

だけでしょ。抜けの発生する要素が思いつかないが・・・
0027デフォルトの名無しさんNGNG
先にソース公開されてるやつ落としてこい
0028デフォルトの名無しさんNGNG
<xml version="1.0">
<logs>
<category>
<name>tech</name>
<board>
<name>プログラム技術板</name>
<thread>
<id>1046742687</id>
<name>2chブラウザのログコンバータを作ろう</name>
<res>
<head>
<id>26</id>
<name>デフォルトの名無しさん</name>
<mailaddress>sage</mailaddress>
<date>03/03/04 16:08</date>
</head>
<body>
>>1さん。これを拡張子xmlで保存して、IEでみるといいです。
</body>
</res>
</thread>
</board>
</category>
</logs>
</xml>
002928NGNG
あ,>>1というところが変換されちゃってる(>_<)
消してやってください。
003026NGNG
ああ、スレタイ入れ忘れてた。
投稿日も投稿”日時”が正しいな。もうだめぽ。
0031デフォルトの名無しさんNGNG
>>26
例えばゾヌのinfファイル読んでみたかい?
スレの文字の色設定できたり太字にできたり、「ココまで読んだ」があったりメモがあったり。

他のブラウザにはない、独自の機能のためのデータをどう保存する?
003228NGNG
なんかcatogoryとboardが重複しとる。鬱だしのう。
003331NGNG
もしかしてdatファイルだけの変換?
だったら萎え
お気に入りとかも変換してくれよ
003426NGNG
>>31
ああなるほど、そういう意味ね。
俺は純粋に2chのログという意味だけで考えてたよ。
ハンドル名や書き込みログと同様、その手の独自データは
切り捨ててもかまわないんじゃないかと個人的には思うがなー。
003528NGNG
>>33
それは近い将来にこなす課題なのではないかと。
いまやるべきことはlogの相互変換についてだと思うな。
それがなんていうか、スレタイからして、それがメインだよ。
003631NGNG
う〜ん、そういう意図だったか。
純粋にログファイルだけの変換なら、別のブラウザに切り替えたときにまた取り直せばいい話だとおもうんだが。
(2chにはあんまり優しくないけどね)

透明あぼーんやら重要度やら既読フラグやらが別ブラウザでそのまま引き継げたら魅力的だと思う。
そのブラウザがそれらの機能をサポートしている必要があるけどw

どっちかといえばログコンバータよりお気に入りコンバータのほうがよろこばれそうな気がしないでもない。
0037デフォルトの名無しさんNGNG
>>33
ム板の人間がくれくれ厨とは これいかに
003831NGNG
激しく脱線した。
ごめん。
0039デフォルトの名無しさんNGNG
>>37
してくれよ→しようよ

こういう意図で言ったんだけど書き方を誤ったな。・゚・(ノД`)・゚・。
004026NGNG
>>36
んー 俺的には仕事柄(プログラマ)、今読み込めるログと同じぐらい
過去ログデータがかなり大事なんだよな。
たとえば xxx ってAPIについて調べたい!ってなった時に、過去ログからも
検索できるってのはかなり大きいから。
現在あるスレと違って、過去ログって見失うことあるし(ちなみに●は持ってる)
個人的な重要度は、

過去ログ>現在あるスレのログ>>>>お気に入り>透明あぼーんとかの付加情報

って感じだな。
まあ、人によって重要度は違ってくると思うが。
0041デフォルトの名無しさんNGNG
>>39
揚げ足取りスマソ 気にしないで
0042デフォルトの名無しさんNGNG
みんなsage進行にしてるけど、人集めるためには
age進行のほうがいいんじゃないか?
それとも1が叩き台出すまではsageでいく?
0043デフォルトの名無しさんNGNG
datのフォーマットはどうなってるん?
0044デフォルトの名無しさんNGNG
プラグインはどうしたほうがいいかな。
個人的にはプラグインには任意のファイル(基本的にはexe)が指定できるようにしておいて、
どの言語からでもプラグインを追加できるようにするのがいいと
思うんだよなぁ。
ログ <=解析プラグイン(hogeToXml.exe)=> XML <=出力プラグイン(xmlToPiyo.jar)=> 別形式のログ
みたいにできないかな?
0045デフォルトの名無しさんNGNG
・それぞれのログの形式を XML のスキーマとして記述
・それぞれのログから中間形式へ変換する XSLT
・中間形式からそれぞれのログへ変換する XSLT

XSLT ではなく単なるプログラムでもいいが。
この場合、ログ形式に対して XSLTは高々 2n 種で済む。
ただし、中間形式が十分な記述力を持っていないと情報落ちする。
004644NGNG
>>45
必須情報のみによって成り立つ最小のスキーマがあったとして、
致命的な設計ミスがなければ、情報落ちは(必須でない要素を追加していくことで)
あとから対策可能だと思うです。
0047デフォルトの名無しさんNGNG
>>46
というか、必須でない情報は別ファイルに追い出すとか。

かちゅのidx、ゾヌのinf……あと知らんけど、それら独特の情報は別ファイルに追い出して、
必要な情報があったらそれを使う。
コンバートのたびに情報量が増えるという欠点があるが……
そうすれば>>25の懸念も消えると思う。

プラグインはぜひともHTML出力プラグインが欲しいね。
どんなログからでもHTML形式にして吐き出せる。
004845NGNG
自分が前に作ったスクリプトは、dat と idx を別々に変換する方式だった。
2ch とかちゅ〜しゃのログの相互変換しかできないけど。

>>46
それぞれのブラウザがログ(dat+idx)に記述する情報の集合を IDXi(IDX1,IDX2...) とすると、
IDX1 and IDX2 and IDX3... で表せる 「必須情報のみによって成り立つ最小のスキーマ」 では、
ユーザのニーズに応えられない。
IDX1 or IDX2 or IDX3 と、ひたすらに拡張することになる。

まあ、このスレで標準化して、ブラウザの方に準拠してもらうって考えもあるけど。
004944NGNG
>>47
ソレダ!XHTML形式は激しく欲しい!
つーか、よく考えたら最小限のXMLで整頓してあるだけでも
かなり利用価値高いし(今さら
0050デフォルトの名無しさんNGNG
どうせプラグイン作るならコンバータだけでなく2chブラウザからも使えるようなプラグイン仕様がいいのかなぁ……と言ってみたり。
入力にもHTMLが使えたら過去ログ倉庫から読めたり
となるとプラグインの入力先がローカルファイルだけでなくWWW上のリソースも……ああ……


ちょっとトイレでオナってくる
005144NGNG
>>48
じゃあ、スキーマに数段階のレベルを持たせるというのはどうだろう。
XHTMLにStrictとそうでないものが数種あるように、
情報の再現性を基準に、定義のレベルを分けるという感じ。
こうしておけば、最小限のスキーマをもとに初期の開発は進むし、
より難しい要求は高次のスキーマが決まるとともに取りかかれるのではないかと。
005245NGNG
あと、構造の変換だけじゃなくて、ログの内容も弄らないといけない。
http:// や >>n にログの段階でリンクをはっていたりいなかったりするので。

さらにいえば、ログ中の空白を除去するブラウザもある。
つまり、ブラウザで読んだ時点でデータが異なる。
実用上は別に問題ないけどね。テストがし辛いが。
0053デフォルトの名無しさんNGNG
同じこと考える人はやっぱりいるんだなぁw
俺も去年の終わりごろにちょっと作って放置してあるよ……

ゴミレススマソ
005444NGNG
>>52
うん。もちろん正規表現を的確に利用するだけの技能が
必要になるんだろうね。
でも、それはたいしたことじゃないと思うな。
この段階で最も重要なのはインターフェイスなんじゃないだろうか。
プラグインがまっとうに動くことの保証があれば、
プラグインを書くひとはいると思うし、いずれ近いうちに揃っていくと思う。
0055デフォルトの名無しさんNGNG
おお なんかいつの間にか本格的な話になってるな
でもVB厨の俺にはついていけなそうな悪寒
005645NGNG
>>54
とりあえずは、各ブラウザでどんな情報をログに書き込んでるかの調査だね。
0057前調べたヤツNGNG
■ファイル・フォルダ構成
ログはかちゅ〜しゃをインストールしたフォルダの「log」フォルダ以下に保
存される。

/Hzb.exe本体
/config
hzb.favお気に入り
/logログフォルダ
/(server)BBSのサーバ名
/(bbs)BBSのディレクトリ名
subject.txtスレ一覧
subject.infスレ一覧データ
head.txtローカルルール
(key).datログファイル
(key).infスレッドデータファイル
(key).txtメモ
0058デフォルトの名無しさんNGNG
あ、全然違う。
>>>57は無視してください。
ゾヌのやつだ……
0059デフォルトの名無しさんNGNG
>>56
MonazillaMLに仕様ください〜って流せば?
006045NGNG
目標を決めないといけないね。
ログファイル単体のコンバータなのか、ログ情報全体のコンバータなのか。

参考にもならないかも知れないけど、
前に作った行ストリーム指向の Ruby 製ログ単体コンバータ
http://tiki.hakagi.net/tiki.cgi?p=piroshki
00611NGNG
うお、邪悪なCコードコンテストに出されそうなプログラム組んでる間に
本格的な進展が…。
データ形式のことは前述の通りサッパリなので本格的な内容は
有志の皆様にお任せします。

情けない叩きプログラムは今日中に出来れば良いな、という程度で。
もう少々お待ちください…。(情けなひ)

あとは軽くこのスレ用のサイト作りでもしますかね…。
0062デフォルトの名無しさんNGNG
叩いたら跡形もなくなったりして
0063デフォルトの名無しさんNGNG
>>62
それはそれでいいんじゃない?w
たとえ原型とどめなくなったとしても、やっぱベースになるものが
あるのと無いのじゃ、話の具体性がかなり違うよ
とりあえず1&ALLがんがれ!
00641NGNG
JaneとABone、適当に比較調査サンプル対象スレッド。
yahooBB規制。。?
http://qb.2ch.net/test/read.cgi/sec2ch/1045039955/

■メモ
・DATとSubject.txtは共通
・ABoneのBoard.ini 全て0KBで用途不明(飛ばし)
・Janeのidxの内容
------------------------------------------------
1045039955.idx(頭の行番号は投稿用に追加した物)
------------------------------------------------
001[スレタイ]:yahooBB規制。。?
002[日時]:Tue, 04 Mar 2003 09:25:18 GMT
003[レス]:13
004[不明]:0
005[不明]:
006[板URL]:http://qb.2ch.net/sec2ch
007[不明]:0
008[不明]:0
009[不明]:
010[不明]:
011[不明]:0
012[不明]:1046805933
------------------------------------------------

■Logが格納されているフォルダ
OpenJane
\Logs\2ch\案内\2ch規制情報

Abone
\log\qb.2ch.net\sec2ch
00651NGNG
1045039955.datのファイルサイズ
かちゅ 12.1 KB (12,461 バイト)
Zonu2 11.1 KB (11,418 バイト)
Giko  11.1 KB (11,418 バイト)
Abone 11.1 KB (11,418 バイト)
Jane  11.1 KB (11,405 バイト)

かちゅはhttp〜の部分に<a hrefタグが付くみたいです。
他のDATはついていません。
00661NGNG
なんかJaneだけサイズ違う結果に…
ディスク上のサイズでは12.0 KB (12,288 バイト)だから正しいんでしょうか?
一応目で追って比較したら内容に違いは無さそうなんですが…。
00671NGNG
あ、癖でずっとsageっぱなしでしたね。
age推奨でお願いします。
クッキーの都合もあるので無理にとは言いませんが。
0068デフォルトの名無しさんNGNG
>>66
改行(LF/CRLF)とかじゃないかな?
0069デフォルトの名無しさんNGNG
>>1
Janeは改行コードがLF。

ABoneはGetResList.txtで既得スレが分かるけど、そのフォーマットは
バージョンを経て随分変わってるようなので、無視した方が良いかも。
あと、>>18で言ってるギコナビの板リストってスレリストのこと?(Folder.idx)
それだったら0x01区切り。

>>25についてだけど、ログ(dat)だけに限って言えば、「かちゅ」、「えまのん」等は
2chのサーバにあるやつと同じ形式に戻せないから、かちゅ→何か→かちゅ は
単純には出来ない。確認するの面倒だから記憶で悪いんだけど、Ya2b、Gicko
は全レスを取得するようにブラウザで設定してないと無理。
他のやつはCRLFかLFの違いしかないから大丈夫かな。
0070愛犬NGNG
かちゅ→ゾヌ作者です。

かちゅ〜しゃログの変換は
・「あぼーん」→「あぼ〜ん<>あぼ〜ん<>あぼ〜ん<>あぼ〜ん<>」
・「透明あぼ〜ん」→「<><><><>」
・区切りは「,」→「<>」
・「@`」を「,」に復帰
・名前欄前後の「<b>」「</b>」を削除(トリップ前後のタグは残す)
・リンク形式をPATHINFO式に変更する
<a href="http://vip.bbspink.com/test/read.cgi?bbs=ascii2d&key=1013545450&st=20&to=20&nofirst=true" target="_blank">
→「<a href="../test/read.cgi/ascii2d/1013545450/20" target="_blank">」てな感じ。

で、鯖datとだいたい同じになるかと。抜けがあったら補足してください。
1年前の話なので仕様が変わってたらダメぽ。
0071デフォルトの名無しさんNGNG
datログに関してはこれくらいあれば変換できるかな?

・項目と順番(名前、日付など)
・項目の形式(日付は YYYY/MM/DD YY/MM/DD など)
・項目のデリミタ(, <> など)
・レコードのデリミタ(LF CRLF など)
・エスケープ文字
・リンクの有無(>>n にリンクをつけるつけないなど)
・リンクの形式
0072デフォルトの名無しさんNGNG
さらに、メタ情報として必要なのは…
・ファイル名の命名規則 (unixtime など)
・拡張子 (.dat .d など)
・ディレクトリ構造 (サーバ名/板名/ など)

あとなんだろう。
0073デフォルトの名無しさんNGNG
プロジェクトZ〜開発者たち〜
http://zonutan.hacca.jp/bbs/test/read.cgi/zonu/040660888/
ここの50ですー。VC++6.0で作ろうかと思ってたですが、、、
フォルダ分けが結構難物かも。
0074デフォルトの名無しさんNGNG
ログの保存位置に関する要素ってこれくらい?

・ルートディレクトリ(かちゅ〜しゃなら log/)
・サイト名 (2ch)
・カテゴリ名 (PC等)
・サーバ名 (pc3)
・板ディレクトリ名 (tech)
・板名 (プログラム技術)

共通形式のボードファイルがあれば情報はとってこれるね。
0075デフォルトの名無しさんNGNG
ボード一覧更新URLから採ってくるのが確実かな。
00761NGNG
>>70
おお…!作者様自ら恐れ入ります。
かちゅの形式もぞぬの形式も調べ始めたばかりで
情報がかなり不足していますので涙が出るほど歓迎です。
00771NGNG
ふと気になったことがあったんですが、
ボードが更新されてサーバー名が変わった場合
既存のログはどうなるんでしょうか?

サーバー名使用されているのはABoneですが、
確認用に少ししか使っていないのでいまいちわからなかったり…。
0078デフォルトの名無しさんNGNG
鯖移転時には2chブラウザがログコピーしてくれますた。>ホットゾヌ1
コンバータだと納屋見所
0079デフォルトの名無しさんNGNG
かちゅ〜しゃでは、サーバ名が変われば読めなくなる。
ログを引き継ぎたい場合は、logmover などでログを移動させる。

katju88 ではボードエイリアス機能で、古いログもそのまま読めるようになってる。

他は知らない。
00801NGNG
>>73
そこの50様。
スレ拝見いたしました。
よろしければご協力お願いします。
0081デフォルトの名無しさんNGNG
乱立する2ch用ブラウザの比較 Part12
http://pc2.2ch.net/test/read.cgi/software/1045192709/

これの過去スレでログの形式を調べていた人がいた気がする。
008273 ●NGNG
>>80=1
よろよろ。

ID付かないのねここ
00831NGNG
アカウント取ろうと思ってisweb申し込んだんですが
Webスペース貰えるまでに結構時間掛かるみたいですね・・・。
00841NGNG
一発目。(VC++6のプロジェクトファイル)
http://www.geocities.co.jp/SiliconValley-Bay/8642/2chLogConverter.zip
かなり醜態晒します。叩き台っていうか俺が叩かれる勢いね。

でも一応、今日の成果物です。
残念ながらログの読み込みなどはまだ全く出来ません。

全体的に駄目なプログラムかもしれませんが、
指摘してくだされば改善に努めます。
00851NGNG
晒しage
0086デフォルトの名無しさんNGNG
とりあえず設定は難しいと思うので
ログだけの相互コンバーターを作って欲しい。
例えばぞぬ→かちゅ〜しゃ→ぞぬ
となっても、ログだけが移行できてれば
設定は移行できなくてもいい。

もちろん将来的には設定も含めて欲しいが差しあたっては。
0087 ◆c34kQbBMp. NGNG
>>84
>>11の一番上の作者です。
普段MFC使ってるんで、非MFC&Cライクの書き方はどうも違和感を覚えました。
DirectX使うときはそっちなんですけど、最近書いてないもんで。

さて、_THREADDATA構造体のresdataですが、レス数はMAX1001じゃないです。
ログ変換のルーチンがないので、とりあえずレベルかもしれませんが・・・
画面周りについては、主目的と外れるのでパス。

いずれにしても、今回のは肝心のログ変換部分がないので、これ以上は
何とも言えないです。
コーディングスタイルレベルではあると思いますけど、すんなりまとまる話
じゃないので、それはコーディングしてる人任せになっちゃいますね。
0088デフォルトの名無しさんNGNG
とりあえずのプロトタイプをAPIで作る人というのもも久々に見た気がする。
まあ、各プラグインは、エクスポート関数を呼んでもらうだけだろうから、
主画面はどう書いてもかまわないだろうけど。

ただ、核になる部分が、メンバ決め打ちの構造体というのがつらいかな。
IDはどうするんだとか、sageレスのフラグがあったりすると、柔軟に扱いづらい。
各ログ形式の最大公約数ではなく、最小公倍数の構成にしなければいけないから。
XMLがベストだけれど、それが大げさならハッシュでもいいかなと。
そのほうが面倒くさいかな?
008944NGNG
ハッシュに同意。
要素のみから成るシンプルなXMLのDOMツリーなら、それで簡単に代用できる気がする。
0090デフォルトの名無しさんNGNG
亀頭が入っていく瞬間が好きです。
http://homepage3.nifty.com/digikei/index2.html
0091デフォルトの名無しさんNGNG
セマンティックウェブを使うのはどう?
0092デフォルトの名無しさんNGNG
http://pc2.2ch.net/test/read.cgi/software/1041714342/446-464
もうしらべてあるな。
00931NGNG
とりあえず乱立を一通り読んでみた所で>>92が出しているレス以外の気になったところ。
http://pc2.2ch.net/test/read.cgi/software/987860942/159
かちゅのidxの内容。

>>87
まぁ、画面構成はどっかで見たような感じですが、それは置いといて。
ほとんどがとりあえずレベルの物でresdataの配列も
何となく1000個なんですが、よく考えるとしたらば系は
1000以降も書けるのでNGですね。

>>88-89
ID忘れてました。すいません。
あとハッシュという用語がいまいちハッキリわからないのですが、
各項目のポインタを用意してmallocで確保するという理解で
あっているのでしょうか?

>>90
そうですね。

>>91
セマンティックウェブと言うのはログ検索などに?
ログ変換とは少し趣旨とずれてしまうので。
0094デフォルトの名無しさんNGNG
>>93
つか、ログのコンバートに関してはコンバータ作者も来ているようだし
そもそも、そこまで問題はないだろ。
XMLとかセマンティックウェブとかは、ログ毎のidxやinfファイルやその他の
設定ファイルをどう扱うか話してるんじゃないの?
0095デフォルトの名無しさんNGNG
>>93
Jane使いだろ?
>とりあえず乱立を一通り読んでみた所で>>92が出しているレス以外の気になったところ。
>http://pc2.2ch.net/test/read.cgi/software/987860942/159
>かちゅのidxの内容。
普通のブラウザで開いてみればすぐ分かるが、こんなスレッドは存在せん。
正しくはこう。
http://pc.2ch.net/test/read.cgi/software/987860942/159
そのスレはソフトウェア板がpc2鯖じゃなくてpc鯖にあったときのスレだよ、と。

ちょうどログ話してるからちょっと関連性あると思うけど、
Janeのログって\logs\カテゴリ名\板名\xxxxxxxxxx.datって保存してて、
URLのデータがないんだよね。
だから実際は
http://pc.2ch.net/test/read.cgi/software/987860942/
なんだけど、今は「ソフトウェア板」は「http://pc2.2ch.net/software/」
というデータしかもってないから、
実際はpc鯖時代にあったスレッドにもかかわらず、
http://pc2.2ch.net/test/read.cgi/software/987860942/
になっちゃうんだね。

\logs\カテゴリ名\板名\xxxxxxxxxx.datってログの保存は、
板の移転時にログを移動する処理を作らなくてもいいというメリットがあるが、
上記のようなデメリットがあるんだよね。

Janeのログを変換するなら、そこらへんも気を付けないとだめだね。
009644NGNG
ちょっと大きいけど、XMLのサンプル張っていいですか?
0097デフォルトの名無しさんNGNG
いいとも!!
009844NGNG
<?xml version="1.0" encoding="Shift_JIS"?>
<log>
<!-- 拡張子xmlで保存後、IE5.0以上かMozillaで開くと、ツリーが見れるです。 -->
<type>2ch</type>
<url>htt://pc2.2ch.net/test/read.cgi</url>
<category>
<id>tech</id>
<name><![CDATA[プログラム技術板]]></name>
<thread>
<id>1046742687</id>
<title><![CDATA[2chブラウザのログコンバータ作ろう]]></title>
<res>
<head>
<id>95</id>
<name><![CDATA[デフォルトの名無しさん]]></name>
<mailaddress>sage</mailaddress>
<timestamp>2003-03-06T20:14:57+09:00</timestamp>
</head>
<body><![CDATA[ここに本文がはいるです。]]></body>
</res>
</thread>
</category>
</log>
009944NGNG
あう、間違い。httじゃなくてhttpでした。
category,thread,resは、通常複数個含まれる要素のつもりです。
0100デフォルトの名無しさんNGNG
100get
0101デフォルトの名無しさんNGNG
まあ、元気がいいのは最初だけ。
1週間もすればdat落ちだな、このスレも(藁
010273 ●NGNG
.彡ハミ
( ゚∀゚) 週末に少し作ってみる鴨。
0103デフォルトの名無しさんNGNG
>>44
スキーマも作ってください
0104デフォルトの名無しさんNGNG
>>93
ハッシュっていうのはキーと値の集合で、連想配列とも呼ばれてるです。
一般的なハッシュの持つ特徴は、
1.操作はキーを指定して行う。 hash.put(key, value); hash.get(key); hash.remove(key);
2.ハッシュの内部ではキーの重複が許されず、キーが同じものを追加すると上書きされる。
3.出し入れの操作は非常に高速に行えるが、順序はまったく保証されない。
なのです。
ハッシュは、ライブラリの一部として提供されることが多いのです。
そこでこれに動的配列(vector、またはarraylistと呼ばれる)を組み合わせてあげると、
追加や削除に最適化された柔軟な構造体を作ることができるです。
010544NGNG
>>103
書いてもいいですが、XML初心者なんでスキーマの文法覚えるのに少し時間がかかるかも。
0106デフォルトの名無しさんNGNG
思いついたことをだらだらと書いてみます。

サイト→カテゴリ→板→スレ→ログ
と5段階あるわけだけど、この例では一つの XML 文書に複数のサイトのログが入らないよね?
別に他の文書の要素を参照してもいいんだし。

サイト(掲示板群)の掲示板の構造自体も XML にしておけば(2channel.brd みたいなもの)、
category 要素や category 要素下の name 要素の情報は、
そっちから取得できるよね。

XML で id というと他の要素から参照するための uid というイメージがある。
やや冗長気味でもきちんと名前付けしてほしい。

名前空間も適当につけとくといいと思う。
010744NGNG
レスどうもです。
>複数サイトのログが入らない。
うっかりしてました。
サイトを表す要素を設けて、そのなかに入れた方がいいんでしょうか。

>そっちから取得できるよね。
トランスレート用の情報を参照を使った形式で持った場合、
プラグイン開発者側の負担が多くなる気もします。
参照なしのXMLをSAXで読みながら変換していくのと、
参照ありのXMLをDOMにして参照を解決しながら変換するのって、
あんまり変わらないんでしょうか。試してないんでよくわからないです。
それとも、プラグインへの受け渡し用と内部形式用のXMLを
別々に定義した方がいいんでしょうか。

>id 名前空間
要素(例:thread)内の要素(例:res)を一意に特定できるからidとしたんですが、
まずかったですか。考え直してみます。
名前空間はbbslogとかでいいですか?(超安易
01081NGNG
垢取れたので、アップローダー用意しました。
http://logconverter.hp.infoseek.co.jp/cgi-bin/uploader/upload.cgi
010973 ●NGNG
ワラタ  と。
0110デフォルトの名無しさんNGNG
なんで2chブラウザのツールを作ろうとしているのに
ぁゃιぃテイストなのかと。
01111NGNG
あれ・・・(笑
まぁ、配色は後で変えときます
0112デフォルトの名無しさんNGNG
カテゴリは階層とは考えないで、フラグとか属性として考えたほうが良い。
PCニュースみたいにニュースカテゴリとPC等カテゴリの属する、
複数のカテゴリに同一の板がある場合もあるからね。
01131NGNG
(VC++6プロジェクトファイル)
http://logconverter.hp.infoseek.co.jp/cgi-bin/uploader/source/up0002.zip
すいません、ヘルプミー。
動的に配列を用意して確保しようかと思ったんですが、
文字列操作のところで(1byte、2byte)へばってしまってます。
具体的にはCLogConvクラスのConvert関数です。

使用方法は上段のファイル指定からDATファイルパスを指定し
読み込みボタンを押すというところまでです。
ファイルパス指定して無い状態で読み込むと落ちます。

ブラクラ級の動作不安定状態なので確認の際は気をつけてください…。
0114デフォルトの名無しさんNGNG
>>113
( ゚д゚) ……。
0115デフォルトの名無しさんNGNG
1&開発者諸氏、マ板とはいえ、プログラムとかソース晒す以上
そろそろトリップつけたほうがよかないか。
偽者が現れて変なものうpしないとも限らん。
0116デフォルトの名無しさんNGNG
× マ板
○ ム板

失礼。逝ってくる・・・
01171NGNG
も少し考えればよかった…Λ||Λ
_mbsnccnt使えば解決しそう…。

>>114
すまんね。
01181 ◆LirUghTKBo NGNG
てすと
0119デフォルトの名無しさんNGNG
>1さん
トリップ決めたらうpろだの所にでも書いておいてくだされ。
ここで「このトリップにします」って宣言されても本物かどうか判別する手立てがないので。
01201 ◆LirUghTKBo NGNG
>>119
かいときました。
012144NGNG
>>1さん、早速改訂版のXMLのアップに使わせてもらいました。サンクスです。
0122デフォルトの名無しさんNGNG
XMLをIEで見れないの俺だけ?
012344NGNG
すいません。IEでの確認はやってなかったです。
あとで確認して訂正します。
0124デフォルトの名無しさんNGNG
<?xml version="1.0" encoding="utf-8" ?>
<bbslog xmlns="http://www.2ch.net/bbslog">
<site xmlns:site="http://www.2ch.net/bbslog/site">
<site:type />
<site:uri />
<site:board xmlns:board="http://www.2ch.net/bbslog/site/board">
<board:category />
<board:thread xmlns:thread="http://www.2ch.net/bbslog/site/board/thread">
<thread:uri />
<thread:title />
<thread:res xmlns:res="http://www.2ch.net/bbslog/site/board/thread/res">
<res:head xmlns:reshead="http://www.2ch.net/bbslog/site/board/thread/res/reshead">
<reshead:number />
<reshead:mailaddress />
<reshead:timestamp />
</res:head>
<res:body />
</thread:res>
</board:thread>
</site:board>
</site>
</bbslog>
0125デフォルトの名無しさんNGNG
無駄にXMLを使いたがってるやつらが多いが、
XMLなら文字コードは当然UTF-8だよな?
XMLドキュメント内のencoding指定なんてクソの役にもたたないぜ。
金庫の中に金庫の開け方を書いた紙を入れておくようなもんだ。
0126デフォルトの名無しさんNGNG
>>125
ハァ?
糞の役にもたたんパーサ作ってる連中に言え
0127デフォルトの名無しさんNGNG
XML だと言語をあんまり気にしないで済むのが利点かと。
python でさくっとプロトタイプ書くなどもできるし。
0128デフォルトの名無しさんNGNG
いや、ちゃんと考えておかないと後で辻褄を合わせるのに大変かも。
2ちゃんは文字実体参照を使ってるケースも多いし、
パーサによって挙動が変わってくる可能性がある。
0129デフォルトの名無しさんNGNG
>>125
なんのためにEncoding指定を1行目に書かないとエラーになるか考えてみろ。

#まあ俺はUTF-8派だが
0130デフォルトの名無しさんNGNG
おお、ム板の「〜を作ろう」系スレにしては珍しく成果が出そう。
応援してます。OpenJane、VC++使ってますがXMLほとんど知らないし
まあC++でXMLやろうスレをちょくちょく見てそろそろやろうとは思ってるんだけど、
力になれるかどうかわからないのでせめてテスターにでもなる所存です。
0131デフォルトの名無しさんNGNG
>>129
<?xml version="1.0"?>
でもエラーにはならない罠
それどころかxml宣言自体省略可能な罠
0132デフォルトの名無しさんNGNG
>>131
知ってるよ。
「(書くなら)1行目に書かないとエラーになる」だ。
それぐらい汲み取れよ。
0133 ◆c34kQbBMp. NGNG
>>113
何とも特徴のある書き方ですね。
とりあえず、適当に修正しときました。
詰まってたらどうぞ。
http://iwh7.hp.infoseek.co.jp/l/o/g/logconverter/cgi-bin/uploader/source/up0005.zip

処理の流れは、それとなく似せたつもり。
0134 ◆c34kQbBMp. NGNG
>>113
重複して上げちゃってます。すみません。
ページを更新したら、上がっちゃった。
01351 ◆LirUghTKBo NGNG
今戻り…。

>>95
すいません、お察しの通りで。
指摘ありがとうございます。
今後は確認するようにします。

>>100 オメ
>>101 そうですね。モチベーションと勢いは大事だと思います。

>>104
遅レス申し訳ないです。
一応ハッシュと言う物はそれとなく理解したつもりです。
・・・プログラムで作れるかどうかと言うのはまた別問題ですが。
わかりやすい解説ありがとう御座いました。

>>121
OKデス。
じゃんじゃん使ってください。
ウpされたのIEでエラー出てますが。

>>130
同じくOpenJaneとVC++使ってXML無知の>>1です。
>>1必死だな とか言われても、必死です としか答えようの無い状況で頑張ってます。

>>133
とりあえずウpされたファイルを見てます。
特徴あると言うか…、文字列操作のプログラムなんて
組んだことも無かったんで、正直かなり稚拙な内容だと思います。
・・・にも関わらず読んで手直しして下さったのには非常に感謝してます。

と言うことで、もう少しプログラム見て研究します。
0136デフォルトの名無しさんNGNG
質問です。

今使われている有名2chブラウザの開発者が、そのブラウザのログ形式として
このスレで議論されているログ形式を使用することは、大歓迎ですか?

0137デフォルトの名無しさんNGNG
>>92
あ、コレ俺だ。違うブラウザで同じログを使いたかったんで、調べてたです。
今はJaneのログ形式(datとidxと保存フォルダ)をゾヌ1形式に改造して使ってます。

ついでに、関係ありそうなリンク。

掲示板スクリプトデータフォーマット規定を作ろう
ttp://pc.2ch.net/php/kako/1035/10359/1035908481.html
CMTフォーマット
ttp://www.kaede.sakura.ne.jp/~nikeno/cmt/
0138 ◆c34kQbBMp. NGNG
>>135
ああ、up0005.zipのやつですが、
delete tmp;
→
delete [] tmp;
01391 ◆LirUghTKBo NGNG
http://iwh7.hp.infoseek.co.jp/l/o/g/logconverter/cgi-bin/uploader/source/up0008.zip
ほんと仮ですがXML吐き出してみました。
xmlFormat.txtでそれとなくやってます。
>>98を真似てやってみました。
DAT(Jane形式)を読み込むのは>>133でウpされたものに
ぬるぽなど多少手直しした物デス。

XML吐き出す関数はCLogConv::WriteXMLDataですが
みてわかる通りタグ名が固定など汎用性も無くかなりキツイ感じ。

サンプルに使っているDATは1000レスまでありますが、
IEで開くと普通にブラクラになりかねないくらい重かったです。
注意。

使い方
上段エディットボックスにDATのファイルパスを指定して読み込み。
その時点でXML吐き出してます。
0140デフォルトの名無しさんNGNG
>>136
その2chブラウザだけならともかく、多くの2chブラウザが
同一ログ形式を取るようになったらすごく(・∀・)イイ!!
そのための第一歩として、どこかの2chブラウザがここで
議論されてるログ形式を採用してくれるのを俺は歓迎します。
01411 ◆LirUghTKBo NGNG
ありゃ・・・読めるけどURL変。一応訂正

VC++6プロジェクトファイル
http://logconverter.hp.infoseek.co.jp/cgi-bin/uploader/source/up0008.zip

あぁ、同梱されてるexeファイルは一番最初の古い物なので意味無いです。
申し訳ないですが、コンパイルしてください。
01421 ◆LirUghTKBo NGNG
>>136
私の個人的な意見では、歓迎です。が、
作者側としては他のブラウザに無い機能などを盛り込み
それぞれの特色を出す為や、自分が扱いやすい形にするなど
色々な思想があってこその独自形式だと思います。
他に保存しているフォルダの関係もありますし、フォーマットは共通と
言っても、Ctrl+ドラッグで簡単にログ移行という感じにはなりませんし。
形式のみでのサポートをするかどうかの判断は各作者にお任せします。
・・・という感じですね。

まぁ、共通の形式が使えたらそれ程魅力的なことは無いと思います。
0143デフォルトの名無しさんNGNG
>>129
でも、>>125 の言うとおり、文字コードがわからないと1行目すら読めない。

「<?xml」という文字列は

Shift_JIS : 3c 3f 78 6d 6c
Unicode : 3c 00 3f 00 78 00 6d 00 6c 00
EBCDIC : 4c 6f e7 d4 d3

になる。
まあ、Shift_JIS も UTF-8 も ASCII 部は US-ASCII 互換だが。
0144デフォルトの名無しさんNGNG
(´-`).。oO( その話はいいかげんやめにしたほうが・・・ )
0145デフォルトの名無しさんNGNG
うにこーどかどうかはBOMでわかるんじゃないですか。
014644NGNG
>>124さんの張って下さったXMLを参考に手直しした
XMLをアップロードしました。変更点は、
1.site要素を追加し、categoryをboard要素内に持つように変更 (>>112
2.なぜか抜け落ちてたname要素を追加
3.いくつかの要素名を、より適切と思われるものに変更
ツリー表示できないブラウザだとなんか味気ないので、
スタイルシート内包版もあわせてアップしてあります。
0147デフォルトの名無しさんNGNG
XMLこんなに名前空間つかう必要あるの?
014844NGNG
>>147
突っ込み感謝です。なんか無駄に複雑ですね。
要素名の重複を無くして、名前空間を減らしてみます。
014944NGNG
要素名を長めにして、名前空間を一つにしました。
あと、reshead要素は無くてもいい気がしたので
消しました。前よりすっきりしてます。
http://logconverter.hp.infoseek.co.jp/cgi-bin/uploader/source/up0012.xml
01501 ◆LirUghTKBo NGNG
MSのXML Notepadって奴を使ってみたけど日本語入力しようとすると
イリーガル言われて使い物にならない〜…
なんか、こう、いい感じのXML対応のエディタ無いですか?
0151デフォルトの名無しさんNGNG
>>149-150
おまいら昼間から暇そうですが、大学生ですか?
0152デフォルトの名無しさんNGNG
>>151
オマエモナー
0153デフォルトの名無しさんNGNG
>>151
警告しておく
これ以上そのことについては詮索するな
生命にかかわる
0154デフォルトの名無しさんNGNG
>>143
xpでもいいからソース嫁
0155デフォルトの名無しさんNGNG
>>153
無職引きこもり童貞パラサイトヲタクでつか?
0156デフォルトの名無しさんNGNG
  _, ._
( ゚ Д゚)
015744NGNG
>>150
キーワード[XML エディター フリー]で探してみたけど、
これが定番だ!ってやつはあんまり見当たらなかったです。
IBMの記事で紹介されてるJava製、海外製のフリーソフトとか、
Vectorとかに登録されてる日本製のフリーソフトとか、
いくつか候補になりそうなのはあるみたいだけど。。。
ちなみに私はemacs(sgml-mode or xml-mode) 派でつ。
>>155
( ´∀`) オマエガナー
0158デフォルトの名無しさんNGNG
>>150
schemaがある場合vs.net
無い場合そこら辺のテキストエディタ
0159デフォルトの名無しさんNGNG
monazilla.org(wに載ったよ
01601 ◆LirUghTKBo NGNG
>>151
まぁ、春厨が旬の時期ですから。
こんなスレを気にするよりnyの47氏を先に気にしてくださいな。

>>157-158
eXeedとか良い感じですが、1000レスまで行くような
大きなXMLだと重くてかなり厳しいんですよ。
とりあえず贅沢言わずXML Notepadで確認、
EDLEAFあたりで編集という環境でやってみます。

>>159
わーお・・・。(;´Д`)
01611 ◆LirUghTKBo NGNG
さーじずの設定方法
ttp://www.s34.co.jp/cpptechdoc/article/xml/xerces/
01621 ◆LirUghTKBo NGNG
Xerces-C++ Version 2.2.0
http://xml.apache.org/xerces-c/index.html
これがクソの役にも立たん噂のパーサー(?)
01631 ◆LirUghTKBo NGNG
MS XML4 SP1
http://www.microsoft.com/japan/msdn/xml/downloads/msxml4.asp
XMLに何使えば良いのか良くわからないな…。
0164デフォルトの名無しさんNGNG
軽くて小さい expat に一票。
0165デフォルトの名無しさんNGNG
C++でXML(主にxerces)やろう!
http://pc2.2ch.net/test/read.cgi/tech/1017641205/

では一応、DOMならMSXML2=IE5以上がインストールされてる環境
で十分だろうということに。
01661 ◆LirUghTKBo NGNG
色々見た上でMSXML使うことにしました。
MSXML4を入れてしまったのでわからないですが、

#import "msxml.dll" named_guids raw_interfaces_only
using namespace MSXML;

このように書いたらMSXML4入って無くても
IE5さえあれば大丈夫ですよね…?

参考リンク
C++ アプリケーションから MSXML を使う
ttp://www.utj.co.jp/XML/dev/dom/dxdom1_1.html
0167デフォルトの名無しさんNGNG
JAVAJavaジャバじゃばー♪

0168デフォルトの名無しさんNGNG
JAVAに1票
0169デフォルトの名無しさんNGNG
確かにnavi2ch等のログのコンバートなどにはJavaやスクリプト言語が向いてるかも。
2chブラウザはさりげなくOSをまたいで存在してるから、環境に依存しない言語も使っていこう。
そんなわけで、PerlならXML::Parser、XML::Generaterなどが軽くておすすめです。
0170デフォルトの名無しさんNGNG
組み込みPythonの方が良い。
0171デフォルトの名無しさんNGNG
一挙に対応環境が増える予感!
0172デフォルトの名無しさんNGNG
VC++ならcでなくc++を使わないのか疑問。
(strcpy,vsprintf,strstr,charの使うの&方法が...)
0173デフォルトの名無しさんNGNG
JavaでXML使う場合何がいいの?
0174デフォルトの名無しさんNGNG
まぁ、XMLの仕様だけ先に決めちゃって各言語への対応は
したいやつででしろと
01751 ◆LirUghTKBo NGNG
>>167-168
それだとスレタイが「作ってください」に...。

>>172
すいません、プログラムもあまり詳しくないので
何言われてるのかよくわからないです。
何かまずかったですか?
0176デフォルトの名無しさんNGNG
>>173
JAXP (Java Api for Xml Processing) by SunMicrosystems
を使うのが良いかも。
Sunが嫌いならJakartaとかApacheとかのプロジェクトを探すと転がってるかと。
0177デフォルトの名無しさんNGNG
>>1
http://www-6.ibm.com/jp/developerworks/security/000616/j-buffer-defend.html
VC++なら CStringかstd::basic_string<T>を使うのが無難だと思う。

>>174
そでつね。
01781 ◆LirUghTKBo NGNG
>>177
バッファーオーバーフローに関しては全然自信無いんで
まさしく指摘されている通りですね。

CStringも調べてみたら凄い便利そうなクラス。
VBみたいなノリで使えそうですね。
ちょうどMSXMLで使うBSTRの扱いにも困っていた所ですし…。
ありがとうございます。
01791 ◆LirUghTKBo NGNG
で、どうやったらafx.hincludeできるかというDQNな真似を
1時間半もかけてやってしまったわけですが・・・。

やっとCString使えるよ
0180デフォルトの名無しさんNGNG
>>179
    _, ._
  ( ゜ Д゜) ……。
01811 ◆LirUghTKBo NGNG
>>180
OKOK、おちつけ。
漏れもこんなスレ"読んでる側"なら全文同意だ。
気持ちは激しくわかる。

だが焦らずゆっくり待て。な?(;´∀`)
0182デフォルトの名無しさんNGNG
>>179
すさまじく切ない告白すんなよ。
応援すたくなっちまったじゃねーか!

ばんばれ。
01831 ◆LirUghTKBo NGNG
VC++6プロジェクトファイル
http://logconverter.hp.infoseek.co.jp/cgi-bin/uploader/source/up0013.zip

大体CString、CFile化しました。
が、ちょっと問題があって調べてもいまいちわからない所が。
相変わらずCLogConv::ConvertのDATを抽出する部分なんですが
buf 1レス分丸ごとのデータ
div 区切り文字(<>)
として

buf.Mid(0,buf.Find(div))

と記述するとprintf("%s",buf)のように出すとちゃんと
抽出される(デバッグウィンドウの出力画面参照)のですが

CString str = new CString(buf.Mid(0,buf.Find(div)))

とこのように書くと上手く行かない罠。
Mid関数もCString型が返って来るので大丈夫なはずなんですが…。

後生ですから助けてください。
0184デフォルトの名無しさんNGNG
newつかうんなら
CString *pstr = new CString(buf.Mid(0,buf.Find(div)));
こうするべきじゃないか?

CString str(buf.Mid(0,buf.Find(div)));
または
CString str = buf.Mid(0,buf.Find(div));
ってやるのが正解なんだろうけど。

ダイジョブ?
0185デフォルトの名無しさんNGNG
一歩間違うと>>1にXMLとMFCを教えるスレになっちゃうな
0186デフォルトの名無しさんNGNG
>>185
それで良いと思うよ。
0187デフォルトの名無しさんNGNG
MFCどころかC++の基礎から教えることになりそうだ
01881 ◆LirUghTKBo NGNG
すいません、書き方変だったようで。
しかもポインタ間違えたし。

typedef struct _RESDATA{
INTresno;//レス番号
CString*cName;//投稿者
CString*cMail;//メアド
CString*cResDate;//投稿日
CString*cID;//ID
CString*cMessage;//本文
_RESDATA*nextptr;//
_RESDATA*prevptr;//
}RESDATA,*LPRESDATA;

CStringbuf;
cfile.ReadString(buf); //datをopen済みのCFile
LPRESDATArd;
rd = new RESDATA;
rd->cName = new CString(buf.Mid(0,buf.Find(div)));

なので

> CString *pstr = new CString(buf.Mid(0,buf.Find(div)));
> こうするべきじゃないか?

そうしているつもりです…。

>>185-187
いや、正直に本音言うと自分でこんなにやる予定じゃなかったです。(;´Д`)
01891 ◆LirUghTKBo NGNG
タブ潰されたΛ||Λ
0190デフォルトの名無しさんNGNG
立て逃げよりはマシさ。
スキルアップのためと思ってがんばれ。

ところでCStringのポインタって使ったことある?
文字列配列ならCStringArrayあるし、あんまり使う場面が……。
0191デフォルトの名無しさんNGNG
>>188
RESDATAの中でCString*型にする理由がよく分からんのだが。
0192デフォルトの名無しさんNGNG
typedef struct _RESDATA{
:
:
_RESDATA*nextptr;//
_RESDATA*prevptr;//
}RESDATA,*LPRESDATA;

これってstd::vector<LPRESDATA>とかでまとめたくなるね。
0193デフォルトの名無しさんNGNG
構造体メンバはCStringでよくないか?
構造体ポインタの配列はCPtrArray使うとかリストならCPtrListとかあるし。
MFCでもSTLでも使うなら中途半端じゃなくがっつし使った方が。
0194デフォルトの名無しさんNGNG
>>193
俺もそう思う。
CStringにしておいても問題ないと思う。
これじゃmallocで実行時に動的に文字列用の配列を確保する昔からの方法と何ら変わりがない。

>>190
今のところ、ない。
引数で渡すときも汎用性を考えてLPCTSTR型にしてる。
0195 ◆c34kQbBMp. NGNG
>>189
個人的な意見ですが、無理に直す必要はないかと。
少なくともConvert関数は問題なかったと思います。

CStringのFindとMidは、内部で_tcsstrとmemcpy
を使ってるので、やってることは修正する前とほとんど同じです。

作ってるのは>>1さんなので、自分が慣れている
コーディングスタイルで良いと思います。
この機会に覚えるとかいうのなら別ですが・・・
0196デフォルトの名無しさんNGNG
1は何作ろうとしてんの?
ただフィルターだったら、素直にperlで組んだほうが良いんじゃないの?
素人なので見当違いの事言ってたらすんましぇん
0197デフォルトの名無しさんNGNG
>>192
どっちかってーとstd::listの方が良いような良くないような。
0198デフォルトの名無しさんNGNG
Java か .net でぱぱっと書いちゃおうかと思ったが
このスレの展開が楽しみなので止めた。
01991 ◆LirUghTKBo NGNG
インフォシーク調子悪…、ウp上手くいかない。


えー、ストレートに言うと、CStringを初めて使ったのは今日の昼からです。
ちゃんとした使い方も良く知らず書いたので問題あるのは覚悟の上で。
指摘してくださる皆様に感謝。

で、何でポインタにしてたかと言うと、以下の行
rd->cName = buf.Mid(0,buf.Find(div));
最初にCString(非ポインタ同士)を渡すところで
http://www.geocities.co.jp/SiliconValley-Bay/8642/vcerr.gif
なエラーが出てしまったからポインタにしてみると
渡される全然文字は違いますが、何となく動いたので。
・・・という最悪の理由です。('A`)

とりあえずそれに変えた問題のソースコード。
http://www.geocities.co.jp/SiliconValley-Bay/8642/2chLogConverter.zip
02001 ◆LirUghTKBo NGNG
>>195
ツツかれると修正します。
何となく暗黙的にスタイルが修正されるのを感じつつ。

>>196
今のところ>>44の左側を作っている(つもり)です。
言語については私はVBとVC++以外からっきし駄目です。
あと、もう忘れてますがCASL1ぐらいなら。

>>198
私が待っている「>>1じゃ話にならん、俺に任せろ!」という神は
>>1の愚行を楽しんでいるわけですね。
楽しんで頂いて何よりです('A`)
見守ってください。
0201デフォルトの名無しさんNGNG
このプロジェクトでは、各ブラウザのログインデックスファイルも読み込む(作成する)の?
0202デフォルトの名無しさんNGNG
>>199
rd = new RESDATA; // レスデータを確保
//memset(rd, 0, sizeof(RESDATA));//->これ

C++のstructはpublicなclass。
クラスのメンバはコンストラクタで初期化する(される)のが...。

rdをご丁寧にmemsetしてるから使うときに当然でーたは...。
0203デフォルトの名無しさんNGNG
>>201
最終的には設定も含めて変換できるようにしたい。
まずはログから。
0204デフォルトの名無しさんNGNG
各処理をもうちょっと細分化しても罰は当たらないと思田。
0205デフォルトの名無しさんNGNG
こういうのって誰か突っ走る人がいないと進まないんだよね。
02061 ◆LirUghTKBo NGNG
>>202
!!!!
アアアー、まじですかー!!!!11223
動的に変数を取ったなら尚更初期化しましょうってのが
裏目に出て原因になってしまったわけですか…(鬱)
ありがとうございます。
02071 ◆LirUghTKBo NGNG
ちゃんと動きました。
02081 ◆LirUghTKBo NGNG
これはつまり、あれですか。
ぬるぽと言ってガッとやられるケース
そ の ま ん ま ですね。
0209デフォルトの名無しさんNGNG
  オノゾミドオリニ
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/  
 (_フ彡        /  ←>>208
0210デフォルトの名無しさんNGNG
(゚∀゚)まあほどほどにな
0211デフォルトの名無しさんNGNG
ところで、XMLの仕様って完成してるの?
>>1の戯言を聞いてるだけじゃなんも進展がないわけで。
0212デフォルトの名無しさんNGNG
>>199
インフォシークに文句があるならxrea.com使えと。
いまならちょうど募集してますよ。
0213デフォルトの名無しさんNGNG
>>211
禿同。

仕様さえしっかり決めれば、あとはみんな同時進行で実装作業に入れる。
どうなるかわからない仕様のままだと、怖くて手を出せない。
単に >>1 の成長を見守るスレに終わる。

>>149 に載ってるやつが最新版?

字句的にこれでOKとしても、まだ決めなきゃいけないことはあると思う。
0214デフォルトの名無しさんNGNG
>>149
sitetype,siteurl,boardurl,threadurl,threadtitle,resnumber
ではツリー構造の意味が・・・と感じたので
要素名の変更・一部属性化したものをうp、、しようと思ったのですが
なぜかできなかったので次のレスにコピペします。
0215214NGNG
<bbslog xmlns="http://www.2ch.net/bbslog">
<server url="http://pc2.2ch.net/" type="2ch">
<board name="tech">
<thread key="1046742687">
<title>title</title>
<res num="1"><!-- num はいらないかも -->
<name>name</name><mail>mail</mail>
<date>date</date><msg><![CDATA[msg]]></msg>
</res>
<res num="2" abone="abone">
<name>あぼ〜ん</name><mail>あぼ〜ん</mail>
<date>あぼ〜ん</date><msg>あぼ〜ん</msg>
</res>
</thread>
</board>
</server>
</bbslog>
0216214NGNG
res要素の省略可能なabone属性は
xml からログ(や xhtml, PDF)に変換する際の便宜上のものです。

「透明あぼーん」や「移転したよ」,「停止しました」
等々がログにどんな形で残るのか?or残らないのか?
あたりはまったく知らないので考慮に入れていません。

カテゴリ名の取得は>>106さんの方法に一票
02171 ◆LirUghTKBo NGNG
http://logconvert.s28.xrea.com/cgi-bin/uploader/upload.cgi

新しいウpロダ用意できました。たぶん良好です。
>>212さん感謝。
021844NGNG
ID要素が無い予感。
0219デフォルトの名無しさんNGNG
resとそれ以外の外側にそれぞれもう1つラッピングしたほうが良いかも。
それとserver, board, threadの寿命は短いほうが。こんな感じで
<bbslog>
 <head>
   <server />
   <board />
   <thread />
   <title />
 </head>
 <body>
   <res />
   <res />
   <res />
 </body>
</bbslog>
0220デフォルトの名無しさんNGNG
質問です。

この xml の形式でデータを保存した場合、全部のデータは1個のファイルに
入れなきゃだめですか?スレッドごとに別な xml ファイルにしてもいいですか?

もっと言えば、レスごとに別ファイルにしても、問題ないですか?
02211 ◆LirUghTKBo NGNG
今日は知人のケコーン式に出席しなけりゃならんので
戯言のDQNレスは無い平和DAYです。
XMLのスキーマ(?)あたり話し合って頂けたら良いかなとか
思っております。では。

>>220
まだあまり決まっていない段階なので、問題と言うよりは
どんどん提案してくださった方が良いと思います。
0222デフォルトの名無しさんNGNG
>>220
この がどれのことなのか解らないんですが、

>>215 全データを1つのxmlで、
>>219 スレごとに1つのxmlで、

に向いてると思います。
このスレ的には>>219のが合ってそう。
0223&<>"'NGNG
<name>name</name>
は
CDATA使った方がいいぽ。
0224デフォルトの名無しさんNGNG
おまえらXMLっていいたいだけちゃうんかと
0225デフォルトの名無しさんNGNG
えっくすえむえる
0226デフォルトの名無しさんNGNG
DATは2ch形式でいいと思ふ。
0227デフォルトの名無しさんNGNG
>>226
2ch形式って4つくらいあるよ。
0228デフォルトの名無しさんNGNG
つかdatが欲しけりゃサーバに取りに行けばいいだけの話で。
0229デフォルトの名無しさんNGNG
<!ELEMENTname- - CDATA>
<!ELEMENTmail- - CDATA>
<!ELEMENTid- - CDATA>
<!ELEMENTrh- 0 (name?, mail?, id?)>
<!ATTLISTrh
idID#REQUIRED-- レス番 --
dateCDATA #REQUIRED-- yyyy-mm-dd --
timeCDATA#REQUIRED-- hh:mm(:ss)? --
>
<!ELEMENTref- 0 EMPTY>
<!ATTLISTref
idIDREFS#REQUIRED-- レスの参照 >>1 --
>
<!ELEMENTbr- 0 EMPTY>
<!ELEMENT% inline"ref, br">
<!ELEMENTrb- -((%inline;)|PDATA)*>
<!ELEMENTres- - (rh, rb)>
0230デフォルトの名無しさんNGNG
<!-- sample
<res>
<rh id="223" date="2003/03/08" time="11:14"><name>&<>"'</name></rh>
<rb>$lt;name>name</name> <br/>は<br/>CDATA使った方がいいぽ。</rb>
</res>
<res>
<rh id="224" date="2003/03/08" time="16:54"><mail>sage</mail></rh>
<rb><ref id="223"/>そうだね.</rb>
</res>
sample -->
0231デフォルトの名無しさんNGNG
Tabがきえて酷いことに・・・
0232デフォルトの名無しさんNGNG
<!ELEMENT name - - CDATA>
<!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デフォルトの名無しさんNGNG
スレ違いかもしれないけど
DTDとスキーマってどっちがはやってるの?
0234デフォルトの名無しさんNGNG
流行りも何もDTDが主流だろ
0235デフォルトの名無しさんNGNG
>>233
流行という意味ではschema

というか上 >>229,232 にでてるDTDはSGMLのであってXMLのじゃない。
0236デフォルトの名無しさんNGNG
XML Schema はだるいので、RELAX-NG 希望。
0237デフォルトの名無しさんNGNG
すべてだるいので、マークアップだけ希望
0238デフォルトの名無しさんNGNG
すべてだるいので1が作り終わるまで待ちます
0239デフォルトの名無しさんNGNG
>>231
タブはヌル文字アタックでゲーハー板がForbidden攻撃などの結果
他の制御文字もろともフィルタリングされるようになりますた。
0240デフォルトの名無しさんNGNG
2ch 互換サイトはまた違うだろうね。
0241デフォルトの名無しさんNGNG
openjane→かちゅのコンバータの需要あります。もしかしたら
私一人かも知れませんが。がんばって作っていただけるとうれしいです。
0242デフォルトの名無しさんNGNG
http://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0005.zip

XMLの形式はまとまるのにまだ時間がかかりそうだし、
>>1は友人のケコーン式に行っておそらく今ごろ二次会か三次会で
騒いでいるかもしれないので、プラグイン形式の模索版を作ってみました。
一応、OpenJaneログ→>>215式XMLに "なんちゃって変換" する
プラグインとそのソースも同封しています。その他はReadme.txtをご覧あれ。
0243デフォルトの名無しさんNGNG
>>241
悲しいけどここ作ろうスレなのよねぇ
0244デフォルトの名無しさんNGNG
>>242 gj

今のところ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デフォルトの名無しさんNGNG
date とかのデータ型は XML Schema に従った方が楽そう。
http://www.w3.org/TR/xmlschema-2/
0246242 ◆GsQAUnYIlM NGNG
一応。
http://www.geocities.co.jp/Beautycare/4965/public/logconv.html
02471 ◆LirUghTKBo NGNG
帰還。

    |
    |  ('A`) ハァ...
   / ̄ノ( ヘヘ ̄ ̄
02481 ◆LirUghTKBo NGNG
何となくIO別冊のXML即効レッスンというのを買ってた。
よく読むと欲しかった情報があまり無かったり…。

>>242
CFileFindとGetProcAddressあたりに目から鱗が落ちた気分。
プラグインと言っても作り方、利用方法が漠然としてて
全然わからなかったので非常に参考なります。感謝。

>>238
待ってくれるだけ良いですね。('ー`)
0249デフォルトの名無しさんNGNG
他 2ch 形式の BBS までを考慮に入れた場合
構造は
ドメイン(2ch)
 +- 板(プログラム)
   +- スレッド(ログコンバータを作ろう)
     +- レス(1-n)
この形で表現できると思う。
それを踏まえた上で、
ボトムアップでフォーマットを決めて行けば
色々と作業しやすいんじゃないだろうか?

お帰り >>1
0250デフォルトの名無しさんNGNG
>>1
朝帰りですか…
0251242 ◆GsQAUnYIlM NGNG
関係ないが、アプロダのup0002.xmlが水曜どうでしょうスレか・・・
実は俺、道民。
0252242 ◆GsQAUnYIlM NGNG
http://www.geocities.co.jp/Beautycare/4965/public/logconv.html
ちょっと手直し版です。プラグイン呼び出しを別スレッドにしました。
XMLも、とりあえず<res>内をそのまんま出力するようにしてみました。
0253デフォルトの名無しさんNGNG
>>247
朝帰りってまさか結婚式で出会った女性とちょめちょめしたんじゃないだろうな。
もしも>>1がそんなナンパな奴なら俺はこのプロジェクトを降りる!
02541 ◆LirUghTKBo NGNG
まぁまぁ、もちつけおまいら。
下らないスレ違いの戯言だけどさ、聞いてくれよ。
2次会行ったんですよ、2次会。
それは楽しく終了して帰ろうと思って電車の時間を確認したら
終電の時間過ぎてたんですよ。えぇ。
してね、始発の時間を確認したら4時間あるんですよ。
その間どう過ごそうかと。
で、3次会行ったんですよ。3次会。
カラオケ2時間歌って閉店なので終了。
残り2時間くらいはまぁ、駅で過ごそうかと。そう思ったんですよ。
駅に戻ったら

鍵かかってたんですよ。

後ろ向いて繁華街だった場所を見直したんです。
適当なところで時間潰そうかと思って。

真っ暗なんです。

気温ですか?マイナス20度ですよ。
以下想像どおり。(場合によっては絶する)
0255253NGNG
>>254
疑ってすまなかった。参加させていただくます。
02561 ◆LirUghTKBo NGNG
・・・なんて自らでスレの方向曲げてどうするのだと。

修正。

改めて参考になるような本を探してみたら
XMLを扱っている参考書ではJavaやPerl、PHPばっかりで後は.NETぐらい。
MSXML4付属の英語マニュアル読めって事ですか…。
頑張るか('A`)
02571 ◆LirUghTKBo NGNG
http://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0006.zip
とりあえず前回とほとんど変わってませんが
レスの数だけかましていたメモリリークを修正しました。
流石に放置しておくのもアレなんで…。
02581 ◆LirUghTKBo NGNG
>>244
BBSによって記述が違うみたいです。

(Janeの2ch DAT)
03/02/28 10:01 ID:???
(JaneのしたらばJBBS DAT)
2002/05/13(月) 08:40 ID:???

こういう場合もありますし、そのままやった方が
良いのではないかと思います。
0259デフォルトの名無しさんNGNG
かちゅのログって、カンマ区切りにするために中身色々変更してるっ
ぽいけど、あの辺の仕様って公開されてんの?
0260デフォルトの名無しさんNGNG
>>259
>>70らしいでつ
0261デフォルトの名無しさんNGNG
せめて各ログのサンプルをアプしてくれないかな・・・
0262デフォルトの名無しさんNGNG
このスレのログを各ブラウザでうpしたらどうだろう。
共通だし。
0263デフォルトの名無しさんNGNG
>>262
このスレのOpenJaneログ
http://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0007.zip
0264デフォルトの名無しさんNGNG
# ゾヌ1 \log\pc2.2ch.net\tech\1046742687.inf
DateTime=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
>>262
ホットゾヌ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デフォルトの名無しさんNGNG
考えてるフィルタリング情報は以下の通り。

selection
 「いる/いらない」情報をもつフィルタ。
 いわゆる荒らし対策のあぼ〜ん情報を保持するフィルタと考えてください。
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
もう少し言えば、例えば XPath や XSLT で抽出・HTML レンダリングを実装すれば、
フィルタリング情報ファイルを共有するアップローダを用意しさえすれば、
クライアントがローカルに HTML レンダリングできるので、CGI に HTML
レンダリングさせてサーバに負荷をかけることはないと思います。
0271デフォルトの名無しさんNGNG
>244
date要素にID入ってていいの?
0272デフォルトの名無しさんNGNG
>>266
各monazillaツール互換以外にHTMLでの出力プラグインの話は前にも少し出てたよね。
そっちを作る話と一緒にすればいいかも。
あー、でもゾヌ2のしおりを出力するようなもんなのかな。
0273266NGNG
>>272
なるほど・・。既にそういう話はあったんですね。コメントありがとうございます。
中間形式 XML の書式が決まったら、既存の XSLT ツールで
レンダリングするのも簡単で柔軟な対応ができるでしょうから、ぜひ
このスレでもその点を考慮に入れてくださいませ。

しおりを共有できるのは面白いですね。
>>267に追加させてください。
bookmark
 しおりの情報を保持。
0274デフォルトの名無しさんNGNG
>>266
いいですね。
スキン対応とかも含めていいんでしょうか?(漏れだけ違う話かも…)
0275デフォルトの名無しさんNGNG
>>271
2ch のログ形式に依存してるよね。
2ch 中でも何もなかったり、ID だったり、リモートホストだったりと
板によって異なるからプラグイン側で面倒を見るべきかと。
02761 ◆LirUghTKBo NGNG
VC++6プロジェクトファイル
http://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 NGNG
晒しage忘れた
02781 ◆LirUghTKBo NGNG
げ、IEで表示はされるけどソースが酷いことに(´Д`)
0279デフォルトの名無しさんNGNG
>>276
<res num="1">
じゃなくて
<res>
 <num>1</num>
にすればいいじゃん。
ただ、dat自体もレス番号を保持していないし<num>は不要という話もある。
0280デフォルトの名無しさんNGNG
ここは2ちゃんをXMLで表現しようスレですか?
02811 ◆LirUghTKBo NGNG
>>279
単なるDATを解析するついでに保持していたぐらいなので
言われてみれば確かにレス番号を保持する必要は無いかもしれません。
でも>>266のようなことをしたい人もいるでしょうし、XSLTを使う要素の一つとして
持つぐらいは良いんじゃないかなと思っています。

で、一応XSLTで利用しやすい形で<res num="1">なんですよね?
・・・と、私が皆さんに聞いてみたり。

ごめんなさい、XMLそのものを知って日が浅いので
私からは何とも言えないです。鬱('A`)

>>280
わかってるくせに。( ´ー`)σ)Д`)
0282デフォルトの名無しさんNGNG
>>280
私はそれでいいと思うんだけどな。
ちゃんとした仕様だけ決めてしまえばいい。
そしたら、思いもよらない使い方をするやつが現れたりするかも。

ある1つのデータ形式の書き方の違いで、2ch全体の全てのログを表すことも、
たった1つのレスを表すことも出来るようにすれば、友達同士でログ交換できるし。
2ch ブラウザ開発者が、もしかするとその形式に対応してくれるかもしれないし。
0283デフォルトの名無しさんNGNG
>>281
スレッドのタイトルをtitle要素にした方がよくない?
<title>2chブラウザののログコンバーターを作ろう</title>
0284デフォルトの名無しさんNGNG
>>282
レスにハッシュコードつけて共有(w
0285デフォルトの名無しさんNGNG
>>284
ん?言ってる意味がわからない。
ハッシュコードについては理解しているつもりだが・・・。
0286デフォルトの名無しさんNGNG
いや、掲示板の p2p キャッシュになるなってこと。
0287デフォルトの名無しさんNGNG
>>286
よくわかんないけど、●買わなくてもよくなる、ってこと?
02881 ◆LirUghTKBo NGNG
>>283
ありがとうございます。修正します。

>>284
ゥィ=-しすぎです。
02891 ◆LirUghTKBo NGNG
吐き出したXMLの
>>244
>>258
に抽出バグ発見。

なんでだろ
0290デフォルトの名無しさんNGNG
      ∧_∧  
     /  ´∀)
     |  U /
     ( ヽノ
      ノ>ノ  ヒタヒタ
. 三  しU


         ∧_∧  
        / ´∀`) < ぬるぽ
        |  U /
        ( ヽノ
         ノ>ノ
        しU
02911 ◆LirUghTKBo NGNG
わかった・・・(;´Д`)
「ID:」が本文までに含まれてしまうとID付きスレッドの処理と勘違いして
やっちまうらしい…。
まず区切りまでの部分を先に抽出しなきゃ駄目ね。

と言うことで叩かせて頂きます!!

  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/  
 (_フ彡        /  ←>>290
02921 ◆LirUghTKBo NGNG
VC++6プロジェクトファイル
http://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
それはそれとして、出力したXMLってソースで見ると改行無いから凄い見づらいです。
何とかならないかな…。
0294デフォルトの名無しさんNGNG
>>276
http://www.w3.org/TR/REC-DOM-Level-1/
http://www.w3.org/TR/REC-DOM-Level-1/idl-definitions.html
0295242 ◆GsQAUnYIlM NGNG
http://www.geocities.co.jp/Beautycare/4965/public/logconv.html

XMLを>>244形式に近づけた。ただし<res>内はそのまんま出力。
まぁ、これ(OpenJaneToXml)はあくまでも動作確認用のプラグインなので、
実際の共通XML作成プログラムは>>1に任せるとする。
で、今回のバージョンの2chブラウザログコンバータ(仮)には
通知関数を付けてみた。

例えば、ログにtechのサーバはpc2.2ch.netと記録されてたとする。
ところがその後サーバがpc20.2ch.netに変更されたとする。
このとき、プラグインはコンバータ本体に問い合わせて、
正しいサーバを取得できるようにしてはどうかというもの。
コンバータ本体は最新の板一覧情報をプラグイン側に通知する。
今のところコンバータはSettingsフォルダに入ってるbbsinfo.iniから取得してるけど。

"tech"自体が変わっちゃったら意味ないけどな・・・
0296デフォルトの名無しさんNGNG
CDATAの特殊記号の扱いだけど
<name>,<msg>,<mail>(?)
でどうするん?
1)実体参照にするのか。
2)実体参照が指す文字にするのか。
3)その他。
0297デフォルトの名無しさんNGNG
>>95の問題があるからOpenJaneから過去ログの正しい場所を探すのって不可能じゃない?
0298デフォルトの名無しさんNGNG
>>296
]]>
って現れる可能性ある?
0299デフォルトの名無しさんNGNG
]]> → ]]&gt;
に変換してからCDATAセクションに文字列を埋め込むのがXMLの仕様だから、読み取り時には出てこない。
0300デフォルトの名無しさんNGNG
Chalice for vimも仲間にいれてよ!!
0301デフォルトの名無しさんNGNG
>>300
logをupシル!
0302デフォルトの名無しさんNGNG
<title>はCDATAにしなくていいの?
0303デフォルトの名無しさんNGNG
numとdate以外はCDATAだろうね。
0304デフォルトの名無しさんNGNG
serverとかにガバッと囲まれてるのは違和感あるので>>219の構造に一票なんだが。
0305244NGNG
XML のことでいくつか書きます。

まず 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
>>215 のままでは date 要素に ID や remoteHost が入る問題

『そのままでいく』>>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 は?等々。
0307244NGNG
>>305
http://monazilla.org/log
↓修正
http://monazilla.org/monalog
03081 ◆LirUghTKBo NGNG
>>306
とりあえずトリップの抽出について
トリップを別に用意する場合、
>1 ◆LirUghTKBo
こんな感じの普通のトリップなら問題ないんですが

>ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★

こういう特殊な場合はどういう風にデータを持てば良いのか
という問題が。
03091 ◆LirUghTKBo NGNG
あー、やっとアトリビュート付いたよママン!(つД`)
というわけで>>305,244氏の内容に沿って作り直してみます。

ところでその中のXMLで一つ確認したいんですが、
<server uri="http://pc2.2ch.net/" type="2ch" />
urlではなく、uriは誤植ですか?それとも意味有りで正しいですか?
0310デフォルトの名無しさんNGNG
Uniform Resource Identifiers
03111 ◆LirUghTKBo NGNG
>>310 即レス感謝
03121 ◆LirUghTKBo NGNG
で、駄レスでも。

>>294
ありがとうございます。

>>295 242 ◆GsQAUnYIlM氏
通知の流れがどういう順番で来てるのかわからなかったり…。
また後でソース読ませていただきます。

> 実際の共通XML作成プログラムは>>1に任せるとする。

このスレ読んでる9割近い人が凄い不安を感じてると思います。
というよりも、私が不安です。

>>300
全ての2chブラウザは平等です。
が、今まだ下地を作ってる段階なので待って下さい。
あと工作員の中の人も大変だなとか、Jane川必死だな(藁とか
('ー`)クスッと笑える程度なら結構ですが、それもほどほどに。
0313242 ◆GsQAUnYIlM NGNG
>>312
あの中に入ってるプラグインは通知関数を使ってないので見てもわかりにくいかも。
流れとしては、
コンバータが通知関数ポインタ(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
http://www.geocities.co.jp/Beautycare/4965/public/logconv.html

通知関数の使用例とプラグイン設定ダイアログ表示例を
追加したサンプル1プラグインのソースも添付。
03151 ◆LirUghTKBo NGNG
VC++6プロジェクトファイル
http://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
>>313-314 242 ◆GsQAUnYIlM氏
解説ありがとうございます。
OKです。大体わかりました。

近いうちに私の方で組んでいるプログラムを
これに従ってDLL化しようかと思ってます。
0317デフォルトの名無しさんNGNG
>>315
305のことだけど
1 </b>◆LirUghTKBo <b>
は
<b>1</b>◆LirUghTKBo <b></b>
じゃない?

>>315
の構造だけど
<monalog>
<log> or <thread> //ラップしておいたほうがmonalogに複数logをおけるかも
<head> //ヘッダ
<body> //内容
</log> or </thread>
</monalog>
0318317NGNG
>>315
の構造...
..以下
はなんか勘違いしてたんで無視して。
0319デフォルトの名無しさんNGNG
>>317
> ラップしておいたほうが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デフォルトの名無しさんNGNG
>>319
1つのファイルに複数のログを入れる必要ってあるのかな・・・
あんまり大きなサイズのXMLは避けたほうがいいと思うんだけど。
0321デフォルトの名無しさんNGNG
>>319
置き換えるよりもさらにラップするほうが簡単。
<monalogarchive>
   <monalog>
   </monalog>
   <monalog>
   </monalog>
</monalogarchive>
みたいな感じにすれば参照も楽々。
0322デフォルトの名無しさんNGNG
>>320
なぜ?
0323デフォルトの名無しさんNGNG
>>320
複数のログを入れてもいいし、入れなくてもいい。
なるべく必要のない制限は作らないスキーマがいいと思うけど。
0324デフォルトの名無しさんNGNG
>>320
ファイルサイズがでかくなるのがいやなだけなら、
外部実体にすればいいっしょ?

っていうか、ログって言葉気をつけないと、意味が不明。
板なのかスレなのかレスなのか。
03251 ◆LirUghTKBo NGNG
皆様ぐもにん('A`)

現状でXMLのファイルをスレッド毎に保持しているのは
2chブラウザのDAT保存がそういう形になっているので
そうしているだけで、必ずしも分ける必要は無いかもしれないです。
スレッドのキー(番号)もXML側で持っていますからね。

で>>320はブラウザやエディタで開いた時の事を考えて
大きな一つのXMLは避けたいと言っているのだろうと勝手に解釈。
というわけで外部実体というのが現実的でしょうか?


・・・で、外部実体って何?
0326320NGNG
>>322 >>325
100M超えてるXMLのDOMなんか想像したくねぇぞーって事です
外部実体でも結局読むので同じかな
ちなみに
2月から使い始めたOpenJaneのログが既に120MB
マ板だけでも18MBあるのでかちゅな人とかじゃ死にそう
とおもちゃって、
でも323なのでアボーン>>俺
03271 ◆LirUghTKBo NGNG
補足。

>>317
> <b>1</b>◆LirUghTKBo <b></b>
かちゅ〜しゃのログ形式だとそうですね。
0328デフォルトの名無しさんNGNG
今一生懸命XMLを勉強している者です。

外部実体については、「たのしいXML」というページで確認しました。
たしかにこれだと、巨大なDOMってことになっちゃいますね。

ということは、XMLレベルじゃなく、monalog のレベルで外部のファイルを
参照する方法が必要ということでしょうか?


「たのしいXML」
http://www.cityfujisawa.ne.jp/~yanai/xml/
「外部エンティティ」という項があります。
0329デフォルトの名無しさんNGNG
・HTML の href のような ref="file://hoge/moge.xml" で参照
・thread-id="0fda343fdsfa" で参照し、id から実体を得る方法は別途用意
・2ch用ブラウザがやっているように、ログの配置を固定して、
 ルートからの相対パスで参照 ref="/hoge/moge.xml"
03301 ◆LirUghTKBo NGNG
・・・しばらく考え込んだ上で。
外部実体もa hrefみたいな感じかなと思っていたら丸ごと持ってくるようで、
>>329で提案された方法もプログラム側としては構わないのですが、
スタイルシートから使うのは無理になってしまうのではないかと。
(可能なら以下の行は無視してください)

で、外部参照だったら>>326で言われている超巨大なDOMにはならず、
確認もルートのXMLをIEなどで開かない限りは大丈夫だろう、ということで
結局、外部参照に落ち着きそうな結論に達しました。

いずれにしろボードリストみたいな物は持っておかないと駄目ですね。
03311 ◆LirUghTKBo NGNG
で、何か賛同なり反対なり改善案なりの意見が欲しい気分。
0332244NGNG
ちわ
またお昼を取りながら XML についていくつか書きます。
>>317-325
の複数スレッド保存について。
これ完全に忘れてました。。。
いくつか案が出てますが参考にしながら私も1つ書いてみます。
<monalog>
<thread server="pc2.2ch.net" board="tech" key="1046742687" type="2ch">
<title>2chブラウザののログコンバーターを作ろう</title>
<res-set />
</thread>
<thread server="hokkaido.machibbs.com" board="hokkaidou" key="1046404143" type="Machi-BBS">
<title>【札幌】ぱかぱかヒヒーン【競馬ファン】</title>
<res-set />
</thread>
<thread server="vip.bbspink.com" board="club" key="1037792310" type="bbspink">
<title>風俗で身を持ち崩してる男ども集まれ!4</title>
<res-set />
</thread>
</monalog>
うーん、ちょっと無理があるな(汁
0333244NGNG
まあ↑はさておき、
>>326
これは文書型作成時に考慮すべき問題ではないと思います。
プラグイン製作者さん達に丸投げで。

複数スレッド保存が可能なら
普段は単一スレッドで保存、
後で似たタイトルのスレッドをまとめて保存、
なんてこともできそうですし。

>>330
ちょっと言葉が混乱してるような。
外部参照って外部実体を参照するってことなんですよね?
0334デフォルトの名無しさんNGNG
>>321
なるほど〜!

>>244さん
>>332はなかなか良い案だと思います〜。
ひとつ質問なんですが、<thread> の属性 type はどういう時に使うんでしょうか。
元になったログが2ちゃんタイプだったとかまち BBS タイプだったとか
区別する必要はあるんでしょうか・・。
03351 ◆LirUghTKBo NGNG
>242 ◆GsQAUnYIlM氏
本体の方に2chブラウザなどでよくあるステータス表示(下の方)する
エリアを用意できないでしょうか?
DLL側でメッセージを送信して色々表示できたら良いかなと。

…なんて自分でやろうとしてMFCよくわからなかったのはヒミツ。('A`)

>>333,244氏
> 外部参照って外部実体を参照するってことなんですよね?
そう、ですね。多分。
>>328で紹介されている外部エンティティの内容そのままだと
思っていただければ。
0336242 ◆GsQAUnYIlM NGNG
>>335
表示するエリアだけ作っといて、あとはプラグイン作者に好きな文字列を
入れてもらうようにすればええんかな。
0337デフォルトの名無しさんNGNG
プラグイン.exe 入力ファイル [出力ファイル] 形式とか
03381 ◆LirUghTKBo NGNG
そうですね。
表示するメッセージの内容はプラグイン側で用意するって形で。
0339デフォルトの名無しさんNGNG
>>337
exeならプラグインじゃなくて単体で配布すりゃいいって話も
0340デフォルトの名無しさんNGNG
なんで、こんな小さなものにプラグインが必要なのかが少し疑問
データ形式を統一して、exeとかで公開すれば良いだけかと?
0341デフォルトの名無しさんNGNG
>>340
そりゃ変換できるならどっちでもいい。
インターフェイスも統一されてればわかりやすいだろうなと、その程度のこと。
0342デフォルトの名無しさんNGNG
作業は、こんな感じ?

1 中間フォーマットの決定
2 各専用ブラウザ形式から中間フォーマットへのコンバータ
3 中間フォーマットからxhtmlへのコンバータ
4 2,3を制御するユーザインタフェースツール
0343342NGNG
1は、あんまりライバルがいると困るが、2,3,4は、ライバル同士で切磋琢磨していただくと
0344デフォルトの名無しさんNGNG
>>342
3はXSLでできるんじゃ?
0345342NGNG
>>344
うん、まぁ、何を使っても良いだろうね。デザインとか、色々好みが出てくるだろうし。
あ、2の訂正、各専用ブラウザ<->中間フォーマット だね
0346デフォルトの名無しさんNGNG
1と2ができりゃあとはXML使いさんたちがいろいろやってくれると思うよ。
0347デフォルトの名無しさんNGNG
もれとしては、2をDLLにすると、4が少し固まり気味になるので、2をexeとかにして、4にも競争してもらいたいかなーと
0348デフォルトの名無しさんNGNG
>342
1の中間フォーマットって何?
XMLってのはもう決まってんだから、適当にタグ付けして、
あとは実際の運用で決めていくしかないと思うけど。

4はGUIの事いってんの?
フィルターなら一括処理できなきゃ意味が無い。
1が作った様な糞なGUIだったら不用。
DLLかコマンドラインツールで十分。

さっさと2を作っちまってください。
0349デフォルトの名無しさんNGNG
2にperlとかjavaとかも参入しやすいよね?
0350デフォルトの名無しさんNGNG
1については、ある程度で見切り発車しないと、
ぜんぜん進まない気がする。今までそうだったし。
0351デフォルトの名無しさんNGNG
4て例えば何?2をDLLにしたって2をexeで作る人もいるだろうし、
2,3,4で競争されることには変わりなりと思うんだけど。
0352デフォルトの名無しさんNGNG
>>348
1は、XML了解
2は、コマンドラインツールでもいいの?
DLLにメッセージとか言ってたので、少し気になったのだ。
0353デフォルトの名無しさんNGNG
>>342の1は、形式をXMLに決めたとして、中身をどうするかという話?
0354デフォルトの名無しさんNGNG
  _, ._
( ゚ Д゚)…。
0355デフォルトの名無しさんNGNG
>>351
4の機能としては、
a プラグインの選択
b 変換元ファイルの選択
c 変換先ファイルの指定
かな?
DLLでもいいんだけど、そかいいかw
0356デフォルトの名無しさんNGNG
>>352
今出てる>>1のと>>242はあくまでも2用のツールの一つであって、
全員がそれを使えというわけではない。
2,3,4はみんなが自由に作ればいい。
0357デフォルトの名無しさんNGNG
JAVA最高
0358デフォルトの名無しさんNGNG
>>353
タグ付けが済んでりゃ中身なんかどうでもいいよ。
どうせ後でいくらでも修正できるんだし。

>>355
プラグインその他なんて、後で決めれば良い話。
今の時点で4の話やったって無駄。

2をperlでもCの関数でもいいからさっさと作ったほうがいい。
作ったもん勝ち。
0359342NGNG
とゆーわけで、元データをドカドカうぷキボン
0360デフォルトの名無しさんNGNG
>>355
つまり
1 今話し合ってるXMLの形式
2 >>1が作ってるブラウザログからXMLへ変換するDLL
3 XSLTなどでできる
4 >>242のコンバータツール
と言いたいのか?

先に出てるが、1さえできれば2はperlでもJavaでも作ってもいいし
2と4を合体させてもいいし、2,3,4の統合ツールでもいいし、
とにかく2,3,4は自由に作って公開すればよい。
0361342NGNG
>>359
あ、とりあえず、作業用の3,4が無いと、検証がめんどいかもね
0362デフォルトの名無しさんNGNG
>>355はなんか勘違いしてる予感
0363デフォルトの名無しさんNGNG
XMLの検証ならそのへんのXML用ツールでいいと思うが
0364sevenNGNG
--ここまで読んだ
0365デフォルトの名無しさんNGNG
まず2を作り始めるのが肝心。
1なんか今日中に決めちまえ。
後で1に修正が出ても、ゆっくり変えてけばいい。
0366デフォルトの名無しさんNGNG
まぁ作れ作れと言いながら動くのは>>1だけなんだが。
かちゅ〜しゃとかゾヌとかまだまだあるんだから口だけじゃなくて手を動かせ。
0367sevenNGNG
いまあるコンバータは、
OpenJane->XML DLL(Win)
だけですか?
0368デフォルトの名無しさんNGNG
納期は来週の月曜日。
0369sevenNGNG
>>368
げ
0370デフォルトの名無しさんNGNG
そうだね。仮にでも期間決めてやった方がいいね。
0371デフォルトの名無しさんNGNG
新人のOJTみたいだな。
0372デフォルトの名無しさんNGNG
まあ、3以降はXMLの偉い人や物好きにまかせるとして、
1,2を今週中なら妥当な作業かもな。
0373sevenNGNG
元データはインスコしないと手に入らないつーのは、少しつらいです。
03741 ◆LirUghTKBo NGNG
1時間経過。
0375デフォルトの名無しさんNGNG
XMLの仕様をしっかり決めてくれ。
0376デフォルトの名無しさんNGNG
ええと、
いまのところのだんかいのぽいんとで、
1 さんが作ったプログラムで吐き出したXMLは、どこで手に入れられますか?
もしできることならかのうなら、もっかいどっかに貼ってほすぃ。

わたしC++とか動かせないので・・・。
03771 ◆LirUghTKBo NGNG
どうぞ。

ウpロダ
http://logconvert.s28.xrea.com/cgi-bin/uploader/upload.cgi

XML
http://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0015.xml
03781 ◆LirUghTKBo NGNG
落ち着いてきたかな?
そろそろ待ちきれない人が出てきたようで…。

仕切り直しと言うことで改めて状況説明。
>>342で書かれている事を元に説明すると
1:基本的な形はまとまってきた所だが、不十分な所もまだ有り。
2:>>356で書かれている通り。
3:未着手
4:未着手
という状況です。
XMLの部分をもう少し話し合って決めようってのが今のところの現状。

JavaでもVBでもC#でもPrelでもDelphiでも
このスレに関係なく相互ログコンバータ作りました
と言うのであれば、それはそれで良いと思いますよ。
自分で勝手にやっちゃってください。
0379デフォルトの名無しさんNGNG
ごめんなさい。

アプロダに 「up0015.xml に改行いれたやつ。」というのを Upしたんだけど、
一旦DOMにして、ファイルに吐いたら、CDATA が外れちゃってました。

0380242 ◆GsQAUnYIlM NGNG
>>335
http://www.geocities.co.jp/Beautycare/4965/public/logconv.html

ステータス通知コマンドを追加。
コマンド用のフラグやら構造体はMonaLogConv.hをプロジェクトに追加して
インクルードすればすぐ使えるんで。
0381デフォルトの名無しさんNGNG
正直コンバータは any → dat → any でいいと思う・・
各ブラウザが dat インポータ/エクスポータを作ればいいだけだと思うし、
必要だと思った人が作成してくれてますよね?
Jane とかすごくいいインポータあるし。
ログのコンバートなんて1回しかやりませんし、performance はそれほど
いらないと思います。
それよりも 1 氏の言うように XML の構造を早く決めてほしいデス♥
0382デフォルトの名無しさんNGNG
>>381
コンバートが目的なら Perl で ad-hoc に書けばおしまい。1000行もいらない。
けど、XML かませてプラグイン方式にしておけば、
誰か面白い利用法を考えつく余地がある。
0383デフォルトの名無しさんNGNG
そうだよなぁ。そもそもdatっていうのが大元にあるのに、
なんでわざわざ別形式にしているんだろう?
0384デフォルトの名無しさんNGNG
つまりこのスレは
2chブラウザのの標準ログ形式を作ろう
なわけだ。
03851 ◆LirUghTKBo NGNG
>>383-384
状況説明2!
何でXMLか。
各ブラウザの設定ファイル(.infや.idxなど)にも出来る限り対応する為。

<monalog>
 <thread>
  <setting>
   <openjane />
   <hotzonu />
  </setting>

みたいな感じ♥
03861 ◆LirUghTKBo NGNG
必ずしもXMLの必要は無いかもしれませんが、
相互変換を可能にする手段の一つだと思ってくだされば。
03871 ◆LirUghTKBo NGNG
>>332の続き。
その書き方は一つのXMLでまとめてしまうという事でしょうか?
それとも<res-set />を別のファイルに分けると言うことですか?
0388デフォルトの名無しさんNGNG
>>385
それはナンセンス。
03891 ◆LirUghTKBo NGNG
>>388
あまり得意じゃないから適当に書いたけど、どうすれば良い?
0390388じゃないけどNGNG
そういう>>1はどんな風に教えてもらいたいの?

進行役を買ってでるのは結構だけど、それなら「こんな風に進行させます」という
アナウンスをしておいた方がいいよ。

プログラミングスキルは別になくてもいいけど(もちろんあった方がいいけど)
スキルのなさと、行き当たりばったりな無計画さは違うからね〜。
リーダーシップもない、進行役もおぼつかない>>1はだめぽ。
03911 ◆LirUghTKBo NGNG
わかりました。
まとめてきます。
0392390NGNG
あら、ちょっと言いすぎたかな。ゴメソ
0393デフォルトの名無しさんNGNG
よくわからんがログを弄ってたらしい。参考までに。
代々木実験
http://qb.2ch.net/test/read.cgi/accuse/1047496935/
0394デフォルトの名無しさんNGNG
ログコンバートが目的なら、「最終取得時刻」と「取得ログサイズ」もデータに入れておいた方がよいかも。
この2つは、2ちゃんブラウザの差分取得の起点(スレが更新されたかを判断する情報)なんだけど、
それぞれが独自形式で管理しているため、この部分が変換のネックとなるはず。
(あとはいわゆるdatファイルから情報を作り出すことができるんだが。)
0395デフォルトの名無しさんNGNG
>>394 あ〜、ついでに「元ファイルの名前」と「元ログ形式」も入れといてください。
<monalog>
    <thread server="" board="" key="" default-name="">
        <original>
            <fileinfo last-modified="" filesize="" filename="" type="dat" />
        </original>
        <topic> ... </topic>
        <res-set>
            <res num="">
                <name />
                <trip />
                <email />
                <date />
                <author-id />
                <body>
                    <br />
                    <ref num="" />
                    <ref num="" uri=""> ... </ref>
                    <uri href="">
                </body>
            </res>
        </res-set>
    </thread>
<monalog>
0396395NGNG
こんな感じでいかがですか? ご意見よろしくお願いします。
<res-set /> はもしかしたらいらないかも。<thread /> 要素の下に
直接 <res /> があってもいいと思う。
あと <res /> も <body /> を使わないで直書きの方がいい? それとも
CDATA とか使った方がいいの?
03971 ◆LirUghTKBo NGNG
http://logconvert.s28.xrea.com/
ある程度状況説明を含むように書き直しました。
書いてる途中だったので>>394-396の内容が
含まれてませんがご了承ください。
0398愛犬NGNG
>>385
infやidxのスレッド固有情報は、元の形式を隠蔽してデータを抽象化したほうが扱いやすい気がします。
かちゅ〜しゃidxの14項目目やホットゾヌinfの「SIZE」をまとめて
<size>235434</size>
等で保持して、出力プラグインで振り分けしてもらう感じで。
いずれにしても各ブラウザ独自の仕様があれば要素の定義が最小公倍数的に増加してしまうわけですが。
0399デフォルトの名無しさんNGNG
CDATA について。

CDATAにするかどうか、ってのは、単に好みの問題なのかも。
CDATAにすれば、中に<や>が出てくるデータを楽に書けます、というだけで、
CDATA使わずに、< や > を使って書いても、意味的にはまったく同一。

ってことであってる?
(ん!?スレちがい?)
0400愛犬NGNG
て、書いてる間に>>1さんのサイトにまとめが。
XMLの定義ですが、03/03/11付けと書かれた仕様でおおかた問題ないと思います。
<name/>や<msg/>内の情報はdatそのままの状態がある意味で各ブラウザ作者さんに
とっての統一形式になっているのでパースする利点は薄いかと。
0401デフォルトの名無しさんNGNG
>>397(1氏)
お!サイトいい感じですね!

よ〜し俺も負けないでがんばるぞ。
0402デフォルトの名無しさんNGNG
>>400
> <name/>や<msg/>内の情報はdatそのままの状態がある意味で各ブラウザ作者さんに
> とっての統一形式になっているのでパースする利点は薄いかと。

パージングしてタグ付けしとけば、ID とかトリップとかだけ抽出して
検索したい時に便利じゃない? それとも検索時にパージングするのですか?
0403デフォルトの名無しさんNGNG
という402さんが、「おれはちゃんとパースしたやつをつくる!」って言って、
いろんなXML形式がはびこり、各中間形式(XML)を調整するための中間形式
が必要になる罠。
0404デフォルトの名無しさんNGNG
共通形式は dat で OK。
XML にする意義は、情報をマークアップすることにあります。

たとえば XSLT でトリップの色を変えて出力したい場合、
トリップ情報が名前と分かれてる方がやりやすいです。
いちいち解析してもいいけど。
0405402NGNG
俺は超つくりたいんだ!
0406242 ◆GsQAUnYIlM NGNG
http://www.geocities.co.jp/Beautycare/4965/public/OpenJaneToCommona001.zip

OpenJaneからXMLへ変換する俺版プラグインのα版。
俺もOpenJane使ってるもんだから・・・すまん。>>1と同じもん作ってしまった。
>>1のXML出力部分のソースを参考にUnicode出力するようにした。
入力フォルダを指定したらサブフォルダまで走査する。
OpenJaneだからLogsフォルダを指定すれば良いかと。
非効率なのでけっこう時間かかります。
テストするときはテスト用のログフォルダを作ることをお薦めします。
あくまでもα版!

それと、Commonaというのは共通Mona(Common+Mona)形式ログって意味の
俺造語なのでご了承ください。
0407愛犬NGNG
>>402,404
dat→XMLではなくて、dat+情報ファイル(idxとか)→XMLという考え方で、ログのコンバートで
障害となる各ブラウザごとの仕様の相違を吸収するのが一番の目的かと思っています。
datに関しては区切り文字とエスケープされた文字(「,」とか)の補正がかかれば充分で、XMLで
マークアップされるのは「ここまで読んだ」とかidx/inf内の情報が中心なのかなー、と。

最終的にこのXMLがコンバート以外の用途でも使用されるなら、>>395のような形式だといろいろ
使えそうで良いかもです。掲示板統一フォーマットみたいな方向性かな。
04081 ◆LirUghTKBo NGNG
>>406
    _, ._   
  ( ゚ Д゚)   ガシャ   
  ( つ O. __
  と_)_) (__()、;.o:。

いや、良いです。
調べて書いたソースが血となり肉となるなら。
やることはまだ他にも沢山ありますし。

というわけで今、設定ファイルなどの内容などかき集めてまとめてる最中。
>>398で愛犬氏が言われているような要素がハッキリしない事には
作るにも作れないと思うんで。
0409デフォルトの名無しさんNGNG
>>407(愛犬氏)
なるほど・・XML の使用目的に微妙な差異があるのですね。

・各ブラウザごとのログ仕様の相違を吸収し、コンバートする >>407 >>394
・各ブラウザの拡張機能を XML で保持 >>398 >>407
・マークアップすることでログのデータベースとしての質の向上 >>402
・ログをアーカイブ化してまとめるための手段としての XML >>333
・XSLT による表示のしやすさを重視 >>404
・掲示板の一般的なフォーマットの探求 >>384 >>407

少しずつスレの方向性が見えてきたような・・。
XML って懐が深いから、いろんなニーズに応えてくれそうですネ。
0410デフォルトの名無しさんNGNG
>>409のリストの中から、適当なものをいくつか拾ってこのスレの方向性を
決めてみてはいかがでしょうか。>>1氏 その他の方々
2ちゃん系ログを XML にするというのは、もう既に決まってるんですよね?
あとはどこに重点を置くか決めれば、おのずとフォーマットも決まると
思うのですけど・・
0411デフォルトの名無しさんNGNG
もう一度よく見直してみたのだけど、>>332 さんのやつがわかりやすいなぁ。
簡単に書き直してみる。

<monalog>
  <thread>
    <title></title>
    <res-set>
      <res>
      </res>
      <res>
      </res>
    </res-set>
  </thread>
</monalog>

これなら、たった1つのレスだけを含むこともできるし、たくさんのスレッドも保持できる。
柔軟性高そう。
0412デフォルトの名無しさんNGNG
エンコーディングはunicodeですか?
shift jisの方がよいと思いますが。。。(dat形式って基本的にshift jisですよね?)
04131 ◆LirUghTKBo NGNG
>>410
趣旨としては、DATと設定ファイル(.infや.idx)を含む相互変換なので
> ・各ブラウザごとのログ仕様の相違を吸収し、コンバートする
> ・各ブラウザの拡張機能を XML で保持
というのが主な目的です。

例:ぞぬ(dat+inf) -> 中間形式XML -> Jane(dat+idx)
0414デフォルトの名無しさんNGNG
>>413
その目的と例では、ぞぬ(dat+inf) ⇔ Jane(dat+idx) のコンバータを作れば
足りると思いますけど・・
そもそも XML にする必要はあるんでしょうか? 二度手間では?
0415デフォルトの名無しさんNGNG
>>411
みたいなことあるから
DTDは書いた方がいいと思うんだけど。
0416デフォルトの名無しさんNGNG
>>414
スレを頭から読み直せヽ(`Д´)ノ
0417デフォルトの名無しさんNGNG
>>414
XMLにすることでそれを他の目的に利用する人が現れるかもしれないし、
コンバータということで言えば、仮に
・ゾヌ
・Jane
・Abone
があるとすると、さらにかちゅ〜しゃのコンバータを作ろうとした時
 ゾヌ <-> かちゅ〜しゃ
 Jane <-> かちゅ〜しゃ
 Abone <-> かちゅ〜しゃ
と、対応ブラウザが一つ増えるたびにそれぞれのブラウザ用にコンバータを
作らなければならなくなる。これが中間形式を介する方法だと、
 中間形式 <-> かちゅ〜しゃ
のコンバータを作るだけで他のブラウザとも相互変換ができるようになる。
0418414NGNG
>>416
XML でログを保持することの利点は理解しているつもりですが、
1 氏の主な目的が>>413だとすれば、彼がスレの方向転換をしたいという
意味で言ったのだと汲んだのですが・・でもおそらく 1 氏はスレの流れが
速過ぎてよく噛み砕いてないんだと思います。

>>417
おっしゃる通りだと思います。
XML 形式にすれば、既存のツールや強力なフレームワークが使えるので、
それは大きなメリットだと思います。
だからこそ、>>409にあるような事柄を、もっとよく議論すべきだと
思うのですけど・・。あと、
ぞぬ ⇔ XML
Jane ⇔ XML
Abone ⇔ XML
というルーチンを組むことを考えれば、労力は同じことではないでしょうか?
しかも、もしひとつのブラウザのログの仕様が変更になって、
中間形式である XML のフォーマットも変更しなくてはならなくなった時、
作業量がブラウザの数だけ増えると思います。
0419デフォルトの名無しさんNGNG
>>414
ぞぬ→かちゅはどうすんの?かちゅ→Janeは?
今後登場するアプリに関しては?

アプリ作る時は直接バイナリ書けば済むと思いますけど。cat > a.out
って言いたいのかい?
0420デフォルトの名無しさんNGNG
Shift_JISでいいと思う
0421デフォルトの名無しさんNGNG
>>418
XML→各ブラウザは一度作ればあとは流用できるでしょ。
新規ブラウザが出現したときの労力は単純見積もりで半分だよ。

それに、コンバータ開発者が自分の使用していないブラウザの仕様を
調べなくてもよくなるのは大きいんじゃないかな。
0422デフォルトの名無しさんNGNG
>>418
「さらに対応ブラウザが増えたとき」の労力のことを言ってるのだが。
最初に既存ブラウザ用を作る労力はあって当たり前。

>しかも、もしひとつのブラウザのログの仕様が変更になって、
>中間形式である XML のフォーマットも変更しなくてはならなくなった時、
俺はそういうことが嫌なので、中間形式にはブラウザの独自設定に依存するような
内容は極力入れない方がいいと思ってる。
0423421NGNG
ごめん。ちょっと取り違えてたね。
> しかも、もしひとつのブラウザのログの仕様が変更になって、
> 中間形式である XML のフォーマットも変更しなくてはならなくなった時、
というのは同じ工数がかかる可能性がある。基本的にそういうことが起こり得ない
仕様を策定すべきなんだろうけど。

>>409に関しての議論をすべきという意見には同意。
ただ、ログのコンバート以外の用途ってそんなに需要あるかな…
0424デフォルトの名無しさんNGNG
>>423
ここまでのレスで少なくともHTML出力や特定部分のログだけを抜き出したいという
需要はある
0425デフォルトの名無しさんNGNG
仮のXMLはもう>>1が作ってるんだから、ここらでそれをXSLTで加工するデモを
誰かやってくれんか。
04261 ◆LirUghTKBo NGNG
今日も盛大に荒れますなぁ(笑)

>>418
XMLを使ってから数日なので大それた事を言えないですが。
確かにXSLTなどからの利用を考えた上で話していた時もあります。
>>414氏にはどういう風に見えたのかわかりませんが、
私の考えは>>44で書かれている事を一貫しています。
それだけは誤解の無きようお願いします。
0427デフォルトの名無しさんNGNG
凄くどうでもいいことだけれど、プラグインの拡張子はdllではなくて
2chぽいものにしたいなぁ。.dqnとか。
0428デフォルトの名無しさんNGNG
>>44のは「プラグイン」とは言えないと思うけど(w
各プラットホームで統一XMLへの相互変換ができるのが重要であって
プラグイン形式は12氏が提唱したひとつの案なワケだ。それを具現化
させつつあるのが242氏?
04291 ◆LirUghTKBo NGNG
>>428
ごめんなさい(つД`)
0430242 ◆GsQAUnYIlM NGNG
>>428
そうそうその通りです。

俺も個人的にSJISの方がやりやすいな。
膨大なログをUnicodeに変換してさらにファイルサイズも増えると時間がかかって・・・
0431デフォルトの名無しさんNGNG
XML についてのメモ。

<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-16"?>
<?xml version="1.0" encoding="Shift_JIS"?>
<?xml version="1.0" encoding="EUC-JP"?>

monalog の形式をどうするか、という問題と、そのファイルでどの encoding を
用いるかってのは、別の問題。どんな encoding であっても、monalog は monalog。

上の4つのテキスト宣言のうちのどれかを、monalog の先頭の行に置けばいい。
もし、先頭行にテキスト宣言が無い場合は、UTF-8 か UTF-16 のどちらかとして扱われる。
UTF-8 か UTF-16 のどっちなんだ?→先頭のUnicode文字でわかる。

0432412NGNG
>>431
そうなんだけど、monalogのデフォルトエンコーディング(defacto encodingかな)は、shift jisがいいなあ、、、ということです。
コンバータプラグインとか作る側にとっての負担が下がるかも。
0433デフォルトの名無しさんNGNG
ところで、他の掲示板(ヤフーBBSとかスラドとか)はどうするの?
ある程度共通なログ形式考えたほうがいいと思うんだけど
0434431NGNG
de facto encoding = Shift_JIS いいね。

2ch 以外の掲示板については、やりたい人が別スレでやる。ってことでいいのでは?
と私は思う。
04351 ◆LirUghTKBo NGNG
UnicodeとShiftJISについて。

色々調べてみたんですが、
同一のファイルを文字コード色々変更して保存しない限り、
扱いが統一されていればShiftJISでも問題は無いと思います。

ですが、XML読み出すときには、いずれにしろMSXMLなりexpatなりxercesなり
必要になると思いますし、出力した巨大なmonalogを
テキストエディタなどで編集するのは考えにくいです。

Shift_JIS型にする利点は、DATからXMLに書き出すときに
fprintfとかcoutで簡単に出力が出来ます。
というぐらいしか考えられないんですが、どうでしょう?

いや、それほどUnicodeを保護推進しているわけでもないんですが…。
04361 ◆LirUghTKBo NGNG
ついでにmsxmlでのget_〜はほとんどBSTR型なので
Shift_JISだからと言ってchar型が来るわけじゃないです…。
0437デフォルトの名無しさんNGNG
>>436
パーサで読み出すときに誰もchar型を期待していないと思うが・・・
書き出すのが楽ってのが一番の理由だろう。
04381 ◆LirUghTKBo NGNG
俺も何考えてたんだろ…Λ||Λ
Shift_JISで。
0439デフォルトの名無しさんNGNG
Xalanを使って初めてXSLTを使ってみた。
IE6でも表示はできるけど、ファイル出力となるとXalanみたいなでかいプロセッサを
入れなければならないので、エンドユーザには敬遠されるかも。

XSLTの偉い人、ここで作られたXMLをHTMLまたは他のブラウザ形式ログに
変換するXSLTを書いてみてくださらんか。そうすればちょっとはXML+XSLTの
すごさがわかってもらえるはず。そしてこのスレでやろうとしてることが具現化できるはず。
0440デフォルトの名無しさんNGNG
どうせ、一度XMLに変換するって時点でかなりのオーバーヘッド
なんだから、ついでにUnicodeに変換する手間ぐらい
どうってことないと思うけどね。
0441デフォルトの名無しさんNGNG
エンドユーザでも使いやすいXSLTプロセッサがあれば
 ブラウザdat (コンバータ→) 中間XML (XSLTプロセッサ+XSLT→) ブラウザdat
で後半の矢印部分のコンバータを作る手間が省けるんだけどなぁ。
0442sevenNGNG
すげ、神々が現れた、もぅ、もれのやることは、ないかも。
0443242 ◆//5Y2HWUpA NGNG
>>442
みんなの力をあわせてこのコーンバタープロジェクトを遂行しよう
0444デフォルトの名無しさんNGNG
トリップが変わっているわけだが。
04451 ◆LirUghTKBo NGNG
ひどい釣りだな…w
04461 ◆LirUghTKBo NGNG
とりあえず複数のmonalogを格納する形としては
>>332,441で書かれている形で問題ないですか?
個人的にはスッキリした形で良いと思っています。

そして、必要であれば>>394で書かれている事や、
>>395で提案されているような形に拡張と。

これをハッキリ決めとかないと先に進まないぽ
04471 ◆LirUghTKBo NGNG
>>427
個人的に好き。('ー`)
0448デフォルトの名無しさんNGNG
>>440
Palmでやろうとすると、unicodeエンコードはさすがにつらいのよ。
0449242 ◆GsQAUnYIlM NGNG
(素でトリップを間違ったなんて今更言えない・・・)
0450デフォルトの名無しさんNGNG
のが多くないか?
0451デフォルトの名無しさんNGNG
>>446

> とりあえず複数のmonalogを格納する形としては

そこで使われている monalog の意味は?
monalog 自体が複数の2chスレッドを保持できる element というのが
私の認識なのだが。

ところで、このプロジェクトやこのプロジェクトで議論されているログ形式
の事を呼ぶときには、Monalog と先頭を大文字で記すことを提唱したい。
んで、Monalog で使われる形式は XML で、その XML のルートエレメントが monalog と。

形式としては、>>332 の方式に賛成。<head> や <body> がないやつね。

あと、どっかで出てきたと思うのだけど、日付日時IDのデータを格納するのに、
date というタグ名はいやだな。Schema のデータ型と名前がダブってるから。
しかも内容が全然違うし。

データ型に関しては、「たのしいXML」の「XML Schema(入門編)」「6. 単純型」
を参照。

「たのしいXML」
http://www.cityfujisawa.ne.jp/~yanai/xml/

>>450
そお?(笑)
04521 ◆LirUghTKBo NGNG
今日中に>>446について何も無ければ可決と言うことで。

で、よく考えるとこの形にするとスレッド追加などは
どの道パーサーを挟まなければいけないんで、
Shift_JISでの手軽な出力が逆に手間掛かってしまいそうですが
無理にUnicodeする必要も無いので、とりあえずはShift_JISで様子見。
04531 ◆LirUghTKBo NGNG
あ、かぶってしまった…(汗
04541 ◆LirUghTKBo NGNG
>>450
気のせいです。

>>451
言葉足らずで申し訳ないです。
http://logconvert.s28.xrea.com/
03/03/11付けの内容で書かれている内容で考えています。
まだthreadとres-setが出てくる前の話なんで、一緒にしてしまいました。
>>446で書かれているmonalogはthread以下の物と同じ意味です。
04551 ◆LirUghTKBo NGNG
訂正。
>>446で書かれているmonalogは「>>332で書かれている」thread以下の物と同じ意味です。
0456デフォルトの名無しさんNGNG
もう。XMLでこんな手間取るなら他の形式でいいよ。
0457デフォルトの名無しさんNGNG
発言から3時間で締め切りというのも忙しいな(w
0458デフォルトの名無しさんNGNG
>>452
だからパーサ使ってる人はパーサでShif_JIS形式で吐き出せばいいじゃん。
MSXMLだって単にエンコーディング文字列指定するだけなんだし。
0459242 ◆GsQAUnYIlM NGNG
Commonaはボツだったか
0460デフォルトの名無しさんNGNG
>>446
外枠は>>332でいいと思います。

レスの中身は>>395みたいなのじゃないとxsltで扱い難いです。
monalog-030311はログコンバートのためだけの形式とみれば良いのですが、
別の事には向いてないっす。
0461デフォルトの名無しさんNGNG
というかCDATAは勘弁
0462デフォルトの名無しさんNGNG
http://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0015.xml
の<head xmlns="">や<body xmlns="">のxmlnsってなんか意味あるん?
04631 ◆LirUghTKBo NGNG
ふむふむ。なるほど。

>>451
日付に関しては名称を変更します。
XMLの仕様に沿ってdate型に出来るかどうかは
プラグイン作者に任せる方向で今後検討。

>>458
わかってます、ごめんなさい。
それ以上突っ込まないで… (クA`)

>>459
だってとっつきにくいんだもんw

>>460
res-setの中身はそれでまとめてみます。
>>395のbodyの中の要素は何の部分が入るのか
いまいちわからなかったりするのですが...。
あとbodyという名前も変更する必要がありますね。

>>461
理由書いて欲しいな。

>>462
無いです。
MSXMLの使い方ろくにわかってない>>1が出力したXMLなんで
消し方わかったら消します。特に問題は無いはず。
04641 ◆LirUghTKBo NGNG
一つ質問。
トリップを持つ場合、
>ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★
これはどこからどこまでトリップになるんでしょうか?

<trip>3SHRUNYAXA</trip>
<trip>◆3SHRUNYAXA</trip>
<trip>◆3SHRUNYAXA @どうやら管理人 ★</trip>

ちょっと悩み。
0465デフォルトの名無しさんNGNG
3SHRUNYAXA
04661 ◆LirUghTKBo NGNG
まとめた上で、それとなく作ってみました。
http://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0017.xml
とりあえず>>395のbodyの中身がいくら考えてもわからないので保留。
要素名がセンス無いのは勘弁。

 _∧∧__   / ̄ ̄ ̄ ̄
 |( ゚д゚)| < 寝る!
 |\⌒~\  \____
 \ |⌒⌒|
04671 ◆LirUghTKBo NGNG
次はプログラムでばしばし変換してって
巨大なDOMを吐き出すことだね。
0468デフォルトの名無しさんNGNG
>>466
----(・∀・)----イイ

ただ、名前欄の名前部分とトリップ部分を分けるのは、大変な気がするっす。
分けてないデータは必ず持つようにして、分けてあるデータはオプションで
持っても良いことにはできないでしょうか。

あと、<author-id />の部分ですが、String 型で、IDという文字も含めて持つように
することを提案します。

削除依頼板とかに行くと、IDじゃなくて、HOSTってのがあるからです。
0469デフォルトの名無しさんNGNG
>>466
<br />はそのまま
<ref num=""/>は >>num これ
<ref num="" uri="">...</ref> 別スレ(uri)のnumへの参照?か何か。
<uri href="" />は<a href="http://...">http://...<;/a>だと思う。
まあメッセージの中もちゃんと解析シル!ってことっしょ
こういうのがあると参照レスをポップアップ表示するHTMLも簡単に作れるし。

>>468
ならHost要素も作るべし
0470デフォルトの名無しさんNGNG
>>469
ううむ。
レスの内容までパースするのは必要かなぁ・・・。
プログラム板にいる人だから分かると思うけど、プログラムソース
が貼り付けられたときに、不必要なPOPUPが出現することもあるのは
知ってるでしょ。シフト演算子とか、比較演算子とかで。

そういうのも含まれちゃうし、結局信頼できるデータにはならないと思うんだよなぁ・・・。
全角の>>は含めるのか、とか。
そういうのは現行の2chブラウザに任せておいたら?。とおもう。

test :
  >-1, >>-1 >0, >>0, >1001, >>1001, >1002, >>1002;
  >9999, >>9999, >99999, >>99999, >999999, >>999999
  
> ならHost要素も作るべし

そうかもしれませんね。
IDとHOST以外には、無いのかな。確認しなきゃ。
IDやHOSTを分けるなら、その前に、date と time を分けたら、と思う。
0471デフォルトの名無しさんNGNG
>>468
名前欄に◆があれば以後10文字を含めてトリップであることが保証されると思う。
まあ、2ch系の板のみの仕様なので他の板で◆が含まれてたら妙なことに。
2ch以外にも対応できるように要素を増やすのもいいけど、2ch以外で障害がでない
要素わけも重要かと思われ。<trip/>の必要性も再考しますか。
04721 ◆LirUghTKBo NGNG
http://logconvert.s28.xrea.com/
簡単なところでまとめて見ました。

hostエレメントについては複雑になってしまう気がするので、
<author id="" host="" />
みたいな形が良いと思いますがどうでしょう?
0473244NGNG
おー、だいぶ進んでますね。

ちょっと上のほうとかまだ読めて無いので見当違いな事書いちゃいそうですが
>>471
その辺は thread の type 属性をみてプラグイン側で処理してもらうしか。

>>472
<author ID="" host="">デフォルトの名無しさん</author>
こんな風にもできますね

ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ なら
<author ID="" host="" cap="cap">ひろゆき<trip>3SHRUNYAXA</trip>@どうやら管理人</author>
こんな感じで。
0474デフォルトの名無しさんNGNG
>>473
ちょっとその構造は変じゃないか? 氏名情報がごっちゃになってる
発言者を<author/>で囲むなら、冗長だけど
<author>
  <name/>
  <mail/>
  <trip/>
  <id/>
  <host/>
  <cap/>
</author>
みたいになるのでわ。
0475244NGNG
>>474
あー、確かにそうですね。
ただ名前の外にトリップ出しちゃうと場所が分からなくなるので
入れ子じゃないと困るかなと。
0476デフォルトの名無しさんNGNG
>>471-475
んじゃこうしよ
<name cap="cap">ひろゆき<trip>3SHRUNYAXA</trip>@どうやら管理人</name>
id,hostはまた別で、トリップはこう
0477デフォルトの名無しさんNGNG
<name trip="3SHRUNYAXA">
ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★
</name>
でいいと思うんだけど・・
0478デフォルトの名無しさんNGNG
案。

765 名前: ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ [sage] 投稿日: 03/03/14 14:02 ID:UkdJEufW
わたしはひろゆき]]>わたしはひろゆき

<res num="765" state="normal">
  <author>
    <name cap="true">ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★</name>
    <trip>3SHRUNYAXA</trip>
    <mail>sage<mail>
    <res-date>03/03/14</res-date>
    <res-time>14:02</res-time>
    <id type="ID">UkdJEufW</id>
  </author>
  <message>
    <![CDATA[わたしはひろゆき]]>わたしはひろゆき]]>
  </message>
</author>

説明。

<name cap="X">
の X の所には、name の中に★があるかどうかに応じて、true または false が入る。

<res-date> と <res-time> を、わけてみた。分けないなら、<res-datetime> きぼんぬ。

<id type="X"> の X のところには、ID か HOST が入る。厳密に言えば、日付日時の
後ろにあるもののうちの、「:」(コロン)より前の部分。


0479デフォルトの名無しさんNGNG
あああ・・。こんなのもあるんだ・・・。

1001 名前: 1001 投稿日: Over 1000 Thread
   このスレッドは1000を超えました。
   もう書けないので、新しいスレッドを立ててくださいです。。。

<res-date> と <res-time> を分けちゃうと、これを扱えなくなるね・・・。
0480デフォルトの名無しさんNGNG
2chのログをパースする理由はなんだろう
04811 ◆LirUghTKBo NGNG
トリップの扱いについては>>476で書かれている形式が良いなと思ったり。

>>478-479
news+などだとキャップの他にφが付いたりしますから
bool型だとまずいかなと。
normal=無し、cap="★"、journalist="φ ★"
これぐらい?

1000超えについては244氏がresにstateというのを用意しています。
内容はnormal,abone,tomeiabone,removal,over,threadstopが
11日付の内容で用意されています。下のコメント文になっているあたり。
http://logconvert.s28.xrea.com/monalog-030311.xsd
と言うわけで1000Overだった場合、
<res num="1001" state="over" />
という記述が出来るはずなので大丈夫だと思います。

tima,dateについては、"/"を"-"に変えて秒を適当につけるぐらいなので
プラグイン側も大した作業ではないかと。
04821 ◆LirUghTKBo NGNG
timaって何さ(´Д`) timeです・・・。
0483デフォルトの名無しさんNGNG
>>480
同意。
分解する意味わからん。
面倒になるだけじゃないのか
0484デフォルトの名無しさんNGNG

> <res num="1001" state="over" />

↑こんなのから、

"1001<><>Over 1000 Thread<>このスレッドは1000を超えました。 <br> もう書けないので、新しいスレッドを立ててくださいです。。。 <>"

という文字列を自動生成するってことですか?
0485デフォルトの名無しさんNGNG
2ch 以外では文句が違うだろうしね。
2ch でもよく変わるし。
0486デフォルトの名無しさんNGNG
同意。フィールドセパレータ(<>)、レコードセパレータ(\xd)程度でパースをやめておくのが正解では?

例:あぼーん、スレスト
0487デフォルトの名無しさんNGNG
>>1さんに

シンプルにしとけよ馬鹿

という有名な言葉を贈ります。
0488デフォルトの名無しさんNGNG
>>487
じゃ俺からも

きっちりマークアップしてないXMLなんぞ無意味
0489デフォルトの名無しさんNGNG
>>488
前に誰かが書いてたが、マークアップされるのはdatの中身じゃないはず。
0490デフォルトの名無しさんNGNG
>>489
それでは意味が無いと。
0491(^^)NGNG
>>409
datをいくら解析したってログのコンバートは出来ないと思うけど?
それこそ「意味が無い」。

というか、どっちかというと意味が違うのか。datの中身をバラしたい香具師はXMLで
何がしたいのさ。統一フォーマットの策定なら別スレ立てれば。
0492(^^)NGNG
>>490ダッタヨ(^^)
0493デフォルトの名無しさんNGNG
>>484-485
そういう文句まできっちりコンバートする理由ってあるのかな?
0494デフォルトの名無しさんNGNG
この辺のはなしってずっと前から出てるけど
まだきまんねーの?

もうそのまま保存でいいだろ?
>>305と>>332あわせりゃできあがり
0495デフォルトの名無しさんNGNG
>>493
逆に考えて欲しいな。

わざわざ state="over" なんていうスキーマ作ってまで、1001 番目のレス
を正しく再現できなくなるような仕様にする必要はあるのか?と、問うてるわけ。
0496デフォルトの名無しさんNGNG
ちなみに、1001で終わらないこともある。
祭り状態のスレだと1010あたりは行くらしい。
0497デフォルトの名無しさんNGNG
>>496
俺どっかのスレがバグって2000とか3000逝ってるの見た記憶あるな
まあnum付いてるからそれはまた別問題だが

でだ、1氏は>>258で理由はどうあれ>>306の『そのままでいく』を選んでるわけで
244氏も迷ったところとか書きながら結局作ったスキーマは『そのままでいく』方式なんだから
いい加減そっちで見切り発車しちゃえよ

>>494
それじゃまたdateにidがどうたらこうたら言い出す馬鹿が出てくるから
dateだけdateTimeIDHOSTとかにしとかなきゃ納得しないっぽいぞ(藁
0498デフォルトの名無しさんNGNG
>>497
>俺どっかのスレがバグって2000とか3000逝ってるの見た記憶あるな
それって大昔の2ちゃんのログではないのかえ?
0499デフォルトの名無しさんNGNG
>>498
うん 確かそう

そういや2chブラウザっていつからあるんじゃろ
0500デフォルトの名無しさんNGNG
1999年12月にオフラウ誕生が最初じゃないか。
現在の流れを築いたのは次の2chブラウザか。
そしてnavi2ch(かちゅプロトタイプ)、ギコナビと来て、
大ブレイクしたかちゅ〜しゃに続く、と。
mac版はしらん。
05011 ◆LirUghTKBo NGNG
今日は家にいなかったぞ、とハッタリかましてみるテスト。
(スロットで猪木にしばかれてキマシタなどとは口が裂けても言えない…)

http://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0019.xml
monalog-030313の内容に従って複数のスレッドを格納してみました。
tripが単なる文字置き換えなので、エレメントと認識されてませんが、後日修正。

というわけで、XMLの偉い人様。
これで何かやって欲しいなと思ってたりするわけですが…。

ある程度内容がまとまってきたのでそろそろDATを変換する方にも
着手して行きたいなと思っております。

VC++6プロジェクトファイル
http://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0018.zip
もはやこいつに何の意味も持ちませんがとりあえず。
05021 ◆LirUghTKBo NGNG
テスト , @` ?,
05031 ◆LirUghTKBo NGNG
<?xml version="1.0" encoding="Shift_JIS" ?>
<monalog xmlns="http://www.monazilla.org/monalog-030314">
  <thread server="pc2.2ch.net" board="tech" key="1046742687" type="2ch">
    <title><![CDATA[2chブラウザののログコンバータを作ろう]]></title>
    <info last-modified="Sat, 15 Mar 2003 04:37:38 GMT" size="161404">
    <res-set>
      <res num="1" state="normal">
      <name>1<trip>LirUghTKBo</trip></name>
      <email><![CDATA[sage]]></email>
      <res-date>03/03/15 13:37</res-date>
      <author id="" host="" />
      <message>
        <![CDATA[monalog-030314サンプル]]>
      </message>
    </res>
  </thread>
</monalog>

infoエレメント追加。ひとまずこんな所かな?
後は取得の工夫と適当な値埋め次第で設定ファイルも作れそう。
…ホットゾヌ2のinf内のETAGが意味不明なのを除けば。
Ya2bがちょっと癖ありそうな感じ。
05041φ ☆NGNG
てすと φ ★
05051 ◆LirUghTKBo NGNG
疲れた…。シガーだけが減ってくね、こういう作業。
しかも今日は静かだったねぇ。
沈みすぎ?愛想尽かされた?
まぁ、ここまで来たら一人でもやるけどさ…。('A`)

>>503で書いた内容に準拠して出力。
規制情報から1件、削除要請から1件、他このスレを含む3件の5スレッドです。
http://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0020.xml
あとキャップの件では記者の場合、φも名前扱いにし、★のみの扱いにしました。
よって<name cap="bool型" />という形に落ち着こうかと。
これはマズイと言うのがあれば、指摘してください。

なんて自分勝手に突っ走ってる予感。
まぁ、話す事は大体決まったし、自分でゴソゴソやって
HPでの情報公開が手薄になっているのも一つの要因であるとは思うんですが…。
とりあえずjane(.idx)とぞぬ1(.inf)に付いては明日にでも。

VC++6DSW
http://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0021.zip
突貫工事だからもうグチャグチャ。見れたものじゃないし、だめぽ。

メモ
2chブラウザで使われているSizeの項目は
CFileFindのGetLengthで同じ値が取得できます。
05061 ◆LirUghTKBo NGNG
「★自動立上★」でキャップの処理と混ざって
いきなり名前がおかしくなってるのは見なかったことにして下さい。Λ||Λ
0507名無しさん@お腹いっぱい。NGNG
名前と日付は解析してメールとメッセージはそのままの理由を教えてください
中途半端にキャップだのトリップだのIDだのを取り出されてもXSLTではそう大したはことできません
できても大げさなスキン程度です

>>244から出てますが
やるなら全部
やらないなら何もやらない
の2択ではないんですか?

このスレは途中からくだらないことに捉われてまったく進んでないように見えます
どちらを選んでいるのか教えてください
0508デフォルトの名無しさんNGNG
>>507 同意。トリップの取り出しとかつまんないこと始めた時点で冷めた。
0509デフォルトの名無しさんNGNG
日付は RFC だかで形式決まってるし、
「文字列」 じゃなくて 「日付」 とした扱えるほうがいいんじゃない。
他は(日付を含めて全部でもいいけど)とりあえずプラグインに任せておいて、
よい表現方法があったら Ver.2 として取り込めばいい。
0510デフォルトの名無しさんNGNG
というか、結局「2ch」のdatやsubject.txtといったデータを
正規化してるだけ?

もしそうだとしたら意味ないね
他の掲示板のデータも取り込めるくらいのを
めざしてほしいところかな
05111 ◆LirUghTKBo NGNG
>>507
かなり悩んだ末。
TRIPやCAP、ID、HOSTの抽出などあれこれ盛り込んでも
ラチが空かない上に、スレの趣旨とは少し違ってきている気がします。
MegaBBSなど他の掲示板に対しても無意味ですし。
日付に関しても賛否両論あるとは思いますが、
日付、ID、HOSTを全て含めて1項目(区切り<>で一つ)
という事にします。投稿文に関しても同様にそのまま。
DAT変換の為の中間形式を最優先です。

えまのん等、IDやHOST、TRIPなど分けている形式については
出力プラグインの方で操作する言う形で。

中途半端にしてもXLSTじゃロクに使えない上に無駄に
プラグイン作るのが面倒になってしまうのでは意味が無いです。
形式も依存してしまう内容かもしれませんが
もしバージョンアップする機会があれば、日付や本文なども含めて
パースしましょう、という結論です。
0512デフォルトの名無しさんNGNG
>>511
賛成です

次にXMLのサンプルが出ればそれのDTD書きます(XMLSchemaは解らないので・・・)
0513デフォルトの名無しさんNGNG
どっかにMonalogのバージョン入れないの?
version="1.0"みたいな。
05141 ◆LirUghTKBo NGNG
namespaceでの日付記述を取り、Version情報はthread内に付けてみました。
見た目ウザイかもしれませんが、バージョンが上がって形式が変わっても
monalog内に複数のバージョンを格納することが出来…るはずです。

<?xml version="1.0" encoding="Shift_JIS" ?>
<monalog xmlns="http://www.monazilla.org/Monalog">
  <thread version="1.0" server="pc2.2ch.net" board="tech" key="1046742687" type="2ch">
    <title><![CDATA[2chブラウザののログコンバータを作ろう]]></title>
    <info last-modified="Sat, 15 Mar 2003 04:37:38 GMT" size="161404" />
    <res-set>
      <res num="1" state="normal">
        <name><![CDATA[1 </b>◆LirUghTKBo <b>]]></name>
        <email><![CDATA[sage]]></email>
        <timestamp><![CDATA[03/03/04 10:51]]></timestamp>
        <message><![CDATA[Monalog Ver1.0 サンプル]]></message>
      </res>
    </res-set>
  </thread>
</monalog>

stateに関してはA Boneにあぼーん(abone)、弱あぼーん(aboneSE)、透明あぼーん(aboneEX)などの
機能がある為、残します。

これにそって出したXMLが以下の物になります。
http://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0023.xml
0515シロートの素朴な疑問NGNG
>>514
threadにversion持たせるの?

monalogのとこじゃなくて?
05161 ◆LirUghTKBo NGNG
monalogか、threadか、結構考えたんですが…。
なぜthreadにしたかと言う理由は>>514の上3行に書いてあります。
それはマズイ、と言うのであればご意見よろしくお願いします。
0517threadでも実用上問題ないとは思うけどNGNG
<?xml version="1.0" encoding="Shift_JIS" ?>
<monalog xmlns="http://www.monazilla.org/Monalog/1.0" version="1.0">
 (中略)
</monalog>
<monalog xmlns="http://www.monazilla.org/Monalog/1.1" version="1.1">
 (中略)
</monalog>

↑こういう記述がXMLで許されないんだったら無視してちょ。
こっちがより良いかなと思った。「monalogフォーマットのバージョン」を表現する、という意味で。
05181 ◆LirUghTKBo NGNG
>>517
試しに作ってみたところIEでは表示できませんでした。
あと、自ら話を振っていて申し訳ないのですが、
複数のバージョンのMonalogを同時に持っても
内容が複雑になり、バグの要因を増やすだけに
なってしまいそうなので、やめておきます。
バージョンの記述については>>517氏の通りにしましょう。

0519デフォルトの名無しさんNGNG
複数のルートエレメント?
0520デフォルトの名無しさんNGNG
ルートは一つじゃないとだめでしょ・・・
0521デフォルトの名無しさんNGNG
バージョンとかルートエレメントとかはよくわからないけど、
<name><email><timestamp><message>に関しては、1さんの決定に賛成。
だって、わかりやすいもん。

CDATA なので、XML形式を出力するときに気にするべきことは、
]]> という文字列が出てきたら、]]&amp; に書き換えてあげること。
0522515/517NGNG
>>519-520
やっぱり>>517はアウトだったのね……勉強しなおしてきまつ
>>1よ、スマンカッタ。
05231 ◆LirUghTKBo NGNG
今はこれで間違った選択はしてないと自分に言い聞かせながら。
当然落胆された方もいるとは思いますが。

Version情報を>>517の内容(もちろんルートは一つよ(笑))に変え、
242氏のソフトのプラグインで作りました。(OpenJane用DLL)
http://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0025.zip
pluginというフォルダに入れて下さい。

ソフト本体は242氏のサイトで。
http://www.geocities.co.jp/Beautycare/4965/public/logconv.html

2ch以外はまだ未対応です。
(まちBBSなどタイトルがDATの1行目最後に無い物もある)
242氏の言葉を借りると、あくまでα版!
.datと.idxは一緒に用意してネ。

ただ、自分のOpenJaneのログを突っ込んでみて、
やっぱり20Mを超えたあたりから(重くて)ちょっと厳しいかなと思ったり('A`)
つーかまだ変換してるよママン(つД`)イツオワルノ...

>>521
]]>に関しては、恐らく依存するのが皆無であろう
えまのんの形式でさえ>に変換されてますので、
read.cgiあたりから変えてるのだと思います。(少なくとも2chは)
ですから、心配する必要は無いかもしれないです。
05241 ◆LirUghTKBo NGNG
ゴメンナサイ...変えられました(汗

>えまのんの形式でさえ>に変換されてますので、
えまのんの形式でさえ&gt;に変換されてますので、

05251 ◆LirUghTKBo NGNG
あ、説明不足。
>>523で書かれているプラグインは、出力フォルダに
Monalog.xmlというファイルを作成します。
それにmsxml.dllでゴリゴリ書き込んでっています。
0526デフォルトの名無しさんNGNG
infoの中のsizeって何に使う?
元ブラウザのdatサイズを記録しても他のブラウザにとっては何の役にもたたないと
思うのだけど。
0527デフォルトの名無しさんNGNG
>>526
たしかに。
dat のサイズを記録するよりも、datに戻そうとしたときに1バイトの狂いも
出ないような厳密な仕様を記述することが大事。

あと、
]]> を ]]&gt; に直すのは、CDATAの中なのだから、当然なのだけど、
ちょっと混乱中。

・文字列を全部なめて、> が出てきたらそれを &gt; に変える。
・文字列を全部なめて、]]> が出てきたら、それを ]]&gt; に変える。

これ、どっちがいいのだろう?

エスケープする’前’の文字列として、]]&gt; ってのが出てきたとして、
これを何にもいじらないとすると、もとにもどす時に ]]> にされちゃう?
05281 ◆LirUghTKBo NGNG
えー、>>523以前に590個のDATを変換し始めて、
2時間近く経過した今もまだ変換中の1です。
ある意味、動画エンコードよりもひどいとか思えてきたり。
いくらコンバーターでプログラムの速度はあまり関係無いとは言っても、
流石にまだコンバート中だと考え物です…。

>>526-527
あ、見落としてました。Size。
いくつかの設定ファイルでSIZEの項目があったので
必要かなと追加したんですが、CFleのGetLength()と
同じ値が取れるのであれば、DATを復元した後の
ファイルから取得すれば良い話ですね。

>>527
]]> は ]]&gt; と保存され
]]&gt; は ]]&amp;gt; と保存されているみたいです。
05291 ◆LirUghTKBo NGNG
あれ、じゃぁ524は何だったんだろ…。
&gt;てすと > > 
05301 ◆LirUghTKBo NGNG
テスト
http://]]
0531デフォルトの名無しさんNGNG
Sizeは、ログファイルのサイズではなくて、「2ちゃんねる側で管理しているdatファイルのサイズ」だよ。
このサイズ-1したサイズ+取得時刻(if modified since)を送って、レスが増えたかどうかチェックするのが、2ちゃんブラウザの定石。
つまり、このサイズを間違えると、ログコンバート後にレス番号がずれたり、更新されたのに更新されていない、とか、不具合が発生する。
0532242 ◆GsQAUnYIlM NGNG
http://www.geocities.co.jp/Beautycare/4965/public/logconv/OpenJaneToMonalog002.zip
外出中だった。
名前をMonalogに変えてこれまでの変更をちょこっと加えて0.02を作ってみた。
自分のOpenJaneログ(約6.0MB)を変換するのに1分くらいだった。
変換後のXMLは47個(約8MB)

OpenJaneではSizeってどこに記録してあるのかな?
idxにもdatにもそれらしきものが無かったので↑の0.02には採用してないんだけど。
05331 ◆LirUghTKBo NGNG
|д゚) マダヤッテルヨ・・・ (02:30経過)

XML分けてない追記式の方法ですしね…。
大量になるとNodeListを取得するのに激しく時間が掛かる予感。

で、OpenJaneのSizeに関してデスガ、
SIZEの項目がある2chブラウザのホットゾヌが出した値と
OpenJaneで読み込んだDATをCFileのGetLengthで出した
値が一緒だったので同じだという結論です。安直…?

一応このままSizeについてはXMLで持っておいた方が良いんでしょうか?
0534デフォルトの名無しさんNGNG
1の日記はここですか?
0535デフォルトの名無しさんNGNG
Open Janeのソースを見ましたが、保存してあるDatのサイズが
そのままSize情報になるみたいです。
05361 ◆LirUghTKBo NGNG
_| ̄|○ ヤットオワッターヨ...

Pentium3-800MHz
590個のDATで3時間。
44MのXMLです。

そして242氏のプラグインで別のXMLに出す方式。
10分。ファイルサイズは65メガ。

…ベンチマークですかって(笑
ちなみに44MのXMLをXML Notepadで開くと、撃墜。
秀丸で開いても恐ろしいぐらいスワップするので辞退。

とりあえず、一つのフォルダに展開したMonalogを
DATに復元するときにそれぞれに振り分けると言う方法にしますか…。
Monalog.xmlについてはプログラムでは実際に使わず、
外部エンティティを用いてボードリストにするぐらいで。(今は無くても良いかも)

>>534
自分のサイト放置してまで1をやってるから、否定も出来ない。

>>535
ありがとうございます!
かなり重要な情報。
…とすると、それはホットゾヌでもかちゅーしゃでも通用しますね。
0537デフォルトの名無しさんNGNG
>>536
ホットゾヌ/ギコナビとJaneのdatファイルサイズは違うよ。
05381 ◆LirUghTKBo NGNG
>>537
あぁ・・・改行コードの違いかな・・・。
やはりsizeは持っておいた方が良いみたいですね。

あと、2chブラウザが突っ込んでるフォルダ全てから
]]>という文字列を全部検索してみたところ、見つかりませんでした。
そういうわけで、CDATAも大丈夫かなと。


疲れた。
0539デフォルトの名無しさんNGNG
改行コードの違いみたいですね。その分サイズがズレてました。
Open Janeは鯖側と一致します(逆に一致しないと取得に不具合がある)。
あとホットゾヌ1はローカルあぼーんすると実際にdatを書き換えるので、
さらにサイズがズレる事があるみたいです。
ゾヌ2ではあぼーん情報が別になったのでこの問題は無くなりましたけど、
dat形式の鯖側との同期についてはいまだ調整中みたいですね。
0540デフォルトの名無しさんNGNG
うーん、個人的には差分取得できるような.datはバグったらバグったで再取得シル!
な考え何すけどそんな気にするようなことなのかな?

過去ログ倉庫逝きの.datが今使ってるブラウザで見れたらそれでいいっす
0541デフォルトの名無しさんNGNG
XMLの仕様が決まってるなら、
XMLにいちいち変換しなくても

タグのデータに参照番号を決めて、
それを操作する入出力クラスを作ってしまえば
無駄な変換もパースもいらん。
0542デフォルトの名無しさんNGNG
  ∋8ノノハ.∩
   川o・-・)ノ <先生!こんなのがありました!
__/ /    /   
\(_ノ ̄ ̄ ̄\
||ヽ|| ̄ ̄ ̄ ̄||
 ...|| ̄ ̄ ̄ ̄||
http://saitama.gasuki.com/tochigi/
0543デフォルトの名無しさんNGNG
>>541
>XMLにいちいち変換しなくても

( ´д)ヒソ(´д`)ヒソ(д` )
0544デフォルトの名無しさんNGNG
typeの"2ch"みたいな文字列はどういう基準で取得してるんだろう。
単にサーバがxx.2ch.netだったらってこと?
xx.bbspink.comだったらtypeは2chじゃなくてbbspinkになるのかな?
2ch内の板であろうが無かろうが、サーバの文字列(2chとかbbspinkとか)が基準なのかな?
typeとは具体的に何の「型」なのだろう。
05451 ◆LirUghTKBo NGNG
>>544
ゾヌ2のinfにある、SITEIDに当たる物です。ゾヌ1だとBBSTYPE。
判断基準はそれぞれのブラウザにより異なると思います。
サポートしているBBSもしてないBBSもありますし。

typeの内容はだいたい以下の物になると思います。
1_5ch
15ch
212ch
2ch
2chKakolog
machibbs
megabbs
milkcafe
miniflo
mitinoku
shitaraba

後はUserが設置した物もありますが…。
上手い具合に判別方法が見つからず。
0546デフォルトの名無しさんNGNG
>>545
いやだからね、判断基準がばらばらなものを記録してどうするのって。
例えばあるブラウザがpinkbbsも2ちゃんねるの一部だから"2ch"タイプとしたとする。
別のブラウザはpinkbbsを"pinkbbs"タイプとしたとする。
そうすると同じものを表現してるXMLなのに二つのtypeができちゃうわけでしょ。

例えばXMLにtype="2ch"とあったとして、それをあるブラウザがどう判断するかも
決まってないわけでしょ。それがpinkbbsかもしれないし、2chかもしれないのに、
ブラウザからはそれが判断できないんだから。
0547sevenNGNG
あのさー、そろそろVer.1.0の仕様は、決めちゃおーよ。
異論のあるのは、保留してVer.2以降で決めることにして。
共通仕様の話って、これが初めてじゃないんだよ。
05481 ◆LirUghTKBo NGNG
>>546
結論を先に。
その辺のtypeの基準は、ホットゾヌを基準として考えています。
もしpinkbbsなどで処理の振り分けが必要だった場合は、
typeとドメインを出力プラグインに見てもらって判断してもらいます。

ドメインから推測してtypeも無くすことは可能でしょうが、
あまり信頼できる情報ではないかと思います。
typeがあればDAT復元するときや、ディレクトリの振り分けなどに使えますし、
無くしてしまうとユーザーが設置した互換掲示板のコンバートで
Monalogとしての判断基準が無くなってしまうわけで、残しています。
0549デフォルトの名無しさんNGNG
>>548
Janeやかちゅはどこからtypeを持ってくればよい?
0550デフォルトの名無しさんNGNG
>>549
念力
0551550NGNG
>>549
まあ、ジェダイとかニュータイプ以外の人たちは
bbsmenu.htmlから判断すればいーんじゃねーの?
05521 ◆LirUghTKBo NGNG
>>549
idxなりフォルダの階層なり判断はどうにでもなると思うのですが。
どこから判断するかはプラグインの作者次第ですし。

typeってそんな的外れで難しい事書いてますか?
0553デフォルトの名無しさんNGNG
わからないこと、ハッキリしないことは、
「ここから先はこの仕様では定めない」と
ばっさり切っちゃってもええんやで。

普通の2chのログが普通に保存できるようになって、
1さんのプログラムを使う人が増えてくれば、
細かい仕様に対する要望もがんがん上がってくるでしょう。
(バグ報告もね)
0554デフォルトの名無しさんNGNG
>>1
不定要素のtypeはあくまでもoptionalであるべきなので、プラグイン側もそれを
信頼できない。ぶっちゃけ、おまけ。

あと基本的にプラグインはXMLと1つ〜複数のファイルの相互「変換」のみを受け持つ
形になると思う。スレをひとつずつ変換するのかフォルダごと変換するのかは、プラグ
イン呼び出すインタフェース側のアプリケーション次第。何度か出てきてるけど、>>1は
まだプラグインがどういうものか解ってないの?
05551 ◆LirUghTKBo NGNG
確かにtypeはあれば便利というのはありますが、
その情報は絶対に信用できるかと言えば、無理ですね…。
とりあえず確実な方法が見つかるまでTypeは排除。
至ってシンプルなコンバートにしましょう。

>>554
今までただ何も考えずにブチ込む側の人だったので
プラグインの内容(仕組み)の理解は薄いです。
参考になりました。
0556デフォルトの名無しさんNGNG
作ってもらおうスレと勘違いしてる連中がちょろちょろ現れるねここ
0557デフォルトの名無しさんNGNG
>>556
Monazillaに掲載されてるからね
0558デフォルトの名無しさんNGNG
そこまでして過去ログを取っときたいのか?
0559デフォルトの名無しさんNGNG
取っときたいスレも確かにあるが
それはdatで十分という話もある
0560デフォルトの名無しさんNGNG
ここはム板だよな?
dat形式がいいと思うなら自分で作れ。
0561デフォルトの名無しさんNGNG
コンバーターなんて必要なのかねえ。
0562デフォルトの名無しさんNGNG
一人粘着がいる模様
0563デフォルトの名無しさんNGNG
>>560
というわけで、作ってみた
0564デフォルトの名無しさんNGNG
ら?
0565デフォルトの名無しさんNGNG
激疲れ。
MSXMLは書き込むより読み込む方が面倒…。

DATをMonalogへ、MonalogからDATへ変換する機能を付けました。
フォルダごと変換ではなく、単一ファイルです。

今回DLLじゃなくて糞GUIのアレ。(VC++6ソース exe有り)
http://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0026.zip
プログラムももうそろそろ整理しないと大変なことになりそうな予感。

Aboneのスレッド倉庫に並べるくらいまで行きたかったんですが、
流石に無理。後日で…。

あと改行コードもCRLFになっているため、JaneのDATとは
完全に一致する物ではないです。念のため。

というか、LFで改行するにはどうすれば...
エスケープシーケンスでは無理?
05661 ◆LirUghTKBo NGNG
ハンドル忘れた…
0567デフォルトの名無しさんNGNG
>>565
\nじゃなくて0x0Aを出力すると吉
05681 ◆LirUghTKBo NGNG
>>567
あぁ、なるほど…。
CStdioFile::WriteStringでは改行文字は0x0Aでも自動でCRLFになって
LFで書くためにはfopenでかつバイナリで書かないと駄目なのね…。
ありがとうございます。
05691 ◆LirUghTKBo NGNG
okok,,,
fopenじゃなくても、CFileをバイナリでオープンしてWriteダネ...。
お騒がせしてマス。Λ||Λ
0570デフォルトの名無しさんNGNG
このスレって死滅しちゃうの?
05711 ◆LirUghTKBo NGNG
今セコセコ作ってるから安心しる。
Aboneのお気に入り操作するクラス作ってたら妙に時間掛かってマスガ。

つか戦争起きてるときに何のんきにこんな事やってんだろうね
0572委員長 ◆/DABoneCRY NGNG
どうも、A Boneの委員長です。
まだ半分ぐらいしか過去レス読めてないので、本格参加は後日に
なりますが。

とりあえず何かお手伝い出来ることありますか?
「おめぇがコンバータ作れ!」は無しの方向で。(^-^;
05731 ◆LirUghTKBo NGNG
>>572
委員長様、はじめまして。ヘタレの1です。

今、Aboneのお気に入り及びスレッド倉庫のtxtをツリー構造で操作する物ですが、
手間取っているのは単なる自分が出しているヌルポバグです。('A`)
それはさておき。

いくつか確認したいことがあります。
・過去ログを作成するにあたってDATの場所は見た通りでidxは無しで問題は無い
 (あぼーん情報付けるにあたって必要になるが、今のところ非実装。)
・過去ログを見るためにはスレッド倉庫store.txt(またはお気に入り)に記述する
と言うだけでこちらの環境(Ver1.43)では表示されているのですが、
一応これで問題ないのか確認したいです。
それでは何かが足りなくて不具合が出る可能性もある、とか
過去ログを登録する望ましい形などあればご意見頂きたいかなと。
05741 ◆LirUghTKBo NGNG
あと、お気に入りの最後の"0"についても教えて頂けたら良いかなと...
0575デフォルトの名無しさんNGNG
>>572
おめぇがコンバータ作れ!
05761 ◆LirUghTKBo NGNG
バグ取れた...。 これで自由に消したり追加したり出来る…。(つД`)

>>242 ◆GsQAUnYIlM氏
見ていてかつ余裕があればlogconv.exeの仕様変更をお願いします。

・プラグインに渡される入力パスはフルパスにする
 単一のファイルパスやサブフォルダの検索などはlogconv.exeが管理。
 でも今の所は単一ファイルは必要無いので、サブフォルダまでの検索でお願いします。
 出力フォルダはそのままでOK。
 復元時のプラグインはそれぞれ自分で階層掘っていく形になるかと。

・プラグイン側で検索する拡張子の指定ができる
 上記の続きになりますが、DATだけではなくXMLからの復元も考えて
 拡張子は「*.xml」(Monalog.xmlとも指定できるようにワイルドカード込み)と
 指定できるようにして下さい。

・カテゴリ名から板名の取得(優先度低い)
 現在はカテゴリ名からサーバーアドレスが取得できますが、
 これに板名の取得も出来るように追加してください。

あと細かい点ですが、242氏が作ったMonalogへ変換するプラグインは
last-modifiedとmailで食い違いが出てますので修正お願いします。

…なんて書いてみるテスト。忙しければ後日対応で結構です。
「おめぇが変えろっ!」ってのは無しの方向で。
0577242 ◆GsQAUnYIlM NGNG
>>576
3番目はともかく1、2番目はプラグイン側でやることじゃなかろか。
1は入力フォルダが与えられてるんだからそこをルートに再帰でもして
サブフォルダを走査すればいいんだし(OpenJane to Monalogはそうしてる。)、
2はWin32APIでいうところのFindFirstFileに渡すパスを変えればいいだけだし。
05781 ◆LirUghTKBo NGNG
あぁ・・・そうか。
単一ファイル変換だけにとらわれずに、
サブフォルダも検索する関数と、単一ファイルを変換する関数を
提供すれば問題は無い、か...。

失礼しました。

明日にはMonalog->Aboneのプラグインが出来そうな予感。
0579委員長 ◆/DABoneCRY NGNG
>573
> ・過去ログを作成するにあたってDATの場所は見た通りでidxは無しで問題は無い
>  (あぼーん情報付けるにあたって必要になるが、今のところ非実装。)
そうですね、**********.datと**********.idxは対になってまして、各種あぼーんの情報やしおり情報、スレッド別のコテハン等の格納先となり、それらの操作が行われた際に作られます。
**********.datに関してはサイトにてまとめられている表の通りで間違いありません。

> ・過去ログを見るためにはスレッド倉庫store.txt(またはお気に入り)に記述する
> と言うだけでこちらの環境(Ver1.43)では表示されているのですが、
過去ログを見る=A Boneにログを飲み込ませるという意味でしょうか?
その前提で説明すると、ログファイル(**********.dat)とGetResList.txtへの登録が必要になり、これは必須です。
GetResList.txtに登録されれば、Aペイン(板一覧の所)にある[既得スレッド]に表示されるハズです。
お気に入り(BookMark.txt)とスレッド倉庫(Store.txt)は、あくまでもそれらのタブにて表示させる際に必要となるだけで、逆にいうと、それらのファイルに記述すると、そのスレッドはお気に入り登録(スレッド倉庫登録)されたスレッドということになります。

GetResList.txt、BookMark.txt、Store.txt の書式は次レスで。
0580委員長 ◆/DABoneCRY NGNG
■GetResList.txt(ログのIndexファイル)
[A Bone.exe]\conf\[BBS名]\GetResList.txt
(書式)
datのURL=既得レス数[\t]datサイズ[\t]スレッドタイトル[\t]最終取得時間[\t]最終書込時間[\t]スレッドタイトル(別名)
datのURL:2ちゃんねる内のdatファイルのURL
既得レス数:現在取得しているレス数
datサイズ:現在取得しているdatファイルのサイズ(CRLFではなくLFで計算)
      つまり、2ちゃんねるに準拠したサイズの為、実際に保存されている
      サイズとは違います。
スレッドタイトル:スレッドのタイトル
最終取得時間:文字通りの意味
最終書込時間:文字通りの意味(未書込みの場合、文字数0)
スレッドタイトル(別名):A Boneではユーザーがタイトルを変更出来るため(未設定の場合、文字数0)
0581委員長 ◆/DABoneCRY NGNG
■BookMark.txt(お気に入りのIndexファイル)
[A Bone.exe]\conf\[BBS名]\BookMark.txt
(書式)
フォルダの場合
[\t]タイプフラグ[\t]フォルダ名[\t][\t][\t]フラグ
スレッドの場合
タイプフラグ:ノードのタイプフラグ(0=スレッド、1=フォルダフォルダ)
スレッド名(フォルダ名):
カテゴリ名:(フォルダの場合は文字数0)
datのURL:(フォルダの場合は文字数0)
フラグ:ノードの開閉フラグ(0=開、1=閉)

(注)
各行の先頭の[\t]は行によって無かったり、複数あったりします。
先頭の[\t]の個数によって、ツリーの階層を表します。
(例)
AAA
[\t]BBB
[\t][\t]CCC

AAA      ←レベル1(\tは0個)
 └BBB    ←レベル2(\tは1個)
   └CCC  ←レベル3(\tは2個)

■Store.txt(スレッド倉庫のIndexファイル)
[A Bone.exe]\conf\[BBS名]\Store.txt
書式はBookMark.txtと同じ
0582委員長 ◆/DABoneCRY NGNG
失礼。
BookMark.txtのスレッドの場合の書式が抜けてました。(^-^;

スレッドの場合
[\t]タイプフラグ[\t]スレッド名[\t]カテゴリ名[\t]datのURL[\t]フラグ
です。

ということで、>574の解答は、ツリー表示する際に
子ノードを展開するかどうかというフラグです。
0583デフォルトの名無しさんNGNG
いいんちょフォーマット晒しアリガ�d。
>1がんがれー
05841 ◆LirUghTKBo NGNG
>>579-582
委員長様。フォーマット解説ありがとう御座いました。大変助かります。
あと、GetResList.txtの動きを調べてみたらURLでソートされている
必要があるみたいですね。(同じカテゴリが連続するように)
CListCtrlあたり使えば簡単に出来るかな…

一応予定としては、GetResListへの登録(重複チェック含む)と
登録したスレッドを過去ログ倉庫と同列にフォルダを作りリストを作成
と言うところまでやってみます。
今日までに作れそうだと昨日ほざいてましたが、予定追加でもう少し掛かりそう。

>>583
アリガトウゴザイマス。
がんがります



つーかDLLってどうやってデバッグするの...('A`)
0585デフォルトの名無しさんNGNG
>>584
>DLLのデバッグ
デバッグするためのプログラムを指定できるので、logconv.exeを指定しる。
logconv.exeのプラグインフォルダには、デバッグしたいデバッグ版のDLLを入れとく。
05861 ◆LirUghTKBo NGNG
>>OpenJaneToMonalog.dll
入力:OpenJaneのログフォルダ
出力:任意の展開フォルダ

OpenJaneのログファイルをMonalog形式に変換します。
[Key].xmlとして一つのファイルにまとめて展開しますので
ログ展開用のフォルダを用意して下さい。
なお、2ch以外BBSには対応していないのでご了承くださいまし。

>>MonalogToAbone.dll
入力:OpenJaneToMonalog.dllで展開したログが入っているフォルダ
出力:Abone.exeのあるルートフォルダ

色々制限ついてますが何とか形になった模様。
制限については以下の通り。
・serverが2ch,bbspink以外のログは処理しません。
・GetResList.txt,Store.txtの有無判定を行っていないので
 必ず一度は「何かしらのレスを取得した状態」で行ってください。
 エラー起きます。保証無し。
・プログラムがヘタレに組んでしまった為にXMLの検索時、サブフォルダを認識できません。

一応GetResList.txt、Store.txtについては
GetResList.txt.bakとStore.txt.bakでコピーを取っています。
が、バグなど含まれる可能性があるので、復旧できるなどの知識が無い方は使わないで下さい。
05871 ◆LirUghTKBo NGNG
プラグインのみ公開となります。
http://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0027.lzh
動かすソフトは242氏のサイトでよろしく。
http://www.geocities.co.jp/Beautycare/4965/public/logconv.html


寝る。
今の頭の状態でソース公開まで踏み込めない。

>>585
ありがとうございます。
おかげさまでスムーズな作業が出来ました。
・・・でも結局毎回ファイルコピーなのですね(´・ω・`)
05881 ◆LirUghTKBo NGNG
と言うことで、このスレ初の成果物らしいものが出来たわけですが
興味ある方お試しください。

もうだめぽ
05891 ◆LirUghTKBo NGNG
補足、OpenJaneのプラグインの方はちゃんとサブフォルダも検索します。
0590デフォルトの名無しさんNGNG
漏れ話が読めてないんだが、
>>OpenJaneToMonalog.dll
>>MonalogToAbone.dll
という作りをするのか。てっきり
>>OpenJaneToXML.dll
>>MonalogToXML.dll
>>XMLToMonalog.dll
>>XMLToAbone.dll
ってなるのかと思ってた。(ログ読み直すか。。)
0591デフォルトの名無しさんNGNG
A BoneとOpen Janeを併用しています。
コンバーターをテストしてみました。
が、Open JaneのログをMonalogに変換している途中で
コンバーターが落ちてしまいます。
外部板のログがあったので
外部板のログを別にして変換しようとしたのですが、
同じでした。
OSは、WinXP Home SP1です。
それではコンバーターの完成を楽しみにしています。
(もっと詳しい動作報告が必要なときは、遠慮なくおっしゃってください)
0592デフォルトの名無しさんNGNG
>590
MonalogがXML形式の2chログってことだと思う。
05931 ◆LirUghTKBo NGNG
>>590
近いうちにAboneからMonalogのDLLと、Janeに展開するDLLも作ろうかと思っています。
XMLへ変換するものばかり作るよりも何かしらのDATへ展開する方向を
優先するべきかと思ったのでAboneへのログ移動を作ってみた次第です。

>>591
動作確認ありがとうございます。
確かにMonalogへ変換するプラグインの方は外部板及びまちBBSへの対応が
まだ整っていないので不具合が出ると思います・・・。申し訳ないです。
こちらでもう少し十分なデバッグをし、再リリースしたいと思います。


ついでにソースも見直すと凄い事書いてるから手直ししてから出します…。
0594デフォルトの名無しさんNGNG
>>592
すまん。たしかにMonalogがXMLのことだね。
2週間もいるのに頭に入ってなかったよ。>>590は脳内あぼーんでおながい。
05951 ◆LirUghTKBo NGNG
OpenJaneToMonalog.dll(logconv.exe用プラグイン)
http://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0028.zip

以下のファイルが誤って読み取られるのを回避しました。
これでOpenJaneのルートを指定しても問題は無いはずです。
(OpenJaneのLogsフォルダを指定するのが前提だったのは説明不足な自分の責任)

・bbsmenu.dat(ボードリスト)
・favorites.dat(お気に入り)
・result.dat(鯖までお使いのファイル)

昨日の物でエラーが出た方はもう一度お試しあれ。

あと街BBSのXML変換は出来ていると思いますが、したらばなどの
それ以外の板ではまだ対応が終わっていません。
というわけでまだ2ch限定でよろしくお願いします。

報告歓迎。
0596591NGNG
昨日、コンバーターの動作報告をした者です。
dllを新しいものに入れ替えてテストしてみたのですが
やはり変換の途中でコンバーターが落ちてしまいます。
(出力元のフォルダをLogsフォルダにしても、
Logsフォルダ内の2chフォルダにしても同様でした。)
さらにOpen Janeのルートフォルダを指定すると
変換が始まる前に落ちてしまいました。
Janeをコンバーターと同じディレクトリに置いても同様です。
0597242 ◆GsQAUnYIlM NGNG
寂れてきたけど>>1ががんばってるので思わず
http://www.geocities.co.jp/Beautycare/4965/public/logconv/XSLTtestwithOJ001.zip
みたいなのを作ってみた。
OpenJane→Monalog→XSLTで他の形式に変換
をシームレスに実行してみるテストプラグイン。
一応簡単なHTMLに変換するだけのサンプルxslファイルを入れておいた。

IE6またはMSXML3以降必須。
0598242 ◆GsQAUnYIlM NGNG
まぁXSLTで変換後の出力ファイルは.htmlで決め打ちだし、出力フォルダも
指定できないし(Monalogファイルと一緒のフォルダに出力される。)でぐだぐだなんだけど、
ブラウザのログからXSLTでの変換まで一気にやってみるテストなので許してください。

.xslを指定するダイアログをキャンセルしたら処理を中止するようにした方が良かったかも。
今のバージョンはキャンセルするとMonalogだけ吐きます。
05991 ◆LirUghTKBo NGNG
わーからーないー。なして?

車のバッテリーあがってたのでジャンプするのも限界感じたので交換
と言う無駄な出費がかさんで鬱な1です。ご機嫌麗しゅう。

>>591サン、少しデバッグでお世話になってもよろしいでしょうか。
その環境で動けばある程度は対応できると思われるヨカーン。

・使用しているブラウザ(Jane)を教えてください。
 ちなみに私はOpenJaneDue(0.1.7.0)デス。
・OpenJaneのフォルダを「*.dat」で検索し、
 出てきたファイルは>>595の物以外で存在するか。
・logconv.exeで実行し、エラーが起きた際に、
 本体下記のステータス表示部分には何と表示されているか。

とりあえず以上の事を教えてください。

一応こちらとしても変換のトレースログをテキストで出力、
.idxファイルが存在しない場合の処理と、.datでも
ログファイルではないと思われる物をスキップする処理をつけます。

エラー処理を手抜きするとロクな事にならないですね…。
06001 ◆LirUghTKBo NGNG
>>597,242 ◆GsQAUnYIlM氏
まぁ、寂れたとは言っても、決めるところはある程度決まって、
後は作る人が作って反応を見ると言う感じですから。
このぐらいのペースの方が気楽で良いかも。私は全力ですが(笑

XSLTの出力良い感じです。
中の仕組みがどうなってるのかいまいちわかりませんが感動してます。
全部CDATAでとっている為か、<や>が全部変えられ、
改行も効いてませんが技術的には非常にそそられますね。

今の段階のMonalogではDLLで直接HTML吐き出し、やってもCSSでデザイン
と言うところが限界っぽいですが…。
0601591NGNG
おはようございます。
>599
>・使用しているブラウザ(Jane)を教えてください。
私が使っているのは、Open Jane Doeの派生版の
Viewってやつです。

> ・OpenJaneのフォルダを「*.dat」で検索し、
>  出てきたファイルは>>595の物以外で存在するか。
last.datというのがありました。これは、
Doeの設定の「終了時に開いていた板・スレを次回起動時に開く」
という項目にチェックが入っていると、生成される物のようです。
ちなみに、ルートフォルダを指定してコンバーターを実行させた
時、このlast.datを一番最初に読み取りに行っていました。

> ・logconv.exeで実行し、エラーが起きた際に、
>  本体下記のステータス表示部分には何と表示されているか。
**********.dat処理中というメッセージが表示されています。

今、コンバーターを起動して確かめてみたら
どうやらいつも同じdatファイルでエラーが出て止まっているようです。
もし必要なら、問題のdatファイルをうpろだにあげておきますが
いかがでしょうか?

ではでは、1サン、ガンガレーヽ(´ー`)ノ
0602591@自己レスNGNG
今、何気なくOpen Janeのフォルダを見たら
command.datという外部コマンド用のdatファイルと
mouse.datというマウスジェスチャー用
のdatファイルがみつかりました。
06031 ◆LirUghTKBo NGNG
OpenJaneToMonalog.dll
http://logconvert.s28.xrea.com/cgi-bin/uploader/source/up0029.zip

最初の1行を読み取り、区切り文字「<>」が存在しない場合はスキップ。
また、.idxファイルが存在しない場合もスキップ。
とりあえず動作を信じてDebug用のファイル出力は止めてます...。
多分これで大丈夫。ダイジョウブ。ダイジョウブ・・・だと良いな。

あとserverの抽出も少し変えました。
後ろからスラッシュを検索していく形にし、したらばの場合、
server="jbbs.shitaraba.com/[ジャンル]" category="[数字]"
みたいな形になります。
が、ただやってみただけなので現段階では意味無し。
06041 ◆LirUghTKBo NGNG
やはりファイル名直接指定して回避するのは利口なやり方ではないですね。
それでもエラーが出たらまだ粘着します。安定するまで。


それはそれとして、実家から
「じっちゃんがあぼーんしそうだから帰宅しる!」
と言われたので明日にでも帰るかもしれません...。

実家もネット環境無いわけではないのですが、
33Kbpsだかそこらのアナログな回線だったはず。
ノートPC持って行って、DLLぐらいなら頑張ればウpできるけど…

どうしよう(´・ω・`)
0605デフォルトの名無しさんNGNG
>>604 そういう時くらいお休みしなはれ!!
0606デフォルトの名無しさんNGNG
>>604
おいおい、じっちゃんメインに考えろよ。
# nice -20 じっちゃん
# nice 19 ログコンバータ
0607591@自己レスNGNG
1さん、お疲れ様でした。
コンバーターは問題なく動作しました。
今は、おじいさんの事を一番に考えてあげてください。
0608デフォルトの名無しさんNGNG
途中で止まるんですが。
せめてバグを直してから実家に帰ってください。
0609デフォルトの名無しさんNGNG
>>605-607と>>608のギャップにワロタ
06101 ◆LirUghTKBo NGNG
んなこと言われても私も好きで帰るわけではないですし・・・
実家で直すので詳細キボンヌ(`・ω・´)
0611デフォルトの名無しさんNGNG
んなこたぁ良いから とっとと帰れよ
0612デフォルトの名無しさんNGNG
こんなスレどうでもいいから、
じっちゃんをまず優先しろ。
0613デフォルトの名無しさんNGNG
帰ってきてから完成させろ。
じっちゃんの名にかけて。
0614デフォルトの名無しさんNGNG
実家帰っていいよ。
もう戻ってこなくてもいいよ。
0615デフォルトの名無しさんNGNG
おまえらどうしてそんなに>>1を責めるんだ。
>>1がいない間にどこが嫌なのか腹を割って話そうじゃないか。
0616アシュル ◆adhRKFl5jU NGNG
1よ、応援してるぞ
0617デフォルトの名無しさんNGNG
>>616 キモイ
0618デフォルトの名無しさんNGNG
乱立する2chブラウザですが、ログの形式がそれぞれ違う為に
移行するにしても過去ログを捨てなければいけません。
そこで共通のログコンバーターを作ろうというスレッドです。

ちなみに私はプログラムはVC++が出来ますが、
プロでもないし、それ程の実力も無いので協力者を募集します。

関連スレ
monazilla.org (w
http://www.monazilla.org/
0619デフォルトの名無しさんNGNG
>>1
のが多いよ
0620デフォルトの名無しさんNGNG
つーか変換する必要なんてあるんだろうか
0621デフォルトの名無しさんNGNG
>>620
無いなら無いで、このスレにこなけりゃいいだけ。
0622デフォルトの名無しさんNGNG
>>620
プロフィール・チャット・掲示板しか無いサイトへ行って、
「つーかこのサイト存在する必要なんてあるんだろうか」
と書き込みしてまわってくれ。適任だろ。
0623デフォルトの名無しさんNGNG
1って大学生?
0624デフォルトの名無しさんNGNG
  ∋8ノノハ.∩
   川o・-・)ノ <先生!こんなのがありました!
__/ /    /   
\(_ノ ̄ ̄ ̄\
||ヽ|| ̄ ̄ ̄ ̄||
 ...|| ̄ ̄ ̄ ̄||
http://saitama.gasuki.com/shinagawa/
0625デフォルトの名無しさんNGNG
>>623
それか専門学生だろうね。春休みで暇そうだから。
ただの引篭もり童貞かもしれんが。
0626デフォルトの名無しさんNGNG
ガンガレ保守
0627デフォルトの名無しさんNGNG
>>625
じつはフセインの孫
0628デフォルトの名無しさんNGNG
>>627 ((((;゚Д゚)))) ガクガクブルブル
0629デフォルトの名無しさんNGNG
>>65 を見るかぎり、かちゅのみ特殊で、他は改行コードの違いのみなんだから、
kage作者にお願いして<a hrefタグなしでも、表示の際、置換できるような対応をお願いして、
後はidxの仕様を各作者に公開を求めるっつーことにすれば、ログコンバーター(idxコンバーターか?)
作るにしても相当楽になりそうなんだが。。。
0630デフォルトの名無しさんNGNG
お願いしまくりだな。
0631デフォルトの名無しさんNGNG
Monalogに無い情報が、ブラウザのidxに必須な情報だと、変換が不可能だよな?
0632デフォルトの名無しさんNGNG
>>631
どうすればいい?
0633デフォルトの名無しさんNGNG
名前空間分けて、そのブラウザ用のデータぶち込めば。
0634デフォルトの名無しさんNGNG
今度は各ブラウザ設定ぶち込み用XMLの仕様を決めますか。
0635デフォルトの名無しさんNGNG
早くもMonalog version="1.1"の策定開始でつか?
0636デフォルトの名無しさんNGNG
Monalog1.0はそのままだろ。今はブラウザ固有のデータの話。
0637デフォルトの名無しさんNGNG
つーかさ、infoタグ内の情報ってすべての2chブラウザから取得できるの?
この際ブラウザ固有データと見なした方がいいような気がする。
0638デフォルトの名無しさんNGNG
>>633
その「ブラウザ用のデータ」はどっから持ってくる?
例えば、
Aのログがあったとして、それをBに変換するとき、
Bの固有の必須情報はいったいどこから。
0639デフォルトの名無しさんNGNG
>>638
たとえば、何?
具体的な例を。
0640デフォルトの名無しさんNGNG
>>639
仕様知らんからどれが必須か知らんけど、そういうことはありえないのかと
疑問に思うわけ。
0641デフォルトの名無しさんNGNG
>>640
俺はあり得ないと思うから、何に対して思ってるか具体例を教えて欲しいと思ってるわけ。
0642デフォルトの名無しさんNGNG
あり得ないならわざわざ名前空間分けてブラウザデータ用のものを作る必要はないと思うが。
0643デフォルトの名無しさんNGNG
一応過去ログ読んだけど、まだ「ブラウザA→Monalog→ブラウザB」って一つも実現されてないよね?
0644デフォルトの名無しさんNGNG
>>642
fumu
0645デフォルトの名無しさんNGNG
>>638
デフォルト値か、人が入力
0646デフォルトの名無しさんNGNG
>>645
そのデフォルト値をブラウザ側で対応してくれれば(つまり、datさえあればidxは
必須ではない)、かちゅ〜しゃ以外のログは相互に移動できる気がするけど
0647デフォルトの名無しさんNGNG
>>586-587でOpenJane→Monalog→Aboneができてたんだな。
0648デフォルトの名無しさんNGNG
かちゅ〜しゃ の 場合、Monalog から dat と idx を両方作れるんじゃないのか。

かちゅ〜しゃ固有のデフォルトはこれでいいと思う。
新着 = 0
最終取得 = 変換した時刻
最終書き込み = なし
表示位置 = スレの先頭

dat + idx ⇔ Monalog
0649デフォルトの名無しさんNGNG
>>648
かちゅ〜しゃに限らず、Monalogからその2ファイルが生成されなきゃ意味が無い
ちゃんとスレ読んでんのか、春厨?
0650デフォルトの名無しさんNGNG
>>649
別にかちゅ〜しゃだけの話をしてるようにも見えないが、
例えとしてかちゅ〜しゃを出しただけじゃないのか?

それに、
>かちゅ〜しゃに限らず、Monalogからその2ファイルが生成されなきゃ意味が無い
ともかぎらんぞ。
ギコナビはdatだけでOKだし、
逆にidxとdatだけじゃなく、あぼ〜ん情報のabnとか生成するソフトもあるし、
2ファイルと決まっているわけじゃない。
0651650NGNG
あ、そうでもないな。
648は分かってなさそうだな。
0652デフォルトの名無しさんNGNG
>>650
datだけだと、次から更新するとレス番号がずれるような、、、。

話はかわって、、、

monalogから、個々の2ちゃんブラウザが認識できるログデータ+管理ファイル(群)をつくるのが目標でそ。
ブラウザ"固有"のデータとしてmonalogに取り込むのは、あんまり意味ないようにおもうなあ。
データアイテムを追加する、このアイテムを持たないブラウザのデフォルト値はこれ、みたいなほうが良いのでは?
で、具体的なアイテムは何?
(実際調査しないとダメか。)
0653デフォルトの名無しさんNGNG
A. monalog は一切感知しない、プラグインが頑張る
B. ある程度一般的な要素は monalog なり monaidx で規定する
  とりこぼれる分はプラグインが頑張る
C. ブラウザごとにスキーマを作る。プラグインは補助データとして利用する
0654デフォルトの名無しさんNGNG
>>1が軽傷を負ったようだ
http://headlines.yahoo.co.jp/hl?a=20030329-00000063-kyodo-int
0655デフォルトの名無しさんNGNG
>かちゅ〜しゃに限らず、Monalogからその2ファイルが生成されなきゃ意味が無い

648はMonalogから管理情報を作るときのデフォルトを書いてるだけじゃないのかな
読めるようにするだけなら、648の捏造方式でいいと思う

とりあえずブラウザごとの固有情報を並べてよう
そうすれば共通項が見えてくる(かもしれない)
0656デフォルトの名無しさんNGNG
ところで、これが完成したらアイコンは のの の顔文字だよな?
0657デフォルトの名無しさんNGNG
>>655
なにをいまさら(;´Д`)
ちゃんとスレ読んでんのか、春厨?
0658sevenNGNG
各専用ブラウザ毎にデータファイルを入れるパス(ディレクトリ)名が異なるので、標準パス名も必要かもね。
0659デフォルトの名無しさんNGNG
lastmodifiedの形式は決まってた?
0660デフォルトの名無しさんNGNG
>>659
サーバから取得したLast-Modifiedをそのまま保存してないブラウザがあるってこと?
HTTP-dateに合致しない形式は調整したほうがいいだろな。
0661デフォルトの名無しさんNGNG
>>660
ABoneは 2003/03/30 14:37:48 な感じ。
0662デフォルトの名無しさんNGNG
Aboneってidxの形式とか、>>661とか身勝手な仕様が多いよな。
もっと他のブラウザ見習えよ>委員長
0663デフォルトの名無しさんNGNG
>>662
仕様書もないのに無茶言うなあ、、、。
0664デフォルトの名無しさんNGNG
>>661
それってローカルマシンの取得時刻なのかな。
サーバの時刻と1秒でもズレてたら If-Modified-Since で不一致に
なる気がするけど。
0665デフォルトの名無しさんNGNG
Aboneの場合idxはいらないからidxの形式は無視してもよかろ
0666デフォルトの名無しさんNGNG
>>664
ローカルではないようだ。
0667デフォルトの名無しさんNGNG
1はいなくなったの?
0668デフォルトの名無しさんNGNG
>>667
初めから読め。
0669デフォルトの名無しさんNGNG
>>665
じゃあ、コンバートしないでdat移動させるだけでよかろ(w
0670デフォルトの名無しさんNGNG
>>669
したけりゃすれ。スレの主旨わかってないなら過去ログ読め。
0671242 ◆GsQAUnYIlM NGNG
http://www.geocities.co.jp/Beautycare/4965/public/cornbutter/index.html
A Bone <-> Monalog1.0 相互変換プラグインを作ってみました。
A Boneログに変換する場合は>>579-580に従って、datとGetResList.txtを生成します。
対応板は2chのみです。
テストする場合はA Boneが入ってるフォルダごとコピーしてコピー先でやることを推奨。
0672デフォルトの名無しさんNGNG
>>670
いや、つかお前こそ>>1読めよ
0673デフォルトの名無しさんNGNG
>>672
なるほど、おまえは>>1しか読んでないからそんな戯言を。
0674デフォルトの名無しさんNGNG
>>673
(゚Д゚)ハァ?
お前>>1や>>242が作ったツール使った上で言ってるんだろうな?
0675デフォルトの名無しさんNGNG
>>674
だからAboneはidxが無くてもdatとGetResList.txtだけでコンバートできるんだって。
おまえこそ過去ログ読んだ上で言ってんだろうな。
0676デフォルトの名無しさんNGNG
俺基準で自分の立ち位置の説明を端折りまくって
何とか相手を空回りさせたがってる低脳が頑張るスレ
0677デフォルトの名無しさんNGNG
>>675
どっちかというとAboneは、dat(+idx)の他にGetResList.txtが必要という見方もできるね。
ところで>>1は帰ってこないけど、じいさん大丈夫なんだろうか…
0678デフォルトの名無しさんNGNG
>>676
遠吠えご苦労。
0679676NGNG
>>678
よかった、スルーできる利口なのばかりだったらどうしようかと(w
0680デフォルトの名無しさんNGNG
春だねぇ
0681676NGNG
>>680
同感(w
0682デフォルトの名無しさんNGNG
>>681
いや、君が。
0683676NGNG
>>682
読解力無いんだねぇキミ(w
0684デフォルトの名無しさんNGNG
perlやjavaならすぐできるとか言ってた奴らどこ行ったんだろうな
0685デフォルトの名無しさんNGNG
>>684
別にどこ行ったっていいんじゃない?
自分が作るって言ってて消えたんなら腹立つが。
0686デフォルトの名無しさんNGNG
春だねぇ
0687デフォルトの名無しさんNGNG
>>1も大好きなじっちゃんと一緒に…
0688デフォルトの名無しさんNGNG
>>1さん発見!忙しそう
ttp://tmp.2chan.net/img2/src/1049177094509.jpg
0689デフォルトの名無しさんNGNG
>>688 グッジョブ!
0690sevenNGNG
最大公約数的な素のままだと、ほとんどなにもしなくて良くて、すぐできるんだけど、
仕様が日々刻々変化する各専用ブラウザを最小公倍数的にサポートしようとすると、ほとんど不可能。
で、その間で、どの部分を採用して、どの部分を不採用にするかというのが、とてもめんどいんです。
でも、最小公倍数的にやらないと、元データにもどせないしね。
0691デフォルトの名無しさんNGNG
>>690
今更何言ってるの・・・・
0692デフォルトの名無しさんNGNG
>>2以来すぐできるすぐできると言われて未だにできてないスレ
0693デフォルトの名無しさんNGNG
>>692
dat ⇔ one はすぐできるけど、
dat ⇔ XML や one ⇔ XML は、すぐできないと思う。

なぜなら、

・XML のフレームワーク・ツール群を有効に活用できるフォーマットを
 探索したいという要望がある。

・ログの共通フォーマットを規定する必要があるかも知れない。
 それは、できるだけ多くのブラウザのログの仕様を考慮したものにしたい。

・または、必要最小限の情報だけを保持するだけのかも知れない。
 しかし必要最小限だけならば、dat 形式を使えば済むかも知れない。
 見極めが難しく、単独個人での見切り発車コーディングが困難。

・マークアップの難しさ。
 文脈依存である情報をマークアップする必要性の可能性。

・2ちゃんのプログラマは、単独でのコーディングは得意?だけど、
 匿名掲示板の特性上チームワークを発揮するのが難しい。

・需要の少なさ。ログコンバータは走らせる機会が非常に少なく、
 プログラミングへの動機につながりにくい。

つまり、dat ⇔ one は技術的に簡単だし、単独でコーディングを進められるけど、
dat ⇔ XML や one ⇔ XML は、隠れた困難さがあるんだと思います。
0694693NGNG
か、書けたよ…。ありがたや。
ホスト規制つらかった〜。どうして急に書けるようになったんだろ?
まーいっか・・。
0695デフォルトの名無しさんNGNG
dat ⇔ one の複合体でも良かったわけだ。
0696デフォルトの名無しさんNGNG
>>695
>>1がはじめに目指してたのはそれっぽい
0697デフォルトの名無しさんNGNG
となると最初にXMLとか言った6が戦犯ですか?
0698242 ◆GsQAUnYIlM NGNG
あ、ログフォルダの場所が変わってる場合のこと忘れてた。
0699デフォルトの名無しさんNGNG
時間が掛かろうがどうだろうが、続けているのは偉いと思う。
継続は力なりと言うし。

ただなぁ、のが多いんだよ・・・。
0700デフォルトの名無しさんNGNG
次スレ「Monalog1.1ワーキングドラフトを議論するスレ」
0701デフォルトの名無しさんNGNG
むしろ現段階のMonalog1.0をワーキングドラフトということにした方が。
0702デフォルトの名無しさんNGNG
>>699
>>1はニュー速住人かと思われ
0703デフォルトの名無しさんNGNG
>>697
なんだよ戦犯って・・知能低いな・・。
折角みんなで知恵出し合って協力しあってるのに・・。
0704デフォルトの名無しさんNGNG
OK。これでXMLの仕様はパーフェクトだ。

            ∧_∧
     ∧_∧  (´<_`  ) 意外とすんなり決めたな。兄者。
     ( ´_ゝ`) /   ⌒i  
    /   \     | |
    /    / ̄ ̄ ̄ ̄/ |
  __(__ニつ/  FMV  / .| .|____
      \/       / (u ⊃ 
        ̄ ̄ ̄ ̄ ̄
0705デフォルトの名無しさんNGNG
>>703
なんだよムキになって・・知能低いな・・。
折角みんなでスレ止まらないよう協力しあってるのに・・。
0706デフォルトの名無しさんNGNG
既存の2chブラウザの全ての機能を有するブラウザがあるとする。
するとそのブラウザの仕様は、今ここで語っている
ログコンバータの仕様としても特に問題は無いだろう。
またブラウザの仕様な訳だから、他のブラウザにとっても利用し易いものだろう。
要するに、このスレはその「全ての機能を有するブラウザ」の仕様を考えるスレな訳だ。

で、XMLとかデータ保存形式の話だが、
それ以外の仕様を煮詰めてからでないと2転3転するだけだと思うのだが…
0707デフォルトの名無しさんNGNG
なんだよ「全ての機能」って。わざわざ機能の限界点を決める必要があるのかよ。
0708デフォルトの名無しさんNGNG
現存する2ちゃんねるブラウザからのみ要件を吸い上げて仕様化するよりは、
今後出てくるであろうブラウザの要件にも沿えるように、仕様の「先取り」を目指そうっていう話でしょ。
今ある仕様のメンテナンスがちゃんとできるようになったら、そういう方向を目指してもいいと思うよ。
0709デフォルトの名無しさんNGNG
で、予想外の新機能が出てくるたびに仕様を2転3転させなきゃいけないわけか
0710デフォルトの名無しさんNGNG
上位互換性を持つ拡張仕様を策定すればいいだけ。
…と、思うのは安易かなぁ
0711デフォルトの名無しさんNGNG
>>710
正しい。そのためにMonalog versionがある。
0712デフォルトの名無しさんNGNG
現在「既存のブラウザのログをXMLで記述する」という流れだが
これを「新しいブラウザの仕様を考えてみる」という方向にしてみてはどうかと。
つまり
→datの保存場所はxxxにする
→idxにはxxxの情報を記録し保存場所はxxxにする
→xxx機能の情報はxxxファイルに保存し書式はxxxである
…等のブラウザの仕様を決めていく。
目標は既存ブラウザの全ての機能を有するブラウザである。
こうして出来た仮想ブラウザの仕様は、結果としてログコンバータのデータ保存形式になる。
…と考えたのだが。
0713デフォルトの名無しさんNGNG
>>712
というのを作者さん込みでmonazzilaスレでやりたいね。
もう、コンバータなんてどうでもいいからさ。
0714デフォルトの名無しさんNGNG
XML なら、ある程度の予想外の仕様変更にも対応しやすいと思う。拡張しやすいし。
//monalog/thread[@server = "???" && @category="???" && @key="???"]/res[@num = ???]
という構造がそうガラリと変わるというわけでもなさそうですし。

基本的な構造は変わりようがないとも思いますので、
ブラウザ作者さんたちは安心して monalog に依存することができると思います。
仕様を制定する側も、XML ならブラウザ作者側のアルゴリズムに影響を与えないように
新たな機能追加をすることが可能かと。

例えば、しおり機能をつける時、次のどちらの仕様も
スレを特定したり、レス内容を抽出したりするアルゴリズムに影響を与えません。
//monalog/thread/res[@anchored = true]
とやっても、
//monalog/thread/anchor[@num = ???]
とやっても、元からあるデータ構造に影響を与えません。
0715デフォルトの名無しさんNGNG
俺が予言してやろう。
この話は頓挫する。
0716デフォルトの名無しさんNGNG
>>713
そりゃそんな仕様が実現すればコンバートする必要なくなるしな。
0717デフォルトの名無しさんNGNG
そして、どんな風に拡張/マークアップしても、DAT にあった情報は残り続けます。
<res num="" state="">
 <name>aaa◆bbb</name>
 ...
</res>
としても、
<res num="" state="">
 <name>aaa<trip><symbol>◆</symbol>bbb</trip></name>
 ...
</res>
としても、res/name/text() から得られる文字列にはある程度の普遍性があるはずです。
0718デフォルトの名無しさんNGNG
ブラウザ作者もコンバータ作者もいないのに話してもなぁ
0719デフォルトの名無しさんNGNG
ありゃ・・
>>714→>>717ね。

つまり、情報をフォルダで分けたりファイル名で分けたりしてもいいですけど、
XML の方が楽なんじゃん? っつー話です。
だってはじめから DOM だし、改行やタブで区切った順序重視のテキストファイルの
パーザを書かなくて済むんだもん。
XPath が整ってくれば、ますます楽になります。
イマノウチに XML のフォーマットを考えておくのが吉かと。
0720デフォルトの名無しさんNGNG
結局のところそういう共通のブラウザ仕様に準拠するブラウザと
非準拠ブラウザのデータをコンバートする話が出てきそうな予感。
0721714,717,719NGNG
>>718
いちおうブラウザ作者ですけど。
0722デフォルトの名無しさんNGNG
>>719
ブラウザ作者は全員XMLを使え、と。正直無理ぽ。
0723デフォルトの名無しさんNGNG
そりゃあブラウザ作者が全員XMLの共通仕様を採用すれば、データの移行も
加工も何の問題も無いが、理想でしかないと思う。
いや、実現すれば本当に便利なことだとは思うのよ。
0724デフォルトの名無しさんNGNG
>>721
じゃあ名無しで書き込むなよ、チキン野郎が!
0725デフォルトの名無しさんNGNG
っていうかDATについては生で保存すれば良いわけで
XMLにコンバートするまでもない
0726デフォルトの名無しさんNGNG
>>724
ななしに言われてもね。低脳発言やめろ
0727デフォルトの名無しさんNGNG
〜すればいい、というのはもっともな意見だが、強制でない以上、
準拠ブラウザと非準拠ブラウザが存在してそれら同士のコンバート話は尽きない。
0728デフォルトの名無しさんNGNG
>>722
あ、そうですね…。
技術的な問題があるのなら、そのブラウザは DAT に対応するだけで
いいんじゃないでしょうか。
まぁ DAT のパージングができる技術があるなら、DOM も扱えると思うけど。

>>725
XML は拡張がしやすいし、DAT 由来の情報の透過性があるので有効です。
ただし、「コンバートする」という作業には、マークアップ作業が伴うので
それがこのスレでの最大の議論点です。
なぜなら、>>725さんの言う通り DAT は生で保存されているので、
マークアップすべき情報が文脈依存だからです。

ここのスレの議論を読んでいましたが、既に>>242さんがコンバータを
作られているのにスレの流れが滞っているのは、そういう問題があるからだと
思います。
私はマークアップ作業をしたければ人の手で行えばいいと思いますが、
さすがに疲れるので、XML の構造は至極単純なものでいいと思います。
0729デフォルトの名無しさんNGNG
あ… XML の構造は至極単純なものでいい、と書きましたが、
これは DAT 由来の情報を XML へコンバートする際には
至極単純なデータ構造だけ保存すればいいという話で、
XML の共通拡張フォーマットを突き詰めて考えることには
また大きな意義があると思います。
0730デフォルトの名無しさんNGNG
C#製ブラウザの作者かな?
0731デフォルトの名無しさんNGNG

.datとして格納されているログはマークアップしなくてもいいじゃん、って話と、
いわゆる.idxとしてブラウザ独自で持っている情報(機能)をまとめあげて、
さらに将来作成が予想される情報(機能)をまとめあげて「共通仕様」をつくろう、
という話が混ざっているように感じるが、、、。

ともかく、datのほうは置いておいて、idxについて考えてみると、、、
・スレ取得日時とサイズ(差分取得のために必要)
・取得先URI(不要かな?)
・スレファイル名とスレタイトル
・どこまでよんだかの情報(レス番号? バイト数?)
・ローカルあぼーんするレス番号のリスト

...なもんかな?
0732デフォルトの名無しさんNGNG
>>731
> .datとして格納されているログはマークアップしなくてもいいじゃん、って話と、

いや、マークアップのするかしないかではなく、
どれくらいの詳細さでマークアップするか、ということです。
DAT からコンバートする場合はゆるくマークアップして、
より高品質なログを作りたい時に、機械的にまたは人力で
さらに詳しくマークアップをしよう、というわけです。

また、>>731さんの言うような idx ファイルなどの拡張情報を組みこみたいときにも
XML の拡張しやすさ(XML ファイル解析アルゴリズムへの影響の少なさ)が
メリットになりますよね。

では、>>731さんの言うような情報をどのようにして XML で表せばいいか、
他にどのような情報を埋め込められれば役立つか、話して行きましょうか?
0733731NGNG
>>732
私は「datはdatのままでBLOBで扱い、気にしないのが正解かな?」派(?)なんで、ああいう書き方になったんです。
# ログは、2ちゃんブラウザの持ち物ではなく「2ちゃんねる(掲示板)」の持ち物って感じかな?
# マークアップするなら、それこそ2ちゃんねるから離れた「理想の掲示板としてあるべき
# 書き込みデータ仕様」を定義してからの方がいいと思う。2ちゃんねるの仕様に依存するのは
# (主催者側の都合によって変わる可能性があるので)危険すぎ。

...まあ、この部分は置いておいて、Aboneには
・最終書き込み時間
・そのスレで名乗るハンドル名
・ログタイプ
・所属カテゴリ
もあるのかな。(>580より)
0734732NGNG
>>733
> 私は「datはdatのままでBLOBで扱い、気にしないのが正解かな?」派(?)なんで、ああいう書き方になったんです。

私も dat は dat のままで扱って、XML はこのスレの副産物みたいなものという
位置付けで理解しています。

もともと私は、2ちゃん系掲示板のログを操作するのに XML 形式の
外部フィルター情報ファイルの使用を考えていましたので、
このスレでログの XML 形式の仕様が議論されているのを見かけて、
ログの標準 XML 形式が決まるなら、私のフィルター情報 XML ファイルにも
それにのっとったデザインを施そうと思ってたのです。

というわけで私は、ログのコンバータは one ⇔ the other のプラグインをそれぞれ
需要のあるだけ作る必要しかない、という意見です。

そして、one ⇔ the other のコンバートをする際に、必ずしも一方のブラウザのログ形式が
dat 形式にのっとっていない場合があるので、one ⇔ dat を作る必要が出てくると思います。
それを one ⇔ XML に置き換えても大して開発コストは変わらないんじゃないか
という意味で、副産物的 XML フォーマット規定を期待しています。
0735732NGNG
>>733
> # マークアップするなら、それこそ2ちゃんねるから離れた「理想の掲示板としてあるべき
> # 書き込みデータ仕様」を定義してからの方がいいと思う。

あ、2ちゃんは理想的な掲示板じゃないんですかねぇ、やっぱ?(笑)
理想の掲示板というと、PHP でガツガツに作られたフォーラム系の掲示板が
最も近いでしょうか?
2ちゃんもフローティングスレッド方式掲示板の範疇でいえばいい線いってると
思いますけどね。

> # 2ちゃんねるの仕様に依存するのは
> # (主催者側の都合によって変わる可能性があるので)危険すぎ。

同意です。でも、まぁ既存の2ちゃんブラウザは全て2ちゃんねる(や他の掲示板)の
仕様に依存しているので、そんなに危惧するほどでもないと思います。
仕様といっても1投稿あたり4フィールドしかない単純で普遍的なレコード形式の
基本を守ればログのパージングはできますし。
0736732NGNG
とりあえず考えておきたいのは、>>731や>>733で挙げてくださった情報についてです。
どんな種類の情報があると便利か・どこに格納するか、などです。

a) ブラウザをサポートする情報(取得サイズなど)
b) ユーザの2ちゃんサーフをサポートする情報(コテハン記録、しおり機能など)
c) ユーザがログを評価・操作する情報(ローカルあぼーんなど)
d) ログファイルの由来を示す情報(取得先 URI、ログタイプなど)

上記の中で、c) については、>>266-270 あたりに述べた通りです。

こういった種類の情報を、idx に格納するか、XML 形式のログに埋めこむか、
共通拡張機能フォーマット XML を規定して、ログとは独立させて
外部ファイルとしてもつか、とかみんなで検討して欲しいです。
0737731NGNG
>>734
私の立場は、モバイル機向け2ちゃんねるブラウザの開発で、母艦の2ちゃんねるブラウザとの"データ同期"は、
喉から手が出るくらいほしい機能なんですよね。(実際に要望もありますし。)
で、2ちゃんねるブラウザすべてに対応するのはまず無理なんで、1つに絞るかど〜すっかなあ、
datはどうにかなるけど付加情報をどうすっかなあ、って時にここを知って発展させたい、と思っています。
# いつでもどこでも2ちゃんねる、などという、それこそニーズは限定される使い方にはなるんですけど...。

xmlにしたにしろ"2ちゃんねる管理のdat形式"にコンバートするのは必須でしょうから、これはできてアタリマエだと考えて
いるんですが、まず興味があるのは
・コンバート後のログを使って差分取得してもレス番号がずれないか?
・スレにレスを書き込みできるのか?(そのための情報に欠落がないのか?)
・コンバート時間は?
です。(これらは今のMonalogで、特に問題はないと考えてますが、検証したい項目です...。)

で、とりあえず。
0738731NGNG
>737の続きです。

で、とりあえず形式は別にして、2ちゃんねるブラウザが「共通に持つ情報」と「共通に持たない情報」とに分類してから、
と思ったのですが、どうでしょう?
# そのためには、「今2ちゃんねるブラウザが持っている項目を具体的に挙げていきたい、と。

で、xmlはそれこそど〜とでもできる形式なんで、具体的にどこに置く、ってのは後回しでも良いかと思っていました。
0739731NGNG
ごめんなさい。まわりくどかった。

「スレ毎に持つ情報」
・スレ取得日時とサイズ(差分取得のために必要)
・取得先URI(サーバ名+板名+キーで持つ?)
・スレファイル名(キーと同一?)
・スレタイトル
・どこまでよんだかの情報(レス番号? バイト数?)
・ローカルあぼーんするレス番号のリスト
・最終書き込み時間
・そのスレで名乗るハンドル名
・ログタイプ(ログの構造形式?)
・所属カテゴリ(格納ディレクトリ名?)

「ブラウザ全体で持つ情報」
・取得済みスレリスト

以外に2ちゃんねるブラウザが持っている(持つべき)情報って、どんなのがありますか?
0740732NGNG
>>737-739
ログを取得するには、dat のどこまで取得済みかを記録しておけば良いそうです。(>>531)
レス動作に必要な情報は、カテゴリ名("tech")、スレ key("1046742687")、
時刻、そしてクッキー制御でしょうか?
コンバート時間は非力な CPU でも問題ないくらいだと思います。
ただ、XML を導入するなら、あまりにデカい DOM Tree はモバイル機のメモリには
つらいかも知れません。SAX 実装を使えばいいんでしょうけど・・。

「スレ毎に持つ情報」は、>>739にあるの以外思いつきませんけど、
「ブラウザ全体で持つ情報」は、板一覧とか、板毎のスレ一覧とかでしょうか。
ここらへんは他のブラウザをもう少し突っ込んで調査する必要がありそうですね。
委員長さんの記述>>579-582も参照

参考までに、OO 分析をする上での3つのアプローチ

1) 実際の世界を参考にし、オブジェクト構造を似せようとする
2) オブジェクトに責任を振り分けるように組み立てる
3) ユースケースを基にデザインする 

>>731さんの場合、やりたい事が決まっているので、3) が良いと予測します。
共通 XML 形式の仕様を決めるなら、2) のアプローチが良いと考えます。
↑つーか余計なお世話? でもなんか決定基準があったほうが納得しやすいんで。
0741731NGNG
>>740
このスレ的には、共通XML形式が決まって、それが特にブラウザのログコンバートで使われるようになるのが、成功だと思うのですが、どうでしょう?
# ここで同期手段についてのあれこれは、やるつもりはないですよ〜。

で、732さんの考える"オブジェクト"って何になりますか?
私だったら、「スレ」「板(掲示板)」「ブラウザ」の3つかなあ。
# 「板カテゴリ」というのもあってもよいかも。

スレ情報に追加。
・取得時にエラーになったかどうか
0742デフォルトの名無しさんNGNG
共通XML形式が決まったら、それに直接対応するブラウザも出てくる。
そしたら世の中の色んな掲示板のデータを共通XMLに変換するフィルタを作れば
掲示板ブラウザという新たなジャンルが
0743デフォルトの名無しさんNGNG
ふと、このスレ見てて思い出した事がある……。

何年も前に、ある会社のバイトで働いていた時に、
その会社が嫌になって、
ばあちゃんが倒れて、あぼーんしたのをきっかけに
そのままトンズラこいた事があった…。

0744デフォルトの名無しさんNGNG
>>1のお爺さんが亡くなって1週間か…
0745デフォルトの名無しさんNGNG
正直、コンバータ本体はどうでもいい・このスレでは作らなくてもいい、と思ってるが、
XML形式の話が出ると待ちきれなくなった馬鹿が煽ってる場面を何度も何度も見かけたし、
また出てきそうな悪寒がする
0746デフォルトの名無しさんNGNG
>正直、コンバータ本体はどうでもいい・このスレでは作らなくてもいい、と思ってるが
なんでこのスレにいるのかが気になる
0747sevenNGNG
>>746
漏れも何故か気になって、ここを覗いてしまう。monazzila(初期)、gikozzilaの虎馬だろうか?
0748デフォルトの名無しさんNGNG
>>743
つーか「○○なのでしばらく書き込めません」は
そのまま失踪するときの定番パターン
0749デフォルトの名無しさんNGNG
俺もそうだったから、気持ちは良く分かるというか普通そう書くだろとか思うが。
重ねるのは z じゃなくて l です。

ツマラン突込みだなまったく
0750デフォルトの名無しさんNGNG
モナッヂラ。ギコッヂラ。
0751sevenNGNG
げげ、検索したらヒットしたので、、、(いいわけ)
0752デフォルトの名無しさんNGNG
モナヂッラ
0753sevenNGNG
>>752
あんまりしつこくすると、このスレ終わるぞ(おどし)
0754デフォルトの名無しさんNGNG
すでに終わってる罠
0755デフォルトの名無しさんNGNG
>>713
0756デフォルトの名無しさんNGNG
>>749
余計なことは何も書かない。これ最強。
最悪なのは「遅くとも今月末までには」とか期限を切ること。
07571 ◆LirUghTKBo NGNG
見舞いから始まり線香まで終わり、何とか戻りました。
しばらく期間があいてしまいましたが
自分の居場所はもう用意されてない予感...。
0758デフォルトの名無しさんNGNG
居場所なんてモノは自分で作れ
0759デフォルトの名無しさんNGNG
いま>758がカコよさげだと思わせつつ実はあまり解決になってなさそうな事言った!
0760デフォルトの名無しさんNGNG
いや、確かに自分の居場所は用意されているものではないな。
実はあまり解決になってなさそうな事を言ったのは>>757
0761デフォルトの名無しさんNGNG
>>1
お疲れさん。
0762デフォルトの名無しさんNGNG
なにはともあれ、とりあえずオカエソ
0763デフォルトの名無しさんNGNG
なんでXMLなんか使うの?
0764デフォルトの名無しさんNGNG
なんで1さんが帰ってきたとたんにスレが止まるの?
0765デフォルトの名無しさんNGNG
というかもうコンバーターはできたんじゃ?
0766732NGNG
スレの内容を保持する以外にも、外部機能をつけるという流れだったような。
しおり・ローカルあぼーんなどに対応とか・・・

まぁ誰か何か思いついたら書きこんでくださるでしょうし
このままマターリしててもいいんじゃないでしょうか。
0767デフォルトの名無しさんNGNG
基本的に dat + 付加価値 という形で
完全に別に扱わないといけないところを同列に扱ってるようでは
なんだか
0768デフォルトの名無しさんNGNG
終わったな
0769デフォルトの名無しさんNGNG
同列に扱える、それがXML。
0770デフォルトの名無しさんNGNG
2chをASP化しようぜ
0771デフォルトの名無しさんNGNG
>>769
だから、同列に扱っちゃダメだ と言っている。
datはdatで使うんだから。
0772デフォルトの名無しさんNGNG
XML分かってる?
あーいや、逆にダメな理由を説明してくれまいか。
0773デフォルトの名無しさんNGNG
で、これのXMLの文書型はどこにあるの?
まさかインスタンスだけ?
0774デフォルトの名無しさんNGNG
↓から、何事も無かったかのように再開してください。
0775デフォルトの名無しさんNGNG
次はできるだけニュースです
0776山崎渉NGNG
(^^)
0777デフォルトの名無しさんNGNG
0778デフォルトの名無しさんNGNG
梅宮アンナが極楽の山本にホの字っていうお話。
0779デフォルトの名無しさんNGNG
マジっすか
0780デフォルトの名無しさんNGNG
以上をもちまして、2chブラウザののログコンバーターを語ろうスレは終了とさせていただきます。
0781デフォルトの名無しさんNGNG
終了記念カキコ
0782デフォルトの名無しさんNGNG
−−−−−−−−−− 再開 −−−−−−−−−−−
0783デフォルトの名無しさんNGNG
>>782
再開したかったらネタ出せよ。マジで。
0784デフォルトの名無しさんNGNG
でつ
↑を10秒以上見ていると…
0785デフォルトの名無しさんNGNG
スヌーピーだっけ?
0786デフォルトの名無しさんNGNG
>>784
お茶の水博士に見える?
0787sevenNGNG
でも、アトムはお茶ノ水博士が作ったわけではない。
0788デフォルトの名無しさんNGNG
>>787
アトムの作り親の出身地、出身大学、星座を述べよ
↓
0789デフォルトの名無しさんNGNG
完成したの?
0790山崎渉NGNG
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
0791デフォルトの名無しさんNGNG

  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/
 (_フ彡        /  ←>>1
0792デフォルトの名無しさんNGNG
>>791
1かよw
0793デフォルトの名無しさんNGNG
これで友達に頼まれてログを保存するために、相手用のブラウザ入れておく必要が無くなりました。
すばらしいです。
俺開発できないのに>>1からずーと3時間くらいこのスレ読みふけってました。
皆さんお疲れ様です。
0794デフォルトの名無しさんNGNG
http://rat-sv.net:8080/~radio/up/img/325.lzh

とりあえずは完成・・・・・。
かなり見た目は悪いがな。

URL指定はhttp://を消さないとダメなのは仕様です。
まあ使えばわかるとは思う。

不安ならウイルスチェックはしとけよ。
お約束だが自己責任でよろ。
0795デフォルトの名無しさんNGNG
>>794を実行したら
テキストファイルが物凄い勢いで生成されました
0796デフォルトの名無しさんNGNG
>>795
何個?
0797デフォルトの名無しさんNGNG
>>794
実行してみたら、もの凄い勢いでディスクにアクセスし始めました…。
10秒経っても表示されなかったからすぐ終了したけど、なんなの?
0798デフォルトの名無しさんNGNG
だからウィルスだっての
チェックしとけ
0799797NGNG
>>798
(((((( ;゚Д゚)))))ガクガクブルブル!!!
もしかして自分は795に釣られたのか(;´д⊂
0800デフォルトの名無しさんNGNG
Rubyが800ゲット
0801795NGNG
>>799
なんかとにかくいっぱい「(・∀・)」とだけ書かれたテキストファイルが
何千個も。つりじゃ無しに。
0802797NGNG
>>801
本当だ。
*.TXTで検索したら、Cドライブのディスクトップに6000個ほどファイル(60MB)が出来てた(w
Dが起動ドライブだから気が付かなかった。
疑ってスマソ。。
0803デフォルトの名無しさんNGNG
>>802
ディスクトップってルートディレクトリのこと?
新しい解釈な感じ(笑)
0804797NGNG
>>803
ごめんようデスクトップね。
C:\WINDOWS\デスクトップ\xxx.txt
0805794NGNG
正直すまんかった
0806デフォルトの名無しさんNGNG
       ___
     /;;;γ'⌒゙ヽ、
 ギャー!! /     ヽ
 ギャー!!   ◎   l ))
   。∧_∧、     /,.;
 (( と(・Д・;ll);ヾ、__,/彡・,ハイ、ツギ。
   ゚・ し'"γ'⌒;ヽ、`ミ゚;`'.∧∧  ∧∧
    /,;;;;;;;'/     ヽ;'∵‘(゚ー゚*) (゚ー゚*)  やめてくれー
 (( i;;;;;;;;;;i  ◎  ゙i ;' (|  つ と  つ   ∧_∧
    ヾ;;;;;;;,ヽ、   ノ   |  〜 |  〜\(; ・∀・) ←>>805
     `ー--=ニ-ー'     UU   (/ヽ)  ミ彡ミ彡ミ ズルズル
                           U___つつ ))
0807デフォルトの名無しさんNGNG
794はこれ作るためにテストやったんだろうね。
「(・∀・)」まみれになりながら。
・・アホすぎる。
0808デフォルトの名無しさんNGNG
どうせ大量テキスト吐かせるならdatをDLするソフト作ればこのスレっぽかったのにな。
0809794NGNG
>>807
テストなんかしねえよ。
たかが5行のプログラムだし。
0810デフォルトの名無しさんNGNG
と言いつつこっそりテストしていた>>794であった
0811794NGNG
実は5個だけ作るように設定してテストしたけどな...。
動作確認してから10000回ループに変えました。

すみません。ヘタレです。
0812デフォルトの名無しさんNGNG
>>811
いや、テストは大事だよ。
ちゃんとテストしたと聞いてお前の将来に光が見えた。



ボケェ
0813デフォルトの名無しさんNGNG
で、結局何がしたかったんだ
0814デフォルトの名無しさんNGNG
でもさぁ、XMLにしてみたけど他の用途で使われてないよなぁ。
いろんな外観のHTMLに変換するXSLTは書いてみたんだけど、そんな需要も無いみたいだしなぁ。
ログに対して需要のある操作ってキーワードの検索の他にどんなのがあるだろう。
○年○月○日○時頃の○板の○スレのログが欲しいとかかなぁ。
0815デフォルトの名無しさんNGNG
ここにぽんと置かれているだけだからねえ。
知名度が低い。
0816デフォルトの名無しさんNGNG
ま、まともなもんできてねーしな

XMLも文書型無しでインスタンスだけだし
こんなんで使うわけねーわな
0817デフォルトの名無しさんNGNG
>816
よくわからんけど、文書型っていうのがあると、用途が増えるの?
0818sevenNGNG
ログの需要っすか。
人類共通の財産として、P2Pとかで共有するときのリスト付きとか。
0819デフォルトの名無しさんNGNG
XMLって言いたいだけのヤツが多いな
0820デフォルトの名無しさんNGNG
XMLと言いたいだけのプロジェクトから罷り間違って何か成果ができちゃったらいいなぁということですよ
0821デフォルトの名無しさんNGNG
で、結果は?
なにかデキタの?
0822デフォルトの名無しさんNGNG
全ては進行中である
0823デフォルトの名無しさんNGNG
Perl使えば何日かで出来るだろ。
ログの仕様が分からないと無理だけど。
0824デフォルトの名無しさんNGNG
>>823
>>3
0825デフォルトの名無しさんNGNG
共通フォーマット化大作戦
http://mito.cool.ne.jp/splashdowncast/green/479/1005311642.html
0826デフォルトの名無しさんNGNG
>>1
>>242
というかもう完成なんですよねえ?
0827デフォルトの名無しさんNGNG
>>242さん。
ブラウザログ→Monalogは問題ないんだけど
Monalog→ブラウザログへの変換でエラーがでます。

エラーもスルーしてもらえればいいんだけど
Cornbutterが強制終了してしまいます。
0828デフォルトの名無しさんNGNG
ログコンバーターなんて不用。
2chのログがそんなに大事か?
0829デフォルトの名無しさんNGNG
>>828
スレ違い。
0830デフォルトの名無しさんNGNG
>>828=なんにでも首を突っ込んで余計な一言を言うため、
      クラス中から嫌われてるヤシ。ただし自覚はない。
0831デフォルトの名無しさんNGNG
>>830
クラス??
0832山崎渉NGNG
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉
0833デフォルトの名無しさんNGNG
>>831
リア中だって言いたいんでそ
0834testNGNG
test
0835testNGNG
[スレタイ] 2chブラウザののログコンバーターを作ろう
[最終更新] Fri, 30 May 2003 11:49:50 GMT
[書込件数] 834
[表示位置] 829
[マーク] F
[板URL] http://pc2.2ch.net/tech
[状態] 0
[新着] 0
[コテハン名前] test
[コテハンMail] !sage
[最終書込 UnixTime] 1054327768
[最終取得 UnixTime] 1054327769
[既読位置]
0836デフォルトの名無しさんNGNG
ワラタ
0837デフォルトの名無しさんNGNG
ほしゅ
0838デフォルトの名無しさんNGNG
え?コンバーターって完全に完成してるんだよね?
>>1さん、遅ればせながら乙 !
0839デフォルトの名無しさんNGNG
>>793=>>826=>838=>1 氏ね
0840デフォルトの名無しさんNGNG
HPに特定スレの過去ログまとめて倉庫にする場合なんかに使える?
0841デフォルトの名無しさんNGNG
使えるよ。これでやる意味はなさそうだけど
0842デフォルトの名無しさんNGNG
>>839
ごめん、826は俺なんだが。悪いな、当てが外れて。
0843デフォルトの名無しさんNGNG
というか完成してるかどうか、ホントに分かってないんだが。
完成してるの?
0844デフォルトの名無しさんNGNG
>>843
してるような、してないような。。。
作者から正式なアナウンス欲しいな。。。
恐らくメインは完成してると思う。
後はプラグインの問題。
0845デフォルトの名無しさんNGNG
じいさんが倒れたのを口実にして逃亡した腑抜けな>>1に乾杯(´ー`)ノ▼
0846デフォルトの名無しさんNGNG
そういえばその後音沙汰無いな
0847山崎 渉NGNG

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
0848山崎 渉NGNG

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
0849デフォルトの名無しさんNGNG
janeのログって他のプラウザに変換できる?
0850デフォルトの名無しさんNGNG
>>849
Janeのログはシンプルで仕様も公開してるけど、
問題は他のブラウザの仕様かな。
まあ、たいていはさくっとコンバートできるけど。
0851山崎 渉NGNG
(^^)
0852デフォルトの名無しさんNGNG
保守
0853山崎 渉NGNG
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
0854デフォルトの名無しさんNGNG
>>523のHPデリられてるね
0855デフォルトの名無しさんNGNG
ほしゅ
0856デフォルトの名無しさんNGNG
まだぁ〜チンチン
0857デフォルトの名無しさんNGNG




夏草や兵どもが夢の跡


                      〜松尾芭蕉〜


0858デフォルトの名無しさんNGNG
まだぁ〜チンチンシュッシュッ
0859デフォルトの名無しさんNGNG
2chLogConverter
http://logconvert.s28.xrea.com/
CornButter
http://www.geocities.co.jp/Beautycare/4965/public/cornbutter/index.html
0860デフォルトの名無しさんNGNG
ほs
0861デフォルトの名無しさんNGNG
はやくしろ
0862デフォルトの名無しさんNGNG
彡    ビュウウウ…
          彡
  彡
        .∧ ∧    寂れてんな、オイ…
       ヾ(,,゚Д゚),)
        人つゝ 人,,
      Yノ人 ノ ノノゞ⌒〜ゞ
    .  ノ /ミ|\、    ノノ ( 彡
     `⌒  .U~U`ヾ    丿
0863デフォルトの名無しさんNGNG
ほしゅ
0864デフォルトの名無しさんNGNG
はやくしろ
0865デフォルトの名無しさんNGNG
ほ
0866デフォルトの名無しさんNGNG
これでjaneのログを全部xmlにしてみたが…、
使い道が…。
0867デフォルトの名無しさんNGNG
手伝ってくれる方キボンヌ
http://program.dot.thebbs.jp/1071486463.html
0868デフォルトの名無しさんNGNG
ブラウザ乗り換えでログをどうしようかとコンバート関係を検索してたらここに辿り付いたのでカキコ
なんでこんな煩わしい手順踏んでるだろうと思ったら>693が理由を述べてて解決
0869デフォルトの名無しさんNGNG
ちなみに最初から最後まで重要なのはdatの相互変換ではなく
設定ファイルの相互変換だったわけだが。ブラウザの乗換えを
容易にしたいという>>1の理念は勘違いどもに蹂躙され、スレも
廃墟と相成った…。
0870デフォルトの名無しさんNGNG
というか最初からちゃんとしたブラウザを選んでればいいわけだが。
そろそろ、開発ラッシュも終わってきたしさ。
0871デフォルトの名無しさんNGNG
とりあえずdatの相互変換さえしてくれれば、あとは手作業で何とかするよ
0872デフォルトの名無しさんNGNG
このコンバーターを再利用して、xmlでスレを保存して
ゆくゆくはrssで…。
とかムリか…。
0873デフォルトの名無しさんNGNG
>>840のようなhtmで過去ログ置いてるような所のを2chブラウザ用に変換できると
便利なんだがなあ。
大抵広告入ってたり手が加わってる、酷い物はスタイルシートのタグが沢山・・・
0874デフォルトの名無しさんNGNG
>>873
ちょっと編集して
htmltodat
http://mukiyu.hp.infoseek.co.jp/
を使うってのは無しかい?
0875デフォルトの名無しさんNGNG
Perl で Template::Extract 使うと楽だよ。
0876デフォルトの名無しさんNGNG
保守上げ
0877デフォルトの名無しさんNGNG
このスレまだあったのか・・・
おかげでゾヌ2からjaneへ移行できますた。
0878デフォルトの名無しさんNGNG
ののたんログ
0879デフォルトの名無しさんNGNG
保守
0880デフォルトの名無しさんNGNG
DAT2HTMLは、総合掲示板『2ちゃんねる』等の
ログデータ(*.dat)を、HTML形式および
プレーンテキスト形式に変換するツールです。

http://tatsu01.at.infoseek.co.jp/
0881デフォルトの名無しさんNGNG
ゾヌ2から「OpenJane」「Live2ch」゙「twintail」へ移行希望保守


0882デフォルトの名無しさんNGNG
最下層なのでage
0883デフォルトの名無しさんNGNG
ageるな!
0884デフォルトの名無しさんNGNG
このスレでXMLが何か、どう扱うのかを知った記念age
0885デフォルトの名無しさんNGNG
XSLTも
0886デフォルトの名無しさんNGNG
dll
0887デフォルトの名無しさんNGNG
プラグイン!
0888デフォルトの名無しさんNGNG
888!
0889デフォルトの名無しさんNGNG
!888
0890デフォルトの名無しさんNGNG
図らずも900を取ってしまったわけですが
0891デフォルトの名無しさんNGNG
10足りねーよ
0892デフォルトの名無しさんNGNG
未だに2chブラウザを移行したことがない俺って・・・
0893デフォルトの名無しさんNGNG
昔はかちゅ使ってたな。
0894デフォルトの名無しさんNGNG
今は?
0895デフォルトの名無しさんNGNG
OpenJane
0896デフォルトの名無しさんNGNG
かちゅ
0897デフォルトの名無しさんNGNG
openjane
0898デフォルトの名無しさんNGNG
katyu
0899デフォルトの名無しさんNGNG
unko
0900デフォルトの名無しさんNGNG
図らずも900を取ってしまったわけですが
0901デフォルトの名無しさんNGNG
901!
0902デフォルトの名無しさんNGNG
902!
0903デフォルトの名無しさんNGNG
unko
0904デフォルトの名無しさんNGNG
unkoなんて2chブラウザ無い。
0905デフォルトの名無しさんNGNG
俺が作る
0906デフォルトの名無しさんNGNG
パーサは何使ってるよ?MSXML?
0907デフォルトの名無しさんNGNG
msxml
0908デフォルトの名無しさんNGNG
ms×ml
0909デフォルトの名無しさんNGNG
完成まで後91レス
0910デフォルトの名無しさんNGNG
ハァ?90レスだろ
0911デフォルトの名無しさんNGNG
89
0912デフォルトの名無しさんNGNG
88
0913デフォルトの名無しさんNGNG
>>909-912
おまえら馬鹿じゃねーの。後87レスだろーが。
0914デフォルトの名無しさんNGNG
86
0915デフォルトの名無しさんNGNG
お前ら数も数えられないのか。正確には後85だ。
0916デフォルトの名無しさんNGNG
ん?84じゃね?
0917デフォルトの名無しさんNGNG
83
0918デフォルトの名無しさんNGNG
ここで81だろ?
0919デフォルトの名無しさんNGNG
んで80
0920デフォルトの名無しさんNGNG
79
0921デフォルトの名無しさんNGNG
ここが正しい79
0922デフォルトの名無しさんNGNG
RX-78
0923デフォルトの名無しさんNGNG
RX-77-2
0924デフォルトの名無しさんNGNG
南無
0925デフォルトの名無しさんNGNG
日本語プログラム言語「ひまわり」Part4
http://pc5.2ch.net/test/read.cgi/tech/1083734726/
0926デフォルトの名無しさんNGNG
>>925
空気嫁
0927デフォルトの名無しさんNGNG
NASA!
0928デフォルトの名無しさんNGNG
何?
0929デフォルトの名無しさんNGNG
おれがperlで5分で作ってやるよ
0930デフォルトの名無しさんNGNG
>>929
まだ?
0931デフォルトの名無しさんNGNG
かちゅ→ギコナビ
の時につくったやつがあるよ
0932デフォルトの名無しさんNGNG
まだ?
0933デフォルトの名無しさんNGNG
今年中に1000逝くのかな?
0934デフォルトの名無しさんNGNG
今月中だな
0935デフォルトの名無しさんNGNG
今日中だな
0936デフォルトの名無しさんNGNG
今日の中の人だな
0937デフォルトの名無しさんNGNG
今日は終わりました。
0938デフォルトの名無しさんNGNG
今日は終わってませんがなにか?
0939デフォルトの名無しさんNGNG
昨日は終わりました。
0940デフォルトの名無しさんNGNG
>>929
で、まだ?
0941デフォルトの名無しさんNGNG
悟空
0942デフォルトの名無しさんNGNG
おっす
0943デフォルトの名無しさんNGNG
>>929
おい、まだかよ。口だけかよ。
0944デフォルトの名無しさんNGNG
OpenJaneも終わったことだし
XMLベースで考えようぞ
0945デフォルトの名無しさんNGNG
おわってねーよ!
0946デフォルトの名無しさんNGNG
今何が一番使われてるわけ?
0947デフォルトの名無しさんNGNG
OpenJane
0948デフォルトの名無しさんNGNG
unkoブラウザ
0949デフォルトの名無しさんNGNG
そんなブラウザ、無い。
0950デフォルトの名無しさんNGNG
950!
0951デフォルトの名無しさんNGNG
ついでに951!
0952デフォルトの名無しさんNGNG
.NETなら簡単にXMLが使えるけど、やっぱ非.NETアプリの方を使いたがるだろうな。
0953デフォルトの名無しさんNGNG
次スレは何処?
0954デフォルトの名無しさんNGNG
次スレってなに?おいしい?
0955デフォルトの名無しさんNGNG
955getto
0956デフォルトの名無しさんNGNG
あと45レスか・・・
0957デフォルトの名無しさんNGNG
44!
0958デフォルトの名無しさんNGNG
正確には42だ。
0959デフォルトの名無しさんNGNG
良い(41)
0960デフォルトの名無しさんNGNG
よぉ!(40!)
0961デフォルトの名無しさんNGNG
Thank you(39)
0962デフォルトの名無しさんNGNG
38?俺が38ゲットしちゃっていいの?
0963デフォルトの名無しさんNGNG
37
0964デフォルトの名無しさんNGNG
寒
0965デフォルトの名無しさんNGNG
さごじょう
0966デフォルトの名無しさんNGNG
いらっしゃ〜い
0967デフォルトの名無しさんNGNG
耳
0968デフォルトの名無しさんNGNG
ミニ!ミニスカートからパンティが!
0969デフォルトの名無しさんNGNG
三井
0970デフォルトの名無しさんNGNG
明石屋さんま
0971デフォルトの名無しさんNGNG
肉
0972デフォルトの名無しさんNGNG
庭
0973デフォルトの名無しさんNGNG
ニナ・パープルトン
0974デフォルトの名無しさんNGNG
0083
0975デフォルトの名無しさんNGNG
0082
0976デフォルトの名無しさんNGNG
0081
0977デフォルトの名無しさんNGNG
ポケットの中の戦争
0978デフォルトの名無しさんNGNG
一年戦争
0979デフォルトの名無しさんNGNG
21!
0980デフォルトの名無しさんNGNG
結局、このスレの成果物はないの?
0981デフォルトの名無しさんNGNG
20
0982デフォルトの名無しさんNGNG
1000
0983デフォルトの名無しさんNGNG
1005
0984デフォルトの名無しさんNGNG
あ
レス数が950を超えています。1000を超えると書き込みができなくなります。