abiA
Deno3y ago
4 replies
abi

JSON Schema Core, $dynamicAnchor, and $vocabulary

Slightly off-topic, but I'm writing a Deno library.

Anyone deeply knowledgeable on JSON Schema Core? I have this meta-schema, and I can't figure out how the heck it's supposed to work that "$ref": "meta/core" would refer to "https://json-schema.org/draft/2020-12/vocab/core" – any ideas? I feel like I'm missing something fundamental knowledge on the JSON Schema Core spec here...

{
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "$id": "https://json-schema.org/draft/2020-12/schema",
    "$vocabulary": {
        "https://json-schema.org/draft/2020-12/vocab/core": true,
        "https://json-schema.org/draft/2020-12/vocab/applicator": true,
        "https://json-schema.org/draft/2020-12/vocab/unevaluated": true,
        "https://json-schema.org/draft/2020-12/vocab/validation": true,
        "https://json-schema.org/draft/2020-12/vocab/meta-data": true,
        "https://json-schema.org/draft/2020-12/vocab/format-annotation": true,
        "https://json-schema.org/draft/2020-12/vocab/content": true
    },
    "$dynamicAnchor": "meta",
    "title": "Core and Validation specifications meta-schema",
    "allOf": [
        {"$ref": "meta/core"},
        {"$ref": "meta/applicator"},
        {"$ref": "meta/unevaluated"},
        {"$ref": "meta/validation"},
        {"$ref": "meta/meta-data"},
        {"$ref": "meta/format-annotation"},
        {"$ref": "meta/content"}
    ],
...
Was this page helpful?