1{
2  "title": "JSON schema for utd.json5",
3  "$schema": "http://json-schema.org/draft-07/schema#",
4  "type": "object",
5  "additionalProperties": false,
6  "required": [
7  ],
8  "propertyNames": {
9    "enum": [
10      "UniformDataTypeDeclarations",
11      "ReferenceUniformDataTypeDeclarations"
12    ]
13  },
14  "properties": {
15    "UniformDataTypeDeclarations": {
16      "description": "Indicates the configuration of UniformDataTypeDeclarations.",
17      "type": "array",
18      "minItems": 1,
19      "maxItems": 32,
20      "uniqueItems": true,
21      "items": {
22        "type": "object",
23        "propertyNames": {
24          "enum": [
25            "TypeId",
26            "BelongingToTypes",
27            "FilenameExtensions",
28            "MIMETypes",
29            "Description",
30            "ReferenceURL"
31          ]
32        },
33        "required": [
34          "TypeId",
35          "BelongingToTypes",
36          "Description"
37        ],
38        "properties": {
39          "TypeId": {
40            "description": "Indicates the name of utd type.",
41            "type": "string",
42            "pattern": "[a-zA-Z0-9/.-]+$",
43            "maxLength": 127
44          },
45          "BelongingToTypes": {
46            "description": "Indicates the utd type that this type depends on.",
47            "type": "array",
48            "uniqueItems": true,
49            "items": {
50              "type": "string",
51              "maxLength": 127,
52              "minLength": 1
53            }
54          },
55          "FilenameExtensions": {
56            "description": "Indicates the file name extensions of utd type.",
57            "type": "array",
58            "uniqueItems": false,
59            "items": {
60              "type": "string",
61              "pattern": "^[/.].*",
62              "maxLength": 127
63            }
64          },
65          "MIMETypes": {
66            "description": "Indicates the mime types of utd type.",
67            "type": "array",
68            "uniqueItems": false,
69            "items": {
70              "type": "string",
71              "maxLength": 127,
72              "minLength": 1
73            }
74          },
75          "Description": {
76            "description": "Indicates the description of utd type.",
77            "type": "string",
78            "maxLength": 255,
79            "minLength": 1
80          },
81          "ReferenceURL": {
82            "description": "Indicates the referenceURL of utd type.",
83            "type": "string",
84            "maxLength": 255
85          }
86        }
87      }
88    },
89      "ReferenceUniformDataTypeDeclarations": {
90      "description": "Indicates the configuration of ReferenceUniformDataTypeDeclarations.",
91      "type": "array",
92      "minItems": 1,
93      "maxItems": 32,
94      "uniqueItems": true,
95      "items": {
96        "type": "object",
97        "propertyNames": {
98          "enum": [
99            "TypeId",
100            "BelongingToTypes",
101            "FilenameExtensions",
102            "MIMETypes",
103            "Description",
104            "ReferenceURL"
105          ]
106        },
107        "required": [
108          "TypeId",
109          "BelongingToTypes",
110          "Description"
111        ],
112        "properties": {
113          "TypeId": {
114            "description": "Indicates the name of utd type.",
115            "type": "string",
116            "pattern": "[a-zA-Z0-9/.-]+$",
117            "maxLength": 127
118          },
119          "BelongingToTypes": {
120            "description": "Indicates the utd type that this type depends on.",
121            "type": "array",
122            "uniqueItems": true,
123            "items": {
124              "type": "string",
125              "maxLength": 127,
126              "minLength": 1
127            }
128          },
129          "FilenameExtensions": {
130            "description": "Indicates the file name extensions of utd type.",
131            "type": "array",
132            "uniqueItems": false,
133            "items": {
134              "type": "string",
135              "pattern": "^[/.].*",
136              "maxLength": 127
137            }
138          },
139          "MIMETypes": {
140            "description": "Indicates the mime types of utd type.",
141            "type": "array",
142            "uniqueItems": false,
143            "items": {
144              "type": "string",
145              "maxLength": 127,
146              "minLength": 1
147            }
148          },
149          "Description": {
150            "description": "Indicates the description of utd type.",
151            "type": "string",
152            "maxLength": 255,
153            "minLength": 1
154          },
155          "ReferenceURL": {
156            "description": "Indicates the referenceURL of utd type.",
157            "type": "string",
158            "maxLength": 255
159          }
160        }
161      }
162    }
163  }
164}
165