github.com/kaptinlin/jsonschema@v0.4.6/testdata/JSON-Schema-Test-Suite/output-tests/draft-next/output-schema.json (about)

     1  {
     2    "$schema": "https://json-schema.org/draft/next/schema",
     3    "$id": "https://json-schema.org/draft/next/output/schema",
     4    "description": "A schema that validates the minimum requirements for validation output",
     5  
     6    "anyOf": [
     7      { "$ref": "#/$defs/flag" },
     8      { "$ref": "#/$defs/basic" },
     9      { "$ref": "#/$defs/hierarchical" }
    10    ],
    11    "$defs": {
    12      "outputUnit":{
    13        "properties": {
    14          "valid": { "type": "boolean" },
    15          "evaluationPath": {
    16            "type": "string",
    17            "format": "json-pointer"
    18          },
    19          "schemaLocation": {
    20            "type": "string",
    21            "format": "uri"
    22          },
    23          "instanceLocation": {
    24            "type": "string",
    25            "format": "json-pointer"
    26          },
    27          "details": {
    28            "$ref": "#/$defs/outputUnitArray"
    29          },
    30          "annotations": {
    31            "type": "object",
    32            "additionalProperties": true
    33          },
    34          "droppedAnnotations": {
    35            "type": "object",
    36            "additionalProperties": true
    37          },
    38          "errors": {
    39            "type": "object",
    40            "additionalProperties": { "type": "string" }
    41          }
    42        },
    43        "required": [ "valid", "evaluationPath", "schemaLocation", "instanceLocation" ],
    44        "allOf": [
    45          {
    46            "if": {
    47              "anyOf": [
    48                {
    49                  "required": [ "errors" ]
    50                },
    51                {
    52                  "required": [ "droppedAnnotations" ]
    53                }
    54              ]
    55            },
    56            "then": {
    57              "properties": {
    58                "valid": { "const": false }
    59              }
    60            }
    61          },
    62          {
    63            "if": {
    64              "required": [ "annotations" ]
    65            },
    66            "then": {
    67              "properties": {
    68                "valid": { "const": true }
    69              }
    70            }
    71          }
    72        ]
    73      },
    74      "outputUnitArray": {
    75        "type": "array",
    76        "items": { "$ref": "#/$defs/outputUnit" }
    77      },
    78      "flag": {
    79        "properties": {
    80          "valid": { "type": "boolean" }
    81        },
    82        "required": [ "valid" ]
    83      },
    84      "basic": {
    85        "properties": {
    86          "valid": { "type": "boolean" },
    87          "details": {
    88            "$ref": "#/$defs/outputUnitArray"
    89          }
    90        },
    91        "required": [ "valid", "details" ]
    92      },
    93      "hierarchical": { "$ref": "#/$defs/outputUnit" }
    94    }
    95  }