トップページ⇒php
1001コメント343KB

掲示板スクリプトデータフォーマット規定を作ろう

■ このスレッドは過去ログ倉庫に格納されています
0001 02/10/30 01:21ID:???
2chのWEB-P板住人で掲示板スクリプトのデータフォーマット規定を作りましょう!
この規定を定めることにより掲示板間のデータファイルの共有や
乗り換えが容易にできるようになります。
0004nobodyさん02/10/30 01:46ID:agk/BYvB
XMLで掲示板用の文書型ってないのかね。
0005nobodyさん02/10/30 01:48ID:agk/BYvB
ちなみにそれなりに使われてる掲示板巡回ソフトのフォーマットでCMTってのはあるよ。
http://www.kaede.sakura.ne.jp/~nikeno/cmt/

これより優れてなければ新しく作る意義はないだろうね。
0006nobodyさん02/10/30 03:39ID:yBuR7K1a
>>5
なんかむつかしそうですね。
>>1さんが言ってるのってもっと簡単なことなんじゃないですか?
例えばデリミタは <> に統一するとか。
ちがうのかなぁ?
0007nobodyさん02/10/30 05:21ID:???
>例えばデリミタは <> に統一するとか。

そんなんでスレ立てられちゃかなわんな。
そんなんだったら、CGIスレやら掲示板スレでやれ。削除依頼だしとけよ、と。
0008nobodyさん02/10/30 11:37ID:p83AgH44
やっぱ、できが悪くてもデファクトスタンダードってことで、
2chのログ形式がいいな。
あと、UAがかちゅとかだったら、動的に2ch互換のログを生成するとか
0009nobodyさん02/10/30 13:57ID:???
何時の間に2chのログがデファクトスタンダードになったんだよ。
0010nobodyさん02/10/30 15:19ID:???
2chのログ形式ってどんなの?
0011 ◆jadeDaMePo 02/10/30 15:46ID:???
>>10
名前<>メアド<>日付 時間 ID<>本文<>スレッドタイトル
名前<>メアド<>日付 時間 ID<>本文<>
名前<>メアド<>日付 時間 ID<>本文<>
           ・
           ・
           ・
というかんじ

改行コードはLF 文字コードは2chではSJIS

