Skip to content
Permalink
7c2d602209
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
101 lines (101 sloc) 4.22 KB
{
"info": {
"title": "JADN Metaschema",
"package": "http://oasis-open.org/jadn/v1.0/schema",
"description": "Syntax of a JSON Abstract Data Notation (JADN) package.",
"license": "CC0-1.0",
"exports": ["Schema"],
"config": {
"$FieldName": "^[$A-Za-z][_A-Za-z0-9]{0,63}$"
}
},
"types": [
["Schema", "Record", [], "Definition of a JADN package", [
[1, "info", "Information", ["[0"], "Information about this package"],
[2, "types", "Types", [], "Types defined in this package"]
]],
["Information", "Map", [], "Information about this package", [
[1, "package", "Namespace", [], "Unique name/version of this package"],
[2, "version", "String", ["{1", "[0"], "Incrementing version within package"],
[3, "title", "String", ["{1", "[0"], "Title"],
[4, "description", "String", ["{1", "[0"], "Description"],
[5, "comment", "String", ["{1", "[0"], "Comment"],
[6, "copyright", "String", ["{1", "[0"], "Copyright notice"],
[7, "license", "String", ["{1", "[0"], "SPDX licenseId (e.g., 'CC0-1.0')"],
[8, "namespaces", "Namespaces", ["[0"], "Referenced packages"],
[9, "exports", "Exports", ["[0"], "Type defs exported by this package"],
[10, "config", "Config", ["[0"], "Configuration variables"]
]],
["Namespaces", "MapOf", ["*Namespace", "+NSID", "{1"], "Packages with referenced type defs", []],
["Exports", "ArrayOf", ["*TypeName", "{1"], "Type defs intended to be referenced", []],
["Config", "Map", ["{1"], "Config vars override JADN defaults", [
[1, "$MaxBinary", "Integer", ["{1", "[0"], "Schema default max octets"],
[2, "$MaxString", "Integer", ["{1", "[0"], "Schema default max characters"],
[3, "$MaxElements", "Integer", ["{1", "[0"], "Schema default max items/properties"],
[4, "$Sys", "String", ["{1", "}1", "[0"], "System character for TypeName"],
[5, "$TypeName", "String", ["{1", "}127", "[0"], "TypeName regex"],
[6, "$FieldName", "String", ["{1", "}127", "[0"], "FieldName regex"],
[7, "$NSID", "String", ["{1", "}127", "[0"], "Namespace Identifier regex"]
]],
["Types", "ArrayOf", ["*Type"], "", []],
["Type", "Array", [], "", [
[1, "type_name", "TypeName", [], ""],
[2, "base_type", "BaseType", [], ""],
[3, "type_options", "Options", [], ""],
[4, "type_description", "Description", [], ""],
[5, "fields", "JADN-Type", ["&2"], ""]
]],
["BaseType", "Enumerated", [], "", [
[1, "Binary", ""],
[2, "Boolean", ""],
[3, "Integer", ""],
[4, "Number", ""],
[5, "String", ""],
[6, "Enumerated", ""],
[7, "Choice", ""],
[8, "Array", ""],
[9, "ArrayOf", ""],
[10, "Map", ""],
[11, "MapOf", ""],
[12, "Record", ""]
]],
["JADN-Type", "Choice", [], "", [
[1, "Binary", "Empty", [], ""],
[2, "Boolean", "Empty", [], ""],
[3, "Integer", "Empty", [], ""],
[4, "Number", "Empty", [], ""],
[5, "String", "Empty", [], ""],
[6, "Enumerated", "Items", [], ""],
[7, "Choice", "Fields", [], ""],
[8, "Array", "Fields", [], ""],
[9, "ArrayOf", "Empty", [], ""],
[10, "Map", "Fields", [], ""],
[11, "MapOf", "Empty", [], ""],
[12, "Record", "Fields", [], ""]
]],
["Empty", "Array", ["}0"], "", []],
["Items", "ArrayOf", ["*Item"], "", []],
["Item", "Array", [], "", [
[1, "item_id", "FieldID", [], ""],
[2, "item_value", "String", [], ""],
[3, "item_description", "Description", [], ""]
]],
["Fields", "ArrayOf", ["*Field"], "", []],
["Field", "Array", [], "", [
[1, "field_id", "FieldID", [], ""],
[2, "field_name", "FieldName", [], ""],
[3, "field_type", "TypeRef", [], ""],
[4, "field_options", "Options", [], ""],
[5, "field_description", "Description", [], ""]
]],
["FieldID", "Integer", ["{0"], "", []],
["Options", "ArrayOf", ["*Option", "}10"], "", []],
["Option", "String", ["{1"], "", []],
["Description", "String", [], "", []],
["Namespace", "String", ["/uri"], "Unique name of a package", []],
["NSID", "String", ["%$NSID"], "Default = ^[A-Za-z][A-Za-z0-9]{0,7}$", []],
["TypeName", "String", ["%$TypeName"], "Default = ^[A-Z][-$A-Za-z0-9]{0,63}$", []],
["FieldName", "String", ["%$FieldName"], "Default = ^[a-z][_A-Za-z0-9]{0,63}$", []],
["TypeRef", "String", [], "Autogenerated pattern ($NSID ':')? $TypeName", []]
]
}