Skip to content

Appendix A — JSON Schema

Contents of FBL 0.7

The normative schema is fbl.schema.json beside this document (JSON Schema draft 2020-12, $id https://etalii.net/adp/fbl/schema/0.1/fbl.schema.json). Its $defs are: Document, Binding, Claims, Marker, Body, Family, FileRule, PluginReader, TextDefaults, Header, BlockRule, (FBL 0.7) SectionRule, ElementRule, RelationRule, IdBinding, Slot, AttributeBinding, Insert, Remove, RegistrationSettings, Template, Registration, Splice, Fixture, Edit, the model changes ModelChange and ChangePosition (FBL 0.2, section 11.2), and the helpers Name, BindingRef, Regex, Selector. While FBL is a draft, the schema keeps its 0.1 $id and accepts every version from "fbl": "0.1" to "0.7". It references DISL's Doc, LocalizedText, Expression and TypeRef.

The examples beside this document are timeline.fbl, databricks-job.fbl, databricks-pipeline.fbl, mindmap.fbl, causal-loop-diagram.fbl, structurizr.fbl, w3c-turtle.fbl, helm-chart.fbl, ansible-structure.fbl, dotnet-dependency-graph.fbl, a .NET solution read by a plugin that opens the files it leads to itself, (FBL 0.5) dependency-graph.fbl, the dependency graph's hand-written YAML read with every scalar as written, and (FBL 0.7) behavior-tree.fbl, Agent Behavior Modelling's Markdown read by the bullets family; registrations are in registrations/ and round-trip fixtures in fixtures/. python .github/scripts/validate-examples.py validates them all.