From 31c0af2c914718fa4b5a7a3964f53110fe3e7bf5 Mon Sep 17 00:00:00 2001 From: Tushar Verma Date: Sat, 28 Jun 2025 19:09:19 +0530 Subject: [PATCH 1/4] feat: Updated add Go Back and Up Next buttons for specification navigation --- pages/draft-05/index.md | 6 ++ pages/draft-05/index.page.tsx | 7 ++ pages/draft-06/index.md | 6 ++ pages/draft-06/index.page.tsx | 7 ++ pages/draft-07/index.md | 9 ++- pages/draft-07/index.page.tsx | 7 ++ pages/draft/2019-09/index.md | 7 ++ pages/draft/2019-09/index.page.tsx | 7 ++ pages/draft/2020-12/index.md | 8 +- pages/draft/2020-12/index.page.tsx | 7 ++ pages/specification-links.md | 124 ++++++++++++++++------------- pages/specification.md | 61 +++++++------- 12 files changed, 164 insertions(+), 92 deletions(-) diff --git a/pages/draft-05/index.md b/pages/draft-05/index.md index 91c72c2b0..1d9c03813 100644 --- a/pages/draft-05/index.md +++ b/pages/draft-05/index.md @@ -5,6 +5,12 @@ type: docs authors: ['Austin Wright'] Metaschema: 'https://json-schema.org/draft-04/schema' Specification: 'https://json-schema.org/draft-05/draft-wright-json-schema-00.pdf' +prev: + label: Draft 06 + url: /draft-06 +next: + label: Specification Links + url: /specification-links --- ### Draft-05 Documents diff --git a/pages/draft-05/index.page.tsx b/pages/draft-05/index.page.tsx index a792cfc05..e8c83ca8c 100644 --- a/pages/draft-05/index.page.tsx +++ b/pages/draft-05/index.page.tsx @@ -7,6 +7,7 @@ import { SectionContext } from '~/context'; import DocTable from '~/components/DocTable'; import { Headline1 } from '~/components/Headlines'; import { DocsHelp } from '~/components/DocsHelp'; +import NextPrevButton from '~/components/NavigationButtons'; export async function getStaticProps() { const index = fs.readFileSync('pages/draft-05/index.md', 'utf-8'); @@ -40,6 +41,12 @@ export default function ImplementationsPages({ + ); diff --git a/pages/draft-06/index.md b/pages/draft-06/index.md index 1f27c6264..04ee54191 100644 --- a/pages/draft-06/index.md +++ b/pages/draft-06/index.md @@ -5,6 +5,12 @@ type: docs authors: ['Austin Wright', 'Henry Andrews'] Metaschema: 'https://json-schema.org/draft-06/schema' Specification: 'https://json-schema.org/draft-06/draft-wright-json-schema-01.html' +prev: + label: Draft 07 + url: /draft-07 +next: + label: Draft 05 + url: /draft-05 --- ### Draft-06 Documents diff --git a/pages/draft-06/index.page.tsx b/pages/draft-06/index.page.tsx index b328e38ae..12a760519 100644 --- a/pages/draft-06/index.page.tsx +++ b/pages/draft-06/index.page.tsx @@ -7,6 +7,7 @@ import { SectionContext } from '~/context'; import DocTable from '~/components/DocTable'; import { Headline1 } from '~/components/Headlines'; import { DocsHelp } from '~/components/DocsHelp'; +import NextPrevButton from '~/components/NavigationButtons'; export async function getStaticProps() { const index = fs.readFileSync('pages/draft-06/index.md', 'utf-8'); @@ -37,6 +38,12 @@ export default function ImplementationsPages({ {frontmatter.title} + ); diff --git a/pages/draft-07/index.md b/pages/draft-07/index.md index aafe23e1e..22626c8cd 100644 --- a/pages/draft-07/index.md +++ b/pages/draft-07/index.md @@ -5,6 +5,12 @@ type: docs authors: ['Austin Wright', 'Henry Andrews'] Metaschema: 'https://json-schema.org/draft-07/schema' Specification: 'https://json-schema.org/draft-07/draft-handrews-json-schema-01.html' +prev: + label: Draft 2019-09 + url: /draft/2019-09 +next: + label: Draft 06 + url: /draft-06 --- ### Introduction @@ -37,5 +43,4 @@ _These were updated without changing functionality or meta-schemas due to a few - [JSON Schema Release Notes](../draft-07/json-schema-release-notes) - [JSON Hyper-Schema Release Notes](../draft-07/json-hyper-schema-release-notes) - -Note that the draft-handrews-\*-00 versions of JSON Hyper-Schema and Relative JSON Pointer had confusing bugs, and have been replaced by draft-handrews-\*-01 versions. The -00 versions may be found in the [obsolete](obsolete) directory. \ No newline at end of file +Note that the draft-handrews-\*-00 versions of JSON Hyper-Schema and Relative JSON Pointer had confusing bugs, and have been replaced by draft-handrews-\*-01 versions. The -00 versions may be found in the [obsolete](obsolete) directory. diff --git a/pages/draft-07/index.page.tsx b/pages/draft-07/index.page.tsx index c057e259c..a639ca275 100644 --- a/pages/draft-07/index.page.tsx +++ b/pages/draft-07/index.page.tsx @@ -7,6 +7,7 @@ import { SectionContext } from '~/context'; import DocTable from '~/components/DocTable'; import { Headline1 } from '~/components/Headlines'; import { DocsHelp } from '~/components/DocsHelp'; +import NextPrevButton from '~/components/NavigationButtons'; export async function getStaticProps() { const index = fs.readFileSync('pages/draft-07/index.md', 'utf-8'); @@ -37,6 +38,12 @@ export default function ImplementationsPages({ {frontmatter.title} + ); diff --git a/pages/draft/2019-09/index.md b/pages/draft/2019-09/index.md index 6782ce169..9af5b390e 100644 --- a/pages/draft/2019-09/index.md +++ b/pages/draft/2019-09/index.md @@ -9,6 +9,12 @@ authors: - Greg Dennis Published: 17 September 2019 Metaschema: https://json-schema.org/draft/2019-09/schema +prev: + label: Draft 2020-12 + url: /draft/2020-12 +next: + label: Draft 07 + url: /draft-07 --- ### Introduction @@ -43,6 +49,7 @@ One significant update is the shift to HTTPS for all meta-schema URIs. While the - [JSON Schema recommended output schema](https://json-schema.org/draft/2019-09/output/schema) - [JSON Hyper-Schema recommended output schema](https://json-schema.org/draft/2019-09/output/hyper-schema) - Output examples + - [JSON Schema verbose output example](https://json-schema.org/draft/2019-09/output/verbose-example) ### Release Notes diff --git a/pages/draft/2019-09/index.page.tsx b/pages/draft/2019-09/index.page.tsx index c8e7f3e2d..51898b28e 100644 --- a/pages/draft/2019-09/index.page.tsx +++ b/pages/draft/2019-09/index.page.tsx @@ -7,6 +7,7 @@ import { SectionContext } from '~/context'; import DocTable from '~/components/DocTable'; import { Headline1 } from '~/components/Headlines'; import { DocsHelp } from '~/components/DocsHelp'; +import NextPrevButton from '~/components/NavigationButtons'; export async function getStaticProps() { const index = fs.readFileSync('pages/draft/2019-09/index.md', 'utf-8'); @@ -36,6 +37,12 @@ export default function ImplementationsPages({ {frontmatter.title} + ); diff --git a/pages/draft/2020-12/index.md b/pages/draft/2020-12/index.md index a37b3c779..e1a0f30fe 100644 --- a/pages/draft/2020-12/index.md +++ b/pages/draft/2020-12/index.md @@ -5,6 +5,12 @@ type: docs authors: ['Austin Wright', 'Henry Andrews', 'Ben Hutton', 'Greg Dennis'] Metaschema: 'https://json-schema.org/draft/2020-12/schema' Specification: 'https://json-schema.org/draft/2020-12/json-schema-core.html' +prev: + label: Specification + url: /specification +next: + label: Draft 2019-09 + url: /draft/2019-09 --- ### Introduction @@ -55,4 +61,4 @@ _These were updated without changing functionality or meta-schemas due to a few ### Release Notes -- [Draft 2020-12 Release Notes](../draft/2020-12/release-notes) \ No newline at end of file +- [Draft 2020-12 Release Notes](../draft/2020-12/release-notes) diff --git a/pages/draft/2020-12/index.page.tsx b/pages/draft/2020-12/index.page.tsx index 30e21a5bd..b5162ef02 100644 --- a/pages/draft/2020-12/index.page.tsx +++ b/pages/draft/2020-12/index.page.tsx @@ -7,6 +7,7 @@ import { SectionContext } from '~/context'; import DocTable from '~/components/DocTable'; import { Headline1 } from '~/components/Headlines'; import { DocsHelp } from '~/components/DocsHelp'; +import NextPrevButton from '~/components/NavigationButtons'; export async function getStaticProps() { const index = fs.readFileSync('pages/draft/2020-12/index.md', 'utf-8'); @@ -36,6 +37,12 @@ export default function ImplementationsPages({ {frontmatter.title} + ); diff --git a/pages/specification-links.md b/pages/specification-links.md index 8fe5d26cb..a0991cbb6 100644 --- a/pages/specification-links.md +++ b/pages/specification-links.md @@ -1,25 +1,25 @@ --- title: Specification Links section: docs -prev: - label: Specification - url: /specification -next: +prev: + label: Draft 05 + url: /draft-05 +next: label: Migration url: /specification/migration --- -You can find the latest released draft on the [Specification](../../specification) page. The complex numbering and naming system for drafts and meta-schemas is fully explained here as well. +You can find the latest released draft on the [Specification](../../specification) page. The complex numbering and naming system for drafts and meta-schemas is fully explained here as well. ## Understanding draft names and numbers -IETF Internet-Drafts (I-Ds) are named with the editor's name and a sequential number which resets with each new editor. Meta-schemas were more-or-less numbered sequentially up through Draft 7, but the increasingly confusing mismatch between "draft-nn" versions on the meta-schemas and the IETF documents has made that unsustainable. The practice of fixing meta-schema bugs in place to preserve the sequential numbering has also been controversial. +IETF Internet-Drafts (I-Ds) are named with the editor's name and a sequential number which resets with each new editor. Meta-schemas were more-or-less numbered sequentially up through Draft 7, but the increasingly confusing mismatch between "draft-nn" versions on the meta-schemas and the IETF documents has made that unsustainable. The practice of fixing meta-schema bugs in place to preserve the sequential numbering has also been controversial. -Starting with what had been called "Draft 8" while it was being written, meta-schemas are identified by the year and month of publication. This allows for bug fixes to be published with new URIs (as long as it is not more than once a month). +Starting with what had been called "Draft 8" while it was being written, meta-schemas are identified by the year and month of publication. This allows for bug fixes to be published with new URIs (as long as it is not more than once a month). ### Table of All Versions of Everything @@ -361,14 +361,14 @@ For links to the somewhat more readably formatted versions on this web site, and ### 2020-12 - Specifications - - Core: [draft-bhutton-json-schema-01](../../draft/2020-12/draft-bhutton-json-schema-01.html) ([changes](../../draft/2020-12/draft-bhutton-json-schema-01.html#appendix-G)) - - Validation: [draft-bhutton-json-schema-validation-01](../../draft/2020-12/draft-bhutton-json-schema-validation-01.html) ([changes](/draft/2020-12/draft-bhutton-json-schema-validation-01.html#appendix-C)) - - Relative JSON Pointer: [draft-bhutton-relative-json-pointer-00](https://tools.ietf.org/html/draft-bhutton-relative-json-pointer-00) ([changes](https://tools.ietf.org/html/draft-bhutton-relative-json-pointer-00#appendix-A)) - - Published: 16-June-2022 + - Core: [draft-bhutton-json-schema-01](../../draft/2020-12/draft-bhutton-json-schema-01.html) ([changes](../../draft/2020-12/draft-bhutton-json-schema-01.html#appendix-G)) + - Validation: [draft-bhutton-json-schema-validation-01](../../draft/2020-12/draft-bhutton-json-schema-validation-01.html) ([changes](/draft/2020-12/draft-bhutton-json-schema-validation-01.html#appendix-C)) + - Relative JSON Pointer: [draft-bhutton-relative-json-pointer-00](https://tools.ietf.org/html/draft-bhutton-relative-json-pointer-00) ([changes](https://tools.ietf.org/html/draft-bhutton-relative-json-pointer-00#appendix-A)) + - Published: 16-June-2022 - General use meta-schemas - - [JSON Schema meta-schema](../../draft/2020-12/schema) - - [JSON Hyper-Schema meta-schema](../../draft/2020-12/hyper-schema) (2019-09 Hyper-Schema with 2020-12 Validation) - - [JSON Hyper-Schema Link Description Object meta-schema](../../draft/2020-12/links) + - [JSON Schema meta-schema](../../draft/2020-12/schema) + - [JSON Hyper-Schema meta-schema](../../draft/2020-12/hyper-schema) (2019-09 Hyper-Schema with 2020-12 Validation) + - [JSON Hyper-Schema Link Description Object meta-schema](../../draft/2020-12/links) - Individual vocabulary meta-schemas - [Core Vocabulary meta-schema](../../draft/2020-12/meta/core) - [Applicator Vocabulary meta-schema](../../draft/2020-12/meta/applicator) @@ -379,9 +379,9 @@ For links to the somewhat more readably formatted versions on this web site, and - [Content Vocabulary meta-schema](../../draft/2020-12/meta/content) - [Meta-Data Vocabulary meta-schema](../../draft/2020-12/meta/meta-data) - Output schemas - - [JSON Schema recommended output schema](../../draft/2020-12/output/schema) + - [JSON Schema recommended output schema](../../draft/2020-12/output/schema) - Output examples - - [JSON Schema verbose output example](../../draft/2020-12/output/verbose-example) + - [JSON Schema verbose output example](../../draft/2020-12/output/verbose-example) #### Obsolete Draft 2020-12 Documents @@ -394,31 +394,31 @@ _These were updated without changing functionality or meta-schemas due to a few ### Draft 2019-09 (formerly known as Draft 8) -_**NOTE:** All meta-schema URIs now use `https://`. While currently also available over plain HTTP due to the limitations of GitHub pages and the need to keep prior drafts available over HTTP, only the HTTPS URIs should be used._ +_**NOTE:** All meta-schema URIs now use `https://`. While currently also available over plain HTTP due to the limitations of GitHub pages and the need to keep prior drafts available over HTTP, only the HTTPS URIs should be used._ - Specifications - - Core: [draft-handrews-json-schema-02](../../draft/2019-09/draft-handrews-json-schema-02.html) ([changes](draft/2019-09/draft-handrews-json-schema-02.html#rfc.appendix.G)) - - Validation: [draft-handrews-json-schema-validation-02](../../draft/2019-09/draft-handrews-json-schema-validation-02.html) ([changes](/draft/2019-09/draft-handrews-json-schema-validation-02.html#rfc.appendix.C)) - - Hyper-Schema: [draft-handrews-json-schema-hyperschema-02](../../draft/2019-09/draft-handrews-json-schema-hyperschema-02.html) ([changes](/draft/2019-09/draft-handrews-json-schema-hyperschema-02.html#rfc.appendix.B)) - - Relative JSON Pointer: [draft-handrews-relative-json-pointer-02](https://tools.ietf.org/html/draft-handrews-relative-json-pointer-02) ([changes](https://tools.ietf.org/html/draft-handrews-relative-json-pointer-02#appendix-A)) - - Published: 17-September-2019 + - Core: [draft-handrews-json-schema-02](../../draft/2019-09/draft-handrews-json-schema-02.html) ([changes](draft/2019-09/draft-handrews-json-schema-02.html#rfc.appendix.G)) + - Validation: [draft-handrews-json-schema-validation-02](../../draft/2019-09/draft-handrews-json-schema-validation-02.html) ([changes](/draft/2019-09/draft-handrews-json-schema-validation-02.html#rfc.appendix.C)) + - Hyper-Schema: [draft-handrews-json-schema-hyperschema-02](../../draft/2019-09/draft-handrews-json-schema-hyperschema-02.html) ([changes](/draft/2019-09/draft-handrews-json-schema-hyperschema-02.html#rfc.appendix.B)) + - Relative JSON Pointer: [draft-handrews-relative-json-pointer-02](https://tools.ietf.org/html/draft-handrews-relative-json-pointer-02) ([changes](https://tools.ietf.org/html/draft-handrews-relative-json-pointer-02#appendix-A)) + - Published: 17-September-2019 - General use meta-schemas - - [JSON Schema meta-schema](../../draft/2019-09/schema) - - [JSON Hyper-Schema meta-schema](../../draft/2019-09/hyper-schema) - - [JSON Hyper-Schema Link Description Object meta-schema](../../draft/2019-09/links) + - [JSON Schema meta-schema](../../draft/2019-09/schema) + - [JSON Hyper-Schema meta-schema](../../draft/2019-09/hyper-schema) + - [JSON Hyper-Schema Link Description Object meta-schema](../../draft/2019-09/links) - Individual vocabulary meta-schemas - - [Core Vocabulary meta-schema](../../draft/2019-09/meta/core) - - [Applicator Vocabulary meta-schema](../../draft/2019-09/meta/applicator) - - [Validation Vocabulary meta-schema](../../draft/2019-09/meta/validation) - - [Format Vocabulary meta-schema](../../draft/2019-09/meta/format) - - [Content Vocabulary meta-schema](../../draft/2019-09/meta/content) - - [Meta-Data Vocabulary meta-schema](../../draft/2019-09/meta/meta-data) - - [Hyper-Schema Vocabulary meta-schema](../../draft/2019-09/meta/hyper-schema) + - [Core Vocabulary meta-schema](../../draft/2019-09/meta/core) + - [Applicator Vocabulary meta-schema](../../draft/2019-09/meta/applicator) + - [Validation Vocabulary meta-schema](../../draft/2019-09/meta/validation) + - [Format Vocabulary meta-schema](../../draft/2019-09/meta/format) + - [Content Vocabulary meta-schema](../../draft/2019-09/meta/content) + - [Meta-Data Vocabulary meta-schema](../../draft/2019-09/meta/meta-data) + - [Hyper-Schema Vocabulary meta-schema](../../draft/2019-09/meta/hyper-schema) - Output schemas - - [JSON Schema recommended output schema](../../draft/2019-09/output/schema) - - [JSON Hyper-Schema recommended output schema](../../draft/2019-09/output/hyper-schema) + - [JSON Schema recommended output schema](../../draft/2019-09/output/schema) + - [JSON Hyper-Schema recommended output schema](../../draft/2019-09/output/hyper-schema) - Output examples - - [JSON Schema verbose output example](../../draft/2019-09/output/verbose-example) + - [JSON Schema verbose output example](../../draft/2019-09/output/verbose-example) ### Draft 7 @@ -452,61 +452,71 @@ _These were updated without changing functionality or meta-schemas due to a few ### Draft 5 - - Core: [draft-wright-json-schema-00](../../draft-05/draft-wright-json-schema-00.pdf) ([changes](../../draft-05/draft-wright-json-schema-00.pdf#appendix-B)) - - Validation: [draft-wright-json-schema-validation-00](../../draft-05/draft-wright-json-schema-validation-00.pdf) ([changes](../../draft-05/draft-wright-json-schema-validation-00.pdf#appendix-B)) - - Hyper-Schema: [draft-wright-json-schema-hyperschema-00](../../draft-05/draft-wright-json-schema-hyperschema-00.pdf) ([changes](../../draft-05/draft-wright-json-schema-hyperschema-00.pdf#appendix-B)) - - Draft 5 was primarily a cleanup of Draft 4 and continued to use the Draft 4 meta-schemas. - - Published: 13-October-2016 +- Core: [draft-wright-json-schema-00](../../draft-05/draft-wright-json-schema-00.pdf) ([changes](../../draft-05/draft-wright-json-schema-00.pdf#appendix-B)) +- Validation: [draft-wright-json-schema-validation-00](../../draft-05/draft-wright-json-schema-validation-00.pdf) ([changes](../../draft-05/draft-wright-json-schema-validation-00.pdf#appendix-B)) +- Hyper-Schema: [draft-wright-json-schema-hyperschema-00](../../draft-05/draft-wright-json-schema-hyperschema-00.pdf) ([changes](../../draft-05/draft-wright-json-schema-hyperschema-00.pdf#appendix-B)) +- Draft 5 was primarily a cleanup of Draft 4 and continued to use the Draft 4 meta-schemas. +- Published: 13-October-2016 ### Draft 4 - - Core: [draft-zyp-json-schema-04](../../draft-04/draft-zyp-json-schema-04.html) ([changes](../../draft-04/draft-zyp-json-schema-04.html#rfc.appendix.A)) - - Validation: [draft-fge-json-schema-validation-00](../../draft-04/draft-fge-json-schema-validation-00.html) ([changes](../../draft-04/draft-fge-json-schema-validation-00.html#rfc.appendix.A)) - - Hyper-Schema: [draft-luff-json-hyper-schema-00](../../draft-04/draft-luff-json-hyper-schema-00.html) ([changes](../../draft-04/draft-luff-json-hyper-schema-00.html#rfc.appendix.A)) - - JSON Reference: [draft-pbryan-zyp-json-ref-03](https://tools.ietf.org/html/draft-pbryan-zyp-json-ref-03) ([changes](https://tools.ietf.org/html/draft-pbryan-zyp-json-ref-03#appendix-A)) - * [JSON Schema meta-schema](../../draft-04/schema) - * [JSON Hyper-Schema meta-schema](../../draft-04/hyper-schema) - - Published: 31-January-2013 +- Core: [draft-zyp-json-schema-04](../../draft-04/draft-zyp-json-schema-04.html) ([changes](../../draft-04/draft-zyp-json-schema-04.html#rfc.appendix.A)) +- Validation: [draft-fge-json-schema-validation-00](../../draft-04/draft-fge-json-schema-validation-00.html) ([changes](../../draft-04/draft-fge-json-schema-validation-00.html#rfc.appendix.A)) +- Hyper-Schema: [draft-luff-json-hyper-schema-00](../../draft-04/draft-luff-json-hyper-schema-00.html) ([changes](../../draft-04/draft-luff-json-hyper-schema-00.html#rfc.appendix.A)) +- JSON Reference: [draft-pbryan-zyp-json-ref-03](https://tools.ietf.org/html/draft-pbryan-zyp-json-ref-03) ([changes](https://tools.ietf.org/html/draft-pbryan-zyp-json-ref-03#appendix-A)) + +* [JSON Schema meta-schema](../../draft-04/schema) +* [JSON Hyper-Schema meta-schema](../../draft-04/hyper-schema) + +- Published: 31-January-2013 ### Draft 3 - - Complete Specification: [draft-zyp-json-schema-03](../../draft-03/draft-zyp-json-schema-03.pdf) ([changes](../../draft-03/draft-zyp-json-schema-03.pdf#anchor54)) +- Complete Specification: [draft-zyp-json-schema-03](../../draft-03/draft-zyp-json-schema-03.pdf) ([changes](../../draft-03/draft-zyp-json-schema-03.pdf#anchor54)) + * [JSON Schema meta-schema](../../draft-03/schema) * [JSON Hyper-Schema meta-schema](../../draft-03/hyper-schema) + - Published: 22-November-2010 ### Draft 2 - - Complete Specification: [draft-zyp-json-schema-02](../../draft-02/draft-zyp-json-schema-02.txt) (changes: Appendix-A) +- Complete Specification: [draft-zyp-json-schema-02](../../draft-02/draft-zyp-json-schema-02.txt) (changes: Appendix-A) + * [JSON Schema meta-schema](../../draft-02/schema) * [JSON Hyper-Schema meta-schema](../../draft-02/hyper-schema) + - Published: 23-March-2010 ### Draft 1 - - Complete Specification: [draft-zyp-json-schema-01](../../draft-01/draft-zyp-json-schema-01.html) ([changes](../../draft-01/draft-zyp-json-schema-01.html#anchor54)) +- Complete Specification: [draft-zyp-json-schema-01](../../draft-01/draft-zyp-json-schema-01.html) ([changes](../../draft-01/draft-zyp-json-schema-01.html#anchor54)) + * [JSON Schema meta-schema](../../draft-01/schema) * [JSON Hyper-Schema meta-schema](../../draft-01/hyper-schema) + - Published: 05-December-2009 ### Draft 0 -_Note that Draft 0 erroneously claimed to update another RFC, and was replaced the same day by Draft 1. It is included here for completeness only._ +_Note that Draft 0 erroneously claimed to update another RFC, and was replaced the same day by Draft 1. It is included here for completeness only._ + +- Specification: [draft-zyp-json-schema-00](../../draft-00/draft-zyp-json-schema-00.txt) (changes: Appendix-A)) - - Specification: [draft-zyp-json-schema-00](../../draft-00/draft-zyp-json-schema-00.txt) (changes: Appendix-A)) * [JSON Schema meta-schema](../../draft-00/schema) * [JSON Hyper-Schema meta-schema](../../draft-00/hyper-schema) + - Published: 05-December-2009 ## Latest Snapshot (work in progress) -The next unreleased draft is a work in progress. You can [give feedback and get involved on GitHub](https://github.com/json-schema-org/json-schema-spec). +The next unreleased draft is a work in progress. You can [give feedback and get involved on GitHub](https://github.com/json-schema-org/json-schema-spec). -The specification links here link to the raw sources. We do not provide rendered [work-in-progress](work-in-progress) drafts except near the very end of a publication cycle, during the final review period. +The specification links here link to the raw sources. We do not provide rendered [work-in-progress](work-in-progress) drafts except near the very end of a publication cycle, during the final review period. - - Core: [jsonschema-core.md](https://github.com/json-schema-org/json-schema-spec/blob/main/specs/jsonschema-core.md) - - Validation: [jsonschema-validation.md](https://github.com/json-schema-org/json-schema-spec/blob/main/specs/jsonschema-validation.md) - - Hyper-Schema: [jsonschema-hyperschema.xml](https://github.com/json-schema-org/json-hyperschema-spec/blob/main/jsonschema-hyperschema.xml) +- Core: [jsonschema-core.md](https://github.com/json-schema-org/json-schema-spec/blob/main/specs/jsonschema-core.md) +- Validation: [jsonschema-validation.md](https://github.com/json-schema-org/json-schema-spec/blob/main/specs/jsonschema-validation.md) +- Hyper-Schema: [jsonschema-hyperschema.xml](https://github.com/json-schema-org/json-hyperschema-spec/blob/main/jsonschema-hyperschema.xml) - Relative JSON Pointer: [relative-json-pointer.xml](https://github.com/json-schema-org/json-schema-spec/blob/main/specs/relative-json-pointer.xml) - [JSON Schema meta-schema](https://github.com/json-schema-org/json-schema-spec/blob/main/specs/schema.json) - [JSON Hyper-Schema meta-schema](https://github.com/json-schema-org/json-hyperschema-spec/blob/main/hyper-schema.json) diff --git a/pages/specification.md b/pages/specification.md index e5f18061b..40a8a8fd5 100644 --- a/pages/specification.md +++ b/pages/specification.md @@ -1,19 +1,18 @@ --- title: Specification [#section] section: docs -prev: - label: "Media: string-encoding non-JSON data" +prev: + label: 'Media: string-encoding non-JSON data' url: /understanding-json-schema/reference/non_json_data -next: - label: Specification Links - url: /specification-links +next: + label: Draft 2020-12 + url: /draft/2020-12 --- -The current version is *2020-12*! +The current version is _2020-12_! The previous version was 2019-09. -Specification documents ------------------------ +## Specification documents See also the release notes / change log (Work in progress). @@ -21,27 +20,26 @@ The specification is split into two parts, Core and Validation. We also publish the Relative JSON Pointers spec although it's not currently used by Core or Validation in any significant way. -| | | -|:----|:----| -| [JSON Schema Core](../../draft/2020-12/json-schema-core.html) | defines the basic foundation of JSON Schema | -| [JSON Schema Validation](../../draft/2020-12/json-schema-validation.html) | defines the validation keywords of JSON Schema | -| [Relative JSON Pointers](https://tools.ietf.org/html/draft-bhutton-relative-json-pointer-00) | extends the JSON Pointer syntax for relative pointers | +| | | +| :------------------------------------------------------------------------------------------- | :---------------------------------------------------- | +| [JSON Schema Core](../../draft/2020-12/json-schema-core.html) | defines the basic foundation of JSON Schema | +| [JSON Schema Validation](../../draft/2020-12/json-schema-validation.html) | defines the validation keywords of JSON Schema | +| [Relative JSON Pointers](https://tools.ietf.org/html/draft-bhutton-relative-json-pointer-00) | extends the JSON Pointer syntax for relative pointers | -Meta-schemas ------------- +## Meta-schemas The meta-schemas are schemas against which other schemas can be validated. It is self-descriptive: the JSON Schema meta-schema validates itself. -The latest meta-schema is **2020-12**. For an explanation of the change to date-based identifiers, see the [Specification Links](../specification-links) page. +The latest meta-schema is **2020-12**. For an explanation of the change to date-based identifiers, see the [Specification Links](../specification-links) page. -_If you are accessing these JSON document links **from a web browser**, you will need to **save the file** then open it as a JSON document. This is due to limitations with GitHub Pages._ +_If you are accessing these JSON document links **from a web browser**, you will need to **save the file** then open it as a JSON document. This is due to limitations with GitHub Pages._ ## General-purpose meta-schema Please note, additional vocabulary specific schema files are needed to fully construct and use the Core/Validation Dialect meta-schema. -| | | -|:---------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------| +| | | +| :------------------------------------------------------------------- | :----------------------------------------------------------------------------- | | [Core/Validation Dialect meta-schema](../../draft/2020-12/schema) | Used for schemas written for pure validation. | | [Hyper-Schema Dialect meta-schema](../../draft/2020-12/hyper-schema) | Used for schemas written for validation (2020-12) and hyper-linking (2019-09). | | [Recommended Output meta-schema](../../draft/2020-12/output/schema) | Recommended output structure of the application process. | @@ -60,26 +58,25 @@ These are relevant primarily to people who want to write their own meta-schemas - [Meta-Data Vocabulary meta-schema](../../draft/2020-12/meta/meta-data) ## Output schemas and examples + - [JSON Schema recommended output schema](../../draft/2020-12/output/schema) - [JSON Schema verbose output example](../../draft/2020-12/output/verbose-example) -Migrating from older drafts -------------- +## Migrating from older drafts The release notes discuss the changes impacting users and implementers: - JSON Schema Core and Validation - - [Draft 2019-09 to Draft 2020-12](../../draft/2020-12/release-notes) - - [Draft-07 to Draft 2019-09](../../draft/2019-09/release-notes) - - [Draft-06 to Draft-07](../../draft-07/json-schema-release-notes) - - [Draft-04 to Draft-06](../../draft-06/json-schema-release-notes) + - [Draft 2019-09 to Draft 2020-12](../../draft/2020-12/release-notes) + - [Draft-07 to Draft 2019-09](../../draft/2019-09/release-notes) + - [Draft-06 to Draft-07](../../draft-07/json-schema-release-notes) + - [Draft-04 to Draft-06](../../draft-06/json-schema-release-notes) - JSON Hyper-Schema - - There was no JSON Hyper-Schema draft for 2020-12 releases. - - [Draft-07 to 2019-09](../../draft/2019-09/release-notes#hyper-schema-vocabulary) - - [Draft-04 to Draft-07](../../draft-07/json-hyper-schema-release-notes) - - [Draft-04 to Draft-06](../../draft-06/json-hyper-schema-release-notes) + - There was no JSON Hyper-Schema draft for 2020-12 releases. + - [Draft-07 to 2019-09](../../draft/2019-09/release-notes#hyper-schema-vocabulary) + - [Draft-04 to Draft-07](../../draft-07/json-hyper-schema-release-notes) + - [Draft-04 to Draft-06](../../draft-06/json-hyper-schema-release-notes) -Older drafts ------------- +## Older drafts -Please see [Specification Links](../../specification-links) for older drafts and the latest unreleased version of the specification. \ No newline at end of file +Please see [Specification Links](../../specification-links) for older drafts and the latest unreleased version of the specification. From a8c058d476409897939517012504ca4a010261e8 Mon Sep 17 00:00:00 2001 From: Tushar Verma Date: Sat, 28 Jun 2025 22:08:48 +0530 Subject: [PATCH 2/4] revert unintended formatting changes --- pages/specification-links.md | 118 ++++++++++++++++------------------- pages/specification.md | 55 ++++++++-------- 2 files changed, 83 insertions(+), 90 deletions(-) diff --git a/pages/specification-links.md b/pages/specification-links.md index a0991cbb6..d6ececa5b 100644 --- a/pages/specification-links.md +++ b/pages/specification-links.md @@ -4,22 +4,22 @@ section: docs prev: label: Draft 05 url: /draft-05 -next: +next: label: Migration url: /specification/migration --- -You can find the latest released draft on the [Specification](../../specification) page. The complex numbering and naming system for drafts and meta-schemas is fully explained here as well. +You can find the latest released draft on the [Specification](../../specification) page. The complex numbering and naming system for drafts and meta-schemas is fully explained here as well. ## Understanding draft names and numbers -IETF Internet-Drafts (I-Ds) are named with the editor's name and a sequential number which resets with each new editor. Meta-schemas were more-or-less numbered sequentially up through Draft 7, but the increasingly confusing mismatch between "draft-nn" versions on the meta-schemas and the IETF documents has made that unsustainable. The practice of fixing meta-schema bugs in place to preserve the sequential numbering has also been controversial. +IETF Internet-Drafts (I-Ds) are named with the editor's name and a sequential number which resets with each new editor. Meta-schemas were more-or-less numbered sequentially up through Draft 7, but the increasingly confusing mismatch between "draft-nn" versions on the meta-schemas and the IETF documents has made that unsustainable. The practice of fixing meta-schema bugs in place to preserve the sequential numbering has also been controversial. -Starting with what had been called "Draft 8" while it was being written, meta-schemas are identified by the year and month of publication. This allows for bug fixes to be published with new URIs (as long as it is not more than once a month). +Starting with what had been called "Draft 8" while it was being written, meta-schemas are identified by the year and month of publication. This allows for bug fixes to be published with new URIs (as long as it is not more than once a month). ### Table of All Versions of Everything @@ -361,14 +361,14 @@ For links to the somewhat more readably formatted versions on this web site, and ### 2020-12 - Specifications - - Core: [draft-bhutton-json-schema-01](../../draft/2020-12/draft-bhutton-json-schema-01.html) ([changes](../../draft/2020-12/draft-bhutton-json-schema-01.html#appendix-G)) - - Validation: [draft-bhutton-json-schema-validation-01](../../draft/2020-12/draft-bhutton-json-schema-validation-01.html) ([changes](/draft/2020-12/draft-bhutton-json-schema-validation-01.html#appendix-C)) - - Relative JSON Pointer: [draft-bhutton-relative-json-pointer-00](https://tools.ietf.org/html/draft-bhutton-relative-json-pointer-00) ([changes](https://tools.ietf.org/html/draft-bhutton-relative-json-pointer-00#appendix-A)) - - Published: 16-June-2022 + - Core: [draft-bhutton-json-schema-01](../../draft/2020-12/draft-bhutton-json-schema-01.html) ([changes](../../draft/2020-12/draft-bhutton-json-schema-01.html#appendix-G)) + - Validation: [draft-bhutton-json-schema-validation-01](../../draft/2020-12/draft-bhutton-json-schema-validation-01.html) ([changes](/draft/2020-12/draft-bhutton-json-schema-validation-01.html#appendix-C)) + - Relative JSON Pointer: [draft-bhutton-relative-json-pointer-00](https://tools.ietf.org/html/draft-bhutton-relative-json-pointer-00) ([changes](https://tools.ietf.org/html/draft-bhutton-relative-json-pointer-00#appendix-A)) + - Published: 16-June-2022 - General use meta-schemas - - [JSON Schema meta-schema](../../draft/2020-12/schema) - - [JSON Hyper-Schema meta-schema](../../draft/2020-12/hyper-schema) (2019-09 Hyper-Schema with 2020-12 Validation) - - [JSON Hyper-Schema Link Description Object meta-schema](../../draft/2020-12/links) + - [JSON Schema meta-schema](../../draft/2020-12/schema) + - [JSON Hyper-Schema meta-schema](../../draft/2020-12/hyper-schema) (2019-09 Hyper-Schema with 2020-12 Validation) + - [JSON Hyper-Schema Link Description Object meta-schema](../../draft/2020-12/links) - Individual vocabulary meta-schemas - [Core Vocabulary meta-schema](../../draft/2020-12/meta/core) - [Applicator Vocabulary meta-schema](../../draft/2020-12/meta/applicator) @@ -379,9 +379,9 @@ For links to the somewhat more readably formatted versions on this web site, and - [Content Vocabulary meta-schema](../../draft/2020-12/meta/content) - [Meta-Data Vocabulary meta-schema](../../draft/2020-12/meta/meta-data) - Output schemas - - [JSON Schema recommended output schema](../../draft/2020-12/output/schema) + - [JSON Schema recommended output schema](../../draft/2020-12/output/schema) - Output examples - - [JSON Schema verbose output example](../../draft/2020-12/output/verbose-example) + - [JSON Schema verbose output example](../../draft/2020-12/output/verbose-example) #### Obsolete Draft 2020-12 Documents @@ -394,31 +394,31 @@ _These were updated without changing functionality or meta-schemas due to a few ### Draft 2019-09 (formerly known as Draft 8) -_**NOTE:** All meta-schema URIs now use `https://`. While currently also available over plain HTTP due to the limitations of GitHub pages and the need to keep prior drafts available over HTTP, only the HTTPS URIs should be used._ +_**NOTE:** All meta-schema URIs now use `https://`. While currently also available over plain HTTP due to the limitations of GitHub pages and the need to keep prior drafts available over HTTP, only the HTTPS URIs should be used._ - Specifications - - Core: [draft-handrews-json-schema-02](../../draft/2019-09/draft-handrews-json-schema-02.html) ([changes](draft/2019-09/draft-handrews-json-schema-02.html#rfc.appendix.G)) - - Validation: [draft-handrews-json-schema-validation-02](../../draft/2019-09/draft-handrews-json-schema-validation-02.html) ([changes](/draft/2019-09/draft-handrews-json-schema-validation-02.html#rfc.appendix.C)) - - Hyper-Schema: [draft-handrews-json-schema-hyperschema-02](../../draft/2019-09/draft-handrews-json-schema-hyperschema-02.html) ([changes](/draft/2019-09/draft-handrews-json-schema-hyperschema-02.html#rfc.appendix.B)) - - Relative JSON Pointer: [draft-handrews-relative-json-pointer-02](https://tools.ietf.org/html/draft-handrews-relative-json-pointer-02) ([changes](https://tools.ietf.org/html/draft-handrews-relative-json-pointer-02#appendix-A)) - - Published: 17-September-2019 + - Core: [draft-handrews-json-schema-02](../../draft/2019-09/draft-handrews-json-schema-02.html) ([changes](draft/2019-09/draft-handrews-json-schema-02.html#rfc.appendix.G)) + - Validation: [draft-handrews-json-schema-validation-02](../../draft/2019-09/draft-handrews-json-schema-validation-02.html) ([changes](/draft/2019-09/draft-handrews-json-schema-validation-02.html#rfc.appendix.C)) + - Hyper-Schema: [draft-handrews-json-schema-hyperschema-02](../../draft/2019-09/draft-handrews-json-schema-hyperschema-02.html) ([changes](/draft/2019-09/draft-handrews-json-schema-hyperschema-02.html#rfc.appendix.B)) + - Relative JSON Pointer: [draft-handrews-relative-json-pointer-02](https://tools.ietf.org/html/draft-handrews-relative-json-pointer-02) ([changes](https://tools.ietf.org/html/draft-handrews-relative-json-pointer-02#appendix-A)) + - Published: 17-September-2019 - General use meta-schemas - - [JSON Schema meta-schema](../../draft/2019-09/schema) - - [JSON Hyper-Schema meta-schema](../../draft/2019-09/hyper-schema) - - [JSON Hyper-Schema Link Description Object meta-schema](../../draft/2019-09/links) + - [JSON Schema meta-schema](../../draft/2019-09/schema) + - [JSON Hyper-Schema meta-schema](../../draft/2019-09/hyper-schema) + - [JSON Hyper-Schema Link Description Object meta-schema](../../draft/2019-09/links) - Individual vocabulary meta-schemas - - [Core Vocabulary meta-schema](../../draft/2019-09/meta/core) - - [Applicator Vocabulary meta-schema](../../draft/2019-09/meta/applicator) - - [Validation Vocabulary meta-schema](../../draft/2019-09/meta/validation) - - [Format Vocabulary meta-schema](../../draft/2019-09/meta/format) - - [Content Vocabulary meta-schema](../../draft/2019-09/meta/content) - - [Meta-Data Vocabulary meta-schema](../../draft/2019-09/meta/meta-data) - - [Hyper-Schema Vocabulary meta-schema](../../draft/2019-09/meta/hyper-schema) + - [Core Vocabulary meta-schema](../../draft/2019-09/meta/core) + - [Applicator Vocabulary meta-schema](../../draft/2019-09/meta/applicator) + - [Validation Vocabulary meta-schema](../../draft/2019-09/meta/validation) + - [Format Vocabulary meta-schema](../../draft/2019-09/meta/format) + - [Content Vocabulary meta-schema](../../draft/2019-09/meta/content) + - [Meta-Data Vocabulary meta-schema](../../draft/2019-09/meta/meta-data) + - [Hyper-Schema Vocabulary meta-schema](../../draft/2019-09/meta/hyper-schema) - Output schemas - - [JSON Schema recommended output schema](../../draft/2019-09/output/schema) - - [JSON Hyper-Schema recommended output schema](../../draft/2019-09/output/hyper-schema) + - [JSON Schema recommended output schema](../../draft/2019-09/output/schema) + - [JSON Hyper-Schema recommended output schema](../../draft/2019-09/output/hyper-schema) - Output examples - - [JSON Schema verbose output example](../../draft/2019-09/output/verbose-example) + - [JSON Schema verbose output example](../../draft/2019-09/output/verbose-example) ### Draft 7 @@ -452,71 +452,61 @@ _These were updated without changing functionality or meta-schemas due to a few ### Draft 5 -- Core: [draft-wright-json-schema-00](../../draft-05/draft-wright-json-schema-00.pdf) ([changes](../../draft-05/draft-wright-json-schema-00.pdf#appendix-B)) -- Validation: [draft-wright-json-schema-validation-00](../../draft-05/draft-wright-json-schema-validation-00.pdf) ([changes](../../draft-05/draft-wright-json-schema-validation-00.pdf#appendix-B)) -- Hyper-Schema: [draft-wright-json-schema-hyperschema-00](../../draft-05/draft-wright-json-schema-hyperschema-00.pdf) ([changes](../../draft-05/draft-wright-json-schema-hyperschema-00.pdf#appendix-B)) -- Draft 5 was primarily a cleanup of Draft 4 and continued to use the Draft 4 meta-schemas. -- Published: 13-October-2016 + - Core: [draft-wright-json-schema-00](../../draft-05/draft-wright-json-schema-00.pdf) ([changes](../../draft-05/draft-wright-json-schema-00.pdf#appendix-B)) + - Validation: [draft-wright-json-schema-validation-00](../../draft-05/draft-wright-json-schema-validation-00.pdf) ([changes](../../draft-05/draft-wright-json-schema-validation-00.pdf#appendix-B)) + - Hyper-Schema: [draft-wright-json-schema-hyperschema-00](../../draft-05/draft-wright-json-schema-hyperschema-00.pdf) ([changes](../../draft-05/draft-wright-json-schema-hyperschema-00.pdf#appendix-B)) + - Draft 5 was primarily a cleanup of Draft 4 and continued to use the Draft 4 meta-schemas. + - Published: 13-October-2016 ### Draft 4 -- Core: [draft-zyp-json-schema-04](../../draft-04/draft-zyp-json-schema-04.html) ([changes](../../draft-04/draft-zyp-json-schema-04.html#rfc.appendix.A)) -- Validation: [draft-fge-json-schema-validation-00](../../draft-04/draft-fge-json-schema-validation-00.html) ([changes](../../draft-04/draft-fge-json-schema-validation-00.html#rfc.appendix.A)) -- Hyper-Schema: [draft-luff-json-hyper-schema-00](../../draft-04/draft-luff-json-hyper-schema-00.html) ([changes](../../draft-04/draft-luff-json-hyper-schema-00.html#rfc.appendix.A)) -- JSON Reference: [draft-pbryan-zyp-json-ref-03](https://tools.ietf.org/html/draft-pbryan-zyp-json-ref-03) ([changes](https://tools.ietf.org/html/draft-pbryan-zyp-json-ref-03#appendix-A)) - -* [JSON Schema meta-schema](../../draft-04/schema) -* [JSON Hyper-Schema meta-schema](../../draft-04/hyper-schema) - -- Published: 31-January-2013 + - Core: [draft-zyp-json-schema-04](../../draft-04/draft-zyp-json-schema-04.html) ([changes](../../draft-04/draft-zyp-json-schema-04.html#rfc.appendix.A)) + - Validation: [draft-fge-json-schema-validation-00](../../draft-04/draft-fge-json-schema-validation-00.html) ([changes](../../draft-04/draft-fge-json-schema-validation-00.html#rfc.appendix.A)) + - Hyper-Schema: [draft-luff-json-hyper-schema-00](../../draft-04/draft-luff-json-hyper-schema-00.html) ([changes](../../draft-04/draft-luff-json-hyper-schema-00.html#rfc.appendix.A)) + - JSON Reference: [draft-pbryan-zyp-json-ref-03](https://tools.ietf.org/html/draft-pbryan-zyp-json-ref-03) ([changes](https://tools.ietf.org/html/draft-pbryan-zyp-json-ref-03#appendix-A)) + * [JSON Schema meta-schema](../../draft-04/schema) + * [JSON Hyper-Schema meta-schema](../../draft-04/hyper-schema) + - Published: 31-January-2013 ### Draft 3 -- Complete Specification: [draft-zyp-json-schema-03](../../draft-03/draft-zyp-json-schema-03.pdf) ([changes](../../draft-03/draft-zyp-json-schema-03.pdf#anchor54)) - + - Complete Specification: [draft-zyp-json-schema-03](../../draft-03/draft-zyp-json-schema-03.pdf) ([changes](../../draft-03/draft-zyp-json-schema-03.pdf#anchor54)) * [JSON Schema meta-schema](../../draft-03/schema) * [JSON Hyper-Schema meta-schema](../../draft-03/hyper-schema) - - Published: 22-November-2010 ### Draft 2 -- Complete Specification: [draft-zyp-json-schema-02](../../draft-02/draft-zyp-json-schema-02.txt) (changes: Appendix-A) - + - Complete Specification: [draft-zyp-json-schema-02](../../draft-02/draft-zyp-json-schema-02.txt) (changes: Appendix-A) * [JSON Schema meta-schema](../../draft-02/schema) * [JSON Hyper-Schema meta-schema](../../draft-02/hyper-schema) - - Published: 23-March-2010 ### Draft 1 -- Complete Specification: [draft-zyp-json-schema-01](../../draft-01/draft-zyp-json-schema-01.html) ([changes](../../draft-01/draft-zyp-json-schema-01.html#anchor54)) - + - Complete Specification: [draft-zyp-json-schema-01](../../draft-01/draft-zyp-json-schema-01.html) ([changes](../../draft-01/draft-zyp-json-schema-01.html#anchor54)) * [JSON Schema meta-schema](../../draft-01/schema) * [JSON Hyper-Schema meta-schema](../../draft-01/hyper-schema) - - Published: 05-December-2009 ### Draft 0 -_Note that Draft 0 erroneously claimed to update another RFC, and was replaced the same day by Draft 1. It is included here for completeness only._ - -- Specification: [draft-zyp-json-schema-00](../../draft-00/draft-zyp-json-schema-00.txt) (changes: Appendix-A)) +_Note that Draft 0 erroneously claimed to update another RFC, and was replaced the same day by Draft 1. It is included here for completeness only._ + - Specification: [draft-zyp-json-schema-00](../../draft-00/draft-zyp-json-schema-00.txt) (changes: Appendix-A)) * [JSON Schema meta-schema](../../draft-00/schema) * [JSON Hyper-Schema meta-schema](../../draft-00/hyper-schema) - - Published: 05-December-2009 ## Latest Snapshot (work in progress) -The next unreleased draft is a work in progress. You can [give feedback and get involved on GitHub](https://github.com/json-schema-org/json-schema-spec). +The next unreleased draft is a work in progress. You can [give feedback and get involved on GitHub](https://github.com/json-schema-org/json-schema-spec). -The specification links here link to the raw sources. We do not provide rendered [work-in-progress](work-in-progress) drafts except near the very end of a publication cycle, during the final review period. +The specification links here link to the raw sources. We do not provide rendered [work-in-progress](work-in-progress) drafts except near the very end of a publication cycle, during the final review period. -- Core: [jsonschema-core.md](https://github.com/json-schema-org/json-schema-spec/blob/main/specs/jsonschema-core.md) -- Validation: [jsonschema-validation.md](https://github.com/json-schema-org/json-schema-spec/blob/main/specs/jsonschema-validation.md) -- Hyper-Schema: [jsonschema-hyperschema.xml](https://github.com/json-schema-org/json-hyperschema-spec/blob/main/jsonschema-hyperschema.xml) + - Core: [jsonschema-core.md](https://github.com/json-schema-org/json-schema-spec/blob/main/specs/jsonschema-core.md) + - Validation: [jsonschema-validation.md](https://github.com/json-schema-org/json-schema-spec/blob/main/specs/jsonschema-validation.md) + - Hyper-Schema: [jsonschema-hyperschema.xml](https://github.com/json-schema-org/json-hyperschema-spec/blob/main/jsonschema-hyperschema.xml) - Relative JSON Pointer: [relative-json-pointer.xml](https://github.com/json-schema-org/json-schema-spec/blob/main/specs/relative-json-pointer.xml) - [JSON Schema meta-schema](https://github.com/json-schema-org/json-schema-spec/blob/main/specs/schema.json) - [JSON Hyper-Schema meta-schema](https://github.com/json-schema-org/json-hyperschema-spec/blob/main/hyper-schema.json) diff --git a/pages/specification.md b/pages/specification.md index 40a8a8fd5..130d62efa 100644 --- a/pages/specification.md +++ b/pages/specification.md @@ -1,18 +1,19 @@ --- title: Specification [#section] section: docs -prev: - label: 'Media: string-encoding non-JSON data' +prev: + label: "Media: string-encoding non-JSON data" url: /understanding-json-schema/reference/non_json_data next: label: Draft 2020-12 url: /draft/2020-12 --- -The current version is _2020-12_! +The current version is *2020-12*! The previous version was 2019-09. -## Specification documents +Specification documents +----------------------- See also the release notes / change log (Work in progress). @@ -20,26 +21,27 @@ The specification is split into two parts, Core and Validation. We also publish the Relative JSON Pointers spec although it's not currently used by Core or Validation in any significant way. -| | | -| :------------------------------------------------------------------------------------------- | :---------------------------------------------------- | -| [JSON Schema Core](../../draft/2020-12/json-schema-core.html) | defines the basic foundation of JSON Schema | -| [JSON Schema Validation](../../draft/2020-12/json-schema-validation.html) | defines the validation keywords of JSON Schema | -| [Relative JSON Pointers](https://tools.ietf.org/html/draft-bhutton-relative-json-pointer-00) | extends the JSON Pointer syntax for relative pointers | +| | | +|:----|:----| +| [JSON Schema Core](../../draft/2020-12/json-schema-core.html) | defines the basic foundation of JSON Schema | +| [JSON Schema Validation](../../draft/2020-12/json-schema-validation.html) | defines the validation keywords of JSON Schema | +| [Relative JSON Pointers](https://tools.ietf.org/html/draft-bhutton-relative-json-pointer-00) | extends the JSON Pointer syntax for relative pointers | -## Meta-schemas +Meta-schemas +------------ The meta-schemas are schemas against which other schemas can be validated. It is self-descriptive: the JSON Schema meta-schema validates itself. -The latest meta-schema is **2020-12**. For an explanation of the change to date-based identifiers, see the [Specification Links](../specification-links) page. +The latest meta-schema is **2020-12**. For an explanation of the change to date-based identifiers, see the [Specification Links](../specification-links) page. -_If you are accessing these JSON document links **from a web browser**, you will need to **save the file** then open it as a JSON document. This is due to limitations with GitHub Pages._ +_If you are accessing these JSON document links **from a web browser**, you will need to **save the file** then open it as a JSON document. This is due to limitations with GitHub Pages._ ## General-purpose meta-schema Please note, additional vocabulary specific schema files are needed to fully construct and use the Core/Validation Dialect meta-schema. -| | | -| :------------------------------------------------------------------- | :----------------------------------------------------------------------------- | +| | | +|:---------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------| | [Core/Validation Dialect meta-schema](../../draft/2020-12/schema) | Used for schemas written for pure validation. | | [Hyper-Schema Dialect meta-schema](../../draft/2020-12/hyper-schema) | Used for schemas written for validation (2020-12) and hyper-linking (2019-09). | | [Recommended Output meta-schema](../../draft/2020-12/output/schema) | Recommended output structure of the application process. | @@ -58,25 +60,26 @@ These are relevant primarily to people who want to write their own meta-schemas - [Meta-Data Vocabulary meta-schema](../../draft/2020-12/meta/meta-data) ## Output schemas and examples - - [JSON Schema recommended output schema](../../draft/2020-12/output/schema) - [JSON Schema verbose output example](../../draft/2020-12/output/verbose-example) -## Migrating from older drafts +Migrating from older drafts +------------- The release notes discuss the changes impacting users and implementers: - JSON Schema Core and Validation - - [Draft 2019-09 to Draft 2020-12](../../draft/2020-12/release-notes) - - [Draft-07 to Draft 2019-09](../../draft/2019-09/release-notes) - - [Draft-06 to Draft-07](../../draft-07/json-schema-release-notes) - - [Draft-04 to Draft-06](../../draft-06/json-schema-release-notes) + - [Draft 2019-09 to Draft 2020-12](../../draft/2020-12/release-notes) + - [Draft-07 to Draft 2019-09](../../draft/2019-09/release-notes) + - [Draft-06 to Draft-07](../../draft-07/json-schema-release-notes) + - [Draft-04 to Draft-06](../../draft-06/json-schema-release-notes) - JSON Hyper-Schema - - There was no JSON Hyper-Schema draft for 2020-12 releases. - - [Draft-07 to 2019-09](../../draft/2019-09/release-notes#hyper-schema-vocabulary) - - [Draft-04 to Draft-07](../../draft-07/json-hyper-schema-release-notes) - - [Draft-04 to Draft-06](../../draft-06/json-hyper-schema-release-notes) + - There was no JSON Hyper-Schema draft for 2020-12 releases. + - [Draft-07 to 2019-09](../../draft/2019-09/release-notes#hyper-schema-vocabulary) + - [Draft-04 to Draft-07](../../draft-07/json-hyper-schema-release-notes) + - [Draft-04 to Draft-06](../../draft-06/json-hyper-schema-release-notes) -## Older drafts +Older drafts +------------ -Please see [Specification Links](../../specification-links) for older drafts and the latest unreleased version of the specification. +Please see [Specification Links](../../specification-links) for older drafts and the latest unreleased version of the specification. \ No newline at end of file From 45eb85e88b274490086832ba1c1955ac4c024cc4 Mon Sep 17 00:00:00 2001 From: Tushar Verma Date: Sat, 28 Jun 2025 22:32:56 +0530 Subject: [PATCH 3/4] revert unintended formatting changes --- pages/specification-links.md | 118 +++++++++++++++++++---------------- pages/specification.md | 55 ++++++++-------- 2 files changed, 90 insertions(+), 83 deletions(-) diff --git a/pages/specification-links.md b/pages/specification-links.md index d6ececa5b..a0991cbb6 100644 --- a/pages/specification-links.md +++ b/pages/specification-links.md @@ -4,22 +4,22 @@ section: docs prev: label: Draft 05 url: /draft-05 -next: +next: label: Migration url: /specification/migration --- -You can find the latest released draft on the [Specification](../../specification) page. The complex numbering and naming system for drafts and meta-schemas is fully explained here as well. +You can find the latest released draft on the [Specification](../../specification) page. The complex numbering and naming system for drafts and meta-schemas is fully explained here as well. ## Understanding draft names and numbers -IETF Internet-Drafts (I-Ds) are named with the editor's name and a sequential number which resets with each new editor. Meta-schemas were more-or-less numbered sequentially up through Draft 7, but the increasingly confusing mismatch between "draft-nn" versions on the meta-schemas and the IETF documents has made that unsustainable. The practice of fixing meta-schema bugs in place to preserve the sequential numbering has also been controversial. +IETF Internet-Drafts (I-Ds) are named with the editor's name and a sequential number which resets with each new editor. Meta-schemas were more-or-less numbered sequentially up through Draft 7, but the increasingly confusing mismatch between "draft-nn" versions on the meta-schemas and the IETF documents has made that unsustainable. The practice of fixing meta-schema bugs in place to preserve the sequential numbering has also been controversial. -Starting with what had been called "Draft 8" while it was being written, meta-schemas are identified by the year and month of publication. This allows for bug fixes to be published with new URIs (as long as it is not more than once a month). +Starting with what had been called "Draft 8" while it was being written, meta-schemas are identified by the year and month of publication. This allows for bug fixes to be published with new URIs (as long as it is not more than once a month). ### Table of All Versions of Everything @@ -361,14 +361,14 @@ For links to the somewhat more readably formatted versions on this web site, and ### 2020-12 - Specifications - - Core: [draft-bhutton-json-schema-01](../../draft/2020-12/draft-bhutton-json-schema-01.html) ([changes](../../draft/2020-12/draft-bhutton-json-schema-01.html#appendix-G)) - - Validation: [draft-bhutton-json-schema-validation-01](../../draft/2020-12/draft-bhutton-json-schema-validation-01.html) ([changes](/draft/2020-12/draft-bhutton-json-schema-validation-01.html#appendix-C)) - - Relative JSON Pointer: [draft-bhutton-relative-json-pointer-00](https://tools.ietf.org/html/draft-bhutton-relative-json-pointer-00) ([changes](https://tools.ietf.org/html/draft-bhutton-relative-json-pointer-00#appendix-A)) - - Published: 16-June-2022 + - Core: [draft-bhutton-json-schema-01](../../draft/2020-12/draft-bhutton-json-schema-01.html) ([changes](../../draft/2020-12/draft-bhutton-json-schema-01.html#appendix-G)) + - Validation: [draft-bhutton-json-schema-validation-01](../../draft/2020-12/draft-bhutton-json-schema-validation-01.html) ([changes](/draft/2020-12/draft-bhutton-json-schema-validation-01.html#appendix-C)) + - Relative JSON Pointer: [draft-bhutton-relative-json-pointer-00](https://tools.ietf.org/html/draft-bhutton-relative-json-pointer-00) ([changes](https://tools.ietf.org/html/draft-bhutton-relative-json-pointer-00#appendix-A)) + - Published: 16-June-2022 - General use meta-schemas - - [JSON Schema meta-schema](../../draft/2020-12/schema) - - [JSON Hyper-Schema meta-schema](../../draft/2020-12/hyper-schema) (2019-09 Hyper-Schema with 2020-12 Validation) - - [JSON Hyper-Schema Link Description Object meta-schema](../../draft/2020-12/links) + - [JSON Schema meta-schema](../../draft/2020-12/schema) + - [JSON Hyper-Schema meta-schema](../../draft/2020-12/hyper-schema) (2019-09 Hyper-Schema with 2020-12 Validation) + - [JSON Hyper-Schema Link Description Object meta-schema](../../draft/2020-12/links) - Individual vocabulary meta-schemas - [Core Vocabulary meta-schema](../../draft/2020-12/meta/core) - [Applicator Vocabulary meta-schema](../../draft/2020-12/meta/applicator) @@ -379,9 +379,9 @@ For links to the somewhat more readably formatted versions on this web site, and - [Content Vocabulary meta-schema](../../draft/2020-12/meta/content) - [Meta-Data Vocabulary meta-schema](../../draft/2020-12/meta/meta-data) - Output schemas - - [JSON Schema recommended output schema](../../draft/2020-12/output/schema) + - [JSON Schema recommended output schema](../../draft/2020-12/output/schema) - Output examples - - [JSON Schema verbose output example](../../draft/2020-12/output/verbose-example) + - [JSON Schema verbose output example](../../draft/2020-12/output/verbose-example) #### Obsolete Draft 2020-12 Documents @@ -394,31 +394,31 @@ _These were updated without changing functionality or meta-schemas due to a few ### Draft 2019-09 (formerly known as Draft 8) -_**NOTE:** All meta-schema URIs now use `https://`. While currently also available over plain HTTP due to the limitations of GitHub pages and the need to keep prior drafts available over HTTP, only the HTTPS URIs should be used._ +_**NOTE:** All meta-schema URIs now use `https://`. While currently also available over plain HTTP due to the limitations of GitHub pages and the need to keep prior drafts available over HTTP, only the HTTPS URIs should be used._ - Specifications - - Core: [draft-handrews-json-schema-02](../../draft/2019-09/draft-handrews-json-schema-02.html) ([changes](draft/2019-09/draft-handrews-json-schema-02.html#rfc.appendix.G)) - - Validation: [draft-handrews-json-schema-validation-02](../../draft/2019-09/draft-handrews-json-schema-validation-02.html) ([changes](/draft/2019-09/draft-handrews-json-schema-validation-02.html#rfc.appendix.C)) - - Hyper-Schema: [draft-handrews-json-schema-hyperschema-02](../../draft/2019-09/draft-handrews-json-schema-hyperschema-02.html) ([changes](/draft/2019-09/draft-handrews-json-schema-hyperschema-02.html#rfc.appendix.B)) - - Relative JSON Pointer: [draft-handrews-relative-json-pointer-02](https://tools.ietf.org/html/draft-handrews-relative-json-pointer-02) ([changes](https://tools.ietf.org/html/draft-handrews-relative-json-pointer-02#appendix-A)) - - Published: 17-September-2019 + - Core: [draft-handrews-json-schema-02](../../draft/2019-09/draft-handrews-json-schema-02.html) ([changes](draft/2019-09/draft-handrews-json-schema-02.html#rfc.appendix.G)) + - Validation: [draft-handrews-json-schema-validation-02](../../draft/2019-09/draft-handrews-json-schema-validation-02.html) ([changes](/draft/2019-09/draft-handrews-json-schema-validation-02.html#rfc.appendix.C)) + - Hyper-Schema: [draft-handrews-json-schema-hyperschema-02](../../draft/2019-09/draft-handrews-json-schema-hyperschema-02.html) ([changes](/draft/2019-09/draft-handrews-json-schema-hyperschema-02.html#rfc.appendix.B)) + - Relative JSON Pointer: [draft-handrews-relative-json-pointer-02](https://tools.ietf.org/html/draft-handrews-relative-json-pointer-02) ([changes](https://tools.ietf.org/html/draft-handrews-relative-json-pointer-02#appendix-A)) + - Published: 17-September-2019 - General use meta-schemas - - [JSON Schema meta-schema](../../draft/2019-09/schema) - - [JSON Hyper-Schema meta-schema](../../draft/2019-09/hyper-schema) - - [JSON Hyper-Schema Link Description Object meta-schema](../../draft/2019-09/links) + - [JSON Schema meta-schema](../../draft/2019-09/schema) + - [JSON Hyper-Schema meta-schema](../../draft/2019-09/hyper-schema) + - [JSON Hyper-Schema Link Description Object meta-schema](../../draft/2019-09/links) - Individual vocabulary meta-schemas - - [Core Vocabulary meta-schema](../../draft/2019-09/meta/core) - - [Applicator Vocabulary meta-schema](../../draft/2019-09/meta/applicator) - - [Validation Vocabulary meta-schema](../../draft/2019-09/meta/validation) - - [Format Vocabulary meta-schema](../../draft/2019-09/meta/format) - - [Content Vocabulary meta-schema](../../draft/2019-09/meta/content) - - [Meta-Data Vocabulary meta-schema](../../draft/2019-09/meta/meta-data) - - [Hyper-Schema Vocabulary meta-schema](../../draft/2019-09/meta/hyper-schema) + - [Core Vocabulary meta-schema](../../draft/2019-09/meta/core) + - [Applicator Vocabulary meta-schema](../../draft/2019-09/meta/applicator) + - [Validation Vocabulary meta-schema](../../draft/2019-09/meta/validation) + - [Format Vocabulary meta-schema](../../draft/2019-09/meta/format) + - [Content Vocabulary meta-schema](../../draft/2019-09/meta/content) + - [Meta-Data Vocabulary meta-schema](../../draft/2019-09/meta/meta-data) + - [Hyper-Schema Vocabulary meta-schema](../../draft/2019-09/meta/hyper-schema) - Output schemas - - [JSON Schema recommended output schema](../../draft/2019-09/output/schema) - - [JSON Hyper-Schema recommended output schema](../../draft/2019-09/output/hyper-schema) + - [JSON Schema recommended output schema](../../draft/2019-09/output/schema) + - [JSON Hyper-Schema recommended output schema](../../draft/2019-09/output/hyper-schema) - Output examples - - [JSON Schema verbose output example](../../draft/2019-09/output/verbose-example) + - [JSON Schema verbose output example](../../draft/2019-09/output/verbose-example) ### Draft 7 @@ -452,61 +452,71 @@ _These were updated without changing functionality or meta-schemas due to a few ### Draft 5 - - Core: [draft-wright-json-schema-00](../../draft-05/draft-wright-json-schema-00.pdf) ([changes](../../draft-05/draft-wright-json-schema-00.pdf#appendix-B)) - - Validation: [draft-wright-json-schema-validation-00](../../draft-05/draft-wright-json-schema-validation-00.pdf) ([changes](../../draft-05/draft-wright-json-schema-validation-00.pdf#appendix-B)) - - Hyper-Schema: [draft-wright-json-schema-hyperschema-00](../../draft-05/draft-wright-json-schema-hyperschema-00.pdf) ([changes](../../draft-05/draft-wright-json-schema-hyperschema-00.pdf#appendix-B)) - - Draft 5 was primarily a cleanup of Draft 4 and continued to use the Draft 4 meta-schemas. - - Published: 13-October-2016 +- Core: [draft-wright-json-schema-00](../../draft-05/draft-wright-json-schema-00.pdf) ([changes](../../draft-05/draft-wright-json-schema-00.pdf#appendix-B)) +- Validation: [draft-wright-json-schema-validation-00](../../draft-05/draft-wright-json-schema-validation-00.pdf) ([changes](../../draft-05/draft-wright-json-schema-validation-00.pdf#appendix-B)) +- Hyper-Schema: [draft-wright-json-schema-hyperschema-00](../../draft-05/draft-wright-json-schema-hyperschema-00.pdf) ([changes](../../draft-05/draft-wright-json-schema-hyperschema-00.pdf#appendix-B)) +- Draft 5 was primarily a cleanup of Draft 4 and continued to use the Draft 4 meta-schemas. +- Published: 13-October-2016 ### Draft 4 - - Core: [draft-zyp-json-schema-04](../../draft-04/draft-zyp-json-schema-04.html) ([changes](../../draft-04/draft-zyp-json-schema-04.html#rfc.appendix.A)) - - Validation: [draft-fge-json-schema-validation-00](../../draft-04/draft-fge-json-schema-validation-00.html) ([changes](../../draft-04/draft-fge-json-schema-validation-00.html#rfc.appendix.A)) - - Hyper-Schema: [draft-luff-json-hyper-schema-00](../../draft-04/draft-luff-json-hyper-schema-00.html) ([changes](../../draft-04/draft-luff-json-hyper-schema-00.html#rfc.appendix.A)) - - JSON Reference: [draft-pbryan-zyp-json-ref-03](https://tools.ietf.org/html/draft-pbryan-zyp-json-ref-03) ([changes](https://tools.ietf.org/html/draft-pbryan-zyp-json-ref-03#appendix-A)) - * [JSON Schema meta-schema](../../draft-04/schema) - * [JSON Hyper-Schema meta-schema](../../draft-04/hyper-schema) - - Published: 31-January-2013 +- Core: [draft-zyp-json-schema-04](../../draft-04/draft-zyp-json-schema-04.html) ([changes](../../draft-04/draft-zyp-json-schema-04.html#rfc.appendix.A)) +- Validation: [draft-fge-json-schema-validation-00](../../draft-04/draft-fge-json-schema-validation-00.html) ([changes](../../draft-04/draft-fge-json-schema-validation-00.html#rfc.appendix.A)) +- Hyper-Schema: [draft-luff-json-hyper-schema-00](../../draft-04/draft-luff-json-hyper-schema-00.html) ([changes](../../draft-04/draft-luff-json-hyper-schema-00.html#rfc.appendix.A)) +- JSON Reference: [draft-pbryan-zyp-json-ref-03](https://tools.ietf.org/html/draft-pbryan-zyp-json-ref-03) ([changes](https://tools.ietf.org/html/draft-pbryan-zyp-json-ref-03#appendix-A)) + +* [JSON Schema meta-schema](../../draft-04/schema) +* [JSON Hyper-Schema meta-schema](../../draft-04/hyper-schema) + +- Published: 31-January-2013 ### Draft 3 - - Complete Specification: [draft-zyp-json-schema-03](../../draft-03/draft-zyp-json-schema-03.pdf) ([changes](../../draft-03/draft-zyp-json-schema-03.pdf#anchor54)) +- Complete Specification: [draft-zyp-json-schema-03](../../draft-03/draft-zyp-json-schema-03.pdf) ([changes](../../draft-03/draft-zyp-json-schema-03.pdf#anchor54)) + * [JSON Schema meta-schema](../../draft-03/schema) * [JSON Hyper-Schema meta-schema](../../draft-03/hyper-schema) + - Published: 22-November-2010 ### Draft 2 - - Complete Specification: [draft-zyp-json-schema-02](../../draft-02/draft-zyp-json-schema-02.txt) (changes: Appendix-A) +- Complete Specification: [draft-zyp-json-schema-02](../../draft-02/draft-zyp-json-schema-02.txt) (changes: Appendix-A) + * [JSON Schema meta-schema](../../draft-02/schema) * [JSON Hyper-Schema meta-schema](../../draft-02/hyper-schema) + - Published: 23-March-2010 ### Draft 1 - - Complete Specification: [draft-zyp-json-schema-01](../../draft-01/draft-zyp-json-schema-01.html) ([changes](../../draft-01/draft-zyp-json-schema-01.html#anchor54)) +- Complete Specification: [draft-zyp-json-schema-01](../../draft-01/draft-zyp-json-schema-01.html) ([changes](../../draft-01/draft-zyp-json-schema-01.html#anchor54)) + * [JSON Schema meta-schema](../../draft-01/schema) * [JSON Hyper-Schema meta-schema](../../draft-01/hyper-schema) + - Published: 05-December-2009 ### Draft 0 -_Note that Draft 0 erroneously claimed to update another RFC, and was replaced the same day by Draft 1. It is included here for completeness only._ +_Note that Draft 0 erroneously claimed to update another RFC, and was replaced the same day by Draft 1. It is included here for completeness only._ + +- Specification: [draft-zyp-json-schema-00](../../draft-00/draft-zyp-json-schema-00.txt) (changes: Appendix-A)) - - Specification: [draft-zyp-json-schema-00](../../draft-00/draft-zyp-json-schema-00.txt) (changes: Appendix-A)) * [JSON Schema meta-schema](../../draft-00/schema) * [JSON Hyper-Schema meta-schema](../../draft-00/hyper-schema) + - Published: 05-December-2009 ## Latest Snapshot (work in progress) -The next unreleased draft is a work in progress. You can [give feedback and get involved on GitHub](https://github.com/json-schema-org/json-schema-spec). +The next unreleased draft is a work in progress. You can [give feedback and get involved on GitHub](https://github.com/json-schema-org/json-schema-spec). -The specification links here link to the raw sources. We do not provide rendered [work-in-progress](work-in-progress) drafts except near the very end of a publication cycle, during the final review period. +The specification links here link to the raw sources. We do not provide rendered [work-in-progress](work-in-progress) drafts except near the very end of a publication cycle, during the final review period. - - Core: [jsonschema-core.md](https://github.com/json-schema-org/json-schema-spec/blob/main/specs/jsonschema-core.md) - - Validation: [jsonschema-validation.md](https://github.com/json-schema-org/json-schema-spec/blob/main/specs/jsonschema-validation.md) - - Hyper-Schema: [jsonschema-hyperschema.xml](https://github.com/json-schema-org/json-hyperschema-spec/blob/main/jsonschema-hyperschema.xml) +- Core: [jsonschema-core.md](https://github.com/json-schema-org/json-schema-spec/blob/main/specs/jsonschema-core.md) +- Validation: [jsonschema-validation.md](https://github.com/json-schema-org/json-schema-spec/blob/main/specs/jsonschema-validation.md) +- Hyper-Schema: [jsonschema-hyperschema.xml](https://github.com/json-schema-org/json-hyperschema-spec/blob/main/jsonschema-hyperschema.xml) - Relative JSON Pointer: [relative-json-pointer.xml](https://github.com/json-schema-org/json-schema-spec/blob/main/specs/relative-json-pointer.xml) - [JSON Schema meta-schema](https://github.com/json-schema-org/json-schema-spec/blob/main/specs/schema.json) - [JSON Hyper-Schema meta-schema](https://github.com/json-schema-org/json-hyperschema-spec/blob/main/hyper-schema.json) diff --git a/pages/specification.md b/pages/specification.md index 130d62efa..40a8a8fd5 100644 --- a/pages/specification.md +++ b/pages/specification.md @@ -1,19 +1,18 @@ --- title: Specification [#section] section: docs -prev: - label: "Media: string-encoding non-JSON data" +prev: + label: 'Media: string-encoding non-JSON data' url: /understanding-json-schema/reference/non_json_data next: label: Draft 2020-12 url: /draft/2020-12 --- -The current version is *2020-12*! +The current version is _2020-12_! The previous version was 2019-09. -Specification documents ------------------------ +## Specification documents See also the release notes / change log (Work in progress). @@ -21,27 +20,26 @@ The specification is split into two parts, Core and Validation. We also publish the Relative JSON Pointers spec although it's not currently used by Core or Validation in any significant way. -| | | -|:----|:----| -| [JSON Schema Core](../../draft/2020-12/json-schema-core.html) | defines the basic foundation of JSON Schema | -| [JSON Schema Validation](../../draft/2020-12/json-schema-validation.html) | defines the validation keywords of JSON Schema | -| [Relative JSON Pointers](https://tools.ietf.org/html/draft-bhutton-relative-json-pointer-00) | extends the JSON Pointer syntax for relative pointers | +| | | +| :------------------------------------------------------------------------------------------- | :---------------------------------------------------- | +| [JSON Schema Core](../../draft/2020-12/json-schema-core.html) | defines the basic foundation of JSON Schema | +| [JSON Schema Validation](../../draft/2020-12/json-schema-validation.html) | defines the validation keywords of JSON Schema | +| [Relative JSON Pointers](https://tools.ietf.org/html/draft-bhutton-relative-json-pointer-00) | extends the JSON Pointer syntax for relative pointers | -Meta-schemas ------------- +## Meta-schemas The meta-schemas are schemas against which other schemas can be validated. It is self-descriptive: the JSON Schema meta-schema validates itself. -The latest meta-schema is **2020-12**. For an explanation of the change to date-based identifiers, see the [Specification Links](../specification-links) page. +The latest meta-schema is **2020-12**. For an explanation of the change to date-based identifiers, see the [Specification Links](../specification-links) page. -_If you are accessing these JSON document links **from a web browser**, you will need to **save the file** then open it as a JSON document. This is due to limitations with GitHub Pages._ +_If you are accessing these JSON document links **from a web browser**, you will need to **save the file** then open it as a JSON document. This is due to limitations with GitHub Pages._ ## General-purpose meta-schema Please note, additional vocabulary specific schema files are needed to fully construct and use the Core/Validation Dialect meta-schema. -| | | -|:---------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------| +| | | +| :------------------------------------------------------------------- | :----------------------------------------------------------------------------- | | [Core/Validation Dialect meta-schema](../../draft/2020-12/schema) | Used for schemas written for pure validation. | | [Hyper-Schema Dialect meta-schema](../../draft/2020-12/hyper-schema) | Used for schemas written for validation (2020-12) and hyper-linking (2019-09). | | [Recommended Output meta-schema](../../draft/2020-12/output/schema) | Recommended output structure of the application process. | @@ -60,26 +58,25 @@ These are relevant primarily to people who want to write their own meta-schemas - [Meta-Data Vocabulary meta-schema](../../draft/2020-12/meta/meta-data) ## Output schemas and examples + - [JSON Schema recommended output schema](../../draft/2020-12/output/schema) - [JSON Schema verbose output example](../../draft/2020-12/output/verbose-example) -Migrating from older drafts -------------- +## Migrating from older drafts The release notes discuss the changes impacting users and implementers: - JSON Schema Core and Validation - - [Draft 2019-09 to Draft 2020-12](../../draft/2020-12/release-notes) - - [Draft-07 to Draft 2019-09](../../draft/2019-09/release-notes) - - [Draft-06 to Draft-07](../../draft-07/json-schema-release-notes) - - [Draft-04 to Draft-06](../../draft-06/json-schema-release-notes) + - [Draft 2019-09 to Draft 2020-12](../../draft/2020-12/release-notes) + - [Draft-07 to Draft 2019-09](../../draft/2019-09/release-notes) + - [Draft-06 to Draft-07](../../draft-07/json-schema-release-notes) + - [Draft-04 to Draft-06](../../draft-06/json-schema-release-notes) - JSON Hyper-Schema - - There was no JSON Hyper-Schema draft for 2020-12 releases. - - [Draft-07 to 2019-09](../../draft/2019-09/release-notes#hyper-schema-vocabulary) - - [Draft-04 to Draft-07](../../draft-07/json-hyper-schema-release-notes) - - [Draft-04 to Draft-06](../../draft-06/json-hyper-schema-release-notes) + - There was no JSON Hyper-Schema draft for 2020-12 releases. + - [Draft-07 to 2019-09](../../draft/2019-09/release-notes#hyper-schema-vocabulary) + - [Draft-04 to Draft-07](../../draft-07/json-hyper-schema-release-notes) + - [Draft-04 to Draft-06](../../draft-06/json-hyper-schema-release-notes) -Older drafts ------------- +## Older drafts -Please see [Specification Links](../../specification-links) for older drafts and the latest unreleased version of the specification. \ No newline at end of file +Please see [Specification Links](../../specification-links) for older drafts and the latest unreleased version of the specification. From b5f2849b2ca1a2a7ab9cae90fbf4e1ca404d2eba Mon Sep 17 00:00:00 2001 From: Tushar Verma Date: Sat, 28 Jun 2025 22:50:53 +0530 Subject: [PATCH 4/4] Final revert unintended formatting changes successfull --- pages/specification-links.md | 118 ++++++++++++++++------------------- pages/specification.md | 55 ++++++++-------- 2 files changed, 83 insertions(+), 90 deletions(-) diff --git a/pages/specification-links.md b/pages/specification-links.md index a0991cbb6..d6ececa5b 100644 --- a/pages/specification-links.md +++ b/pages/specification-links.md @@ -4,22 +4,22 @@ section: docs prev: label: Draft 05 url: /draft-05 -next: +next: label: Migration url: /specification/migration --- -You can find the latest released draft on the [Specification](../../specification) page. The complex numbering and naming system for drafts and meta-schemas is fully explained here as well. +You can find the latest released draft on the [Specification](../../specification) page. The complex numbering and naming system for drafts and meta-schemas is fully explained here as well. ## Understanding draft names and numbers -IETF Internet-Drafts (I-Ds) are named with the editor's name and a sequential number which resets with each new editor. Meta-schemas were more-or-less numbered sequentially up through Draft 7, but the increasingly confusing mismatch between "draft-nn" versions on the meta-schemas and the IETF documents has made that unsustainable. The practice of fixing meta-schema bugs in place to preserve the sequential numbering has also been controversial. +IETF Internet-Drafts (I-Ds) are named with the editor's name and a sequential number which resets with each new editor. Meta-schemas were more-or-less numbered sequentially up through Draft 7, but the increasingly confusing mismatch between "draft-nn" versions on the meta-schemas and the IETF documents has made that unsustainable. The practice of fixing meta-schema bugs in place to preserve the sequential numbering has also been controversial. -Starting with what had been called "Draft 8" while it was being written, meta-schemas are identified by the year and month of publication. This allows for bug fixes to be published with new URIs (as long as it is not more than once a month). +Starting with what had been called "Draft 8" while it was being written, meta-schemas are identified by the year and month of publication. This allows for bug fixes to be published with new URIs (as long as it is not more than once a month). ### Table of All Versions of Everything @@ -361,14 +361,14 @@ For links to the somewhat more readably formatted versions on this web site, and ### 2020-12 - Specifications - - Core: [draft-bhutton-json-schema-01](../../draft/2020-12/draft-bhutton-json-schema-01.html) ([changes](../../draft/2020-12/draft-bhutton-json-schema-01.html#appendix-G)) - - Validation: [draft-bhutton-json-schema-validation-01](../../draft/2020-12/draft-bhutton-json-schema-validation-01.html) ([changes](/draft/2020-12/draft-bhutton-json-schema-validation-01.html#appendix-C)) - - Relative JSON Pointer: [draft-bhutton-relative-json-pointer-00](https://tools.ietf.org/html/draft-bhutton-relative-json-pointer-00) ([changes](https://tools.ietf.org/html/draft-bhutton-relative-json-pointer-00#appendix-A)) - - Published: 16-June-2022 + - Core: [draft-bhutton-json-schema-01](../../draft/2020-12/draft-bhutton-json-schema-01.html) ([changes](../../draft/2020-12/draft-bhutton-json-schema-01.html#appendix-G)) + - Validation: [draft-bhutton-json-schema-validation-01](../../draft/2020-12/draft-bhutton-json-schema-validation-01.html) ([changes](/draft/2020-12/draft-bhutton-json-schema-validation-01.html#appendix-C)) + - Relative JSON Pointer: [draft-bhutton-relative-json-pointer-00](https://tools.ietf.org/html/draft-bhutton-relative-json-pointer-00) ([changes](https://tools.ietf.org/html/draft-bhutton-relative-json-pointer-00#appendix-A)) + - Published: 16-June-2022 - General use meta-schemas - - [JSON Schema meta-schema](../../draft/2020-12/schema) - - [JSON Hyper-Schema meta-schema](../../draft/2020-12/hyper-schema) (2019-09 Hyper-Schema with 2020-12 Validation) - - [JSON Hyper-Schema Link Description Object meta-schema](../../draft/2020-12/links) + - [JSON Schema meta-schema](../../draft/2020-12/schema) + - [JSON Hyper-Schema meta-schema](../../draft/2020-12/hyper-schema) (2019-09 Hyper-Schema with 2020-12 Validation) + - [JSON Hyper-Schema Link Description Object meta-schema](../../draft/2020-12/links) - Individual vocabulary meta-schemas - [Core Vocabulary meta-schema](../../draft/2020-12/meta/core) - [Applicator Vocabulary meta-schema](../../draft/2020-12/meta/applicator) @@ -379,9 +379,9 @@ For links to the somewhat more readably formatted versions on this web site, and - [Content Vocabulary meta-schema](../../draft/2020-12/meta/content) - [Meta-Data Vocabulary meta-schema](../../draft/2020-12/meta/meta-data) - Output schemas - - [JSON Schema recommended output schema](../../draft/2020-12/output/schema) + - [JSON Schema recommended output schema](../../draft/2020-12/output/schema) - Output examples - - [JSON Schema verbose output example](../../draft/2020-12/output/verbose-example) + - [JSON Schema verbose output example](../../draft/2020-12/output/verbose-example) #### Obsolete Draft 2020-12 Documents @@ -394,31 +394,31 @@ _These were updated without changing functionality or meta-schemas due to a few ### Draft 2019-09 (formerly known as Draft 8) -_**NOTE:** All meta-schema URIs now use `https://`. While currently also available over plain HTTP due to the limitations of GitHub pages and the need to keep prior drafts available over HTTP, only the HTTPS URIs should be used._ +_**NOTE:** All meta-schema URIs now use `https://`. While currently also available over plain HTTP due to the limitations of GitHub pages and the need to keep prior drafts available over HTTP, only the HTTPS URIs should be used._ - Specifications - - Core: [draft-handrews-json-schema-02](../../draft/2019-09/draft-handrews-json-schema-02.html) ([changes](draft/2019-09/draft-handrews-json-schema-02.html#rfc.appendix.G)) - - Validation: [draft-handrews-json-schema-validation-02](../../draft/2019-09/draft-handrews-json-schema-validation-02.html) ([changes](/draft/2019-09/draft-handrews-json-schema-validation-02.html#rfc.appendix.C)) - - Hyper-Schema: [draft-handrews-json-schema-hyperschema-02](../../draft/2019-09/draft-handrews-json-schema-hyperschema-02.html) ([changes](/draft/2019-09/draft-handrews-json-schema-hyperschema-02.html#rfc.appendix.B)) - - Relative JSON Pointer: [draft-handrews-relative-json-pointer-02](https://tools.ietf.org/html/draft-handrews-relative-json-pointer-02) ([changes](https://tools.ietf.org/html/draft-handrews-relative-json-pointer-02#appendix-A)) - - Published: 17-September-2019 + - Core: [draft-handrews-json-schema-02](../../draft/2019-09/draft-handrews-json-schema-02.html) ([changes](draft/2019-09/draft-handrews-json-schema-02.html#rfc.appendix.G)) + - Validation: [draft-handrews-json-schema-validation-02](../../draft/2019-09/draft-handrews-json-schema-validation-02.html) ([changes](/draft/2019-09/draft-handrews-json-schema-validation-02.html#rfc.appendix.C)) + - Hyper-Schema: [draft-handrews-json-schema-hyperschema-02](../../draft/2019-09/draft-handrews-json-schema-hyperschema-02.html) ([changes](/draft/2019-09/draft-handrews-json-schema-hyperschema-02.html#rfc.appendix.B)) + - Relative JSON Pointer: [draft-handrews-relative-json-pointer-02](https://tools.ietf.org/html/draft-handrews-relative-json-pointer-02) ([changes](https://tools.ietf.org/html/draft-handrews-relative-json-pointer-02#appendix-A)) + - Published: 17-September-2019 - General use meta-schemas - - [JSON Schema meta-schema](../../draft/2019-09/schema) - - [JSON Hyper-Schema meta-schema](../../draft/2019-09/hyper-schema) - - [JSON Hyper-Schema Link Description Object meta-schema](../../draft/2019-09/links) + - [JSON Schema meta-schema](../../draft/2019-09/schema) + - [JSON Hyper-Schema meta-schema](../../draft/2019-09/hyper-schema) + - [JSON Hyper-Schema Link Description Object meta-schema](../../draft/2019-09/links) - Individual vocabulary meta-schemas - - [Core Vocabulary meta-schema](../../draft/2019-09/meta/core) - - [Applicator Vocabulary meta-schema](../../draft/2019-09/meta/applicator) - - [Validation Vocabulary meta-schema](../../draft/2019-09/meta/validation) - - [Format Vocabulary meta-schema](../../draft/2019-09/meta/format) - - [Content Vocabulary meta-schema](../../draft/2019-09/meta/content) - - [Meta-Data Vocabulary meta-schema](../../draft/2019-09/meta/meta-data) - - [Hyper-Schema Vocabulary meta-schema](../../draft/2019-09/meta/hyper-schema) + - [Core Vocabulary meta-schema](../../draft/2019-09/meta/core) + - [Applicator Vocabulary meta-schema](../../draft/2019-09/meta/applicator) + - [Validation Vocabulary meta-schema](../../draft/2019-09/meta/validation) + - [Format Vocabulary meta-schema](../../draft/2019-09/meta/format) + - [Content Vocabulary meta-schema](../../draft/2019-09/meta/content) + - [Meta-Data Vocabulary meta-schema](../../draft/2019-09/meta/meta-data) + - [Hyper-Schema Vocabulary meta-schema](../../draft/2019-09/meta/hyper-schema) - Output schemas - - [JSON Schema recommended output schema](../../draft/2019-09/output/schema) - - [JSON Hyper-Schema recommended output schema](../../draft/2019-09/output/hyper-schema) + - [JSON Schema recommended output schema](../../draft/2019-09/output/schema) + - [JSON Hyper-Schema recommended output schema](../../draft/2019-09/output/hyper-schema) - Output examples - - [JSON Schema verbose output example](../../draft/2019-09/output/verbose-example) + - [JSON Schema verbose output example](../../draft/2019-09/output/verbose-example) ### Draft 7 @@ -452,71 +452,61 @@ _These were updated without changing functionality or meta-schemas due to a few ### Draft 5 -- Core: [draft-wright-json-schema-00](../../draft-05/draft-wright-json-schema-00.pdf) ([changes](../../draft-05/draft-wright-json-schema-00.pdf#appendix-B)) -- Validation: [draft-wright-json-schema-validation-00](../../draft-05/draft-wright-json-schema-validation-00.pdf) ([changes](../../draft-05/draft-wright-json-schema-validation-00.pdf#appendix-B)) -- Hyper-Schema: [draft-wright-json-schema-hyperschema-00](../../draft-05/draft-wright-json-schema-hyperschema-00.pdf) ([changes](../../draft-05/draft-wright-json-schema-hyperschema-00.pdf#appendix-B)) -- Draft 5 was primarily a cleanup of Draft 4 and continued to use the Draft 4 meta-schemas. -- Published: 13-October-2016 + - Core: [draft-wright-json-schema-00](../../draft-05/draft-wright-json-schema-00.pdf) ([changes](../../draft-05/draft-wright-json-schema-00.pdf#appendix-B)) + - Validation: [draft-wright-json-schema-validation-00](../../draft-05/draft-wright-json-schema-validation-00.pdf) ([changes](../../draft-05/draft-wright-json-schema-validation-00.pdf#appendix-B)) + - Hyper-Schema: [draft-wright-json-schema-hyperschema-00](../../draft-05/draft-wright-json-schema-hyperschema-00.pdf) ([changes](../../draft-05/draft-wright-json-schema-hyperschema-00.pdf#appendix-B)) + - Draft 5 was primarily a cleanup of Draft 4 and continued to use the Draft 4 meta-schemas. + - Published: 13-October-2016 ### Draft 4 -- Core: [draft-zyp-json-schema-04](../../draft-04/draft-zyp-json-schema-04.html) ([changes](../../draft-04/draft-zyp-json-schema-04.html#rfc.appendix.A)) -- Validation: [draft-fge-json-schema-validation-00](../../draft-04/draft-fge-json-schema-validation-00.html) ([changes](../../draft-04/draft-fge-json-schema-validation-00.html#rfc.appendix.A)) -- Hyper-Schema: [draft-luff-json-hyper-schema-00](../../draft-04/draft-luff-json-hyper-schema-00.html) ([changes](../../draft-04/draft-luff-json-hyper-schema-00.html#rfc.appendix.A)) -- JSON Reference: [draft-pbryan-zyp-json-ref-03](https://tools.ietf.org/html/draft-pbryan-zyp-json-ref-03) ([changes](https://tools.ietf.org/html/draft-pbryan-zyp-json-ref-03#appendix-A)) - -* [JSON Schema meta-schema](../../draft-04/schema) -* [JSON Hyper-Schema meta-schema](../../draft-04/hyper-schema) - -- Published: 31-January-2013 + - Core: [draft-zyp-json-schema-04](../../draft-04/draft-zyp-json-schema-04.html) ([changes](../../draft-04/draft-zyp-json-schema-04.html#rfc.appendix.A)) + - Validation: [draft-fge-json-schema-validation-00](../../draft-04/draft-fge-json-schema-validation-00.html) ([changes](../../draft-04/draft-fge-json-schema-validation-00.html#rfc.appendix.A)) + - Hyper-Schema: [draft-luff-json-hyper-schema-00](../../draft-04/draft-luff-json-hyper-schema-00.html) ([changes](../../draft-04/draft-luff-json-hyper-schema-00.html#rfc.appendix.A)) + - JSON Reference: [draft-pbryan-zyp-json-ref-03](https://tools.ietf.org/html/draft-pbryan-zyp-json-ref-03) ([changes](https://tools.ietf.org/html/draft-pbryan-zyp-json-ref-03#appendix-A)) + * [JSON Schema meta-schema](../../draft-04/schema) + * [JSON Hyper-Schema meta-schema](../../draft-04/hyper-schema) + - Published: 31-January-2013 ### Draft 3 -- Complete Specification: [draft-zyp-json-schema-03](../../draft-03/draft-zyp-json-schema-03.pdf) ([changes](../../draft-03/draft-zyp-json-schema-03.pdf#anchor54)) - + - Complete Specification: [draft-zyp-json-schema-03](../../draft-03/draft-zyp-json-schema-03.pdf) ([changes](../../draft-03/draft-zyp-json-schema-03.pdf#anchor54)) * [JSON Schema meta-schema](../../draft-03/schema) * [JSON Hyper-Schema meta-schema](../../draft-03/hyper-schema) - - Published: 22-November-2010 ### Draft 2 -- Complete Specification: [draft-zyp-json-schema-02](../../draft-02/draft-zyp-json-schema-02.txt) (changes: Appendix-A) - + - Complete Specification: [draft-zyp-json-schema-02](../../draft-02/draft-zyp-json-schema-02.txt) (changes: Appendix-A) * [JSON Schema meta-schema](../../draft-02/schema) * [JSON Hyper-Schema meta-schema](../../draft-02/hyper-schema) - - Published: 23-March-2010 ### Draft 1 -- Complete Specification: [draft-zyp-json-schema-01](../../draft-01/draft-zyp-json-schema-01.html) ([changes](../../draft-01/draft-zyp-json-schema-01.html#anchor54)) - + - Complete Specification: [draft-zyp-json-schema-01](../../draft-01/draft-zyp-json-schema-01.html) ([changes](../../draft-01/draft-zyp-json-schema-01.html#anchor54)) * [JSON Schema meta-schema](../../draft-01/schema) * [JSON Hyper-Schema meta-schema](../../draft-01/hyper-schema) - - Published: 05-December-2009 ### Draft 0 -_Note that Draft 0 erroneously claimed to update another RFC, and was replaced the same day by Draft 1. It is included here for completeness only._ - -- Specification: [draft-zyp-json-schema-00](../../draft-00/draft-zyp-json-schema-00.txt) (changes: Appendix-A)) +_Note that Draft 0 erroneously claimed to update another RFC, and was replaced the same day by Draft 1. It is included here for completeness only._ + - Specification: [draft-zyp-json-schema-00](../../draft-00/draft-zyp-json-schema-00.txt) (changes: Appendix-A)) * [JSON Schema meta-schema](../../draft-00/schema) * [JSON Hyper-Schema meta-schema](../../draft-00/hyper-schema) - - Published: 05-December-2009 ## Latest Snapshot (work in progress) -The next unreleased draft is a work in progress. You can [give feedback and get involved on GitHub](https://github.com/json-schema-org/json-schema-spec). +The next unreleased draft is a work in progress. You can [give feedback and get involved on GitHub](https://github.com/json-schema-org/json-schema-spec). -The specification links here link to the raw sources. We do not provide rendered [work-in-progress](work-in-progress) drafts except near the very end of a publication cycle, during the final review period. +The specification links here link to the raw sources. We do not provide rendered [work-in-progress](work-in-progress) drafts except near the very end of a publication cycle, during the final review period. -- Core: [jsonschema-core.md](https://github.com/json-schema-org/json-schema-spec/blob/main/specs/jsonschema-core.md) -- Validation: [jsonschema-validation.md](https://github.com/json-schema-org/json-schema-spec/blob/main/specs/jsonschema-validation.md) -- Hyper-Schema: [jsonschema-hyperschema.xml](https://github.com/json-schema-org/json-hyperschema-spec/blob/main/jsonschema-hyperschema.xml) + - Core: [jsonschema-core.md](https://github.com/json-schema-org/json-schema-spec/blob/main/specs/jsonschema-core.md) + - Validation: [jsonschema-validation.md](https://github.com/json-schema-org/json-schema-spec/blob/main/specs/jsonschema-validation.md) + - Hyper-Schema: [jsonschema-hyperschema.xml](https://github.com/json-schema-org/json-hyperschema-spec/blob/main/jsonschema-hyperschema.xml) - Relative JSON Pointer: [relative-json-pointer.xml](https://github.com/json-schema-org/json-schema-spec/blob/main/specs/relative-json-pointer.xml) - [JSON Schema meta-schema](https://github.com/json-schema-org/json-schema-spec/blob/main/specs/schema.json) - [JSON Hyper-Schema meta-schema](https://github.com/json-schema-org/json-hyperschema-spec/blob/main/hyper-schema.json) diff --git a/pages/specification.md b/pages/specification.md index 40a8a8fd5..130d62efa 100644 --- a/pages/specification.md +++ b/pages/specification.md @@ -1,18 +1,19 @@ --- title: Specification [#section] section: docs -prev: - label: 'Media: string-encoding non-JSON data' +prev: + label: "Media: string-encoding non-JSON data" url: /understanding-json-schema/reference/non_json_data next: label: Draft 2020-12 url: /draft/2020-12 --- -The current version is _2020-12_! +The current version is *2020-12*! The previous version was 2019-09. -## Specification documents +Specification documents +----------------------- See also the release notes / change log (Work in progress). @@ -20,26 +21,27 @@ The specification is split into two parts, Core and Validation. We also publish the Relative JSON Pointers spec although it's not currently used by Core or Validation in any significant way. -| | | -| :------------------------------------------------------------------------------------------- | :---------------------------------------------------- | -| [JSON Schema Core](../../draft/2020-12/json-schema-core.html) | defines the basic foundation of JSON Schema | -| [JSON Schema Validation](../../draft/2020-12/json-schema-validation.html) | defines the validation keywords of JSON Schema | -| [Relative JSON Pointers](https://tools.ietf.org/html/draft-bhutton-relative-json-pointer-00) | extends the JSON Pointer syntax for relative pointers | +| | | +|:----|:----| +| [JSON Schema Core](../../draft/2020-12/json-schema-core.html) | defines the basic foundation of JSON Schema | +| [JSON Schema Validation](../../draft/2020-12/json-schema-validation.html) | defines the validation keywords of JSON Schema | +| [Relative JSON Pointers](https://tools.ietf.org/html/draft-bhutton-relative-json-pointer-00) | extends the JSON Pointer syntax for relative pointers | -## Meta-schemas +Meta-schemas +------------ The meta-schemas are schemas against which other schemas can be validated. It is self-descriptive: the JSON Schema meta-schema validates itself. -The latest meta-schema is **2020-12**. For an explanation of the change to date-based identifiers, see the [Specification Links](../specification-links) page. +The latest meta-schema is **2020-12**. For an explanation of the change to date-based identifiers, see the [Specification Links](../specification-links) page. -_If you are accessing these JSON document links **from a web browser**, you will need to **save the file** then open it as a JSON document. This is due to limitations with GitHub Pages._ +_If you are accessing these JSON document links **from a web browser**, you will need to **save the file** then open it as a JSON document. This is due to limitations with GitHub Pages._ ## General-purpose meta-schema Please note, additional vocabulary specific schema files are needed to fully construct and use the Core/Validation Dialect meta-schema. -| | | -| :------------------------------------------------------------------- | :----------------------------------------------------------------------------- | +| | | +|:---------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------| | [Core/Validation Dialect meta-schema](../../draft/2020-12/schema) | Used for schemas written for pure validation. | | [Hyper-Schema Dialect meta-schema](../../draft/2020-12/hyper-schema) | Used for schemas written for validation (2020-12) and hyper-linking (2019-09). | | [Recommended Output meta-schema](../../draft/2020-12/output/schema) | Recommended output structure of the application process. | @@ -58,25 +60,26 @@ These are relevant primarily to people who want to write their own meta-schemas - [Meta-Data Vocabulary meta-schema](../../draft/2020-12/meta/meta-data) ## Output schemas and examples - - [JSON Schema recommended output schema](../../draft/2020-12/output/schema) - [JSON Schema verbose output example](../../draft/2020-12/output/verbose-example) -## Migrating from older drafts +Migrating from older drafts +------------- The release notes discuss the changes impacting users and implementers: - JSON Schema Core and Validation - - [Draft 2019-09 to Draft 2020-12](../../draft/2020-12/release-notes) - - [Draft-07 to Draft 2019-09](../../draft/2019-09/release-notes) - - [Draft-06 to Draft-07](../../draft-07/json-schema-release-notes) - - [Draft-04 to Draft-06](../../draft-06/json-schema-release-notes) + - [Draft 2019-09 to Draft 2020-12](../../draft/2020-12/release-notes) + - [Draft-07 to Draft 2019-09](../../draft/2019-09/release-notes) + - [Draft-06 to Draft-07](../../draft-07/json-schema-release-notes) + - [Draft-04 to Draft-06](../../draft-06/json-schema-release-notes) - JSON Hyper-Schema - - There was no JSON Hyper-Schema draft for 2020-12 releases. - - [Draft-07 to 2019-09](../../draft/2019-09/release-notes#hyper-schema-vocabulary) - - [Draft-04 to Draft-07](../../draft-07/json-hyper-schema-release-notes) - - [Draft-04 to Draft-06](../../draft-06/json-hyper-schema-release-notes) + - There was no JSON Hyper-Schema draft for 2020-12 releases. + - [Draft-07 to 2019-09](../../draft/2019-09/release-notes#hyper-schema-vocabulary) + - [Draft-04 to Draft-07](../../draft-07/json-hyper-schema-release-notes) + - [Draft-04 to Draft-06](../../draft-06/json-hyper-schema-release-notes) -## Older drafts +Older drafts +------------ -Please see [Specification Links](../../specification-links) for older drafts and the latest unreleased version of the specification. +Please see [Specification Links](../../specification-links) for older drafts and the latest unreleased version of the specification. \ No newline at end of file