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

Update Metatron implementation (Metaschema->Schematron) #61

Closed
9 tasks
wendellpiez opened this issue Aug 11, 2023 · 1 comment
Closed
9 tasks

Update Metatron implementation (Metaschema->Schematron) #61

wendellpiez opened this issue Aug 11, 2023 · 1 comment
Labels
enhancement New feature or request

Comments

@wendellpiez
Copy link
Collaborator

wendellpiez commented Aug 11, 2023

User Story:

A proof-of-concept implementation of Metaschema-based constraints enforcement was prototyped and then set aside once interim goals were accomplished.

Now it may be ready to take up again, in view of two developments:

  • The relevant specifications have matured considerably, reducing the risk of thrashing
  • metaschema-xslt users need a reliable implementation of Metaschema-defined constraints to complement other implementations

At the same time, while the Metaschema project continues to extend and refine its design for a layered constraints enforcement model, the work is not finished. Accordingly we cannot expect to finish this implementation. But we can get it started and warmed up.

This Issue could be used as a tracker for subordinate Issues, if it is too complex.

Goals:

  • Begin to refit and rework the (currently inoperable) Metatron pipeline to implement the current Metaschema constraints definition vocabulary and expression language, in the form of a Schematron applicable to metaschema-defined XML (not JSON)
  • Support constraints as required by OSCAL and possibly by a more comprehensive test or example set of constraints
  • Track coverage of the constraint definition language in the implementation
  • Prototype and deploy a unit testing framework for constraints enforcement testing and validation (Schematron XSpec)
  • Plan further work / iteration, including alignment with upstream Metaschema specifications and tests
  • Nice-to-have: update a pipeline to produce Schxslt-compatible Schematron (with XSLT out of line) and prototype its application (via script)

Dependencies:

Some examples of realistic constraints enforcement over realistic data. OSCAL can provide some.

See the anthology set test for some non-OSCAL constraint examples, or write some?

Acceptance Criteria

  • 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
Copy link
Collaborator Author

Closing in view of #72 (which delivers the functionality) and #90 (which picks this up the Schematron requirement).

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
Development

No branches or pull requests

1 participant