Permalink
Cannot retrieve contributors at this time
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?
jadn-v1-cs2/jadn-v1.0.jadn
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
101 lines (101 sloc)
4.22 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"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", []] | |
] | |
} |