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

Metaschema enhancements #390

Closed
wendellpiez opened this issue May 30, 2019 · 4 comments
Closed

Metaschema enhancements #390

wendellpiez opened this issue May 30, 2019 · 4 comments
Labels
duplicate Scope: Metaschema Issues targeted at the metaschema pipeline User Story

Comments

@wendellpiez
Copy link
Contributor

User Story:

Currently we have two small requirements not yet addressed by Metaschema:

  • Wiring a field or flag to permit only values enumerated in the Metaschema. This feature should permit specifying only a single value (equivalent of FIXED for attributes in XML) but also a selection of permitted values
  • Datatype validation on field values

The use case for the first is in #57 - enabling a document to carry an indicator of the version of the schema to which it conforms. (Maybe also which OSCAL model?)

The use case for the second includes citation/href elements (not attributes), to validate they are syntactically correct URIs.

Goals:

Extend Metaschema functionality in both XML and JSON schemas to support these validations.

Making use of them (for #57 or otherwise) is not in scope for this Issue.

Dependencies:

Stable Metaschema.

Acceptance Criteria

The functionality has been developed and demonstrated in testing. A PR has been made to upgrade the metaschema infrastructure.

@wendellpiez wendellpiez added this to the OSCAL 1.0 M1 milestone May 30, 2019
@david-waltermire david-waltermire added Scope: Metaschema Issues targeted at the metaschema pipeline User Story labels May 30, 2019
@wendellpiez
Copy link
Contributor Author

My current thinking about these -- 1. Some if not all these validations could and perhaps should make good Schematron examples, rather than wiring them into the XSD layer. 2. An outstanding issue is replicating the functionality on the JSON side (this must be mapped out).

So one option is to push these into #400 and subsequently the constraints declaration layer.

@wendellpiez
Copy link
Contributor Author

wendellpiez commented Jun 4, 2019

2019-06-04 - Given discussion yesterday our plan for representing schema version (#57) and the use of Schematron (#400), this item is not a blocker and could be pushed to M2 or wontfix (if Schematron is always the place to check enumerated values).

@wendellpiez wendellpiez modified the milestones: OSCAL 1.0 M1, OSCAL 1.0 M2 Jun 5, 2019
@wendellpiez
Copy link
Contributor Author

Noting that flags with enumerated values already appear in the profile metaschema; the status of this implementation should be checked when/if the functionality is extended to fields.

@david-waltermire
Copy link
Contributor

This issue has been specified at a greater level of detail in issues #436 and #437. I am closing this issue in favor of the other two.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
duplicate Scope: Metaschema Issues targeted at the metaschema pipeline User Story
Projects
None yet
Development

No branches or pull requests

2 participants