Published On: 1970-01-01|Last Updated: 1970-01-01|Categories: Uncategorized|
  • 要するにデータベース。なんで XML 使わないのかは知らん。
  • Dict (値の配列)、テーブル、Update(トランザクションだが Dict の更新をしたりする) からなる。順序は決まっていないが、mab ファイルとかはバージョン情報、コラム名などのメタ情報の分の Dict、値の分の Dict、テーブル、Update の順になっている。
  • Dict は単純な配列だが、インデックスは 80 から始まり (1 byte の ASCII 文字列をそのまま格納するためらしい)、ファイルにシリアライズされた状態ではソートされていない。またスコープを指定出来る。<(a=c)> は atomScope=column を示す。
  • テーブルに名前は付けられないが、テーブル ID の後にスコープを指定できる。またメタ情報として複数の属性を持てる。
  • 行は連番のプライマリキーを持つ。テーブルと同様にスコープを指定出来る。
  • 値は文字列のみ、多分 UTF-8 固定、バイナリの格納は多分考慮されてない。シリアライズされる際は iso-8859-1 で読めるように変換される。
  • Object ID (Table ID, Row ID) の表現は 1:^80 の場合、1 が ID を示し、^80 はスコープであり値と同じく参照で示されている。:^80 が省略されたときのデフォルトスコープは :c で、column を示す。
  • (k^81:c) は kind=^81:column を示す。(s=9) もスコープ? 幾つあんだよ。

具体的には Mork – MozillaWiki、特に Mork Structure – MDC を見た方がいい。

関連