{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://imde.io/schema/azlon/1.0/foodingredientstatements/foodingredientstatements.json",
  "title": "DataTopic_FoodIngredientStatements",
  "$comment": "Source XSD: https://imde.io/schema/azlon/1.0/foodingredientstatements/foodingredientstatements.xsd",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "Regulation": {
      "$ref": "https://imde.io/schema/azlon/1.0/codelists/regulationType.json"
    },
    "IngredientStatements": {
      "$ref": "#/$defs/IngredientStatementsType"
    },
    "Components": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "Component": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "ItemIdentifiers": {
                "$ref": "#/$defs/IdentifiersType"
              },
              "Reference": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "Translation": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "additionalProperties": false,
                      "properties": {
                        "Value": {
                          "type": "string"
                        },
                        "Culture": {
                          "$ref": "https://imde.io/schema/azlon/1.0/codelists/culture.json"
                        }
                      },
                      "required": [
                        "Value",
                        "Culture"
                      ]
                    },
                    "minItems": 1
                  }
                },
                "required": [
                  "Translation"
                ]
              },
              "IngredientStatements": {
                "$ref": "#/$defs/IngredientStatementsType"
              }
            },
            "required": [
              "Reference"
            ]
          },
          "minItems": 1
        }
      },
      "required": [
        "Component"
      ]
    }
  },
  "required": [
    "Regulation"
  ],
  "$defs": {
    "IdentifiersType": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "Identifier": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/IdentifierType"
          },
          "minItems": 1
        }
      },
      "required": [
        "Identifier"
      ]
    },
    "IdentifierType": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "Value": {
          "type": "string"
        },
        "Type": {
          "$ref": "https://imde.io/schema/azlon/1.0/codelists/identifierType.json"
        }
      },
      "required": [
        "Value",
        "Type"
      ]
    },
    "IngredientStatementsType": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "IngredientStatement": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "Translations": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "Translation": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "additionalProperties": false,
                      "properties": {
                        "Value": {
                          "type": "string"
                        },
                        "Culture": {
                          "$ref": "https://imde.io/schema/azlon/1.0/codelists/culture.json"
                        }
                      },
                      "required": [
                        "Value",
                        "Culture"
                      ]
                    },
                    "minItems": 1
                  }
                },
                "required": [
                  "Translation"
                ]
              },
              "Source": {
                "$ref": "https://imde.io/schema/azlon/1.0/codelists/labelInfoSource.json"
              }
            },
            "required": [
              "Translations",
              "Source"
            ]
          },
          "minItems": 1
        }
      },
      "required": [
        "IngredientStatement"
      ]
    }
  }
}
