content: 
  ["$defs"]
  
  ######################
  # Vectors of strings #
  ######################
  
  ["$defs".vec_string_attribute.if]
  type = "object"
  
  ["$defs".vec_string_attribute.then]
  title = "Long notation"
  type = "object"
  required = ["value", "datatype"]
  
  ["$defs".vec_string_attribute.then.properties]
  
  value.anyOf = [
      { type = "string" },
      { type = "array", items = { "type" = "string" } },
  ]
  
  datatype.enum = [
      "STRING",
      "CHAR",
      "SCHAR",
      "UCHAR",
      "VEC_STRING",
      "VEC_CHAR",
      "VEC_SCHAR",
      "VEC_UCHAR",
  ]
  
  ["$defs".vec_string_attribute.else]
  title = "Shorthand notation"
  anyOf = [{ type = "string" }, { type = "array", items = { "type" = "string" } }]
  
  
  ##################
  # Vectors of int #
  ##################
  
  ["$defs".vec_int_attribute.if]
  type = "object"
  
  ["$defs".vec_int_attribute.then]
  title = "Long notation"
  type = "object"
  required = ["value", "datatype"]
  
  ["$defs".vec_int_attribute.then.properties]
  
  value.anyOf = [
      { type = "integer" },
      { type = "array", items = { "type" = "integer" } },
  ]
  
  datatype.enum = [
      "SHORT",
      "INT",
      "LONG",
      "LONGLONG",
      "USHORT",
      "UINT",
      "ULONG",
      "ULONGLONG",
      "VEC_SHORT",
      "VEC_INT",
      "VEC_LONG",
      "VEC_LONGLONG",
      "VEC_USHORT",
      "VEC_UINT",
      "VEC_ULONG",
      "VEC_ULONGLONG",
  ]
  
  ["$defs".vec_int_attribute.else]
  title = "Shorthand notation"
  anyOf = [
      { type = "integer" },
      { type = "array", items = { "type" = "integer" } },
  ]
  
  ####################
  # Vectors of float #
  ####################
  
  ["$defs".vec_float_attribute.if]
  type = "object"
  
  ["$defs".vec_float_attribute.then]
  title = "Long notation"
  type = "object"
  required = ["value", "datatype"]
  
  ["$defs".vec_float_attribute.then.properties]
  
  value.anyOf = [
      { type = "number" },
      { type = "array", items = { "type" = "number" } },
  ]
  
  datatype.enum = [
      "CHAR",
      "UCHAR",
      "SCHAR",
      "SHORT",
      "INT",
      "LONG",
      "LONGLONG",
      "USHORT",
      "UINT",
      "ULONG",
      "ULONGLONG",
      "FLOAT",
      "DOUBLE",
      "LONG_DOUBLE",
      "CFLOAT",
      "CDOUBLE",
      "CLONG_DOUBLE",
      "VEC_SHORT",
      "VEC_INT",
      "VEC_LONG",
      "VEC_LONGLONG",
      "VEC_USHORT",
      "VEC_UINT",
      "VEC_ULONG",
      "VEC_ULONGLONG",
      "VEC_FLOAT",
      "VEC_DOUBLE",
      "VEC_LONG_DOUBLE",
      "VEC_CFLOAT",
      "VEC_CDOUBLE",
      "VEC_CLONG_DOUBLE",
  ]
  
  ["$defs".vec_float_attribute.else]
  title = "Shorthand notation"
  anyOf = [{ type = "number" }, { type = "array", items = { "type" = "number" } }]
  
  ###########################
  # Special case:           #
  # unitDimension attribute #
  ###########################
  
  ["$defs".unitDimension.if]
  type = "object"
  
  ["$defs".unitDimension.then]
  title = "Long notation"
  type = "object"
  required = ["value", "datatype"]
  
  ["$defs".unitDimension.then.properties]
  
  value = { type = "array", items = { type = "number" } }
  datatype.const = "ARR_DBL_7"
  
  ["$defs".unitDimension.else]
  title = "Shorthand notation"
  type = "array"
  items.type = "number"
  
  #####################
  # string attributes #
  #####################
  
  ["$defs".string_attribute.if]
  type = "object"
  
  ["$defs".string_attribute.then]
  title = "Long notation"
  type = "object"
  required = ["value", "datatype"]
  
  ["$defs".string_attribute.then.properties]
  
  value.type = "string"
  datatype.enum = ["STRING", "CHAR", "SCHAR", "UCHAR"]
  
  ["$defs".string_attribute.else]
  title = "Shorthand notation"
  type = "string"
  
  ##################
  # int attributes #
  ##################
  
  ["$defs".int_attribute.if]
  type = "object"
  
  ["$defs".int_attribute.then]
  title = "Long notation"
  type = "object"
  required = ["value", "datatype"]
  
  ["$defs".int_attribute.then.properties]
  
  value.type = "integer"
  datatype.enum = [
      "SHORT",
      "INT",
      "LONG",
      "LONGLONG",
      "USHORT",
      "UINT",
      "ULONG",
      "ULONGLONG",
  ]
  
  ["$defs".int_attribute.else]
  title = "Shorthand notation"
  type = "integer"
  
  ####################
  # float attributes #
  ####################
  
  ["$defs".float_attribute.if]
  type = "object"
  
  ["$defs".float_attribute.then]
  title = "Long notation"
  type = "object"
  required = ["value", "datatype"]
  
  ["$defs".float_attribute.then.properties]
  
  value.type = "number"
  datatype.enum = [
      "CHAR",
      "UCHAR",
      "SCHAR",
      "SHORT",
      "INT",
      "LONG",
      "LONGLONG",
      "USHORT",
      "UINT",
      "ULONG",
      "ULONGLONG",
      "FLOAT",
      "DOUBLE",
      "LONG_DOUBLE",
      "CFLOAT",
      "CDOUBLE",
      "CLONG_DOUBLE",
  ]
  
  
  ["$defs".float_attribute.else]
  title = "Shorthand notation"
  type = "number"
  