ちなみにこのスレのdatはここ↓にあります。ブラウザからもDL可能。
http://pc.2ch.net/php/dat/1035908481.dat
0012 ◆jadeDaMePo 02/10/30 15:56ID:???
monazilla.org (w の資料室
http://members.jcom.home.ne.jp/monazilla/document/index.html
0013nobodyさん02/10/30 18:23ID:P9f3ZiO5
2chのフォーマットはとてもじゃないけど汎用フォーマットにはなりえないよ。
思いつくだけでも

・返信元の情報が定義されてない(ツリー型掲示板と非互換)
・記事ごとのタイトルが定義されてない(記事ごとにタイトルを入れる掲示板と非互換)
・投稿者のHPアドレスが定義されてない(そういうのが入れられる掲示板と非互換)
・トリップの関係で</b>〜<b>みたいなとってつけたような形で物理タグが入ってる
・日付フィールドにIDみたいな余計な情報もいれてる
・基本的にCSV(区切り文字は<>だが)なので拡張性に乏しい
0014nobodyさん02/10/30 18:39ID:vrodE3lU
記事本体の形式としては RFC2822、記事同士の関連なら NNTP の XOVER か
RDF/RSS あたりが使えれば新たに定めなくてもいいような。既存のライブラリも
多いし。

0015nobodyさん02/10/30 18:54ID:4q8hzZpW
>>14
http://www.faqs.org/rfcs/rfc2822.html
00161002/10/30 19:20ID:???
サンクス>>11
俺も>>4と同じで、汎用型ならXMLを使うねぇ。
XMLなら、>>13の問題もクリアできるだろうし
ただ、実装・負荷などで不利だと思う。
共通フォーマットに変換するスクリプトがあれば良いだけかな。
第一、『掲示板間のデータファイルの共有や乗り換え』の需要が
そんなにあるのかが疑問。
0017nobodyさん02/10/30 23:14ID:???
なんでデリミタって"<>"なの?
"<"でもいいじゃん。
00181702/10/30 23:16ID:???
SJIS対策か・・・?
0019nobodyさん02/10/31 01:01ID:ZXkDOR/T
データ中にタグが現れるからでしょ
...<>aaa<br>bbb<>...
0020nobodyさん02/10/31 01:49ID:???
頭悪いな
0021nobodyさん02/10/31 02:24ID:???
タグは&lt;と&gt;にするのがいいかな。
<>って見やすいじゃん。
0022nobodyさん02/10/31 03:06ID:ZXkDOR/T
タグとして表現したいのをエスケープしてどうするんだよばか。
0023nobodyさん02/10/31 03:13ID:???
>>22
表示するときに戻すんだよばか。
00241702/10/31 03:50ID:???
>>19
"<" ">"はエスケープしないのか・・・
そうすっと、要素の中では"<>"というシーケンスは記述できないわけね。
なんか気持ち悪いが・・・実用上困らないからいいのか。
0025nobodyさん02/10/31 04:33ID:ZXkDOR/T
<と>を&lt;と&gt;にエスケープする必要があるから
実際にタグとして表現したいところはエスケープしないんだろ。
で、タグとして<>という連鎖がありえないから区切りになるんだよ。
なんでこの程度わからんの。
00261702/10/31 08:18ID:???
>タグとして<>という連鎖がありえない
ここを気持ち悪いと思うかどうかはセンスの問題だが、
「エスケープ」という本来の意味からすると、要素として
任意のバイナリストリームを持ってくることができた方が仕様としては美しい。
例えば将来文字コードの拡張が行われたとして、マルチバイト文字の並びの中
に"<>"というシーケンスがあったら困る、とかな。
0027nobodyさん02/10/31 09:41ID:???
<>カカレタラデータ破壊サレルヨ
0028nobodyさん02/10/31 12:52ID:YI8d19yY
>>27
あきれるほどアホだな。
0029nobodyさん02/10/31 13:07ID:???
オマエガナー
0030nobodyさん02/10/31 13:17ID:???
>>27=29?

       救いがたい馬鹿だな。
0031nobodyさん02/10/31 16:10ID:???
>>30
スーパーハカーの友達がいるんだろうさ(w
0032nobodyさん02/11/06 18:10ID:???
\t
というのは?
0033nobodyさん02/11/09 13:08ID:M79jGLXj
ログを拡張する時を考慮して
データー<>データー2<>拡張データー1,拡張データー2,拡張データー3<>
みたいな感じで2重に区切ってるけどどう?
0034nobodyさん02/11/09 14:03ID:???
君の掲示板がそれで充分ならそれで良いんじゃない?
0035nobodyさん02/11/09 17:00ID:uiYVuqVI
掲示板のログ形式を統一するより、掲示板を読むアプリが
色んな形式に対応するようにした方が融通がきくような・・・
0036nobodyさん02/11/09 18:50ID:???
掲示板がログ形式を規定するXML文書を返してくれれば、
融通の効く一つのアプリでブラウズできるような。。。

誰かRFC書いてー。

0037nobodyさん02/11/10 02:39ID:WBc71eVW
mamimi
http://pc3.2ch.net/test/read.cgi/win/999364772/
INCM(Web掲示板巡回ソフト)について語るスレ
http://pc3.2ch.net/test/read.cgi/software/1019403472/
最強ブラウザairWeb!
http://pc3.2ch.net/test/read.cgi/software/1000563782/
【集え】掲示板オン・オフラインリーダー
http://pc3.2ch.net/test/read.cgi/software/1013572791/
0038nobodyさん02/11/10 13:21ID:???
HTML と IE で全部OK
0039nobodyさん02/11/11 19:53ID:???
>>4
誰か勧告文とDTD書けば…
0040nobodyさん02/11/11 20:07ID:???
<!--
仕様,ステータス,用途,規格化団体・企業
BBS-XML,ワーキングドラフト,掲示板,2ch

This is BBS-XML Strict DTD

ワーキングドラフト草案(w

続きは>>41で(w
-->
0041nobodyさん02/11/11 20:09ID:???
<!-- エンコードはUTF-8? -->
0042nobodyさん02/11/12 18:10ID:???
<!--
互換性に重点をおくならUTFで
-->
0043nobodyさん02/11/12 18:27ID:???
どんな種類の掲示板のフォーマット規定なのか
1.ツリー方式
2.ツリー方式以外(なんていうんだろ?、2chみたいなの…)
�T.一つの板に複数のスレッドがあると想定して規定
�U.一つのスレッドをのための規定

�T、�Uはよくわからないかもしれないけれど、例えば
�Tだと
<板 name="WEBプログラミング">
└<スレッド name="〜規定を作ろう">
 └<レス no="41">

みたいな構造になると思うんだけど…
0044nobodyさん02/11/13 22:34ID:J/INLVIE
一つのXML文章で1スレッド、
ツリーにも対応

が理想
0045nobodyさん02/11/13 23:51ID:???



  ま た X M L 厨 か 。



 
0046nobodyさん02/11/14 02:49ID:YeVWX2PG
CMTフォーマットだったら記事ごとに親記事のIDを指すフィールドが含まれてて
記事自体はシリアルに並んでる。

XMLだったらツリー構造をそのままXML内でもツリーで表現できるけど
そうすることによるメリットって何があるかね。
0047nobodyさん02/11/14 17:04ID:???
>そうすることによるメリットって何があるかね。
   自  分  で  探  せ
0048nobodyさん02/11/14 20:50ID:sVwpw064
>>46

XMLだったらツリー構造をそのままXML内でもツリーで表現できる。

CMTフォーマットだったら記事ごとに親記事のIDを指すフィールドが含まれてて
記事自体はシリアルに並んでるけど
そうすることによるメリットって何があるかね。
0049nobodyさん02/11/14 21:03ID:???
46じゃないが・・・
>>48
記事を時刻順に並べ替えて表示とか、そういう操作がしやすいね。
あるいは「関連(親)記事を複数」指定できるようにするとか、ツリー以外の構造にも柔軟に対応できるかな。
つうかXML使うにしても普通の神経してる設計者だったら掲示板のツリー構造を
そのままXMLのツリーに落としたりはしないだろう、と思われ。
0050nobodyさん02/11/14 21:14ID:???
>>49
>そのままXMLのツリーに落としたりはしないだろう、
つくる個人個人の"理論構造"に対する"美学"による
0051nobodyさん02/11/14 21:45ID:???
レスのデータとレスの構造は、別々になっていると読み込み効率がいいかも。

112
└113
└114
 └116
115
たとえば、こんな感じになるかな?
00524902/11/14 22:06ID:???
>>50
>つくる個人個人の"理論構造"に対する"美学"による

まず、掲示板のツリー構造をそのままXMLのツリーに落とすメリットを教えてくれ。
0053nobodyさん02/11/15 01:57ID:???
「タグ禁止」なんて掲示板は要らないです。
マークアップ可能にしてください。
0054nobodyさん02/11/15 03:41ID:???
もう、これでいいや

名前<>メアド<>日付 時間 ID<>本文<>スレッドタイトル
名前<>メアド<>日付 時間 ID<>本文<>親記事の番号
名前<>メアド<>日付 時間 ID<>本文<>親記事の番号
           ・
           ・
           ・
0055nobodyさん02/11/15 15:59ID:XZBvdeAK
ばーか
0056nobodyさん02/11/15 16:30ID:Ys0NMK/8
おお!こういう企画待ってました!!
丁度、こう言う話があったらいいなぁ〜って思っていたんだよね。

記事番号(連番)<>名前<>メアド<>URL<>西暦,月,日,曜日,時,分,秒<>タイトル<>本文(タグあり)<>
   削除パスワード英数半角6文字(非暗号化)<>レス式専用領域<>ツリー型専用領域<>2ch型専用領域<>拡張領域1<>拡張領域2<>自由データ域
記事番号(連番)<>名前<>メアド<>URL<>西暦,月,日,曜日,時,分,秒<>タイトル<>本文(タグあり)<>
   削除パスワード英数半角6文字(非暗号化)<>レス式専用領域<>ツリー型専用領域<>2ch型専用領域<>拡張領域1<>拡張領域2<>自由データ域
記事番号(連番)<>名前<>メアド<>URL<>西暦,月,日,曜日,時,分,秒<>タイトル<>本文(タグあり)<>
   削除パスワード英数半角6文字(非暗号化)<>レス式専用領域<>ツリー型専用領域<>2ch型専用領域<>拡張領域1<>拡張領域2<>自由データ域
                                  :
                                  :
                                  :

俺も「<>」区切りに賛成!
2行になってるけど、書き切れなかっただけで、本当は1行ね。
・URLは「http://」から記述する。
・タイトルはタグなしで。
・本文の改行は<br>を使用。
・タグの削除や改行の変換は掲示板スクリプトで行う。
・「親記事の番号」は拡張領域に。
・ノーマル(スレッド型?)掲示板は専用領域は使わない。
・自由データ域内はその掲示板独自のデータを保存して「,」で区切ってデータを格納する。
(例えばアイコンの番号とか)

専用領域内の割り当ては後で考えるとして、こんなのはどう?
00575602/11/15 16:37ID:???
・「親記事番号」は専用領域の間違いでした(^^;
0058nobodyさん02/11/15 17:11ID:0vDY4OoR
まず、掲示板のツリー構造をそのままXMLのツリーに落とすメリットを教えてくれ。
メリット、デメリットならツリー構造でも非ツリー構造の親番号指定XMLでもかわらないでしょ。

しかし、最重要であるのは、

これが掲示板に投稿された文章をまとめるXMLなのか、
掲示板で表示される文章をまとめるXMLなのかということ。

前者ならばレスNOに親番号IDを指定すべき、(orツリー構造のみを専用ヘッダーに記述)
後者ならば掲示板のツリー構造をそのままXMLにマークアップすべき。

ちなみにこれ漏れの"理論構造"に対する"美学"(w
0059nobodyさん02/11/15 17:24ID:???
どうでもいいけどさ、2chの>>2-1000って全部>>1に対する返信?
0060nobodyさん02/11/15 17:49ID:XZBvdeAK
シリアル並び+親記事ID付加のXMLからXSLTでツリー形式って作れるかな?
それができればredundantにツリーを記述したヘッダとか用意しなくて済みそうだけど。
0061nobodyさん02/11/15 17:52ID:???
>>60
できると思われ
0062nobodyさん02/11/15 18:32ID:???
>>59
親記事って言葉がイヤならroot記事
0063nobodyさん02/11/15 18:35ID:???
XML嫌いなんだけどこれからは掲示板程度のログ管理でもXMLが主流になっていくのか…
0064nobodyさん02/11/15 18:54ID:???
>>59
板全体をフロート式ツリー型掲示板だとするとそう言える
0065nobodyさん02/11/15 19:55ID:???
まるで房だがチョト作ってみた、

http://hpcgi3.nifty.com/sepura/bbsformat/test.cgi
タグに英語と日本語混じってるのは気にしない、
読みにくくても気にしない、
改行されてなくても気にしない、
そのたもろもろ…
0066nobodyさん02/11/15 20:07ID:???
エンコードEUCのままだった……メンドクサー
0067nobodyさん02/11/15 20:54ID:???
めんどくさいから、E-Mailのフォーマットにマップするくらいじゃだめですか。
だめですね。逝って来ます。
0068nobodyさん02/11/15 22:49ID:???
さて、当然XSLも書くんだろ?
0069nobodyさん02/11/16 04:13ID:???
もう、これでいいや

名前<>メアド<>日付 時間 ID<> 本文 <>スレッドタイトル
名前<>メアド<>日付 時間 ID<> >>親記事の番号 <br> 本文 <>
名前<>メアド<>日付 時間 ID<> >>親記事の番号 <br> 本文 <>
           ・
           ・
           ・
0070nobodyさん02/11/16 07:04ID:???
>>69
>>54
00716502/11/16 10:03ID:dxuRB5Y0
暇なので作ってみた

元
http://homepage3.nifty.com/sepura/bbsformat/testnoxsl.xml

XSL参照入り
http://homepage3.nifty.com/sepura/bbsformat/test.xml

XSL
http://homepage3.nifty.com/sepura/bbsformat/test.xsl

CSS
http://homepage3.nifty.com/sepura/bbsformat/test.css

これで、XMLが動的生成だとどうよ?
00726502/11/16 10:08ID:???
ちなみに、今後やらなければならないこと、

他の関連文章(>>14)あたりをみて、
タグ名から内容の想像が簡単につくようにする。

>>1-2
みたいに"-"が入るとリンク個所に飛べない問題をなんとか

一番重要なこと、
  誰  か  勧  告  文  と
s  c  h  e  m  a  書  け
0073nobodyさん02/11/16 10:12ID:???
勧告文とか書けるレベルまで到達してないだろ(w
0074nobodyさん02/11/16 16:02ID:???
面白いのでage
てか過疎化板マズー
0075nobodyさん02/11/16 20:56ID:???
問題、
http://homepage3.nifty.com/sepura/bbsformat/testnoxsl.xml
から、2ch標準datに変換するXSLを書きなさい、

ついでに暇ならCMTに変換するXSLもCMT廚のために書いてあげなさい
00766502/11/16 22:55ID:???
やっぱりレス指定その他XLinkでやるべきなのかなぁと思ってみたり、
でも対応ブラウザ限られる(てか対応してるのあるのか?)からanchorでしのいでみたり。

>>75
>2ch標準datに変換するXSLを書きなさい、
先生、PerlでISO8601に変換した日時を2ch形式に直せません(w
0077nobodyさん02/11/16 23:40ID:aQaiSnyy
substringとかつかえばできるんじゃないの。
でも2chのスクリプトは日付フィールド解釈すること無いはずだから
日時フォーマットは違っても別に問題起こらない。
0078nobodyさん02/11/17 00:53ID:???
勧告文書いた香具師は、全ての掲示板スクリプト配布サイトへメールを送るべし。
言うだけなら誰にでも出来るぞ。
責任をもってきちんと実行しろよな。
0079nobodyさん02/11/17 01:09ID:???
何の責任やら。
00806502/11/17 08:28ID:???
>>77

02/11/16 22:55 ID:???
↓
2002-11-16T22:55:00+09:00 ID:???

となったり、、でもISO8601は各フィールド固定長だから簡単に切り分けられたり、
まぁ、確かに>>77の言うとおり。

まぁ、当面の目標はワーキングドラフトを2003/08ぐらい?
で、本気な人間いるのか(w

公式のDTDデータベースとかってあるの?
00816502/11/17 09:08ID:???
覚え書き
http://www.w3.org/TR/xlink/
http://www.faqs.org/rfcs/rfc2822.html
http://www.kanzaki.com/docs/sw/rss.html
http://www.hlla.is.tsukuba.ac.jp/~yas/coins/syspro-2002/2002-05-27/nntp.html
0082nobodyさん02/11/18 18:57ID:OsIWDNBz
XMLキター
0083nobodyさん02/11/19 20:24ID:LMx8p3pK

XMLで管理していいことあるの?
2ch標準やCMTに書き直せるってほんと?
0084nobodyさん02/11/19 21:15ID:jmDysryp
拡張性がある。
多種多様な掲示板のログ形式をカバーしようと思ったら本命はXMLでしょう。

XSLTはプレーンテキストの出力を作ることが出来るから
XMLからCMTへ変換するXSLTを書くことも可能。
もちろんXSLTでなくてもいいけど。
0085nobodyさん02/11/19 21:41ID:???
CMTも考えているならハナからCMT形式で保存すればいいんじゃないの?
0086nobodyさん02/11/19 21:49ID:jmDysryp
拡張性って書いたでしょ。
0087nobodyさん02/11/19 22:37ID:???
お尻の穴も使うってこと?
0088nobodyさん02/11/20 01:30ID:???
CMTはクソ
0089nobodyさん02/11/20 18:11ID:???
<掲示板>
└<messages>
 └<message data="(ISOよりunixtimeを使ったほうが楽だし、掲示板の文章を管理、ということにあう鴨)">
  ├<ContributorInformation>
  │├<DisplayName>
  │├(ここらへん、個人情報のマークアップについて定めた規格が無い、
  ││ おそらく、あと10年もすれば、どっかの団体から勧告があるとおもわれる
  ││ いまのところは、こちらで管理するとして、<MailAddress>で)
  │├<Server-UserID>(サーバーによって付けられたユーザーID、2chでいうID
  ││ できれば中身について定義すればいいような)
  │├<User-UserID>(ユーザーによってつけられたユーザーID、2chでいうトリップ)
  │└<RemoteHost>(投稿者の投稿時のリモートホスト)
  ├<Contents>
  │├<Subject>
  │├<TEXT>
  │├<KeyWords>
  │└<Reference>
  │ └(URIとかテキストとか)
  ├<ManageInfo>
  │└(削除フラグとか?)
  └<Response>
   └(<message>が入って…)
0090nobodyさん02/11/20 18:20ID:???
気色悪い構造だな
0091nobodyさん02/11/20 20:47ID:8AScm9DR
日付はW3C-DTFで、なおかつ属性じゃなく要素で表現したほうが
CSSでも人間に可読な表示を作れてよいと思う。

あとUnix timeだと秒の部分をunspecifiedにできないし
XSLTで普通の年月日の形式に変換するのも多分無理。
00926502/11/20 21:24ID:19vsiZOW
やっぱりISO8601、もといW3CDTFが由と、

(5) 年月日および時分秒
YYYY-MM-DDThh:mm:ssTZD(例:2001-08-02T10:45:23+09:00)
(6) 年月日および時分秒および小数部分
YYYY-MM-DDThh:mm:ss.sTZD(例:2001-08-02T10:45:23.5+09:00)

http://www.kanzaki.com/docs/html/dtf.html

ただし、この場合タイムゾーンの扱いがけっこう手間だったり(w
例によって固定長なんでそれほどでもないか…

属性or要素の可視性についての問題はXSLでなんとかするんじゃないかと言ってみる、
漏れとしては属性についてたほうが美しい気が…
そういえば、検索するためのインデックスづけについての規格がどっかにあったような…
探すか…
0093nobodyさん02/11/21 01:03ID:???



  ま た X M L 厨 か 。


 
0094nobodyさん02/11/21 01:15ID:s/ym5biF
日付を属性じゃなくて要素でていうのは
XSLTじゃなくてCSSでも整形できたらベターだよねっていう話。
0095nobodyさん02/11/21 01:16ID:s/ym5biF
日付を属性じゃなくて要素でていうのは
XSLTじゃなくてCSSでも整形できたらベターだよねっていう話。
0096nobodyさん02/11/21 01:17ID:s/ym5biF
二重カキコになっちゃった。すごい重いな。
0097nobodyさん02/11/21 13:26ID:toP4QAhm
>>93はCMT廚
0098nobodyさん02/11/21 13:40ID:???
内容は面白そうだけど、
XMLで作って実用性(実現性)はあるの?これ。
0099nobodyさん02/11/21 15:09ID:c8KCn5S8
実現性 - CGIとなりうるあらゆる言語に、XMLを使うためのモジュールが
     追加され、改良されつつある現状を見ると、実現性は高い。
実用性 - XMLにすることで、掲示板専用クライアントが簡単に作れるようになる。
     統合的なWebサービス(複数サイト内での検索サービス等)を提供できるようになる。
0100nobodyさん02/11/21 15:14ID:???
ああ、
XMLに騙された者が、また一人…
0101nobodyさん02/11/21 20:17ID:???
XML使いの板
http://pc3.2ch.net/test/read.cgi/hp/984950028/
0102nobodyさん02/11/21 20:36ID:eFhGfzvA
>>94
まああまり見栄えに拘らなければCSSで属性を視覚化することはできるけど、
純粋な要素のメタデータで、しかも拡張性の無いものでないと属性にする
メリットは少ないね。例えば属性に子孫ノードは作れないわけで。
つーわけで同意。

>>92
XMLでやるってことは、拡張性をかなり重視してのことだと思うんだけど、
無闇に属性にするのは考え物だと思う。日付くらいならどうってこと無さ
そうだけど、まあ保険みたいなものか。RSSとかは実際要素だし。
気持ちは分かるが美しいとかっていう基準はヤメレ(w 蝿にたかられても知らんぞ。
01036502/11/22 08:32ID:zFwSanzN
ほほぅ、参考になるなぁ…と。
日時→要素 だね。

自分が属性にしだしたのは、HTMLのINSとかDELは実際そうだったし、
あと言葉にできない多々の理由(w だったんだけど、
確かに拡張性でいくと要素でもってたほうがイイと、
自分でもやっぱ要素かなぁ、と思ってみたり(w

そういえば、メッセージ個別の規定と、
それをまた掲示板としてマークアップする規定を分けると便利だと思ったり、

ツリー構造のマークアップ/親番号指定  はどうなんだろ?
■ このスレッドは過去ログ倉庫に格納されています