Skip to content

Applications

Wendell Piez edited this page Nov 20, 2023 · 2 revisions

For now, see the readme documentation in the repository.

All of the following can use more explanation and how-to on this wiki. Please consider contributing.

Documentation

A documentation pipeline currently used by OSCAL is maintained in the repository. See the src/documentation directory including its readme.

This application should be refactored for much more general-purpose utility and customizability. Contributions are welcome in this area.

Validation

  • schema generation
    • XSD and JSON Schema
    • (todo: remove obsolete 'Schematron' implementation)
    • producing new schemas
    • applying the schemas to data to establish validity (detect invalid states)
  • InspectorXSLT
    • This is not a standards-based schema processor, but a schema emulator, seeking functional equivalence with schema technologies (XSD, RNG, Schematron etc.) for validating XML against rules defined by a metaschema, without a mediating schema syntax or validating parser. Instead use a stylesheet and a commodity XSLT engine. The process creates validation reports in HTML, Markdown or plain text.

Code generation

Leveraging the Metaschema information set with XSLT

Converter generators support converting your Metaschema-defined XML into the equivalent JSON, or the other way around.

Because the converters also work dependably only on valid data, bidirectional conversion with post-process comparison also amounts to validation.

Note: at time of writing, the converters have known weaknesses for example in their Markdown conversion support: use carefully.

Other potential applications include XSLT or other code generators from metaschema source for

  • boilerplate rendering / HTML conversion per metaschema
  • boilerplate or templated CSS per metaschema
  • syntax/whitespace normalizers, scrubbers
  • linters and code generators
  • other applications such as OSCAL content generators (to be migrated into this repository)
Clone this wiki locally