From f29dd9b6ef566b7f3462ff50957d98b13f4ef399 Mon Sep 17 00:00:00 2001 From: David Waltermire Date: Thu, 14 Mar 2024 23:53:51 -0400 Subject: [PATCH] Some work towards representing the XSLT-based metaschema-composition-check.sch as Metaschema external module constraints. --- .../metaschema-module-constraints.xml | 40 ++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/schema/metaschema/metaschema-module-constraints.xml b/schema/metaschema/metaschema-module-constraints.xml index 5eb90ef8..668e7328 100644 --- a/schema/metaschema/metaschema-module-constraints.xml +++ b/schema/metaschema/metaschema-module-constraints.xml @@ -3,6 +3,44 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://csrc.nist.gov/ns/oscal/metaschema/1.0 ../xml/metaschema-meta-constraints.xsd"> - + + + + + Unique Module Short Names + Ensures that the current and all imported modules have a unique short name. + + + + + + + + Require Version for Top-Level Modules + A top-level module, a module that is not marked as @abstract='yes', must have a version specified. + Unless marked as @abstract='yes', a Metaschema module (or an imported module) should have a version. + + + Require Root Assembly for Top-Level Modules + A top-level module, a module that is not marked as @abstract='yes', must have at least one assembly with a root-name. + Unless marked as @abstract='yes', a Metaschema module (or an imported module) should have at least one assembly with a root-name. + + + + + + + + Import is Resolvable + Ensure each import has a resolvable @href. + Unable to access a Metaschema module at '{{ resolve-uri(@href) }}'. + + + Import is Resolvable + Ensure each import is a Metaschema module. + Unable the resource at '{{ resolve-uri(@href) }}' is not a Metaschema module. + + + \ No newline at end of file