diff --git a/jsonschema-core.md b/jsonschema-core.md index 992df3c7..9c013c2a 100644 --- a/jsonschema-core.md +++ b/jsonschema-core.md @@ -1143,9 +1143,8 @@ provides the ability to validate recursive structures through self-reference. The resolved IRI produced by these keywords is not necessarily a network locator, only an identifier. A schema need not be downloadable from the address -if it is a network-addressable URL, and implementations SHOULD NOT assume they -should perform a network operation when they encounter a network-addressable -IRI. +if it is a network-addressable URL. Implementations which can access the network +SHOULD default to operating offline. ##### Direct References with `$ref` {#ref} @@ -1275,10 +1274,6 @@ The use of IRIs to identify remote schemas does not necessarily mean anything is downloaded, but instead JSON Schema implementations SHOULD understand ahead of time which schemas they will be using, and the IRIs that identify them. -When schemas are downloaded, for example by a generic user-agent that does not -know until runtime which schemas to download, see [Usage for -Hypermedia](#hypermedia). - Implementations SHOULD be able to associate arbitrary IRIs with an arbitrary schema and/or automatically associate a schema's `$id`-given IRI, depending on the trust that the validator has in the schema. Such IRIs and schemas can be @@ -1286,6 +1281,12 @@ supplied to an implementation prior to processing instances, or may be noted within a schema document as it is processed, producing associations as shown in {{idexamples}}. +Implementations MAY provide functionality to automatically fetch schemas based +on location semantics expressed by the IRI, however such functionality SHOULD be +disabled by default to prefer offline operation. When schemas are downloaded, +for example by a generic user-agent that does not know until runtime which +schemas to download, see {{hypermedia}}. + #### Detecting a Meta-Schema Implementations MUST recognize a schema as a meta-schema if it is being examined