summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/annotation-model/annotations/specificResource/4.2.4-prefix.json
blob: 825a24a6d9eb4d07a72c8e6586172d6ae069c2f0 (plain)
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
{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "id": "4.2.4-prefix.json",
    "assertionType": "should",
    "expectedResult": "valid",
    "onUnexpectedResult" : "passAndContinue",
    "errorMessage": "The description of a TextQuoteSelector should include prefix key with a single value .",
    "title": "Implements **Specific Resource _prefix_ key** with a **single string value** on a **Specific Resource TextQuoteSelector** - [model 4.2.4](https://www.w3.org/TR/annotation-model/#text-quote-selector)",
    "description": "True when Annotation includes one or more TextQuoteSelectors, one or more of which include prefix key with a single value . (Section 4.2.4)",
    "type": "object",
    "anyOf":
     [
      { "properties":
         { "body":
            { "oneOf":
               [
                 { "type": "object",
                   "oneOf":
                    [
                      { "$ref": "#/definitions/selectorSchema" },
                      { "$ref": "#/definitions/itemSchema" }
                    ]
                 },
                 { "type": "array",
                   "minItems": 1,
                   "not":
                    { "items":
                       { "not":
                          { "oneOf":
                             [
                               { "$ref": "#/definitions/selectorSchema" },
                               { "$ref": "#/definitions/itemSchema" }
                             ]
                          }
                       }
                    }
                 }
               ]
            }
         },
         "required": [ "body" ]
      },
      { "properties":
         { "target":
            { "oneOf":
               [
                 { "type": "object",
                   "oneOf":
                    [
                      { "$ref": "#/definitions/selectorSchema" },
                      { "$ref": "#/definitions/itemSchema" }
                    ]
                 },
                 { "type": "array",
                   "minItems": 1,
                   "not":
                    { "items":
                        { "not":
                           { "oneOf":
                              [
                                { "$ref": "#/definitions/selectorSchema" },
                                { "$ref": "#/definitions/itemSchema" }
                              ]
                           }
                        }
                    }
                 }
               ]
            }
         },
     "required": [ "target" ]
       }
     ],
     "definitions":
      {
        "selectorSchema":
         { "type": "object",
           "properties":
            { "selector":
               { "oneOf":
                  [
                    { "type": "object",
                      "$ref": "specificResource.json#/definitions/prefixPropertyFound"
                    },
                    { "type": "array",
                      "minItems": 1,
                      "not":
                       { "items":
                          { "not": { "$ref": "specificResource.json#/definitions/prefixPropertyFound" } }
                       }
                    }
                  ]
               }
            },
            "required": [ "selector" ]
         },

        "itemSchema":
         { "type": "object",
           "properties":
            { "items":
               { "type": "array",
                 "minItems": 1,
                 "not":
                  { "items":
                      { "not": { "$ref": "#/definitions/selectorSchema" } }
                  }
               }
            },
            "required": [ "items" ]
         }
      }
}