{ "$schema": "http://json-schema.org/draft-04/schema#", "definitions": { "outputItem": { "type": "object", "properties": { "valid": {"type": "boolean"}, "keywordLocation": {"type": "string"}, "absoluteKeywordLocation": { "type": "string", "format": "uri" }, "instanceLocation": {"type": "string"}, "annotations": { "type": "array", "items": {"$ref": "#/definitions/outputItem"} }, "errors": { "type": "array", "items": {"$ref": "#/definitions/outputItem"} } } } }, "type": "array", "items": { "type": "object", "required": ["description", "schema", "tests"], "properties": { "description": {"type": "string"}, "schema": {}, "tests": { "type": "array", "items": { "type": "object", "required": ["description", "data", "valid"], "properties": { "description": {"type": "string"}, "data": {}, "valid": {"type": "boolean"}, "output": { "type": "object", "properties": { "basic": {"$ref": "#/definitions/outputItem"}, "detailed": {"$ref": "#/definitions/outputItem"}, "verbose": {"$ref": "#/definitions/outputItem"} }, "required": ["basic", "detailed", "verbose"] } }, "additionalProperties": false }, "minItems": 1 } }, "additionalProperties": false, "minItems": 1 } }