diff --git a/jsonschema-core.xml b/jsonschema-core.xml index 28d83b60..8d45d175 100644 --- a/jsonschema-core.xml +++ b/jsonschema-core.xml @@ -5,7 +5,6 @@ - @@ -675,7 +674,7 @@
- It is RECOMMENDED that instances described by a schema/profile provide a link to + It is RECOMMENDED that instances described by a schema provide a link to a downloadable JSON Schema using the link relation "describedby", as defined by Linked Data Protocol 1.0, section 8.1. @@ -696,21 +695,23 @@ Link: ; rel="describedby"
-
+
- Instances MAY specify a "profile" as described in - The 'profile' Link Relation. - When used as a media-type parameter, HTTP servers gain the ability to perform - Content-Type Negotiation based on profile. + Media types MAY allow for a "schema" media type parameter, which gives + HTTP servers the ability to perform Content-Type Negotiation based on schema. The media-type parameter MUST be a whitespace-separated list of URIs (i.e. relative references are invalid). - The profile URI is opaque and SHOULD NOT automatically be dereferenced. - If the implementation does not understand the semantics of the provided profile, + When using the media type application/schema-instance+json, the "schema" + parameter MUST be supplied. + + + The schema URI is opaque and SHOULD NOT automatically be dereferenced. + If the implementation does not understand the semantics of the provided schema, the implementation can instead follow the "describedby" links, if any, which may - provide information on how to handle the profile. - Since "profile" doesn't necessarily point to a network location, the + provide information on how to handle the schema. + Since "schema" doesn't necessarily point to a network location, the "describedby" relation is used for linking to a downloadable schema. However, for simplicity, schema authors should make these URIs point to the same resource when possible. @@ -724,26 +725,31 @@ Link: ; rel="describedby" - Multiple profiles are whitespace separated: + Multiple schemas are whitespace separated:
- HTTP can also send the "profile" in a Link, though this may impact media-type + + This paragraph assumes that we can register a "schema" link relation. + Should we instead specify something like "tag:json-schema.org,2017:schema" + for now? + + HTTP can also send the "schema" in a Link, though this may impact media-type semantics and Content-Type negotiation if this replaces the media-type parameter entirely: @@ -751,7 +757,7 @@ Content-Type: application/json;
;rel="profile", ;rel="profile" +Link: ;rel="schema", ;rel="schema" ]]>
@@ -915,7 +921,6 @@ User-Agent: product-name/5.4.1 so-cool-json-schema/1.0.2 curl/7.43.0 &RFC5988; - &RFC6906; &RFC7049; &RFC7231; &fragid-best-practices;