Skip to content
ts_103120_Delivery.schema.json 4.64 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"
        },
        "Reference": {
          "$ref": "#/$defs/Reference"
        },
        "DeliveryID": {
          "$ref": "ts_103280_2017_07#/$defs/UUID"
        },
        "SequenceNumber": {
          "type": "integer",
          "minimum": 0
        },
        "LastSequence": {
          "type": "boolean"
        },
        "Manifest": {
          "$ref": "#/$defs/Manifest"
        },
        "Delivery": {
          "$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": {
        "ManifestID": {
          "$ref": "ts_103280_2017_07#/$defs/LongString"
        },
        "ManifestContents": {
          "$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": {
        "schema": {}
      },
      "required": [
        "schema"
      ]
    },
    "Delivery": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "BinaryData": {
              "$ref": "#/$defs/EmbeddedBinaryData"
            }
          },
          "required": [
            "BinaryData"
          ]
        },
        {
          "type": "object",
          "properties": {
            "XMLData": {
              "$ref": "#/$defs/EmbeddedXMLData"
            }
          },
          "required": [
            "XMLData"
          ]
        }
      ]
    },
    "EmbeddedBinaryData": {
      "type": "object",
      "properties": {
        "Data": {
          "type": "string",
          "pattern": "^[-A-Za-z0-9+/]*={0,3}$"
        },
        "ContentType": {
          "$ref": "ts_103280_2017_07#/$defs/ShortString"
        },
        "Checksum": {
          "$ref": "ts_103280_2017_07#/$defs/ShortString"
        },
        "ChecksumType": {
          "$ref": "ts_103280_2017_07#/$defs/ShortString"
        }
      },
      "required": [
        "Data"
      ]
    },
    "EmbeddedXMLData": {}
  }
}