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

Completing support for markdown in metaschema-driven conversions #283

Closed
wendellpiez opened this issue Dec 21, 2018 · 5 comments
Closed
Assignees
Labels
Scope: Metaschema Issues targeted at the metaschema pipeline Scope: Modeling Issues targeted at development of OSCAL formats Scope: Tooling and APIs Issues targeted at development of tooling and APIs to support OSCAL content creation and use. User Story

Comments

@wendellpiez
Copy link
Contributor

wendellpiez commented Dec 21, 2018

User Story:

Operating OSCAL tools, I can convert XML into an equivalent JSON representation, which includes blocks of prose represented in markdown. Current OSCAL tooling (XSLTs produced from metaschemas) can produce markdown embedded in JSON produced from XML, but not XML from its JSON/markdown equivalent.

A draft XSLT exists to perform this conversion or most of it, but it has not integrated or stress-tested much.

For the promise of (constrained but lossless) bidirectional conversion between XML and JSON to be realized, we have to demonstrate this capability in any metaschema-driven conversion pathway.

Goals:

When a JSON->XML conversion script (XSLT) is produced from a metaschema, it must be able to parse and convert markdown (within boundaries defined for OSCAL markdown) into OSCAL XML equivalents.

We should be able to demonstrate this capability with some testing samples representing a range of inputs.

Dependencies:

  • A specification for OSCAL markdown and its mapping into OSCAL XML as "OSCAL prose", an HTML subset. (Somewhere we have a sketch of this.)
  • XSLT to do this job generically (a prototype can be found in my repository)
  • Testing samples of OSCAL (any variety valid to a metaschema) in XML and JSON, with examples of prose showing markdown

Acceptance Criteria

  • We can show successful examples (tests and/or real data) demonstrating full bi-directional conversion of XML and JSON including the parts of OSCAL that use markdown on the JSON side (nominally 'prose' in metaschema)
  • We can show the scripts (XSLTs) that perform these conversions are produced for particular OSCAL formats from their respective metaschemas.
@wendellpiez
Copy link
Contributor Author

This picks up from Issue #200.

@david-waltermire david-waltermire added User Story Scope: Modeling Issues targeted at development of OSCAL formats Scope: Metaschema Issues targeted at the metaschema pipeline Scope: Tooling and APIs Issues targeted at development of tooling and APIs to support OSCAL content creation and use. labels May 8, 2019
@david-waltermire david-waltermire added this to the OSCAL 1.0 M1 milestone May 8, 2019
@david-waltermire
Copy link
Contributor

#200 provides good sources of documentation for this issue.

@wendellpiez
Copy link
Contributor Author

This is tied to #284. Adding it to Sprint 21. Not far from done.

@iMichaela
Copy link
Contributor

5/23/2019

The development has been done. we need to test it (@wendellpiez will do the initial testing but everyone in the team is encouraged to test it.) The test can be done as part of the pipeline XML->JSON -> XML with markdown included. It is expected the markdown and XML to be the same. @howieavp76 will make up some samples for testing it. @wendellpiez and @howieavp76 will meet Friday to work on it.

@david-waltermire
Copy link
Contributor

Done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Scope: Metaschema Issues targeted at the metaschema pipeline Scope: Modeling Issues targeted at development of OSCAL formats Scope: Tooling and APIs Issues targeted at development of tooling and APIs to support OSCAL content creation and use. User Story
Projects
None yet
Development

No branches or pull requests

3 participants