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

Actually ... an all-XSLT metaschema-based validator ...? #72

Open
9 tasks
wendellpiez opened this issue Sep 18, 2023 · 0 comments
Open
9 tasks

Actually ... an all-XSLT metaschema-based validator ...? #72

wendellpiez opened this issue Sep 18, 2023 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@wendellpiez
Copy link
Collaborator

wendellpiez commented Sep 18, 2023

User Story:

We have #61 planned, but Metaschema (especially wrt constraints) has changed since the earlier work was done ... while questions come up regarding Schematron and its implementation(s).

Another very interesting input we have is the demonstration here: https://pages.nist.gov/oscal-tools/demos/csx/validator/

What would be awesome would be a processor that combines these feature sets.

It could run either in a browser like the demo, or CL/CI/CD via scripting.

A secondary benefit of this approach is that it serves as a distinct implementation of a Metaschema-based validator at least for XML and thus as validation/testing for the Metaschema concept itself.

Goals:

Not a complete implementation, but a working model with interfaces -

  • Pull out and consolidate code bases
  • Set up a pipeline that consumes metaschema and delivers an XSLT for testing instances
    • Demonstrate production of a standalone XSLT that delivers SVRL and/or plain text
  • Set up or plan a pipeline embedding the prior pipeline in a test harness with metaschema example plus instances
  • Similarly, XSpec the testing of instances (both good and known-bad) with an XSLT for a testing metaschema
  • Scope further work to be done, including
    • completion of feature set
    • 'completion' or publication-readiness of test set(s)
    • documentation and deployment support - environments such as oXygen, VSCode?
    • SaxonJS deployment? Pages site?
    • consideration of non-XML formats
    • consideration of architecture - could this be extensible (callback library for user-provided XSLT modules)

Non-goal

Even if we happen to make one for testing, the goal is not a processor that can read from a metaschema dynamically and provide validation of instances on that basis, but rather the production of a static XSLT that can support such a runtime, when applied directly to an instance or instances. (A dynamic processor can be a follow-on if/as wanted.)

Dependencies:

None known except prior work as documented above.

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.
  • Follow-on Issues have been created as appropriate.
  • 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 18, 2023
@wendellpiez wendellpiez self-assigned this Sep 18, 2023
aj-stein-nist added a commit to wendellpiez/metaschema-xslt that referenced this issue Feb 2, 2024
This change integrates the Makefile-based testing harness for each of
the submodules.

For the InspectorXSLT submodule in the schema-gen directory, integrate
the shell script that orchestrates Maven's installation of dependencies
and execution of XML Calabash to run XProc files. The XProc pipeline
files will run the XSpec tests in batch mode.
aj-stein-nist added a commit that referenced this issue Feb 2, 2024
This change integrates the Makefile-based testing harness for each of
the submodules.

For the InspectorXSLT submodule in the schema-gen directory, integrate
the shell script that orchestrates Maven's installation of dependencies
and execution of XML Calabash to run XProc files. The XProc pipeline
files will run the XSpec tests in batch mode.
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