Appendix A — JSON Schema
Contents of DESL 0.2
The normative schema is desl.schema.json beside this document (JSON Schema draft 2020-12, $id https://etalii.net/adp/desl/schema/0.1/desl.schema.json, kept at the address 0.1 gave it while DESL is a draft; it accepts "desl": "0.1" and "0.2"). It defines every construct DESL uses in its own $defs: Specification, Language, Function, Metamodel, ElementType, Containment, Attribute, Enum, EnumValue, Persistence, TypeMapEntry, IdStrategy, IdRule, Constraints, Constraint, Operation, Confirmation, Action, Surface (one shape per kind: (DESL 0.2) Table or Hierarchy), Columns, Cells, Views, ValueType, Conversion, (DESL 0.2) Mentions, Setting, HierarchyMembers, Labels, Notes, Filters, SimpleId, QualifiedId, TypeRef, TypeRefs, SemVer, LocalizedText, Message, Reason, Doc, Expression, CelValue and CelSource. The one schema it references is FBL's, for BindingRef. python .github/scripts/validate-examples.py validates every *.des against it and performs the name checks of section 10.1, step 4.