ハイパースキーマ
[JSON]タグを追加。
ハイパースキーマ仕様はしょうもないなー。なんかミソもクソも一緒。
評価できるポイントを挙げれば:
- URI Templates仕様によりURI設計を記述する方向はいいと思う。
- URI Templateのコンテキストオブジェクト自身を {-this} と書くのはまーいいか。
- となると、ハイフンで始まる名前は特殊扱いだな。
- HTMLフォーム機能を入れようとしている。
ダメなのは:
「self(自分)が、http://example.jp/people/{name}.json だ」とかの記述は型システムとは無関係。hrefの指す対象の型とかは明らかに型システム。だが、relは微妙だ。型システムに入れてもいいような気がする。
フォームのデータ型はたぶん次のようだろう。
type Person = {
"fn" : string,
"email : [string, string*],
* : any?
};type PersonParam = Person & {
"fn" : string refers "{fn}",
"email" : string refers "{email}",
* : any?
};
PersonとPersonParamは型としては同じだが、refersが付いた分だけ違う。これはアノテーションかもしれない。
type PersonParam = {
"fn" : @[refers("{fn}")] string ,
"email" : @[refers("{email}") string,
* : any?
};
プロパティへの修飾は、キーワード構文を使うかアノテーションを使うか微妙。