JAL-1641 biojson documentation with docson
[jalview.git] / examples / biojson-doc / tests / schema.json
diff --git a/examples/biojson-doc/tests/schema.json b/examples/biojson-doc/tests/schema.json
new file mode 100755 (executable)
index 0000000..7ddd475
--- /dev/null
@@ -0,0 +1,154 @@
+[
+    {
+        "schema": {
+            "id": "http://json-schema.org/draft-04/schema#",
+            "$schema": "http://json-schema.org/draft-04/schema#",
+            "description": "Core schema meta-schema",
+            "definitions": {
+                "schemaArray": {
+                    "type": "array",
+                    "minItems": 1,
+                    "items": { "$ref": "#" }
+                },
+                "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"
+                },
+                "$schema": {
+                    "type": "string",
+                    "format": "uri"
+                },
+                "title": {
+                    "type": "string"
+                },
+                "description": {
+                    "type": "string"
+                },
+                "default": {},
+                "multipleOf": {
+                    "type": "number",
+                    "minimum": 0,
+                    "exclusiveMinimum": true
+                },
+                "maximum": {
+                    "type": "number"
+                },
+                "exclusiveMaximum": {
+                    "type": "boolean",
+                    "default": false
+                },
+                "minimum": {
+                    "type": "number"
+                },
+                "exclusiveMinimum": {
+                    "type": "boolean",
+                    "default": false
+                },
+                "maxLength": { "$ref": "#/definitions/positiveInteger" },
+                "minLength": { "$ref": "#/definitions/positiveIntegerDefault0" },
+                "pattern": {
+                    "type": "string",
+                    "format": "regex"
+                },
+                "additionalItems": {
+                    "anyOf": [
+                        { "type": "boolean" },
+                        { "$ref": "#" }
+                    ],
+                    "default": {}
+                },
+                "items": {
+                    "anyOf": [
+                        { "$ref": "#" },
+                        { "$ref": "#/definitions/schemaArray" }
+                    ],
+                    "default": {}
+                },
+                "maxItems": { "$ref": "#/definitions/positiveInteger" },
+                "minItems": { "$ref": "#/definitions/positiveIntegerDefault0" },
+                "uniqueItems": {
+                    "type": "boolean",
+                    "default": false
+                },
+                "maxProperties": { "$ref": "#/definitions/positiveInteger" },
+                "minProperties": { "$ref": "#/definitions/positiveIntegerDefault0" },
+                "required": { "$ref": "#/definitions/stringArray" },
+                "additionalProperties": {
+                    "anyOf": [
+                        { "type": "boolean" },
+                        { "$ref": "#" }
+                    ],
+                    "default": {}
+                },
+                "definitions": {
+                    "type": "object",
+                    "additionalProperties": { "$ref": "#" },
+                    "default": {}
+                },
+                "properties": {
+                    "type": "object",
+                    "additionalProperties": { "$ref": "#" },
+                    "default": {}
+                },
+                "patternProperties": {
+                    "type": "object",
+                    "additionalProperties": { "$ref": "#" },
+                    "default": {}
+                },
+                "dependencies": {
+                    "type": "object",
+                    "additionalProperties": {
+                        "anyOf": [
+                            { "$ref": "#" },
+                            { "$ref": "#/definitions/stringArray" }
+                        ]
+                    }
+                },
+                "enum": {
+                    "type": "array",
+                    "minItems": 1,
+                    "uniqueItems": true
+                },
+                "type": {
+                    "anyOf": [
+                        { "$ref": "#/definitions/simpleTypes" },
+                        {
+                            "type": "array",
+                            "items": { "$ref": "#/definitions/simpleTypes" },
+                            "minItems": 1,
+                            "uniqueItems": true
+                        }
+                    ]
+                },
+                "allOf": { "$ref": "#/definitions/schemaArray" },
+                "anyOf": { "$ref": "#/definitions/schemaArray" },
+                "oneOf": { "$ref": "#/definitions/schemaArray" },
+                "not": { "$ref": "#" }
+            },
+            "dependencies": {
+                "exclusiveMaximum": [ "maximum" ],
+                "exclusiveMinimum": [ "minimum" ]
+            },
+            "default": {}
+        }
+
+    }]