Skip to content
This repository has been archived by the owner on Nov 2, 2023. It is now read-only.

Commit

Permalink
Update core schemas
Browse files Browse the repository at this point in the history
  • Loading branch information
fge committed Jan 16, 2013
1 parent 2a63db3 commit eb4805e
Show file tree
Hide file tree
Showing 2 changed files with 210 additions and 269 deletions.
233 changes: 99 additions & 134 deletions draft-04/schema
@@ -1,185 +1,150 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "http://json-schema.org/draft-04/schema#",
"type": "object",

"properties": {
"type": {
"type": [ "string", "array" ],
"items": {
"type": [ "string", {"$ref": "#"} ]
},
"uniqueItems": true,
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Core schema meta-schema",
"definitions": {
"schemaArray": {
"type": "array",
"minItems": 1,
"default": "any"
},

"disallow": {
"type": [ "string", "array" ],
"items": {
"type": [ "string", { "$ref": "#" } ]
},
"uniqueItems": true,
"minItems": 1
},

"extends": {
"type": [ {"$ref": "#" }, "array" ],
"items": { "$ref": "#" },
"default": {}
"items": { "$ref": "#" }
},

"enum": {
"positiveInteger": {
"type": "integer",
"minimum": 0
},
"positiveIntegerDefault0": {
"allOf": [ { "$ref": "#/definitions/positiveInteger" }, { "default": 0 } ]
},
"simpleTypes": {
"enum": [ "array", "boolean", "integer", "null", "number", "object", "string" ]
},
"stringArray": {
"type": "array",
"items": { "type": "string" },
"minItems": 1,
"uniqueItems": true
}
},
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uri"
},

"minimum": {
"type": "number"
"$schema": {
"type": "string",
"format": "uri"
},
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"default": {},
"multipleOf": {
"type": "number",
"minimum": 0,
"exclusiveMinimum": true
},

"maximum": {
"type": "number"
},

"exclusiveMinimum": {
"type": "boolean",
"default": false
},

"exclusiveMaximum": {
"type": "boolean",
"default": false
},

"mod": {
"type": "number",
"minimum": 0,
"exclusiveMinimum": true,
"default": 1
},

"minLength": {
"type": "integer",
"minimum": 0,
"default": 0
"minimum": {
"type": "number"
},

"maxLength": {
"type": "integer"
"exclusiveMinimum": {
"type": "boolean",
"default": false
},

"maxLength": { "$ref": "#/definitions/positiveInteger" },
"minLength": { "$ref": "#/definitions/positiveIntegerDefault0" },
"pattern": {
"type": "string",
"format": "regex"
},

"items": {
"type": [ { "$ref": "#" }, "array" ],
"items": {"$ref": "#"},
"default": {}
},

"additionalItems": {
"type": [ { "$ref": "#" }, "boolean" ],
"anyOf": [
{ "type": "boolean" },
{ "$ref": "#" }
],
"default": {}
},

"minItems": {
"type": "integer",
"minimum": 0,
"default": 0
},

"maxItems": {
"type": "integer",
"minimum": 0
"items": {
"anyOf": [
{ "$ref": "#" },
{ "$ref": "#/definitions/schemaArray" }
],
"default": {}
},

"maxItems": { "$ref": "#/definitions/positiveInteger" },
"minItems": { "$ref": "#/definitions/positiveIntegerDefault0" },
"uniqueItems": {
"type": "boolean",
"default": false
},

"properties": {
"maxProperties": { "$ref": "#/definitions/positiveInteger" },
"minProperties": { "$ref": "#/definitions/positiveIntegerDefault0" },
"required": { "$ref": "#/definitions/stringArray" },
"additionalProperties": {
"anyOf": [
{ "type": "boolean" },
{ "$ref": "#" }
],
"default": {}
},
"definitions": {
"type": "object",
"additionalProperties": { "$ref": "#" },
"default": {}
},

"patternProperties": {
"properties": {
"type": "object",
"additionalProperties": { "$ref": "#" },
"default": {}
},

"additionalProperties": {
"type": [ {"$ref": "#" }, "boolean" ],
"patternProperties": {
"type": "object",
"additionalProperties": { "$ref": "#" },
"default": {}
},

"minProperties": {
"type": "integer",
"minimum": 0,
"default": 0
},

"maxProperties": {
"type": "integer",
"minimum": 0
},

"required": {
"type": "array",
"items": {
"type": "string"
}
},

"dependencies": {
"type": "object",
"additionalProperties": {
"type": [ "string", "array", { "$ref": "#" } ],
"items": {
"type": "string"
}
},
"default": {}
},

"id": {
"type": "string",
"format": "uri"
},

"$ref": {
"type": "string",
"format": "uri"
},

"$schema": {
"type": "string",
"format": "uri"
"anyOf": [
{ "$ref": "#" },
{ "$ref": "#/definitions/stringArray" }
]
}
},

"title": {
"type": "string"
"enum": {
"type": "array",
"minItems": 1,
"uniqueItems": true
},

"description": {
"type": "string"
"type": {
"anyOf": [
{ "$ref": "#/definitions/simpleTypes" },
{
"type": "array",
"items": { "$ref": "#/definitions/simpleTypes" },
"minItems": 1,
"uniqueItems": true
}
]
},

"default": {
"type": "any"
}
"allOf": { "$ref": "#/definitions/schemaArray" },
"anyOf": { "$ref": "#/definitions/schemaArray" },
"oneOf": { "$ref": "#/definitions/schemaArray" },
"not": { "$ref": "#" }
},

"dependencies": {
"exclusiveMinimum": "minimum",
"exclusiveMaximum": "maximum"
"exclusiveMaximum": [ "maximum" ],
"exclusiveMinimum": [ "minimum" ]
},

"default": {}
}

0 comments on commit eb4805e

Please sign in to comment.