Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support empty assemblies instead of an 'empty' datatype #49

Closed
4 tasks
Tracked by #829
wendellpiez opened this issue Apr 15, 2020 · 0 comments · Fixed by #118 or #119
Closed
4 tasks
Tracked by #829

Support empty assemblies instead of an 'empty' datatype #49

wendellpiez opened this issue Apr 15, 2020 · 0 comments · Fixed by #118 or #119
Labels
enhancement New feature or request

Comments

@wendellpiez
Copy link
Collaborator

User Story:

For purposes of metaschema design, the empty datatype is anomalous in a couple of ways, and it requires special handling in back. It is worth noting that it can't be assigned to flags, only fields.

Conceptually, having this as a type constraint (not model constraint) also redundant, since functionally, an empty field is no different from an assembly that has no fields or (sub) assemblies. In Metaschema, this is represented as easily with an assembly with an empty (or no) model, making the datatype superfluous for purposes of expressibility.

Goals:

Simplify the Metaschema language by removing support for the empty datatype.

Consider making model inside assembly optional, supporting more direct representation of empty assemblies.

Dependencies:

This will be a breaking change in metaschemas, so extant / functioning metaschema instances (including OSCAL) will need to be adjusted if/where they use 'empty'.

Acceptance Criteria

  • Schema production and validation unit tests all pass with the new design
  • All website and readme documentation affected by the changes in this issue have been updated. Changes to the website can be made in the docs/content directory of your branch.
  • A Pull Request (PR) is submitted that fully addresses the goals of this User Story. This issue is referenced in the PR.
  • The CI-CD build process runs without any reported errors on the PR. This can be confirmed by reviewing that all checks have passed in the PR.
@wendellpiez wendellpiez added the enhancement New feature or request label Apr 15, 2020
@david-waltermire david-waltermire linked a pull request Feb 26, 2021 that will close this issue
11 tasks
wendellpiez added a commit to wendellpiez/metaschema that referenced this issue Mar 2, 2021
…pleting feature extension work related to aliasing types, inline definitions, ANY models, representation of `empty` etc. with assorted bug fixes; new prose model
@david-waltermire david-waltermire linked a pull request Mar 4, 2021 that will close this issue
8 tasks
david-waltermire pushed a commit that referenced this issue Mar 4, 2021
…tension work related to aliasing types, inline definitions, ANY models, representation of `empty` etc. with assorted bug fixes; new prose model
@david-waltermire david-waltermire added this to the Metaschema 0.9.0 milestone Jun 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
2 participants