From ade02452952cebf07978be5a43ba4631e7b19e15 Mon Sep 17 00:00:00 2001
From: David Waltermire
Date: Thu, 9 Dec 2021 08:39:33 -0500
Subject: [PATCH] Release 1.0 metaschema adjustments (#1065)
* Many fixes to the constraints in the OSCAL metaschemas to repair broken Metapaths.
* fixing defects in metaschema constraints
* Updating to latest Metaschema toolchain. Removed use of the "require" constraint.
* updating readme with current links
---
build/metaschema | 2 +-
.../oscal_assessment-common_metaschema.xml | 20 +++++------
src/metaschema/oscal_catalog_metaschema.xml | 2 +-
.../oscal_control-common_metaschema.xml | 20 +++++------
src/metaschema/oscal_metadata_metaschema.xml | 36 ++++++++-----------
src/metaschema/oscal_profile_metaschema.xml | 26 ++++----------
src/utils/util/readme.md | 6 ++--
7 files changed, 45 insertions(+), 67 deletions(-)
diff --git a/build/metaschema b/build/metaschema
index 25a56e7810..9c884726d9 160000
--- a/build/metaschema
+++ b/build/metaschema
@@ -1 +1 @@
-Subproject commit 25a56e7810d3f4602ddd09c7feac528d4c6326de
+Subproject commit 9c884726d926dba8f2a3c7ce6c3f1e89d5bab6a4
diff --git a/src/metaschema/oscal_assessment-common_metaschema.xml b/src/metaschema/oscal_assessment-common_metaschema.xml
index bff93b60b4..ed3b1d4d1f 100644
--- a/src/metaschema/oscal_assessment-common_metaschema.xml
+++ b/src/metaschema/oscal_assessment-common_metaschema.xml
@@ -1677,17 +1677,15 @@
-
-
- The assessment method to use. This typically appears on parts with the name "assessment".
-
-
-
- The process of holding discussions with individuals or groups of individuals within an organization to once again, facilitate assessor understanding, achieve clarification, or obtain evidence.
- The process of reviewing, inspecting, observing, studying, or analyzing one or more assessment objects (i.e., specifications, mechanisms, or activities).
- The process of exercising one or more assessment objects (i.e., activities or mechanisms) under specified conditions to compare actual with expected behavior.
-
-
+
+ The assessment method to use. This typically appears on parts with the name "objective".
+
+
+
+ The process of holding discussions with individuals or groups of individuals within an organization to once again, facilitate assessor understanding, achieve clarification, or obtain evidence.
+ The process of reviewing, inspecting, observing, studying, or analyzing one or more assessment objects (i.e., specifications, mechanisms, or activities).
+ The process of exercising one or more assessment objects (i.e., activities or mechanisms) under specified conditions to compare actual with expected behavior.
+
A part
provides for logical partitioning of prose, and can be thought of as a grouping structure (e.g., section). A part
can have child parts allowing for arbitrary nesting of prose content (e.g., statement hierarchy). A part
can contain prop
objects that allow for enriching prose text with structured name/value information.
diff --git a/src/metaschema/oscal_catalog_metaschema.xml b/src/metaschema/oscal_catalog_metaschema.xml
index 92385a917a..dd7743ca85 100644
--- a/src/metaschema/oscal_catalog_metaschema.xml
+++ b/src/metaschema/oscal_catalog_metaschema.xml
@@ -166,7 +166,7 @@
-
+
&allowed-values-control-group-property-name;
The status of a control
. For example, a value of 'withdrawn' can indicate that the control
has been withdrawn and should no longer be used.
diff --git a/src/metaschema/oscal_control-common_metaschema.xml b/src/metaschema/oscal_control-common_metaschema.xml
index 29e616be61..dc03e9e7da 100644
--- a/src/metaschema/oscal_control-common_metaschema.xml
+++ b/src/metaschema/oscal_control-common_metaschema.xml
@@ -84,17 +84,15 @@
&allowed-values-control-group-property-name;
-
-
- The assessment method to use. This typically appears on parts with the name "assessment".
-
-
-
- The process of holding discussions with individuals or groups of individuals within an organization to once again, facilitate assessor understanding, achieve clarification, or obtain evidence.
- The process of reviewing, inspecting, observing, studying, or analyzing one or more assessment objects (i.e., specifications, mechanisms, or activities).
- The process of exercising one or more assessment objects (i.e., activities or mechanisms) under specified conditions to compare actual with expected behavior.
-
-
+
+ The assessment method to use. This typically appears on parts with the name "assessment".
+
+
+
+ The process of holding discussions with individuals or groups of individuals within an organization to once again, facilitate assessor understanding, achieve clarification, or obtain evidence.
+ The process of reviewing, inspecting, observing, studying, or analyzing one or more assessment objects (i.e., specifications, mechanisms, or activities).
+ The process of exercising one or more assessment objects (i.e., activities or mechanisms) under specified conditions to compare actual with expected behavior.
+
A part
provides for logical partitioning of prose, and can be thought of as a grouping structure (e.g., section). A part
can have child parts allowing for arbitrary nesting of prose content (e.g., statement hierarchy). A part
can contain prop
objects that allow for enriching prose text with structured name/value information.
diff --git a/src/metaschema/oscal_metadata_metaschema.xml b/src/metaschema/oscal_metadata_metaschema.xml
index 760e2e5760..f20a00a3db 100644
--- a/src/metaschema/oscal_metadata_metaschema.xml
+++ b/src/metaschema/oscal_metadata_metaschema.xml
@@ -125,7 +125,7 @@
-
+
@@ -136,7 +136,9 @@
-
+
The link identifies the authoritative location for this file. Defined by RFC 6596.
The link identifies an alternative location or format for this file. Defined by the HTML Living Standard
@@ -252,7 +254,7 @@
-
+
Party Name
The full name of the party. This is typically the legal name associated with the party.
@@ -541,13 +543,11 @@
-
-
-
- A title
is required when a citation is provided.
-
-
-
+
+
+ A title
is required when a citation is provided.
+
+
A resource can be used in two ways. 1) it may point to an specific retrievable network resource using a rlink
, or 2) it may be included as an attachment using a base64
. A resource may contain multiple rlink
and base64
entries that represent alternative download locations (rlink) and attachments (base64) for the same resource. Both rlink and base64 allow for a media-type
to be specified, which is used to distinguish between different representations of the same resource (e.g., Microsoft Word, PDF). When multiple rlink
and base64
items are included for a given resource, all items must contain equivalent information. This allows the document consumer to choose a preferred item to process based on a the selected item's media-type
. This is extremely important when the items represent OSCAL content that is represented in alternate formats (i.e., XML, JSON, YAML), allowing the same OSCAL data to be processed from any of the available formats indicated by the items.
@@ -669,17 +669,11 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
To provide a cryptographic hash for a remote target resource, a local reference to a back matter resource
is needed. The resource allows one or more hash values to be provided using the rlink/hash
object.
diff --git a/src/metaschema/oscal_profile_metaschema.xml b/src/metaschema/oscal_profile_metaschema.xml
index f26f615c2e..a573ee5ef5 100644
--- a/src/metaschema/oscal_profile_metaschema.xml
+++ b/src/metaschema/oscal_profile_metaschema.xml
@@ -91,15 +91,8 @@
-
- Flat
- Use the flat structuring method.
-
-
- As is
- An As-is element indicates that the controls should be structured in resolution as they are structured in their source catalogs. It does not contain any elements or attributes.
-
-
+
+
@@ -116,7 +109,10 @@
This setting permits a profile designer to apply a rule for the resolution of such cases. In a well-designed profile, such collisions would ordinarily be avoided, but this setting can be useful for defining what to do when it occurs.
-
+
+ As is
+ An As-is element indicates that the controls should be structured in resolution as they are structured in their source catalogs. It does not contain any elements or attributes.
+
Combination method
How clashing controls should be handled
@@ -250,14 +246,6 @@
-
-
-
-
- Since multiple set-parameter
entries can be provided, each parameter must be set only once.
-
-
-
@@ -438,7 +426,7 @@
Include child controls with an included control.
- (default) When importing a control, only include child controls that are also explicitly called.
+ When importing a control, only include child controls that are also explicitly called.
diff --git a/src/utils/util/readme.md b/src/utils/util/readme.md
index 7f24e3f061..bb741d6612 100644
--- a/src/utils/util/readme.md
+++ b/src/utils/util/readme.md
@@ -1,10 +1,10 @@
# OSCAL Utilities
-Current best tooling for OSCAL can be found listed on our web site:
+The OSCAL project maintains [a list of tools for OSCAL on our web site](https://pages.nist.gov/OSCAL/tools/ "OSCAL tools page").
-See in particular the repository at https://github.com/usnistgov/oscal-tools
+Additionally, we maintain a repository of tools at https://github.com/usnistgov/oscal-tools; and members of the community offer OSCAL tools, frequently in open repositories free to use, which we do not maintain.
-Functionality maintained here includes:
+Functionality archived here includes:
`resolver-pipeline` a demonstration implementation of OSCAL Profile resolution.