1{ 2 "$schema": "http://json-schema.org/draft-04/schema#", 3 "description": "Core schema meta-schema", 4 "definitions": { 5 "schemaArray": { 6 "type": "array", 7 "minItems": 1, 8 "items": { 9 "$ref": "#" 10 } 11 }, 12 "positiveInteger": { 13 "type": "integer", 14 "minimum": 0 15 }, 16 "positiveIntegerDefault0": { 17 "allOf": [ 18 { 19 "$ref": "#/definitions/positiveInteger" 20 }, 21 { 22 "default": 0 23 } 24 ] 25 }, 26 "simpleTypes": { 27 "enum": [ 28 "array", 29 "boolean", 30 "integer", 31 "null", 32 "number", 33 "object", 34 "string" 35 ] 36 }, 37 "stringArray": { 38 "type": "array", 39 "items": { 40 "type": "string" 41 }, 42 "minItems": 1, 43 "uniqueItems": true 44 } 45 }, 46 "type": "object", 47 "properties": { 48 "id": { 49 "type": "string", 50 "format": "uriref" 51 }, 52 "$schema": { 53 "type": "string", 54 "format": "uri" 55 }, 56 "title": { 57 "type": "string" 58 }, 59 "description": { 60 "type": "string" 61 }, 62 "default": {}, 63 "multipleOf": { 64 "type": "number", 65 "minimum": 0, 66 "exclusiveMinimum": true 67 }, 68 "maximum": { 69 "type": "number" 70 }, 71 "exclusiveMaximum": { 72 "type": "boolean", 73 "default": false 74 }, 75 "minimum": { 76 "type": "number" 77 }, 78 "exclusiveMinimum": { 79 "type": "boolean", 80 "default": false 81 }, 82 "maxLength": { 83 "$ref": "#/definitions/positiveInteger" 84 }, 85 "minLength": { 86 "$ref": "#/definitions/positiveIntegerDefault0" 87 }, 88 "pattern": { 89 "type": "string", 90 "format": "regex" 91 }, 92 "additionalItems": { 93 "anyOf": [ 94 { 95 "type": "boolean" 96 }, 97 { 98 "$ref": "#" 99 } 100 ], 101 "default": {} 102 }, 103 "items": { 104 "anyOf": [ 105 { 106 "$ref": "#" 107 }, 108 { 109 "$ref": "#/definitions/schemaArray" 110 } 111 ], 112 "default": {} 113 }, 114 "maxItems": { 115 "$ref": "#/definitions/positiveInteger" 116 }, 117 "minItems": { 118 "$ref": "#/definitions/positiveIntegerDefault0" 119 }, 120 "uniqueItems": { 121 "type": "boolean", 122 "default": false 123 }, 124 "maxProperties": { 125 "$ref": "#/definitions/positiveInteger" 126 }, 127 "minProperties": { 128 "$ref": "#/definitions/positiveIntegerDefault0" 129 }, 130 "required": { 131 "$ref": "#/definitions/stringArray" 132 }, 133 "additionalProperties": { 134 "anyOf": [ 135 { 136 "type": "boolean" 137 }, 138 { 139 "$ref": "#" 140 } 141 ], 142 "default": {} 143 }, 144 "definitions": { 145 "type": "object", 146 "additionalProperties": { 147 "$ref": "#" 148 }, 149 "default": {} 150 }, 151 "properties": { 152 "type": "object", 153 "additionalProperties": { 154 "$ref": "#" 155 }, 156 "default": {} 157 }, 158 "patternProperties": { 159 "type": "object", 160 "regexProperties": true, 161 "additionalProperties": { 162 "$ref": "#" 163 }, 164 "default": {} 165 }, 166 "regexProperties": { 167 "type": "boolean" 168 }, 169 "dependencies": { 170 "type": "object", 171 "additionalProperties": { 172 "anyOf": [ 173 { 174 "$ref": "#" 175 }, 176 { 177 "$ref": "#/definitions/stringArray" 178 } 179 ] 180 } 181 }, 182 "enum": { 183 "type": "array", 184 "minItems": 1, 185 "uniqueItems": true 186 }, 187 "type": { 188 "anyOf": [ 189 { 190 "$ref": "#/definitions/simpleTypes" 191 }, 192 { 193 "type": "array", 194 "items": { 195 "$ref": "#/definitions/simpleTypes" 196 }, 197 "minItems": 1, 198 "uniqueItems": true 199 } 200 ] 201 }, 202 "allOf": { 203 "$ref": "#/definitions/schemaArray" 204 }, 205 "anyOf": { 206 "$ref": "#/definitions/schemaArray" 207 }, 208 "oneOf": { 209 "$ref": "#/definitions/schemaArray" 210 }, 211 "not": { 212 "$ref": "#" 213 }, 214 "format": { 215 "type": "string", 216 "format": "format" 217 }, 218 "$ref": { 219 "type": "string" 220 } 221 }, 222 "dependencies": { 223 "exclusiveMaximum": [ 224 "maximum" 225 ], 226 "exclusiveMinimum": [ 227 "minimum" 228 ] 229 }, 230 "default": {} 231}