xref: /aosp_15_r20/external/json-schema-validator/src/main/resources/draft-06/schema (revision 78c4dd6aa35290980cdcd1623a7e337e8d021c7c)
1{
2    "$schema": "http://json-schema.org/draft-06/schema#",
3    "$id": "http://json-schema.org/draft-06/schema#",
4    "title": "Core schema meta-schema",
5    "definitions": {
6        "schemaArray": {
7            "type": "array",
8            "minItems": 1,
9            "items": { "$ref": "#" }
10        },
11        "nonNegativeInteger": {
12            "type": "integer",
13            "minimum": 0
14        },
15        "nonNegativeIntegerDefault0": {
16            "allOf": [
17                { "$ref": "#/definitions/nonNegativeInteger" },
18                { "default": 0 }
19            ]
20        },
21        "simpleTypes": {
22            "enum": [
23                "array",
24                "boolean",
25                "integer",
26                "null",
27                "number",
28                "object",
29                "string"
30            ]
31        },
32        "stringArray": {
33            "type": "array",
34            "items": { "type": "string" },
35            "uniqueItems": true,
36            "default": []
37        }
38    },
39    "type": ["object", "boolean"],
40    "properties": {
41        "$id": {
42            "type": "string",
43            "format": "uri-reference"
44        },
45        "$schema": {
46            "type": "string",
47            "format": "uri"
48        },
49        "$ref": {
50            "type": "string",
51            "format": "uri-reference"
52        },
53        "title": {
54            "type": "string"
55        },
56        "description": {
57            "type": "string"
58        },
59        "default": {},
60        "examples": {
61            "type": "array",
62            "items": {}
63        },
64        "multipleOf": {
65            "type": "number",
66            "exclusiveMinimum": 0
67        },
68        "maximum": {
69            "type": "number"
70        },
71        "exclusiveMaximum": {
72            "type": "number"
73        },
74        "minimum": {
75            "type": "number"
76        },
77        "exclusiveMinimum": {
78            "type": "number"
79        },
80        "maxLength": { "$ref": "#/definitions/nonNegativeInteger" },
81        "minLength": { "$ref": "#/definitions/nonNegativeIntegerDefault0" },
82        "pattern": {
83            "type": "string",
84            "format": "regex"
85        },
86        "additionalItems": { "$ref": "#" },
87        "items": {
88            "anyOf": [
89                { "$ref": "#" },
90                { "$ref": "#/definitions/schemaArray" }
91            ],
92            "default": {}
93        },
94        "maxItems": { "$ref": "#/definitions/nonNegativeInteger" },
95        "minItems": { "$ref": "#/definitions/nonNegativeIntegerDefault0" },
96        "uniqueItems": {
97            "type": "boolean",
98            "default": false
99        },
100        "contains": { "$ref": "#" },
101        "maxProperties": { "$ref": "#/definitions/nonNegativeInteger" },
102        "minProperties": { "$ref": "#/definitions/nonNegativeIntegerDefault0" },
103        "required": { "$ref": "#/definitions/stringArray" },
104        "additionalProperties": { "$ref": "#" },
105        "definitions": {
106            "type": "object",
107            "additionalProperties": { "$ref": "#" },
108            "default": {}
109        },
110        "properties": {
111            "type": "object",
112            "additionalProperties": { "$ref": "#" },
113            "default": {}
114        },
115        "patternProperties": {
116            "type": "object",
117            "additionalProperties": { "$ref": "#" },
118            "propertyNames": { "format": "regex" },
119            "default": {}
120        },
121        "dependencies": {
122            "type": "object",
123            "additionalProperties": {
124                "anyOf": [
125                    { "$ref": "#" },
126                    { "$ref": "#/definitions/stringArray" }
127                ]
128            }
129        },
130        "propertyNames": { "$ref": "#" },
131        "const": {},
132        "enum": {
133            "type": "array",
134            "minItems": 1,
135            "uniqueItems": true
136        },
137        "type": {
138            "anyOf": [
139                { "$ref": "#/definitions/simpleTypes" },
140                {
141                    "type": "array",
142                    "items": { "$ref": "#/definitions/simpleTypes" },
143                    "minItems": 1,
144                    "uniqueItems": true
145                }
146            ]
147        },
148        "format": { "type": "string" },
149        "allOf": { "$ref": "#/definitions/schemaArray" },
150        "anyOf": { "$ref": "#/definitions/schemaArray" },
151        "oneOf": { "$ref": "#/definitions/schemaArray" },
152        "not": { "$ref": "#" }
153    },
154    "default": {}
155}
156