{ "$schema":                  "https://json-schema.org/draft/2020-12/schema",
  "$id":                      "https://schemas.mpai.community/OSD/V1.5/data/BoundingBox.json",
  "title":                    "BoundingBox V1.5", "type": "object", "required": [ "Header", "BoundingBoxID", "Dimensions",
                              "VisualData", "BBXContentFormats" ], "additionalProperties": false, "unevaluatedProperties": false, 
                              "properties": {

    "Header":                 { "type": "string", "pattern": "^OSD-BBX-V[0-9]{1,2}[.][0-9]{1,2}$" },
    "MInstanceID":            { "type": "string", "description": "Unique identifier of the metadata instance." },
    "BoundingBoxID":          { "type": "string", "description": "Identifier of this bounding box object." },

    "Dimensions":             { "type": "string", "enum": [ "2D", "3D" ], "description": "Bounding box dimensionality (2D or 3D)." },

    "RightParallelepiped":    { "$ref": "https://schemas.mpai.community/OSD/V1.5/data/RightParallelepiped.json",
                                "description": "3D bounding volume; valid only when Dimensions = 3D." },

    "VisualData":             { "$ref": "https://schemas.mpai.community/OSD/V1.5/data/VisualObject.json",
                                "description": "The visual object surrounded by the bounding box." },

    "BBXContentFormats":      { "type": "array", "minItems": 1, "description": "Object represented within this bounding box.",
                                "items": { "oneOf": [
                                  { "type": "object", "required": [ "2D" ], "additionalProperties": false, "properties": {
                                    "2D": { "$ref": "https://schemas.mpai.community/TFA/V1.5/formats/Visual2DStaticFormats.json" } } },
                                  { "type": "object", "required": [ "3D" ], "additionalProperties": false, "properties": {
                                    "3D": { "$ref": "https://schemas.mpai.community/TFA/V1.5/formats/Visual3DStaticFormats.json" } } } ] } },

    "DXMData":                { "$ref": "https://schemas.mpai.community/AIF/V3.0/data/DataExchangeMetadata.json" },
    "DescrMetadata":          { "type": "string", "maxLength": 2048 } },

  "allOf":                    [

    { "if":   { "properties": { "Dimensions": { "const": "2D" } } },
      "then": { "not": { "required": [ "RightParallelepiped" ] }, "properties": {
          "BBXContentFormats": { "contains": { "type": "object", "required": [ "2D" ], "additionalProperties": false },
                                               "minContains": 1, "maxContains": 1 } } } },

    { "if":   { "properties": { "Dimensions": { "const": "3D" } } },
      "then": { "required": [ "RightParallelepiped" ], "properties": {
          "BBXContentFormats": { "contains": { "type": "object", "required": [ "3D" ], "additionalProperties": false },
                                               "minContains": 1, "maxContains": 1 } } } } ] }