コンテンツにスキップ

product-full.schema.json

レンズFull版のproducts[]に含まれる製品1件を検証します。 識別情報や外形などの共通フィールドに、製品種別に対応する仕様ブロックを一つだけ組み合わせます。

トップレベルのフィールド

idproductTypeidentitylifecycleofficialProductPagesmountphysicalcontrolsaccessoriesは、すべての製品で必須です。 $schemaelectronicServices、製品種別ごとの仕様ブロックには、次節で説明する追加条件があります。

パス 型・値 説明
$schema 文字列 JSON Schemaへの参照。収録製品データではproduct-recordが必須化し、配布データの生成時に除去する
id ID文字列 lenses名前空間内で一意のID。小文字英数字をハイフンで区切った、人が読めるスラッグ形式を使う。文字列から製品情報を解析しない。ファイル名、調査結果データ、製品間参照に使う
productType lens / teleconverter / pinhole 使用する製品種別ブロックを選ぶ値
identity identity メーカーID、ブランドID、製品名、型番、別名、バリエーション
lifecycle lifecycle 発売発表日とメーカーまたはブランドによる状態表記
officialProductPages officialProductPage[] 製品そのものの公式メインページ。該当ページが残っていない場合は[]
mount mount Zマウントとの接続方法と電子接点
physical physical 寸法、重量、保護表記、フィルター、三脚取付部
controls control[]またはnull リング、スイッチ、ボタンなどの操作部
accessories accessoriesまたはnull 付属または別売のアクセサリー
electronicServices electronicServicesまたはnull ファームウェア更新、設定、制御に使う接続方式
lens lens レンズの仕様ブロック
teleconverter teleconverter テレコンバーターの仕様ブロック
pinhole pinhole ピンホールと関連する撮像方式の仕様ブロック

製品種別と仕様ブロック

productTypeに対応するブロックだけが必須かつ許可されます。

productType 必須ブロック 含められないブロック
lens lens teleconverterpinhole
teleconverter teleconverter lenspinhole
pinhole pinhole lensteleconverter

電子接点と製品側の接続サービス

electronicServicesは、マウント接点を介する機能ではなく、製品のファームウェア更新、設定、制御に使う接続を記録します。

mount.electronicContacts electronicServices
{ "present": true, ... } 必須。採用できる公開情報で確認できない場合はnullも使用できる
{ "present": false } 省略できる。独立したUSB接続やドックなどが公表されている場合は記録できる
null 省略できる。接続サービスを確認できる場合は記録できる

電子接点がないことだけを理由に、独立した接続サービスまで否定しません。 ただし、electronicServices.connections[].methodcamera-bodyの場合は、カメラとの通信にマウント接点を使うため、mount.electronicContacts.presenttrueでなければなりません。 direct-usbdockには、この条件を適用しません。

レンズの外形変化

productType: "lens"では、適用できる外形変化フィールドを省略せず、採用できる公開情報で確認できない値をnullにします。

条件 physicalの規則
すべてのレンズ externalLengthDuringFocusisRetractableForStorageが必須
lens.focalLength.kind: "zoom" externalLengthDuringZoomが必須
lens.focalLength.kind: "prime" externalLengthDuringZoomを含められない
lens.focus.opticalFocusingSystems[].type: "internal-focusing"または"rear-focusing" externalLengthDuringFocus"constant"
lens.zoom.opticalZoomingSystems[].type: "internal-zooming" externalLengthDuringZoomは必須かつ"constant"

constantは操作しても全長が変わらないこと、variableは全長が変わることを表します。 nullは、その挙動を採用できる公開情報で確認できない状態です。

値の省略、null、空配列、falseの意味は、値の読み方を参照してください。

関連ページ

JSON Schemaファイル