metaschema.json 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. {
  2. "$schema" : "http://json-schema.org/draft-03/schema#",
  3. "id" : "http://json-schema.org/draft-03/schema#",
  4. "type" : "object",
  5. "properties" : {
  6. "type" : {
  7. "type" : ["string", "array"],
  8. "items" : {
  9. "type" : ["string", {"$ref" : "#"}]
  10. },
  11. "uniqueItems" : true,
  12. "default" : "any"
  13. },
  14. "properties" : {
  15. "type" : "object",
  16. "additionalProperties" : {"$ref" : "#"},
  17. "default" : {}
  18. },
  19. "patternProperties" : {
  20. "type" : "object",
  21. "additionalProperties" : {"$ref" : "#"},
  22. "default" : {}
  23. },
  24. "additionalProperties" : {
  25. "type" : [{"$ref" : "#"}, "boolean"],
  26. "default" : {}
  27. },
  28. "items" : {
  29. "type" : [{"$ref" : "#"}, "array"],
  30. "items" : {"$ref" : "#"},
  31. "default" : {}
  32. },
  33. "additionalItems" : {
  34. "type" : [{"$ref" : "#"}, "boolean"],
  35. "default" : {}
  36. },
  37. "required" : {
  38. "type" : "boolean",
  39. "default" : false
  40. },
  41. "dependencies" : {
  42. "type" : "object",
  43. "additionalProperties" : {
  44. "type" : ["string", "array", {"$ref" : "#"}],
  45. "items" : {
  46. "type" : "string"
  47. }
  48. },
  49. "default" : {}
  50. },
  51. "minimum" : {
  52. "type" : "number"
  53. },
  54. "maximum" : {
  55. "type" : "number"
  56. },
  57. "exclusiveMinimum" : {
  58. "type" : "boolean",
  59. "default" : false
  60. },
  61. "exclusiveMaximum" : {
  62. "type" : "boolean",
  63. "default" : false
  64. },
  65. "minItems" : {
  66. "type" : "integer",
  67. "minimum" : 0,
  68. "default" : 0
  69. },
  70. "maxItems" : {
  71. "type" : "integer",
  72. "minimum" : 0
  73. },
  74. "uniqueItems" : {
  75. "type" : "boolean",
  76. "default" : false
  77. },
  78. "pattern" : {
  79. "type" : "string",
  80. "format" : "regex"
  81. },
  82. "minLength" : {
  83. "type" : "integer",
  84. "minimum" : 0,
  85. "default" : 0
  86. },
  87. "maxLength" : {
  88. "type" : "integer"
  89. },
  90. "enum" : {
  91. "type" : "array",
  92. "minItems" : 1,
  93. "uniqueItems" : true
  94. },
  95. "default" : {
  96. "type" : "any"
  97. },
  98. "title" : {
  99. "type" : "string"
  100. },
  101. "description" : {
  102. "type" : "string"
  103. },
  104. "format" : {
  105. "type" : "string"
  106. },
  107. "divisibleBy" : {
  108. "type" : "number",
  109. "minimum" : 0,
  110. "exclusiveMinimum" : true,
  111. "default" : 1
  112. },
  113. "disallow" : {
  114. "type" : ["string", "array"],
  115. "items" : {
  116. "type" : ["string", {"$ref" : "#"}]
  117. },
  118. "uniqueItems" : true
  119. },
  120. "extends" : {
  121. "type" : [{"$ref" : "#"}, "array"],
  122. "items" : {"$ref" : "#"},
  123. "default" : {}
  124. },
  125. "id" : {
  126. "type" : "string"
  127. },
  128. "$ref" : {
  129. "type" : "string"
  130. },
  131. "$schema" : {
  132. "type" : "string",
  133. "format" : "uri"
  134. }
  135. },
  136. "dependencies" : {
  137. "exclusiveMinimum" : "minimum",
  138. "exclusiveMaximum" : "maximum"
  139. },
  140. "default" : {}
  141. }