|
3 | 3 | "$comment": "IIIF basic types", |
4 | 4 | "types": { |
5 | 5 | "id": { |
| 6 | + "title":"id", |
| 7 | + "description": "Id must be present and must be a URI", |
6 | 8 | "type": "string", |
7 | 9 | "format": "uri", |
8 | | - "pattern": "^http.*$", |
9 | | - "title": "Id must be present and must be a URI" |
| 10 | + "pattern": "^http.*$" |
10 | 11 | }, |
11 | 12 | "lngString": { |
12 | | - "title": "Language string, must have a language and value must be an array.", |
| 13 | + "title":"LngString", |
| 14 | + "description": "Language string, must have a language and value must be an array.", |
13 | 15 | "type": "object", |
14 | 16 | "patternProperties": { |
15 | 17 | "^[a-zA-Z-][a-zA-Z-]*$": { |
|
24 | 26 | "additionalProperties": false |
25 | 27 | }, |
26 | 28 | "dimension": { |
| 29 | + "title": "dimension", |
27 | 30 | "type": "integer", |
28 | 31 | "exclusiveMinimum": 0 |
29 | 32 | }, |
30 | 33 | "keyValueString": { |
| 34 | + "title": "KeyValueString", |
31 | 35 | "type": "object", |
32 | 36 | "properties": { |
33 | 37 | "label": {"$ref": "#/types/lngString" }, |
|
36 | 40 | "required": ["label", "value"] |
37 | 41 | }, |
38 | 42 | "BCP47": { |
| 43 | + "title": "BCP47", |
39 | 44 | "anyOf": [ |
40 | 45 | { |
41 | 46 | "type":"string", |
|
48 | 53 | ] |
49 | 54 | }, |
50 | 55 | "format": { |
| 56 | + "title": "format", |
51 | 57 | "type": "string", |
52 | 58 | "pattern": "^[a-z][a-z]*/.*$" |
53 | 59 | }, |
54 | 60 | "class": { |
55 | | - "title": "Classes MUST have an id and type property and MAY have a label.", |
| 61 | + "title": "class", |
| 62 | + "description": "Classes MUST have an id and type property and MAY have a label.", |
56 | 63 | "type": "object", |
57 | 64 | "properties": { |
58 | 65 | "id": { "$ref": "#/types/id" }, |
|
62 | 69 | "required": ["id", "type"] |
63 | 70 | }, |
64 | 71 | "duration": { |
| 72 | + "title":"duration", |
65 | 73 | "type": "number", |
66 | 74 | "exclusiveMinimum": 0 |
67 | 75 | }, |
68 | 76 | "external": { |
| 77 | + "title":"LinkedResources", |
69 | 78 | "type": "array", |
70 | 79 | "items": { |
71 | 80 | "allOf": [ |
72 | 81 | { "$ref": "#/types/class" }, |
73 | 82 | { |
| 83 | + "title": "linkedResource", |
74 | 84 | "type": "object", |
75 | 85 | "properties": { |
76 | 86 | "format": { "$ref": "#/types/format" }, |
|
113 | 123 | } |
114 | 124 | }, |
115 | 125 | "homepage": { |
| 126 | + "title":"homepages", |
116 | 127 | "type": "array", |
117 | 128 | "items": { |
118 | 129 | "allOf": [ |
119 | 130 | { "$ref": "#/types/class" }, |
120 | 131 | { |
| 132 | + "title": "homepage", |
121 | 133 | "type": "object", |
122 | 134 | "properties": { |
123 | 135 | "format": { "$ref": "#/types/format" }, |
|
155 | 167 | "resource": { |
156 | 168 | "oneOf": [ |
157 | 169 | { |
158 | | - "title": "Annotation bodies MUST have an id and type property.", |
| 170 | + "title": "AnnotationBody", |
| 171 | + "description": "Annotation bodies MUST have an id and type property.", |
159 | 172 | "type": "object", |
160 | 173 | "properties": { |
161 | 174 | "id": { "$ref": "#/types/id" }, |
|
187 | 200 | "required": ["id", "type"] |
188 | 201 | }, |
189 | 202 | { |
190 | | - "title": "Annotation bodies which are TextualBody MUST have an type and value property.", |
| 203 | + "title":"TextualBody", |
| 204 | + "description": "Annotation bodies which are TextualBody MUST have an type and value property.", |
191 | 205 | "type": "object", |
192 | 206 | "properties": { |
193 | 207 | "id": { "$ref": "#/types/id" }, |
|
221 | 235 | "items": { |
222 | 236 | "oneOf": [ |
223 | 237 | { |
| 238 | + "title": "serviceV3", |
224 | 239 | "allOf": [ |
225 | 240 | { "$ref": "#/types/class" }, |
226 | 241 | { |
|
234 | 249 | }, |
235 | 250 | { |
236 | 251 | "type": "object", |
| 252 | + "title": "serviceV2", |
237 | 253 | "properties": { |
238 | 254 | "@id": { "$ref": "#/types/id" }, |
239 | 255 | "@type": { "type": "string" }, |
|
246 | 262 | } |
247 | 263 | }, |
248 | 264 | "rights": { |
249 | | - "title": "Rights URI isn't from either Creative Commons or RightsStatements.org. Both require http links.", |
| 265 | + "title": "rights", |
| 266 | + "description": "Rights URI isn't from either Creative Commons or RightsStatements.org. Both require http links.", |
250 | 267 | "oneOf": [ |
251 | 268 | { |
252 | 269 | "type": "string", |
|
378 | 395 | } |
379 | 396 | }, |
380 | 397 | "provider": { |
| 398 | + "title": "providers", |
381 | 399 | "type": "array", |
382 | 400 | "items": { |
383 | 401 | "allOf": [ |
384 | 402 | { "$ref": "#/types/class" }, |
385 | 403 | { |
| 404 | + "title":"provider", |
386 | 405 | "type": "object", |
387 | 406 | "properties": { |
388 | 407 | "type": { |
|
411 | 430 | "type": "string", |
412 | 431 | "pattern": "^Collection", |
413 | 432 | "default": "Collection", |
414 | | - "title": "Are you validating a collection?", |
| 433 | + "title": "Collection", |
415 | 434 | "description":"If you are validating a manifest, you may get this error if there are errors in the manifest. The validator first validates it as a manifest and if that fails it will try and validate it using the other types." |
416 | 435 | }, |
417 | 436 | "metadata": { "$ref": "#/classes/metadata" }, |
|
603 | 622 | "type": "string" |
604 | 623 | }, |
605 | 624 | { |
| 625 | + "title":"AnnotationPageRefExtended", |
606 | 626 | "allOf": [ |
607 | 627 | { "$ref": "#/types/reference" }, |
608 | 628 | { |
|
624 | 644 | "type": "string" |
625 | 645 | }, |
626 | 646 | { |
| 647 | + "title":"AnnotationCollectionRefExtended", |
627 | 648 | "allOf": [ |
628 | 649 | { "$ref": "#/types/reference" }, |
629 | 650 | { |
|
1047 | 1068 | "pattern": "^http.*$" |
1048 | 1069 | }, |
1049 | 1070 | { |
| 1071 | + "title": "PointSelector", |
1050 | 1072 | "type": "object", |
1051 | 1073 | "properties": { |
1052 | 1074 | "type": { |
|
1061 | 1083 | "required": ["type"] |
1062 | 1084 | }, |
1063 | 1085 | { |
| 1086 | + "title": "FragmentSelector", |
1064 | 1087 | "type": "object", |
1065 | 1088 | "properties": { |
1066 | 1089 | "type": { |
|
1081 | 1104 | "required": ["type","value"] |
1082 | 1105 | }, |
1083 | 1106 | { |
| 1107 | + "title": "SVGSelector", |
1084 | 1108 | "type": "object", |
1085 | 1109 | "properties": { |
1086 | 1110 | "type": { |
|
1095 | 1119 | "required": ["type","value"] |
1096 | 1120 | }, |
1097 | 1121 | { |
| 1122 | + "title": "ImageAPISelector", |
1098 | 1123 | "type": "object", |
1099 | 1124 | "properties": { |
1100 | 1125 | "type": { |
|
1151 | 1176 | "items": { |
1152 | 1177 | "oneOf": [ |
1153 | 1178 | { "$ref": "#/classes/specificResource" }, |
1154 | | - { |
1155 | | - "allOf": [ |
1156 | | - { "$ref": "#/types/class" }, |
1157 | | - { |
1158 | | - "type": "object", |
1159 | | - "properties": { |
1160 | | - "type": { |
1161 | | - "type": "string", |
1162 | | - "pattern": "^Canvas$", |
1163 | | - "default": "Canvas" |
1164 | | - }, |
1165 | | - "items": { |
1166 | | - "type": "array" |
1167 | | - } |
1168 | | - }, |
1169 | | - "required": ["items"] |
1170 | | - } |
1171 | | - ] |
1172 | | - }, |
| 1179 | + { "$ref": "#/classes/canvas" }, |
1173 | 1180 | { "$ref": "#/classes/range" }, |
1174 | 1181 | { "$ref": "#/classes/rangeRef" }, |
1175 | 1182 | { "$ref": "#/classes/canvasRef" } |
|
1183 | 1190 | } |
1184 | 1191 | }, |
1185 | 1192 | "$id": "http://iiif.io/api/presentation/3/schema.json" , |
| 1193 | + "title":"AbstractIIIFResource", |
1186 | 1194 | "oneOf": [ |
1187 | 1195 | { "$ref": "#/classes/manifest" }, |
1188 | 1196 | { "$ref": "#/classes/collection" }, |
|
0 commit comments