4.2-selectorValidIfPresent.json (2290B)
1 { 2 "$schema": "http://json-schema.org/draft-04/schema#", 3 "id": "4.2-selectorValidIfPresent.json", 4 "assertionType": "must", 5 "expectedResult": "valid", 6 "onUnexpectedResult" : "failAndContinue", 7 "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'.", 8 "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)", 9 "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)", 10 "type": "object", 11 "patternProperties": 12 { 13 "^(body|target)$": 14 {"oneOf": 15 [ 16 { "$ref": "id.json#/definitions/stringUri" }, 17 { "type": "object", 18 "allOf": 19 [ 20 { "$ref": "specificResource.json#/definitions/selectorDefined" }, 21 { "$ref": "specificResource.json#/definitions/itemSelectorValidIfPresent" } 22 ] 23 }, 24 { "type": "array", 25 "minItems": 1, 26 "items": 27 {"oneOf": 28 [ 29 { "$ref": "id.json#/definitions/stringUri" }, 30 { "type": "object", 31 "allOf": 32 [ 33 { "$ref": "specificResource.json#/definitions/selectorDefined" }, 34 { "$ref": "specificResource.json#/definitions/itemSelectorValidIfPresent" } 35 ] 36 } 37 ] 38 } 39 } 40 ] 41 } 42 } 43 }