1{
2    "$schema": "http://json-schema.org/draft-04/schema#",
3    "id": "3.2.2-targType.json",
4    "assertionType": "may",
5    "expectedResult": "valid",
6    "onUnexpectedResult" : "passAndContinue",
7    "errorMessage": "The description of a Target may include type key with one or more values that are each drawn from the model's list of resource classes.",
8    "title": "Implements **target _type_ key** with one or more values each of which is drawn from the **model's list of resource classes** [model 3.2.1](https://www.w3.org/TR/annotation-model/#bodies-and-targets)",
9    "description": "True when Annotation includes one or more Targets, one or more of which include type key with one or more values that are each drawn from the model's list of resource classes. (Section 3.2.1)",
10    "type": "object",
11    "properties":
12    {
13        "target":
14        {
15           "oneOf": [
16                      { "anyOf": [
17                        { "$ref": "bodyTarget.json#/definitions/recognizedTypeFound" },
18                        { "$ref": "bodyTarget.json#/definitions/itemRecognizedTypeFound" },
19                        { "$ref": "bodyTarget.json#/definitions/sourceFormatPropertyFound" }
20                        ]
21                      },
22                       { "not":
23                         { "items":
24                            { "not":
25                               { "anyOf": [
26                                  { "$ref": "bodyTarget.json#/definitions/recognizedTypeFound" },
27                                  { "$ref": "bodyTarget.json#/definitions/itemRecognizedTypeFound" },
28                                  { "$ref": "bodyTarget.json#/definitions/sourceRecognizedTypeFound" }
29                                 ]
30                               }
31                             }
32                         }
33                       }
34                     ]
35         }
36     },
37    "required": [ "target" ]
38}