掲示板スクリプトデータフォーマット規定を作ろう
■ このスレッドは過去ログ倉庫に格納されています
この規定を定めることにより掲示板間のデータファイルの共有や
乗り換えが容易にできるようになります。
0508nobodyさん
02/12/13 04:20ID:???それともこの混沌の中から掲示板データフォーマットを搾り出すのか?
0509nobodyさん
02/12/13 05:10ID:???>>479あたりが落し処なんじゃないかと思う。
世の中のサーバ環境はまだXMLに寛容ではないし、掲示板プログラマに至っては尚更だ。
例えばスクリプト言語なりがネイティブにXMLを読み書きできるようになれば
また話は変わってくると思うのだが。
0510nobodyさん
02/12/13 09:07ID:???増やすときにこのスレみたいなのでいちいち議論というのもなぁ…
0512nobodyさん
02/12/13 14:04ID:???HBの鉛筆をベキッ!とへし折る事と同じようにッ
できて当然と思うことですじゃ!
大切なのは「認識」することですじゃ!
CSVを操るという事は できて当然と
思う精神力なんですぞッ!
0513nobodyさん
02/12/13 14:34ID:???0514nobodyさん
02/12/13 16:08ID:???>しかし例えばプログラム内で掲示板の書き込みを「年齢順」にソートする場合、
>どうしたってプログラムで「年齢」という要素にタッチせざるを得ない。
>つうことはそのプログラムが個人情報の規格に否応でも依存してしまうわけだ。
XSLって言うXMLの応用規格を使えば簡単にその事ができる。
"年齢"という要素名をパーサーが読み込んでXSLスタイルシートを適用するだけ、
>>145にある上の奴に
http://homepage3.nifty.com/sepura/bbsformat/test.xsl
が適用されると下のほうのサンプル(普通に見えるやつ)に見える。
(実は下のサンプルは7行ぐらいのテキストで成り立ってる。
で、XSL使うと例えば日付関係無しに日時だけで並び替えとかも簡単。)
で、他にもXSLスタイルシート使うと、例えばツリーがそのまま反映されたXMLを読み込んで、
親番号指定の"<>"区切りdatに変換する事も簡単。な筈。
それについては>>83-84
0515nobodyさん
02/12/13 16:09ID:???○>で、XSL使うと例えば日付関係無しに時刻だけで並び替えとかも簡単。)
スマソ
0516nobodyさん
02/12/13 16:26ID:???0517nobodyさん
02/12/13 18:07ID:???0519nobodyさん
02/12/13 18:25ID:???0520nobodyさん
02/12/13 18:32ID:???XMLのメリットっていうのはあくまで表示でなくて
あくまでデータ扱いの汎用性を維持することだろ?
それを行う事が表示にもつながるわけだ。
で、べつにデータの互換がしっくりできてれば表示はプログラムでレンダリングするなり、
XSLを適用できるプログラム使ってレンダリングするなり好きにして下さいってこった。
0521nobodyさん
02/12/13 18:39ID:???>その場合掲示板プログラムに添付されるXSLスタイルシートが規格に思いっきり依存してんじゃん
言ってる事がかわってるじゃん。
0522nobodyさん
02/12/13 18:46ID:???0523nobodyさん
02/12/13 18:54ID:???ま た 4 9 か
0524nobodyさん
02/12/13 19:12ID:???XMLはよう知らんからCSVについてのみ。
・1行目はインデックス(2行目以降がデータ本体)
あるいは1行目を掲示板ユニークな情報に使って2行目をインデックスにする
・前提はHTML表記。よって必要な特殊文字はそのまま ?XX; の形で含まれる
・改行コードは LF
・改行文字は <br>
・データの文字コードを明示
・区切り文字は「,」
・日付に関するデータのフォーマット
年月日時分秒をそれぞれ分けるか、それとも yy/mm/dd HH:MM:SS にフォーマットした状態か
1039761862 みたいな秒だけってのはちょっと・・・
ここらへん統一するだけでも使いやすくなるんじゃない?
インデックス使うだけで処理は重くなるけど。
CSVかXMLかその他か、選ぶのは人それぞれで。
とりあえず汎用性のありそうな規格を考えて、使われない方が廃れる、ってことでいいんじゃないか?
0525nobodyさん
02/12/13 19:14ID:???テキトーなんだが、CSVのカラム。
MessageId = 記事番号なり記事ID
ReplyTo = 返信元のMessageId
Name = 投稿者名
Text = 本文
Subject = 題名
DateYear, DateMonth, DateDay, DateHour, DateMinute, DateSecond = 年月日時分秒
最小限必要なのはこんなもんか。
インデックスが長くなってしまうが、意味を明解にするためには我慢。
日付を年月日時分秒で分けると増長だけどどうか。
0526nobodyさん
02/12/13 19:16ID:???一行目に文字コードと改行の情報を入れてみる。エクスポートにしか使わないけど。
01: scode=sjis,break=<br>
02: MessageId,ReplyTo,Name,Text,Subject,DateYear,DateMonth,DateDay,DateHour,DateMinute,DateSecond
03: 1,,名無し,オッス、オラ悟空<br>よろしこ,無題,2002,12,13,16,40,0
04: 2,1,nobodyさん,やあ悟空さん、頃しますよ。ふふふ。,Re: 無題,2002,12,13,16,50,0
05: 3,,nobodyさん,>>2ゲット<br>≡≡≡つ`⌒⊃゚Д゚(⊃,無題,2002,12,14,3,10,30
0527nobodyさん
02/12/13 19:19ID:???open LOG, shift or die $!;
my $info = <LOG>;
my @schema = split /,/o, <LOG>;
my @rows = ();
while (<LOG>) {
chomp;
my $i = 0;
my %item = map { ($schema[$i++] => $_) } split /,/o;
push @rows, \%item;
}
close LOG;
return \@rows;
}
sub main {
my $data = &readdata("format.dat");
for (my $i=0; $i<=$#{$data}; $i++) {
print $data->[$i]->{Text}, "\n"; #(*゚Д゚)チョッチウザイ…
}
}
0528nobodyさん
02/12/13 19:40ID:???0530nobodyさん
02/12/13 20:44ID:aVW9jPSr>掲示板プログラムに添付されるXSLスタイルシートが規格に思いっきり依存してんじゃん
何言ってるかわからない。
たぶん君のすごい誤解だと思うから具体的に書いてみて。
0532nobodyさん
02/12/13 21:30ID:???0533nobodyさん
02/12/13 21:41ID:???誰とは言わんけど。
0534nobodyさん
02/12/13 21:46ID:???XMLのフォーマットとCSVのフォーマット両方作ってみようよ。
話はそれからだろうが。
0535nobodyさん
02/12/13 22:23ID:???ただデミリタに「,」派と「<>」派がいるから一行目で
delimiter=<>みたいにできたら更に汎用性が上がるかな。
0536nobodyさん
02/12/13 22:46ID:???汎用性があがるとは思えない。
デリミタとか固定した方がいい。
インポートする方の作業が増えるだけ。
0537nobodyさん
02/12/13 22:48ID:an3wnW9j1行目にヘッダー情報、2行目にインデックスをつけるだけで
統一できると思うのだがどうよ?
0538536
02/12/13 22:55ID:an3wnW9j今までの掲示板のデータはほとんどがCSVだと思うのだが
それぞれの掲示板のデータの主な違いは、「デミリタ」と
「データの並び順」だと思うんだよね。
どんなデータの持ち方をしようと1行目のヘッダーと2行目の
インデックスを付けるだけでインポートできてしまうのは
楽なんじゃないか?
0539537
02/12/13 22:57ID:an3wnW9j0540nobodyさん
02/12/13 23:01ID:???本文のエンコード方法とか、結局データを読み出して
出力し直す必要があると思うから、ほとんど意味ないと思うけどな・・・。
0541nobodyさん
02/12/13 23:03ID:xzIbks/p0543537
02/12/13 23:15ID:an3wnW9j汎用性の面では、既存の掲示板のデータにヘッダーとインデックスを付けて
もらうだけでOKなので問題ないのでは?
拡張性の面も問題ないと思うし。
XMLで問題となってた書き込み/読み込みの速度の問題もないし。
0544nobodyさん
02/12/13 23:33ID:???0545nobodyさん
02/12/13 23:35ID:???>>475がよ、
>例えばXMLだと送信者の情報をいれとこうと思うと、
>すでに個人情報のマークアップの仕方を定めてる勧告があって、
>それを使用することで、個人情報の中身には一切関わらなくても、
>「この要素の内容の"個人情報"は"送信者の個人情報"ですよ」
>って事がわかってれば、内容についてはノータッチでいける。
>将来的にあたらしい種類の個人情報が登場してもノータッチ。
なんつうアホなこと書いてたからよ、>>507 >>516で
個々の掲示板プログラムまたはそれに付随するXSLスタイルシートが
年齢要素にタッチしない限りソートできるわけねえだろ、っつっただけのことよ。
それとよ、XML攻撃する奴は誰でも49なのか?(ワラ
054656
02/12/13 23:36ID:???記事にURNふってみたいと思ったり(w
少なくとも漏れが過去に提示したサンプルじゃ(以下略
0548nobodyさん
02/12/13 23:42ID:???>年齢要素にタッチしない限りソートできるわけねえだろ、
個々の掲示板のフォーマットは統一されてるんだから、
XSLスタイルシートは一つですみそうなもんだが?
もっとも、自分で拡張した場合はこのかぎりでは無いがな。
あと、"年齢要素にタッチ"の具体的な内容がわからんが…
0549nobodyさん
02/12/13 23:44ID:???0550nobodyさん
02/12/13 23:45ID:???どうして"いらねぇ"なんだ?
連絡先がわかれば便利でしょ?
連絡先を教えたいか教えたくないか(記入するかしないか)
を選択できるのがニーズだと考えるべきだと思うが…
0552nobodyさん
02/12/13 23:47ID:???W3Cが勧告した意味すら無いじゃん。
0556nobodyさん
02/12/13 23:52ID:F168Lhf6なにから手をつけて反論するかも面土居。
0558nobodyさん
02/12/13 23:55ID:gMX5rVmQ>を選択できるのがニーズだと考えるべきだと思うが…
否。マーケットのニーズと書いたのは、現状インターネットの掲示板で
住所を書くような掲示板がほとんど存在してないことを考えろ、ってこった。
0559nobodyさん
02/12/14 01:19ID:???去年まで金無し君だったけど、オンラインカジノとパチンコで
二年で350万貯めた。一度やってみなよ。
初回のみだけど、1ドル以上のチップを買えば30ドル(4000円くらい)貰える。
もらうだけもらってプレイせずに換金することもできるし、ルーレットで赤か黒に
思い切って賭けてしまえば50パーセントで二倍になる。
金なきゃオフラインでゲームすればいいだけ。暇つぶしになる。
ビデオポーカーとかスロとか色々あるのでマジでお勧め。
http://www.imperialcasino.com/~1kl5/japanese/
0560nobodyさん
02/12/14 01:44ID:???0561nobodyさん
02/12/14 03:10ID:LX3yzwPN0562nobodyさん
02/12/14 03:48ID:???住所とかの個人情報は一つの例だろ。
いろんな掲示板で採用され得る規定を作るなら、副項目的な拡張性が欠かせない。
突拍子もない項目であっても簡単に追加できるのが望ましい。
CSVならインデックスに、例えば
UniqueTerm1 〜 UniqueTerm9 とかいう具合に掲示板独自の自由な項目を作って、
後はエクスポート・インポート側の対応に委ねてはどうか。
いまいち趣旨からずれてるけど。
0563nobodyさん
02/12/14 06:14ID:???規格決める側が
>UniqueTerm1 〜 UniqueTerm9 とかいう具合に掲示板独自の自由な項目を作って、
こんな風に決め打ちしなくてもいいじゃん。>>479みたいな書式+IDとかTITLEみたいな必須項目だけ決めとけば、
あとは勝手に掲示板プログラマが項目追加してくでしょ。んで追加された項目が
本当に便利だったら残るし、意味なかったら消えてくし、って感じで淘汰されてくと思った。
0564nobodyさん
02/12/14 07:04ID:???>年月日時分秒をそれぞれ分けるか、それとも yy/mm/dd HH:MM:SS にフォーマットした状態か
>1039761862 みたいな秒だけってのはちょっと・・・
2つ項目持てばいい。DateTimeStrのフォーマットは任意。
統一した表記にしたければUnixTimeをプログラム内で使えということで。
(矛盾した場合はあくまでUnixTimeが優先で、DateTimeStrはログ読む人間用
もしくは高速に清書したい場合用)
DateTimeStr, UnixTime
2002-12-14 06:14:00,1039814040
>>525
>DateYear, DateMonth, DateDay, DateHour, DateMinute, DateSecond = 年月日時分秒
これはムダ。こうするんならJSTとかGMTとかのタイムゾーンも考えなきゃならなくて面倒。UnixTimeマンセー
0565nobodyさん
02/12/14 07:14ID:???まあW3Cを盲目的に崇拝してるような連中にはハナから議論なんてムリだろうな。
自分の頭で考えずに権威に頼るのは技術を理解できない厨房orじじいのやることだぜ。
TCP/IPもUNIXも「民主的な標準化プロセス」からは決して生まれてこなかっただろうよ。
0566nobodyさん
02/12/14 09:27ID:???>>564のようにUnixtimeで持つのもありだと思う。
柔軟性のある規格がいいね。
0567nobodyさん
02/12/14 10:16ID:???に
>だから?
と答えている奴に何を言っても無駄。
0568nobodyさん
02/12/14 10:21ID:ohZS+1FK公開したい人の事を考えているだけ。
0571nobodyさん
02/12/14 10:32ID:???があるのか疑わしいなぁ。
A氏作の掲示板CGIはa形式で、B氏作の掲示板CGIはb形式で
ログを保存するとする。A氏のCGIを使って掲示板を運営していた
C氏がB氏のCGIに乗り換える際、a 形式で蓄積した過去ログをB
氏のCGIでも読めるようb形式に変換したい。A氏が提供するエクス
ポート手続きでa形式のログを標準形式に変換し、B氏が提供す
るインポート手続きでこれをb形式に変換する。この方法でC氏が
望む形にログの変換が成されるかというと、元々a形式とb形式が
ほとんど同じ形でない限り、まず無理だろう。
a形式をb形式に変換するうえで難しいのは、a形式にあってb形式
にない要素をどこに押し込むか、a形式になくてb形式に必須の(もし
くはあった方がよい)要素をどう補うかってことで、その決定にはかなり
の恣意性がある。a、b両形式についての知識も必要だ。標準形式
を間に置いたってこの問題に対しては何の助けにもならないよね。
日付等の基本的な要素について個々に形式を統一するのはいい
ことだけど、実際に統一しやすいのは日付、記事番号、記事間の
リンクみたいなユーザーが直接入力しない部分が主じゃないかな。
メール欄なんかメアドが入ってるとは限らんわけだし。
0573nobodyさん
02/12/14 12:01ID:???規定を作ればこんなに便利になる、ってのが実感できない。
はっきりしたメリットがないと、実際に掲示板に取り込んでみようって人がなかなか現れないかと思う。
規格が統一されたときにメリットを感じるのは、掲示板の設置しかできない人くらいなのかなと。
このスレの住人の大半は自前でリフォームスクリプト作るだろうしね。
いまいち必要性がないって感じ。
CSVいじってる間は実用的な進歩があるのか疑問なもんで、XML厨に期待。
0574nobodyさん
02/12/14 13:08ID:???将来的に検索エンジン(例えばgoogle)がXMLファイルもサーチしてくれるってなったときに、
「ひろゆき氏による書き込みを検索」
「書き込み内容に"あぼーん"が含まれているものを検索」
って事が、「BBSの勧告によるDTDまたはスキーマーによって宣言された
"名前"(or"BODY")要素の内容が"ひろゆき"(or"あぼーん")な物を検索」
って事だけでできると思われる。
0575nobodyさん
02/12/14 13:11ID:???標準形式を間にはさむと、
「標準形式をうちの形式に変換」するスプリクトなりXSLなりを用意するだけでできる。
とりこむ相手がaだろうがσだろうが、相手から送られてくるのは"標準形式"なので、
少なくとも、標準形式に意味が無いというのは間違い。
0576nobodyさん
02/12/14 13:17ID:???英語をハブにして各言語間の翻訳をしてるんだけど、この場合英語で表現できない
意味内容は欠落しちゃうんだよね。それと同じことが今回のケースでもあてはまる気がする。
0577nobodyさん
02/12/14 13:23ID:???>少なくとも、標準形式に意味が無いというのは間違い。
そうかなあ?そもそも掲示板の乗り換えをする場合、情報が少しでも欠落したら
ニーズは激減しそうだし、掲示板の乗り換え以外の利用法がないんだったら
標準形式なんてそもそもいらないんじゃないの?
0578nobodyさん
02/12/14 13:27ID:???フォーマットに文句言うもんじゃないと思うが…
0580nobodyさん
02/12/14 13:38ID:???"フォーマットとして可能である"、が
"うちのCGIではそういった情報の書き込みはできませんorやらせません"
っていうのは可能だよ。
個人情報はせっかく他のレイヤーとして確立できそうなんだから、
このばでどうこう言わなくてもいいと思うが、
0581nobodyさん
02/12/14 13:39ID:???セマンティクスwebがうまくいかないであろう最大の理由は、
文書の記述者がその標準フォーマットに従うインセンティブがほとんどなくて、
そのフォーマットの従わない文書が多数派である限り
結局全文をベタに検索したものを人間が解釈した方が良質の結果が得られるからなんだよね。
0582nobodyさん
02/12/14 13:40ID:aj0kcrC5それは標準形式の問題じゃなくてたんにポート元とポート先で
もたせてる情報が異なるというだけの問題だろ。
0583nobodyさん
02/12/14 13:41ID:???でも、掲示板の場合初期のデータがある程度意味付け(名前,書き込みetc)
したCSVかなんかでそろってるんだから、
そこから規定文章フォーマットに書き直すことは比較的簡単にできると思われ。
0584nobodyさん
02/12/14 13:42ID:aj0kcrC50585nobodyさん
02/12/14 13:43ID:???意味わかんない。
>>577は、フォーマットで標準決めてもそれよりリッチな要素をもつ掲示板間の
乗り換えはできないでしょ?ってことなんだけど。
0588nobodyさん
02/12/14 13:49ID:???その為にもXMLには名前空間という概念があります。
0589nobodyさん
02/12/14 13:49ID:aj0kcrC50591nobodyさん
02/12/14 13:56ID:???標準化にすべて取り込むの?
0592nobodyさん
02/12/14 13:57ID:???外部に公開する必要も無い。
0593nobodyさん
02/12/14 13:58ID:???第3者がそれにあわせてみたくなるかもしれんし。
0594nobodyさん
02/12/14 13:59ID:???いわゆるCコンパイラとかががやってるアレ
全てを規格に盛り込むよりずっといいと思うけど
0595nobodyさん
02/12/14 14:00ID:???X M L に は 名 前 空 間 っ て い う 概 念 が あ る
って何回言ったらわかるんだよ。
0597nobodyさん
02/12/14 14:06ID:aj0kcrC5「標準化にすべて取り込む」なんてことを考える必要は無い。
0598nobodyさん
02/12/14 14:07ID:aj0kcrC50600nobodyさん
02/12/14 14:11ID:???独自な名前空間で定義された独自要素をどうやって相互運用するんだね?
独自に定義された要素が"意味的に"コンフリクトした場合、誰が調整するんだね?
0601nobodyさん
02/12/14 14:12ID:1SjORodv0602nobodyさん
02/12/14 14:15ID:???2者またはそれ以上の間で取り決めを行って"独自の名前空間の定義"を行えば
相互運用にはまったく問題ない気がするが?
0604nobodyさん
02/12/14 14:18ID:???0605nobodyさん
02/12/14 14:21ID:1SjORodv標準はオープンにしとけや
0606nobodyさん
02/12/14 14:22ID:???0607nobodyさん
02/12/14 14:25ID:???問題は、その方式で独自の要素の定義を独自の名前空間の下で許したときに、
・同じ意味を持つ要素なのに、それを異なる団体がそれぞれ独自の要素として定義してしまう場合に発生する。
その意味の"名寄せ"は誰がやるんだね?
■ このスレッドは過去ログ倉庫に格納されています