reference-data.schema.json¶
このJSON Schemaは、配布用JSONのルートにあるreferenceDataを検証します。
referenceDataは、製品に記録されたメーカーID、ブランドID、マウントシステムIDを、人が読む表示名へ変換するための対応表です。
例¶
{
"manufacturers": {
"nikon": {
"name": "Nikon"
}
},
"brands": {
"nikkor": {
"name": "NIKKOR"
}
},
"mountSystems": {
"nikon-z": {
"name": "Nikon Z"
}
}
}
IDをオブジェクトのキーにするため、配列を検索せずに表示情報を取得できます。
たとえば、product.identity.brandIdがnikkorなら、表示名はreferenceData.brands.nikkor.nameです。
フィールド¶
| パス | 型・値 | 説明 |
|---|---|---|
manufacturers |
参照マップ | メーカーIDをキー、メーカーの表示情報を値とするオブジェクト |
brands |
参照マップ | ブランドIDをキー、ブランドの表示情報を値とするオブジェクト |
mountSystems |
参照マップ | マウントシステムIDをキー、マウントシステムの表示情報を値とするオブジェクト |
manufacturers.<id>.name |
文字列 | メーカーの表示名 |
brands.<id>.name |
文字列 | ブランドの表示名 |
mountSystems.<id>.name |
文字列 | マウントシステムの表示名 |
manufacturers、brands、mountSystemsは必須です。
各キーは共通のID形式に従い、各値はnameを必須とするオブジェクトです。
現行Schemaでは、各値にname以外のフィールドを追加できません。
将来表示用の属性が必要になった場合は、文字列をオブジェクトへ置き換える移行をせず、各値のオブジェクトを拡張できます。
生成と検証¶
referenceDataは、二つの基準レジストリから自動生成します。
data/product-manufacturer-brand-registry.jsondata/mount-system-registry.json
各配布用JSONには、そのデータセットで参照する項目だけを収録します。
レンズFull版とLight版のreferenceDataは同一です。
リポジトリ検証では、参照するすべてのIDが存在すること、未使用の項目がないこと、表示名が基準レジストリと一致することを確認します。
contentHashはreferenceDataも対象に含めます。
表示名が変わった場合も、内容の変更として検出できます。
関連ページ¶
- データモデル:基準レジストリと配布用JSONの関係
- JSON Schemaファイル