-
Notifications
You must be signed in to change notification settings - Fork 19
/
Copy pathtd-vocab-additionalResponses--Form.json
116 lines (116 loc) · 3.72 KB
/
td-vocab-additionalResponses--Form.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
{
"title": "td-vocab-additionalResponses--Form",
"description": "additionalResponses: This optional term can be used if additional expected responses are possible, e.g. for error reporting. Each additional response needs to be distinguished from others in some way (for example, by specifying a protocol-specific error code), and may also have its own data schema. MAY be included. Type: AdditionalExpectedResponse or Array of AdditionalExpectedResponse.",
"$schema ": "http://json-schema.org/draft/2019-09/schema#",
"is-complex": true,
"type": "object",
"properties": {
"forms": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/definitions/form_element"
}
},
"properties": {
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/property_element"
}
},
"actions": {
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/action_element"
}
},
"events": {
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/event_element"
}
}
},
"definitions": {
"property_element": {
"type": "object",
"properties": {
"forms": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/definitions/form_element"
}
}
},
"required": ["forms"],
"additionalProperties": true
},
"action_element": {
"type": "object",
"properties": {
"forms": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/definitions/form_element"
}
}
},
"required": ["forms"],
"additionalProperties": true
},
"event_element": {
"type": "object",
"properties": {
"forms": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/definitions/form_element"
}
}
},
"required": ["forms"],
"additionalProperties": true
},
"form_element": {
"type": "object",
"if": {
"required": ["additionalResponses"],
"properties": {
"additionalResponses": {
"oneOff": [
{
"$ref": "#/definitions/additionalResponse_element"
},
{
"type": "array",
"items": {
"$ref": "#/definitions/additionalResponse_element"
}
}
]
}
}
},
"then": {
"const": "td-vocab-additionalResponses--Form=pass"
}
},
"additionalResponse_element": {
"type": "object",
"properties": {
"contentType": {
"type": "string"
},
"schema": {
"type": "string"
},
"success": {
"type": "boolean"
}
}
}
}
}