From eaf4615640cf129025d20ca6774f8fede4f3adb3 Mon Sep 17 00:00:00 2001
From: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
Date: Sun, 8 Jan 2023 17:24:21 +0000
Subject: [PATCH] docs: update schema language comparison
---
docs/guide/schema-language.md | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)
diff --git a/docs/guide/schema-language.md b/docs/guide/schema-language.md
index 4b87903a3..a10fc8f98 100644
--- a/docs/guide/schema-language.md
+++ b/docs/guide/schema-language.md
@@ -2,6 +2,7 @@
tags:
- JTD
---
+
# Choosing schema language
[[toc]]
@@ -123,17 +124,19 @@ See [JSON Schema](../json-schema.md) for more information and the list of define
- Defines the shape of JSON data via strictly defined schema forms (rather than the collection of restrictions).
- Effective support for tagged unions.
- Designed to protect against user mistakes.
-- Supports compilation of schemas to efficient [serializers and parsers](./getting-started.md#parsing-and-serializing-json) (no need to validate as a separate step)
-- Approved as [RFC8927](https://datatracker.ietf.org/doc/rfc8927/)
+- Supports compilation of schemas to efficient [serializers and parsers](./getting-started.md#parsing-and-serializing-json) (no need to validate as a separate step).
+- Approved as [RFC8927](https://datatracker.ietf.org/doc/rfc8927/).
+- Substantial industry adoption since it was standardized in 2020, Ajv v8.12.0 fixed all reported JTD bugs.
**Cons**:
-- Limited, compared with JSON Schema - no support for untagged unions\*, conditionals, references between different schema files\*\*, etc.
-- No meta-schema in the specification\*.
-- Brand new - limited industry adoption (as of January 2021).
+- Limited, compared with JSON Schema - no support for untagged unions1, conditionals, references between different schema files2, etc.
+- No meta-schema in the specification3.
+
+1 Ajv defines non-standard keyword "union" that can be used inside "metadata" object.
-\* Ajv defines meta-schema for JTD schemas and non-standard keyword "union" that can be used inside "metadata" object.
+2 You can still combine schemas from multiple files in the application code.
-\*\* You can still combine schemas from multiple files in the application code.
+3 Ajv defines meta-schema for JTD schemas.
See [JSON Type Definition](../json-type-definition.md) for more information and the list of defined schema forms.