Skip to content

Commit 27e28e8

Browse files
committed
Update JSON Schema draft links to 2020-12 IETF pages
Signed-off-by: Mike Ralphson <mike.ralphson@gmail.com>
1 parent f6cb933 commit 27e28e8

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

versions/3.1.0.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -141,11 +141,11 @@ It is RECOMMENDED that the root OpenAPI document be named: `openapi.json` or `op
141141

142142
### <a name="dataTypes"></a>Data Types
143143

144-
Data types in the OAS are based on the types supported by the [JSON Schema Specification Draft 2019-09](https://json-schema.org/draft/2019-09/json-schema-core.html#rfc.section.4.2).
144+
Data types in the OAS are based on the types supported by the [JSON Schema Specification Draft 2020-12](https://tools.ietf.org/html/draft-bhutton-json-schema-00#section-4.2.1).
145145
Note that `integer` as a type is also supported and is defined as a JSON number without a fraction or exponent part.
146-
Models are defined using the [Schema Object](#schemaObject), which is a superset of JSON Schema Specification Draft 2019-09.
146+
Models are defined using the [Schema Object](#schemaObject), which is a superset of JSON Schema Specification Draft 2020-12.
147147

148-
<a name="dataTypeFormat"></a>As defined by the [JSON Schema Validation vocabulary](https://json-schema.org/draft/2019-09/json-schema-validation.html#rfc.section.7.3), data types can have an optional modifier property: `format`.
148+
<a name="dataTypeFormat"></a>As defined by the [JSON Schema Validation vocabulary](https://tools.ietf.org/html/draft-bhutton-json-schema-validation-00#section-7.3), data types can have an optional modifier property: `format`.
149149
OAS defines additional formats to provide fine detail for primitive data types.
150150

151151
The formats defined by the OAS are:
@@ -169,7 +169,7 @@ Unless specified otherwise, relative references are resolved using the URLs defi
169169

170170
Relative references in [`Reference Objects`](#referenceObject), [`PathItem Object`](#pathItemObject) `$ref` fields and [`Example Object`](#exampleObject) `externalValue` fields are resolved using the referring document as the Base URI.
171171

172-
Relative references in [`Schema Objects`](#schemaObject), including any that appear as `$id` values, use the nearest parent `$id` as a Base URI, as described by [JSON Schema Specification Draft 2020-12](https://tools.ietf.org/html/draft-bhutton-json-schema-00#section-8.2). If no parent schema contains an `$id`, then the Base URI is that of the referring document.
172+
Relative references in [`Schema Objects`](#schemaObject), including any that appear as `$id` values, use the nearest parent `$id` as a Base URI, as described by [JSON Schema Specification Draft 2020-12](https://tools.ietf.org/html/draft-bhutton-json-schema-00#section-8.2). If no parent schema contains an `$id`, then the Base URI is that of the referring resource.
173173

174174
### Schema
175175

@@ -2299,16 +2299,16 @@ $ref: definitions.yaml#/Pet
22992299
#### <a name="schemaObject"></a>Schema Object
23002300

23012301
The Schema Object allows the definition of input and output data types.
2302-
These types can be objects, but also primitives and arrays. This object is a superset of the [JSON Schema Specification Draft 2019-09](https://json-schema.org/specification-links.html#2019-09-formerly-known-as-draft-8).
2302+
These types can be objects, but also primitives and arrays. This object is a superset of the [JSON Schema Specification Draft 2020-12](https://tools.ietf.org/html/draft-bhutton-json-schema-00).
23032303

2304-
For more information about the properties, see [JSON Schema Core](https://json-schema.org/draft/2019-09/json-schema-core.html) and [JSON Schema Validation](https://json-schema.org/draft/2019-09/json-schema-validation.html).
2304+
For more information about the properties, see [JSON Schema Core](https://tools.ietf.org/html/draft-bhutton-json-schema-00) and [JSON Schema Validation](https://tools.ietf.org/html/draft-bhutton-json-schema-validation-00).
23052305

23062306
Unless stated otherwise, the property definitions follow those of JSON Schema and do not add any additional semantics.
23072307
Where JSON Schema indicates that behavior is defined by the application (e.g. for annotations), OAS also defers the definition of semantics to the application consuming the OpenAPI document.
23082308

23092309
##### Properties
23102310

2311-
The OpenAPI Schema Object [dialect](https://json-schema.org/draft/2019-09/json-schema-core.html#rfc.section.4.3.3) is defined as requiring the [OAS base vocabulary](#baseVocabulary), in addition to the vocabularies as specified in the JSON Schema draft 2019-09 [general purpose meta-schema](https://json-schema.org/draft/2019-09/json-schema-core.html#rfc.section.8).
2311+
The OpenAPI Schema Object [dialect](https://tools.ietf.org/html/draft-bhutton-json-schema-00#section-4.3.3) is defined as requiring the [OAS base vocabulary](#baseVocabulary), in addition to the vocabularies as specified in the JSON Schema draft 2020-12 [general purpose meta-schema](https://tools.ietf.org/html/draft-bhutton-json-schema-00#section-8).
23122312

23132313
The OpenAPI Schema Object dialect for this version of the specification is identified by the URI `https://spec.openapis.org/oas/3.1/dialect/base` (the <a name="dialectSchemaId"></a>"OAS dialect schema id").
23142314

@@ -2355,11 +2355,11 @@ The [XML Object](#xmlObject) contains additional information about the available
23552355

23562356
It is important for tooling to be able to determine which dialect or meta-schema any given resource wishes to be processed with: JSON Schema Core, JSON Schema Validation, OpenAPI Schema dialect, or some custom meta-schema.
23572357

2358-
The `$schema` keyword MAY be present in any root Schema Object, and if present MUST be used to determine which dialect should be used when processing the schema. This allows use of Schema Objects which comply with other drafts of JSON Schema than the default Draft 2019-09 support. Tooling MUST support the <a href="#dialectSchemaId">OAS dialect schema id</a>, and MAY support additional values of `$schema`.
2358+
The `$schema` keyword MAY be present in any root Schema Object, and if present MUST be used to determine which dialect should be used when processing the schema. This allows use of Schema Objects which comply with other drafts of JSON Schema than the default Draft 2020-12 support. Tooling MUST support the <a href="#dialectSchemaId">OAS dialect schema id</a>, and MAY support additional values of `$schema`.
23592359

23602360
To allow use of a different default `$schema` value for all Schema Objects contained within an OAS document, a `jsonSchemaDialect` value may be set within the <a href="#oasObject">OpenAPI Object</a>. If this default is not set, then the OAS dialact schema id MUST be used for these Schema Objects. The value of `$schema` within a Schema Object always overrides any default.
23612361

2362-
When a Schema Object is referenced from an external resource which is not an OAS document (e.g. a bare JSON Schema resource), then the value of the `$schema` keyword for schemas within that resource MUST follow [JSON Schema rules](https://json-schema.org/draft/2019-09/json-schema-core.html#rfc.section.8.1.1).
2362+
When a Schema Object is referenced from an external resource which is not an OAS document (e.g. a bare JSON Schema resource), then the value of the `$schema` keyword for schemas within that resource MUST follow [JSON Schema rules](https://tools.ietf.org/html/draft-bhutton-json-schema-00#section-8.1.1).
23632363

23642364
##### Schema Object Examples
23652365

0 commit comments

Comments
 (0)