xref: /aosp_15_r20/external/json-schema-validator/src/test/resources/schema/issue383-v7.json (revision 78c4dd6aa35290980cdcd1623a7e337e8d021c7c)
1{
2  "type": "object",
3  "properties": {
4    "validation": {
5      "$ref": "#/definitions/predicateOrNull"
6    }
7  },
8  "definitions": {
9    "fieldRef": {
10      "type": "object",
11      "properties": {
12        "field": {
13          "type": "string"
14        },
15        "set": {
16          "type": "string"
17        }
18      },
19      "required": [
20        "field"
21      ]
22    },
23    "patternPredicate": {
24      "type": "object",
25      "oneOf": [
26        {
27          "properties": {
28            "notEmpty": {
29              "$ref": "#/definitions/fieldRef"
30            }
31          },
32          "required": [
33            "notEmpty"
34          ]
35        },
36        {
37          "properties": {
38            "notBlank": {
39              "$ref": "#/definitions/fieldRef"
40            }
41          },
42          "required": [
43            "notBlank"
44          ]
45        }
46      ]
47    },
48    "allPredicate": {
49      "type": "object",
50      "properties": {
51        "all": {
52          "type": "array",
53          "minItems": 1,
54          "items": {
55            "$ref": "#/definitions/predicate"
56          }
57        }
58      },
59      "required": [
60        "all"
61      ]
62    },
63    "predicate": {
64      "type": "object",
65      "oneOf": [
66        {
67          "$ref": "#/definitions/patternPredicate"
68        },
69        {
70          "$ref": "#/definitions/allPredicate"
71        }
72      ]
73    },
74    "predicateOrNull": {
75      "oneOf": [
76        {
77          "$ref": "#/definitions/predicate"
78        },
79        {
80          "type": "null"
81        }
82      ]
83    }
84  }
85}
86