summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/annotation-model/annotations/specificResource/4.2-selectorValidIfPresent.json
blob: b2721a3c118056bbfb2ee489ec6fa7f6660adae0 (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
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "id": "4.2-selectorValidIfPresent.json",
  "assertionType": "must",
  "expectedResult": "valid",
  "onUnexpectedResult" : "failAndContinue",
  "errorMessage": "ERROR: Annotation contains one or more Specific Resources selectors having value(s) which is(are) not of format uri, nor an object having a type key with a single value which is one of 'FragmentSelector', 'CssSelector', 'XPathSelector', 'TextQuoteSelector', 'TextPositionSelector', 'DataPositionSelector', 'SvgSelector', 'RangeSelector'.",
  "title": "If present **Specific Resource _selector_ key** has one or more values each of which is of **format uri** or an object having a **_type_ key** with a **single value** which is one of **'FragmentSelector', 'CssSelector', 'XPathSelector', 'TextQuoteSelector', 'TextPositionSelector', 'DataPositionSelector', 'SvgSelector', 'RangeSelector'** - [model 4.2](https://www.w3.org/TR/annotation-model/#selectors)",
  "description": "True when no Specific Resources selector present or all Specific Resource selector values included in the Annotation (if any) are of format uri or or are objects having a type key with a single value which is one of 'FragmentSelector', 'CssSelector', 'XPathSelector', 'TextQuoteSelector', 'TextPositionSelector', 'DataPositionSelector', 'SvgSelector', 'RangeSelector'. (Section 4.2)",
  "type": "object",
  "patternProperties":
  {
    "^(body|target)$":
    {"oneOf":
     [
      { "$ref": "id.json#/definitions/stringUri" },
      { "type": "object",
        "allOf":
        [
          { "$ref": "specificResource.json#/definitions/selectorDefined" },
          { "$ref": "specificResource.json#/definitions/itemSelectorValidIfPresent" }
        ]
      },
         { "type": "array",
           "minItems": 1,
           "items":
            {"oneOf":
              [
                { "$ref": "id.json#/definitions/stringUri" },
                { "type": "object",
                  "allOf":
                  [
                   { "$ref": "specificResource.json#/definitions/selectorDefined" },
                   { "$ref": "specificResource.json#/definitions/itemSelectorValidIfPresent" }
                  ]
                }
              ]
           }
         }
    ]
   }
  }
}