{

"$schema" : "http://json-schema.org/draft-04/schema#",
"id" : "http://json-schema.org/draft-04/schema#",
"type" : "object",
"properties" : {
        "type" : {
                "type" : [
                        {
                                "id" : "#simple-type",
                                "type" : "string",
                                "enum" : ["object", "array", "string", "number", "boolean", "null", "any"]
                        }, 
                        "array"
                ],
                "items" : {
                        "type" : [
                                {"$ref" : "#simple-type"}, 
                                {"$ref" : "#"}
                        ]
                },
                "uniqueItems" : true,
                "default" : "any"
        },
        "disallow" : {
                "type" : ["string", "array"],
                "items" : {
                        "type" : ["string", {"$ref" : "#"}]
                },
                "uniqueItems" : true
        },
        "extends" : {
                "type" : [{"$ref" : "#"}, "array"],
                "items" : {"$ref" : "#"},
                "default" : {}
        },
        "enum" : {
                "type" : "array",
                "minItems" : 1,
                "uniqueItems" : true
        },
        "minimum" : {
                "type" : "number"
        },
        "maximum" : {
                "type" : "number"
        },
        "exclusiveMinimum" : {
                "type" : "boolean",
                "default" : false
        },
        "exclusiveMaximum" : {
                "type" : "boolean",
                "default" : false
        },
        "divisibleBy" : {
                "type" : "number",
                "minimum" : 0,
                "exclusiveMinimum" : true,
                "default" : 1
        },
        "minLength" : {
                "type" : "integer",
                "minimum" : 0,
                "default" : 0
        },
        "maxLength" : {
                "type" : "integer"
        },
        "pattern" : {
                "type" : "string"
        },
        "items" : {
                "type" : [{"$ref" : "#"}, "array"],
                "items" : {"$ref" : "#"},
                "default" : {}
        },
        "additionalItems" : {
                "type" : [{"$ref" : "#"}, "boolean"],
                "default" : {}
        },
        "minItems" : {
                "type" : "integer",
                "minimum" : 0,
                "default" : 0
        },
        "maxItems" : {
                "type" : "integer",
                "minimum" : 0
        },
        "uniqueItems" : {
                "type" : "boolean",
                "default" : false
        },
        "properties" : {
                "type" : "object",
                "additionalProperties" : {"$ref" : "#"},
                "default" : {}
        },
        "patternProperties" : {
                "type" : "object",
                "additionalProperties" : {"$ref" : "#"},
                "default" : {}
        },
        "additionalProperties" : {
                "type" : [{"$ref" : "#"}, "boolean"],
                "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"
        },
        "$ref" : {
                "type" : "string"
        },
        "$schema" : {
                "type" : "string"
        },
        "title" : {
                "type" : "string"
        },
        "description" : {
                "type" : "string"
        },
        "default" : {
                "type" : "any"
        }
},
"dependencies" : {
        "exclusiveMinimum" : "minimum",
        "exclusiveMaximum" : "maximum"
},
"default" : {}

}