MAD Designer iconMAD

.madドキュメントフォーマット

本ドキュメントは、.madファイルとは何かを定義します。まず、出荷されている2つのサンプルドキュメントおよびそれらを読み書きするコードに基づき、現在存在する通りのフォーマットを記述します。次に、コマンドラインツールやWindowsビルドなど別のプラットフォーム上のリーダーが、Core DataやApple製フレームワークに依存することなくドキュメントを開けるよう、本来定義されるべきフォーマットを規定します。

このフォーマットが重要である理由は、レポートが小さいこと(出荷されているサンプルは80 KB未満)、そしてそれを実行するエンジンがスマートフォンにもコンテナにも収まることにあります。同一の定義がiOS、macOS、およびヘッドレスLinuxビルド上で動作します。レポートの結果テーブルを他のレポートのデータソースとして利用可能にし、1つのドキュメントで複数のデータベースを横断できるようにする今後の方向性については、vision.mdを参照してください。本仕様書はウェブサイトとしてもhttps://docs.everydayapps.comで公開されています。

前半の記述はすべて推測ではなく実測に基づいています。対象となる2つのサンプルは../../MADDesigner/Resources/Assets/Samples.xcassets/Reports/Music.dataset/Music.madおよび…/London.dataset/London.madです。


.madフォーマットはオープン仕様です。 誰でも本仕様を読み、実装することができます。プロジェクトのコードにはMITライセンスが適用されます。「MAD」「MAD Designer」「MAD Viewer」という名称、ならびにアプリケーションアイコンおよびその他の製品アートワークは著作者に帰属し、ライセンス供与の対象外ですが、.madファイルや本プロジェクトに対する説明的な言及は歓迎します。../../LICENSE、../../NOTICE、および../project/THIRD_PARTY_LICENSES.mdを参照してください。

本仕様書は1ファイル1章で構成されています。第1〜6章は現在出荷されているフォーマットを記述し、第7章は規定ターゲット(v1)、第8〜9章は未解決の論点および各記述の検証方法を示します:

  1. 一言で言うとドキュメントとは何か
  2. コンテナ
  3. ストア
  4. 実装されている読み込みと書き込み
  5. ドキュメントに含まれないもの:コンパニオンファイル
  6. 別のリーダー実装が対処すべき注意点(ハザード)
  7. 本来定義されるべきフォーマット(規定仕様)
  8. 未解決の論点
  9. 検証

このページは英語原文の日本語翻訳です。内容に相違がある場合は、英語原文が優先されます。