このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

microデータモデル

順番に読むと事情がわかる。

アノテーションデータ

構文
foo @foo {}
foo("hello") @foo {"value" : "hello"}
foo(bar=23) @foo {"bar" : 23}
foo(baz="hello", zot=false) @foo{"baz":"hello", "zot":false}


@[internal]
type AnnotationBase = @* {
"$description" : string? ,
"$predefined" : {*:any?}? ,
* : any?
};

@[annotation]
type foo = @foo {
"baz" : string,
"zot" : boolean?
} & AnnotationBase;

プロパティとプロパティリスト

プロパティの出現性(occurrence)は次のようになる。

名前 正規表現 Caty表現
once X X または [X]
optional X? X? または [X]?
one-or-more X+ [X, X*]
any-times X* [X, X*]?

X* を [X, X*]? と書く理由は、Web入力(フォーム入力)では、空リスト[]の表現方法がないから。