| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 | {  "definitions": {    "stringOrPropertyList": {      "oneOf": [        {          "type": "string"        },        {          "type": "array",          "minItems": 1,          "uniqueItems": true,          "items": {            "type": "string",            "property-reference": {              "comment": "property-reference is an extension to the JSON schema validator. Here it jumps 3 levels up in the hierarchy and tests if a value is an existing key in descriptors. See test/validate-schema.js for implementation details.",              "$data": "3"            }          }        }      ]    }  },  "type": "object",  "additionalProperties": {    "type": "object",    "additionalProperties": false,    "properties": {      "syntax": {        "type": "string"      },      "interfaces": {        "type": "array",        "items": {          "type": "string"        }      },      "groups": {        "type": "array",        "minitems": 1,        "uniqueItems": true,        "items": {          "$ref": "definitions.json#/groupList"        }      },      "descriptors": {        "type": "object",        "additionalProperties": {          "type": "object",          "additionalProperties": false,          "properties": {            "syntax": {              "type": "string"            },            "media": {              "oneOf": [                {                  "type": "string",                  "enum": [                    "all",                    "continuous",                    "paged",                    "visual"                  ]                },                {                  "type": "array",                  "minItems": 2,                  "uniqueItems": true,                  "items": {                    "type": "string",                    "enum": [                      "continuous",                      "paged",                      "visual"                    ]                  }                }              ]            },            "initial": {              "$ref": "#/definitions/stringOrPropertyList"            },            "percentages": {              "$ref": "#/definitions/stringOrPropertyList"            },            "computed": {              "$ref": "#/definitions/stringOrPropertyList"            },            "order": {              "enum": [                "orderOfAppearance",                "uniqueOrder"              ]            },            "status": {              "enum": [                "standard",                "nonstandard",                "experimental"              ]            }          },          "required": [            "syntax",            "media",            "initial",            "percentages",            "computed",            "order",            "status"          ]        }      },      "status": {        "enum": [          "standard",          "nonstandard",          "experimental"        ]      },      "mdn_url": {        "type": "string",        "pattern": "^https://developer.mozilla.org/docs/Web/CSS/"      }    },    "required": [      "syntax",      "groups",      "status"    ]  }}
 |