{
  "title": "JSON schema for utd.json5",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "additionalProperties": false,
  "required": [
  ],
  "propertyNames": {
    "enum": [
      "UniformDataTypeDeclarations",
      "ReferenceUniformDataTypeDeclarations"
    ]
  },
  "properties": {
    "UniformDataTypeDeclarations": {
      "description": "Indicates the configuration of UniformDataTypeDeclarations.",
      "type": "array",
      "minItems": 1,
      "maxItems": 32,
      "uniqueItems": true,
      "items": {
        "type": "object",
        "propertyNames": {
          "enum": [
            "TypeId",
            "BelongingToTypes",
            "FilenameExtensions",
            "MIMETypes",
            "Description",
            "ReferenceURL"
          ]
        },
        "required": [
          "TypeId",
          "BelongingToTypes",
          "Description"
        ],
        "properties": {
          "TypeId": {
            "description": "Indicates the name of utd type.",
            "type": "string",
            "pattern": "[a-zA-Z0-9/.-]+$",
            "maxLength": 127
          },
          "BelongingToTypes": {
            "description": "Indicates the utd type that this type depends on.",
            "type": "array",
            "uniqueItems": true,
            "items": {
              "type": "string",
              "maxLength": 127,
              "minLength": 1
            }
          },
          "FilenameExtensions": {
            "description": "Indicates the file name extensions of utd type.",
            "type": "array",
            "uniqueItems": false,
            "items": {
              "type": "string",
              "pattern": "^[/.].*",
              "maxLength": 127
            }
          },
          "MIMETypes": {
            "description": "Indicates the mime types of utd type.",
            "type": "array",
            "uniqueItems": false,
            "items": {
              "type": "string",
              "maxLength": 127,
              "minLength": 1
            }
          },
          "Description": {
            "description": "Indicates the description of utd type.",
            "type": "string",
            "maxLength": 255,
            "minLength": 1
          },
          "ReferenceURL": {
            "description": "Indicates the referenceURL of utd type.",
            "type": "string",
            "maxLength": 255
          }
        }
      }
    },
      "ReferenceUniformDataTypeDeclarations": {
      "description": "Indicates the configuration of ReferenceUniformDataTypeDeclarations.",
      "type": "array",
      "minItems": 1,
      "maxItems": 32,
      "uniqueItems": true,
      "items": {
        "type": "object",
        "propertyNames": {
          "enum": [
            "TypeId",
            "BelongingToTypes",
            "FilenameExtensions",
            "MIMETypes",
            "Description",
            "ReferenceURL"
          ]
        },
        "required": [
          "TypeId",
          "BelongingToTypes",
          "Description"
        ],
        "properties": {
          "TypeId": {
            "description": "Indicates the name of utd type.",
            "type": "string",
            "pattern": "[a-zA-Z0-9/.-]+$",
            "maxLength": 127
          },
          "BelongingToTypes": {
            "description": "Indicates the utd type that this type depends on.",
            "type": "array",
            "uniqueItems": true,
            "items": {
              "type": "string",
              "maxLength": 127,
              "minLength": 1
            }
          },
          "FilenameExtensions": {
            "description": "Indicates the file name extensions of utd type.",
            "type": "array",
            "uniqueItems": false,
            "items": {
              "type": "string",
              "pattern": "^[/.].*",
              "maxLength": 127
            }
          },
          "MIMETypes": {
            "description": "Indicates the mime types of utd type.",
            "type": "array",
            "uniqueItems": false,
            "items": {
              "type": "string",
              "maxLength": 127,
              "minLength": 1
            }
          },
          "Description": {
            "description": "Indicates the description of utd type.",
            "type": "string",
            "maxLength": 255,
            "minLength": 1
          },
          "ReferenceURL": {
            "description": "Indicates the referenceURL of utd type.",
            "type": "string",
            "maxLength": 255
          }
        }
      }
    }
  }
}
