Skip to content
ts_103120_Delivery.schema.json 4.78 KiB
Newer Older
canterburym's avatar
canterburym committed
{
  "$id": "ts_103120_Delivery_2019_10",
  "$defs": {
    "DeliveryObject": {
      "type": "object",
      "properties": {
        "@xsi:type": {
          "type": "string",
          "enum": "{http://uri.etsi.org/03120/common/2019/10/Delivery}DeliveryObject"
        },
        "ObjectIdentifier": {
          "$ref": "ts_103120_Core_2019_10#/$defs/ObjectIdentifier"
        },
        "CountryCode": {
          "$ref": "ts_103280_2017_07#/$defs/ISOCountryCode"
        },
        "OwnerIdentifier": {
          "$ref": "ts_103280_2017_07#/$defs/ShortString"
        },
        "Generation": {
          "type": "integer",
          "minimum": 0
        },
        "ExternalIdentifier": {
          "$ref": "ts_103280_2017_07#/$defs/LongString"
        },
        "AssociatedObjects": {
          "$ref": "ts_103120_Core_2019_10#/$defs/AssociatedObjects"
        },
        "LastChanged": {
          "$ref": "ts_103280_2017_07#/$defs/QualifiedDateTime"
        },
        "NationalHandlingParameters": {
          "$ref": "ts_103120_Core_2019_10#/$defs/NationalHandlingParameters"
        },
        "delivery:Reference": {
canterburym's avatar
canterburym committed
          "$ref": "#/$defs/Reference"
        },
        "delivery:DeliveryID": {
canterburym's avatar
canterburym committed
          "$ref": "ts_103280_2017_07#/$defs/UUID"
        },
        "delivery:SequenceNumber": {
canterburym's avatar
canterburym committed
          "type": "integer",
          "minimum": 0
        },
        "delivery:LastSequence": {
canterburym's avatar
canterburym committed
          "type": "boolean"
        },
        "delivery:Manifest": {
canterburym's avatar
canterburym committed
          "$ref": "#/$defs/Manifest"
        },
        "delivery:Delivery": {
canterburym's avatar
canterburym committed
          "$ref": "#/$defs/Delivery"
        }
      },
      "required": [
        "@xsi:type",
        "ObjectIdentifier"
      ]
    },
    "Reference": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "LDID": {
              "$ref": "ts_103280_2017_07#/$defs/LDID"
            }
          },
          "required": [
            "LDID"
          ]
        },
        {
          "type": "object",
          "properties": {
            "LIID": {
              "$ref": "ts_103280_2017_07#/$defs/LIID"
            }
          },
          "required": [
            "LIID"
          ]
        }
      ]
    },
    "Manifest": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "Specification": {
              "$ref": "ts_103120_Common_2016_02#/$defs/DictionaryEntry"
            }
          },
          "required": [
            "Specification"
          ]
        },
        {
          "type": "object",
          "properties": {
            "ExternalSchema": {
              "$ref": "#/$defs/ExternalSchema"
            }
          },
          "required": [
            "ExternalSchema"
          ]
        }
      ]
    },
    "ExternalSchema": {
      "type": "object",
      "properties": {
        "delivery:ManifestID": {
canterburym's avatar
canterburym committed
          "$ref": "ts_103280_2017_07#/$defs/LongString"
        },
        "delivery:ManifestContents": {
canterburym's avatar
canterburym committed
          "$ref": "#/$defs/ManifestContents"
        }
      },
      "required": []
    },
    "ManifestContents": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "BinaryData": {
              "$ref": "#/$defs/EmbeddedBinaryData"
            }
          },
          "required": [
            "BinaryData"
          ]
        },
        {
          "type": "object",
          "properties": {
            "XMLSchema": {
              "$ref": "#/$defs/SchemaContent"
            }
          },
          "required": [
            "XMLSchema"
          ]
        }
      ]
    },
    "SchemaContent": {
      "type": "object",
      "properties": {
        "delivery:schema": {}
canterburym's avatar
canterburym committed
      },
      "required": [
        "delivery:schema"
canterburym's avatar
canterburym committed
      ]
    },
    "Delivery": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "BinaryData": {
              "$ref": "#/$defs/EmbeddedBinaryData"
            }
          },
          "required": [
            "BinaryData"
          ]
        },
        {
          "type": "object",
          "properties": {
            "XMLData": {
              "$ref": "#/$defs/EmbeddedXMLData"
            }
          },
          "required": [
            "XMLData"
          ]
        }
      ]
    },
    "EmbeddedBinaryData": {
      "type": "object",
      "properties": {
        "delivery:Data": {
canterburym's avatar
canterburym committed
          "type": "string",
          "pattern": "^[-A-Za-z0-9+/]*={0,3}$"
        },
        "delivery:ContentType": {
canterburym's avatar
canterburym committed
          "$ref": "ts_103280_2017_07#/$defs/ShortString"
        },
        "delivery:Checksum": {
canterburym's avatar
canterburym committed
          "$ref": "ts_103280_2017_07#/$defs/ShortString"
        },
        "delivery:ChecksumType": {
canterburym's avatar
canterburym committed
          "$ref": "ts_103280_2017_07#/$defs/ShortString"
        }
      },
      "required": [
        "delivery:Data"
canterburym's avatar
canterburym committed
      ]
    },
    "EmbeddedXMLData": {}
  }
}