More configurable mapping of format-sensitive path names across conversions #481
Labels
enhancement
Scope: CI/CD
Enhancements to the project's Continuous Integration and Continuous Delivery pipeline.
Scope: Tooling and APIs
Issues targeted at development of tooling and APIs to support OSCAL content creation and use.
User Story
Milestone
User Story:
In Issue #398 we addressed the problem that processing dependencies in the OSCAL toolchain are represented by paths to files, which are format sensitive. We want an XML version of a profile to point to an XML catalog, while the JSON version points to the JSON version of the same catalog. This means a file path
/my/xml/catalog.xml
might need to become/my/json/catalog.json
.Expecting XML and JSON resources to be maintained in parallel, we can manage these relations -- and rewriting the values in conversion -- via configurable rules.
Addressing #398 we did this quick/dirty with a post-process. We need to make this more configurable, less opaque and tighter.
Goals:
Implement a mapping protocol to be produced for (in) the XML->JSON and JSON->XML conversions for any metaschema-based OSCAL model, which they can use to rewrite path names.
This can take the form of an external specification for any string conversions, expressed in XML so the converter-producer XSLT can read it and build templates from it. (Even a handwritten XSLT sub module could work if it's easy enough to rewrite.)
Only URI values (relative and/or absolute) as defined by a metaschema should be considered in scope. The mapping should have no effect in strings that are not typed as URIs.
While we are doing this, we can also address documentation needs.
Dependencies:
None presently.
Acceptance Criteria
{The items above are general acceptance criteria for all User Stories. Please describe anything else that must be completed for this issue to be considered resolved.}
The text was updated successfully, but these errors were encountered: