Align / update Metapath support under XSLT M4 #171
Labels
closable
Issue is n/a or satisfied
enhancement
New feature or request
XSLT Implementation
Issue relates to the XSLT implementation of Metaschema.
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
The text was updated successfully, but these errors were encountered: