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 tagging top-level metaschema definitions as 'local' to exclude them when imported #76

Closed
3 tasks
wendellpiez opened this issue Sep 23, 2020 · 2 comments
Assignees
Labels
enhancement New feature or request

Comments

@wendellpiez
Copy link
Collaborator

wendellpiez commented Sep 23, 2020

User Story:

In WIP (branch metaschema-m4-integration) the Metaschema XSD now supports a new attribute on top-level (global) definitions, scope, which can be set to "local" or "global".

"global" represents the current semantics. A definition at the top level is available for reference from any assembly model, whether in the current metaschema or in an importing metaschema (unless it is overwritten by the import).

The new value "local" should exclude a definition from the set of global declarations in importing metaschemas. Effectively, this is a local definition (that is, local to the module) that can be referenced within the same module, instead of given by value in the model that uses it.

Goals:

Implement this feature to filter out definitions marked as 'local' from composed metaschemas, when they are imported. For the module in which they are used to be complete, they must be kept for its use, possibly by replicating them as local definitions in place.

A PR should be made against the metaschema-m4-integration branch, not master.

Dependencies:

A working version of the oscal metadata metaschema (in the metaschema-m4-integration branch) contains examples for testing.

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 wendellpiez added the enhancement New feature or request label Sep 23, 2020
@wendellpiez wendellpiez self-assigned this Sep 23, 2020
@wendellpiez
Copy link
Collaborator Author

Work progresses on this. Unit testing is helping to show the steps in sequence. As of today we also have a breaking test we can use to demo this functionality.

wendellpiez added a commit to wendellpiez/metaschema that referenced this issue Oct 16, 2020
… declared to be 'local' at top level (usnistgov#76); now with unit testing
david-waltermire pushed a commit that referenced this issue Oct 19, 2020
… declared to be 'local' at top level (#76); now with unit testing
wendellpiez added a commit to wendellpiez/metaschema that referenced this issue Nov 10, 2020
… declared to be 'local' at top level (usnistgov#76); now with unit testing
david-waltermire pushed a commit that referenced this issue Nov 13, 2020
… declared to be 'local' at top level (#76); now with unit testing
david-waltermire pushed a commit that referenced this issue Dec 21, 2020
… declared to be 'local' at top level (#76); now with unit testing
wendellpiez added a commit that referenced this issue May 26, 2021
david-waltermire pushed a commit that referenced this issue May 27, 2021
* Many adjustments toward correct converter generation, though still broken - start with unit test toolchains/xslt-M4/metapath/metapath-jsonizing.xspec - this is a fail-safe commit

* Now appears to pass testing scenarios (but more testing is coming)

* Committing a version that handles test data correctly (so far) from rebuilt metaschema composition addressing #51 #53 #76
david-waltermire added a commit that referenced this issue Jun 6, 2021
* Rework of docs focusing on JSON docs and model pipeline
* Improvements to composition toolchain
* Fixed a few small bugs in the metaschema-check. Improved performance of the compose pruning using an accumulator.
* Moved edge-case samples into testing directory
* Made shadowing warning a warning
* Initial commit of an Oxygen Metaschema framework.
* Creation of new compose schematron unit tests.
* Cross-linking XML and JSON syntax pages and other improvements to links
* Now building XML and JSON indexes to reference pages, with links to steps
* Reconfigured docs pipeline (XSLT entry points); adding new files including pipeline steps
* Migrating schema generation tools to new/improved composition pipeline
* Addressing usnistgov/OSCAL#902 thanks for finding this bug
* Enhancements to JSON Schema definition (with better performance too)
* Adding support for json-base-uri as a metaschema property
* Updated JSON schema $id; factoring out common docs XSLT
* Fixing IDs in JSON schema per issue usnistgov/OSCAL#933.
* Addressing datatype validation issues: whitespace collapsing; non-empty values; ncname-workalike in JSON Schema - see usnistgov/OSCAL#911  usnistgov/OSCAL#805 also #33 #67 #68
* Improvements to XSD production; fully aligning 'token' datatype across XSD and JSON Schema implementations.
* Updating bidirectional XML/JSON converter generators (#143)
* Committing a version that handles test data correctly (so far) from rebuilt metaschema composition addressing #51 #53 #76
* Now displaying constraints in documentation at point of definition;
* Docs generation revamp Reworked reference and other pages to sketch - #128 and others

Co-authored-by: Wendell Piez <wendell.piez@nist.gov>
@aj-stein-nist aj-stein-nist added this to Needs Triage in Issue Triage Mar 10, 2022
@aj-stein-nist
Copy link
Collaborator

Work done previously, closable. This was implemented in previous work.

@aj-stein-nist aj-stein-nist removed this from Needs Triage in Issue Triage Mar 17, 2022
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

2 participants