tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

4.2.4-textQuoteSelector.json (3632B)


      1 {
      2    "$schema": "http://json-schema.org/draft-04/schema#",
      3    "id": "4.2.4-textQuoteSelector.json",
      4    "assertionType": "may",
      5    "expectedResult": "valid",
      6    "onUnexpectedResult" : "passAndContinue",
      7    "errorMessage": "The description of a Specific Resource may include textQuoteSelector .",
      8    "title": "Implements **Specific Resource Text Quote Selector** - [model 4.2.4](https://www.w3.org/TR/annotation-model/#text-quote-selector)",
      9    "description": "True when Annotation includes one or more Specific Resources, one or more of which includes a textQuoteSelector. (Section 4.2.4)",
     10    "type": "object",
     11    "anyOf":
     12     [
     13      { "properties":
     14         { "body":
     15            { "oneOf":
     16               [
     17                 { "type": "object",
     18                   "oneOf":
     19                    [
     20                      { "$ref": "#/definitions/selectorSchema" },
     21                      { "$ref": "#/definitions/itemSchema" }
     22                    ]
     23                 },
     24                 { "type": "array",
     25                   "minItems": 1,
     26                   "not":
     27                    { "items":
     28                       { "not":
     29                          { "oneOf":
     30                             [
     31                               { "$ref": "#/definitions/selectorSchema" },
     32                               { "$ref": "#/definitions/itemSchema" }
     33                             ]
     34                          }
     35                       }
     36                    }
     37                 }
     38               ]
     39            }
     40         },
     41         "required": [ "body" ]
     42      },
     43      { "properties":
     44         { "target":
     45            { "oneOf":
     46               [
     47                 { "type": "object",
     48                   "oneOf":
     49                    [
     50                      { "$ref": "#/definitions/selectorSchema" },
     51                      { "$ref": "#/definitions/itemSchema" }
     52                    ]
     53                 },
     54                 { "type": "array",
     55                   "minItems": 1,
     56                   "not":
     57                    { "items":
     58                        { "not":
     59                           { "oneOf":
     60                              [
     61                                { "$ref": "#/definitions/selectorSchema" },
     62                                { "$ref": "#/definitions/itemSchema" }
     63                              ]
     64                           }
     65                        }
     66                    }
     67                 }
     68               ]
     69            }
     70         },
     71     "required": [ "target" ]
     72       }
     73     ],
     74     "definitions":
     75      {
     76        "selectorSchema":
     77         { "type": "object",
     78           "properties":
     79            { "selector":
     80               { "oneOf":
     81                  [
     82                    { "type": "object",
     83                      "$ref": "specificResource.json#/definitions/textQuoteSelectorDetected"
     84                    },
     85                    { "type": "array",
     86                      "minItems": 1,
     87                      "not":
     88                       { "items":
     89                          { "not": { "$ref": "specificResource.json#/definitions/textQuoteSelectorDetected" } }
     90                       }
     91                    }
     92                  ]
     93               }
     94            },
     95            "required": [ "selector" ]
     96         },
     97 
     98        "itemSchema":
     99         { "type": "object",
    100           "properties":
    101            { "items":
    102               { "type": "array",
    103                 "minItems": 1,
    104                 "not":
    105                  { "items":
    106                      { "not": { "$ref": "#/definitions/selectorSchema" } }
    107                  }
    108               }
    109            },
    110            "required": [ "items" ]
    111         }
    112      }
    113 }