{ "$schema":                                  "https://json-schema.org/draft/2020-12/schema",
  "$id":                                      "https://schemas.mpai.community/OSD/V1.5/data/LiDARObject.json",
  "title":                                    "LiDAR Object V1.5", "type": "object", "required": [ "Header", "LiDARObjectID",
                                              "LiDARObjectSpaceTime" ], "additionalProperties": false, "properties": {

    "Header":                                 { "type": "string", "pattern": "^OSD-LIO-V[0-9]{1,2}[.][0-9]{1,2}$" },
    "MInstanceID":                            { "type": "string" },
    "LiDARObjectID":                          { "type": "string" },

    "LiDARObjectSpaceTime":                   { "$ref": "https://schemas.mpai.community/OSD/V1.5/data/SpaceTime.json" },

    "BasicLiDARObjectCount":                  { "type": "integer", "minimum": 0 },

    "BasicLiDARObjects":                      { "type": "array", "items": { "type": "object",
                                                "required": [ "BasicLiDARObjectIDOrBasicLiDARObject" ],
                                                "additionalProperties": false, "properties": {

      "BasicLiDARObjectSpaceTime":            { "$ref": "https://schemas.mpai.community/OSD/V1.5/data/SpaceTime.json" },
      "BasicLiDARObjectIDOrBasicLiDARObject": { "$ref": "#/$defs/BasicLiDARObjectIDOrBasicLiDARObject" } } } },

    "SubLiDARObjectCount":                    { "type": "integer", "minimum": 0 },

    "SubLiDARObjects":                        { "type": "array", "items": { "type": "object",
                                                "required": [ "SubLiDARObjectIDOrSubLiDARObject" ],
                                                "additionalProperties": false, "properties": {

      "SubLiDARObjectSpaceTime":              { "$ref": "https://schemas.mpai.community/OSD/V1.5/data/SpaceTime.json" },
      "SubLiDARObjectIDOrSubLiDARObject":     { "$ref": "#/$defs/SubLiDARObjectIDOrSubLiDARObject" } } } },

    "BasicLiDARObjectOrLiDARObject":          { "$ref": "#/$defs/BasicLiDARObjectOrLiDARObject" },

    "DataXMData":                             { "$ref": "https://schemas.mpai.community/PTF/V1.0/data/DataExchangeMetadata.json" },
    "DescrMetadata":                          { "type": "string", "maxLength": 2048 } },

  "$defs":                                    {

    "BasicLiDARObjectOrLiDARObject":          { "type": "array", "items": { "oneOf": [
                                                { "$ref": "https://schemas.mpai.community/OSD/V1.5/data/BasicLiDARObject.json" },
                                                { "$ref": "#/$defs/BasicLiDARObjectOrLiDARObject" } ] } },

    "BasicLiDARObjectIDOrBasicLiDARObject":   { "type": "array", "minItems": 1, "maxItems": 1, "items": { "oneOf": [
                                                { "$ref": "https://schemas.mpai.community/OSD/V1.5/data/BasicLiDARObject.json" },
                                                { "type": "string" } ] } },

    "SubLiDARObjectIDOrSubLiDARObject":       { "type": "array", "minItems": 1, "maxItems": 1, "items": { "oneOf": [
                                                { "$ref": "https://schemas.mpai.community/OSD/V1.5/data/LiDARObject.json" },
                                                { "type": "string" } ] } } } }