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

Development of a new, author friendly external constraints format #470

Merged
merged 8 commits into from
Jan 25, 2024

Conversation

david-waltermire
Copy link
Collaborator

@david-waltermire david-waltermire commented Oct 19, 2023

Committer Notes

This PR is an effort to create a more user friendly version of an external constraints format for layering Metaschema constraints on top of an existing Metaschema model.

This is ready to merge as an experimental feature.

All Submissions:

  • Have you followed the guidelines in our Contributing document?
  • Have you checked to ensure there aren't other open Pull Requests for the same update/change?
  • Have you squashed any non-relevant commits and commit messages? [instructions]
  • Do all automated CI/CD checks pass?

Changes to Core Features:

  • Have you added an explanation of what your changes do and why you'd like us to include them?
  • Have you written new tests for your core changes, as applicable?
  • Have you included examples of how to use your new feature(s)?
  • Have you updated all website](https://pages.nist.gov/metaschema) and readme documentation affected by the changes you made? Changes to the website can be made in the website/content directory of your branch.

@david-waltermire david-waltermire linked an issue Oct 28, 2023 that may be closed by this pull request
5 tasks
@david-waltermire david-waltermire marked this pull request as ready for review November 9, 2023 02:46
@david-waltermire david-waltermire changed the title [WIP] Development of a new, author friendly external constraints format Development of a new, author friendly external constraints format Nov 9, 2023
@david-waltermire david-waltermire force-pushed the feature-metaconstraints-2023-0718 branch 2 times, most recently from f4d01f0 to eeff1ba Compare November 10, 2023 12:20
@david-waltermire david-waltermire marked this pull request as draft November 10, 2023 14:29
Changed metapath type to indicate a difference between a Metapath that can be compiled vs a string that is to be processed in a different way. Also removed extra unnecessary ConstraintsContainerType.
Added support for flag and field instances to provide a different default value than the definition.
Reorganized the schema to group constraint types and groups.
Added support for let statements in constraints.
Added support for choice groups as a potential solution for resolving #228.
Fixed some minor content defects.
Added a draft Metaschema Metaschema in schema/metaschema/metaschema-metaschema.xml.
Adjusted Metaschema choice-group to allow for minimum cardinalities of 1 and a default unlimited max cardinality.
Created a draft Metaschema module (metaschema-module-metaschema.xml, describing the Metaschema module model.
Copy link
Collaborator

@aj-stein-nist aj-stein-nist left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very nice, was the XSD changes to the existing core schema actually generated from metaschema-java and surgically added that minor change or was it hand-edited? If the former, that's impressive!

@david-waltermire david-waltermire added this pull request to the merge queue Jan 25, 2024
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to no response for status checks Jan 25, 2024
@david-waltermire david-waltermire added this pull request to the merge queue Jan 25, 2024
Merged via the queue into develop with commit 886107d Jan 25, 2024
6 checks passed
@david-waltermire david-waltermire deleted the feature-metaconstraints-2023-0718 branch February 28, 2024 15:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support sequences of objects of different types
2 participants