0
参照を持つより複雑なJSONスキーマを正しく解決しようとしています。 idプロパティは、しかし、私に多くの問題をもたらし、ドキュメントからどのように動作するかはわかりません。ここで私はまだ取得しないものです:JSONスキーマv4のidプロパティ
- は、URIを(
"id": "http://some.site/my/schema.json"
)に制限idプロパティですまたはスキーマの一部は、任意のID("id": "foo"
)を持つことができますか? - idプロパティは階層的ですか?親スキーマがid:
foo
(私はidsがURisに限定されていないと仮定します)があり、子がbar
の場合、子を参照する適切な方法はfoo/bar
ですか?あるいは、idsは完全に独立していますか? - によって
$ref
がスキーマを参照しているかどうかを明確に伝える方法はありますか?
素晴らしい要約、ありがとうございます!しかし、 'c'は何を意味しますか?空の' $ ref'がそれを行いますか?私がその質問で意味したのは、 '$ ref'を解決しようとしているときに、idによって参照されているかどうかを明確に伝える方法があるのでしょうか?しかし、URIでなければならないので、私はそうではないと思います... –
"idで参照されているかどうかを明確に伝える方法はありますか" 相対URIの場合は、スコープidに対して解決されます。絶対値であれば、スコープはそれに影響しません。相対スコープで親スコープが存在しない場合、現在のドキュメントのURIに対して解決されると見なすことができます(プログラム構造のように、現在のドキュメントが未知の方法で読み込まれると、何らかの不一致が発生します)。このシナリオは、フラグメント識別子( "$ ref": "#/ definitions/Whatever"など)を使用するとほとんど発生します。#は現在のドキュメントのルートを表します。 – erosb
偉大な、ありがとう! –