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

Align / update Metapath support under XSLT M4 #171

Closed
4 tasks
wendellpiez opened this issue Aug 23, 2021 · 2 comments
Closed
4 tasks

Align / update Metapath support under XSLT M4 #171

wendellpiez opened this issue Aug 23, 2021 · 2 comments
Assignees
Labels
closable Issue is n/a or satisfied enhancement New feature or request XSLT Implementation Issue relates to the XSLT implementation of Metaschema.

Comments

@wendellpiez
Copy link
Collaborator

wendellpiez commented Aug 23, 2021

User Story:

The XSLT M4 pipeline integrates (experimental, provisional) support for parsing Metapath syntax. Currently, this support takes the form of a stovepiped XSLT-based XPath parser produced using an open-source engine over an unofficial grammar.

More lately @david-waltermire-nist has been framing Metapath support in Java, based on a leaner and tighter grammar.

In XSLT M4, Metapath parsing is used primarily to cast XPath addressing XML-based OSCAL (as given in metaschemas, i.e., Metapath expressions), to XPath addressing JSON-based 'object description' OSCAL (i.e. matching XML elements in the XML expansion of JSON produced by commodity tooling), for use inside M4 implementations of (a) JSON to XML conversion; and (b)
the Metatron validator i.e. the implementation of Metaschema constraints (using Metapath-based matching and testing) under XSLT M4 by way of programmatic generation of Schematron.

Current functionality in these pipelines needs to be preserved, but based on the new (smaller) grammar, many improvements could be made to (most) all handling of Metapath internally.

Goals:

Improve support for these features in XSLT M4, for integrity (do not accept bad inputs) and robustness.

Dependencies:

Consider doing this alongside unit testing for Metaschema-based constraints checking. Also continue maintaining the current unit testing of functions, which should (now) show failures, for example, where now-disallowed constructs appear. Unit testing should be aligned with any external testing of Metapath.

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 Aug 23, 2021
@david-waltermire david-waltermire added the XSLT Implementation Issue relates to the XSLT implementation of Metaschema. label Mar 29, 2022
@aj-stein-nist
Copy link
Collaborator

No attaching it to new or existing milestone. Come back to it later when we review later in the year to determine priorities and work scheduling.

@wendellpiez
Copy link
Collaborator Author

This Issue is vague, but amounts to "stabilize and align Metapath across implementations".

Since current XSLT M4 implementation is stable/static but behind (see usnistgov/metaschema-xslt#12), it amounts to the same as others respecting constraints support (#43, usnistgov/metaschema-xslt#13), namely its specification and unit testing.

Assuming those are proceeding, this is closable.

@wendellpiez wendellpiez added the closable Issue is n/a or satisfied label Feb 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
closable Issue is n/a or satisfied enhancement New feature or request XSLT Implementation Issue relates to the XSLT implementation of Metaschema.
Projects
None yet
Development

No branches or pull requests

3 participants