You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Revert changes from #1717 that address a documented feature in the profile resolution spec that didn't exist in the model. Instead of updating the model, this PR removes the "with-parent-controls" feature from the profile resolution spec.
This developmental feature should be removed for the following reasons.
- This feature is not implemented in any of the current XSLT or Java implementations.
- This feature is not being requested from a significant segment of the user community. The related issue #1662 has support from 1 community member outside the NIST team.
- This feature is extremely difficult to implement along with with-child-controls, which works on the opposite axis.
- IMHO, profile resolution doesn't need to be made more complicated than it already is.
* PR review, delete dangling with-parent-controls flag.
---------
Co-authored-by: A.J. Stein <[email protected]>
<p>If <code>with-child-controls</code> is <q>yes</q> on the call to a control, any controls appearing within it (child controls) will be selected, with no additional <code>call</code> directives required. This flag provides a way to include controls with all their dependent controls (enhancements) without having to call them individually.</p>
99
-
<p>If with-parent-controls is "yes" on the call to a control, it will not be selected and removed from (shown without) a parent control, but instead will be copied with its parent in the source. This flag provides a way to include controls with all their ancestor controls (enhancements) without having to call them individually.</p>
<formal-name>Include Parent Controls with Control</formal-name>
481
-
<description>When a control is included, whether its parent (ancestor) controls are also included.</description>
482
-
<constraint>
483
-
<allowed-values>
484
-
<enumvalue="yes">Include parent controls with an included control.</enum>
485
-
<enumvalue="no">When importing a control, only include parent controls that are also explicitly called.</enum>
486
-
</allowed-values>
487
-
</constraint>
488
-
</define-flag>
489
468
<define-flagas-type="string"name="pattern">
490
469
<formal-name>Pattern</formal-name>
491
470
<description>A <ahref="https://en.wikipedia.org/wiki/Glob_(programming)">glob expression</a> matching the IDs of one or more controls to be selected.</description>
Copy file name to clipboardExpand all lines: src/specifications/profile-resolution/profile-resolution-specml.xml
+1-18
Original file line number
Diff line number
Diff line change
@@ -562,7 +562,7 @@ include-controls:
562
562
<sectionid="import-nested">
563
563
<head>Dealing with Nested Controls and Groups</head>
564
564
<p>In OSCAL, controls may contain child controls. For instance, in SP 800-53 many controls are supplemented with control enhancements; in OSCAL these are represented as child controls within parent controls. So parent AC-2 (in a given catalog) has children AC-2(1) through AC-2(13), for example.</p>
565
-
<p>By default, inclusion of a control also causes any of that control's ancestors (or parents) to also be included. By default, inclusion of a control DOES NOT cause the inclusion of any descendants (or children) of that control to be included. This applies to both controls and groups.</p>
565
+
<p>By default, inclusion of a control also causes any of that control's ancestors to also be included. By default, inclusion of a control DOES NOT cause the inclusion of any descendants of that control to be included. This applies to both controls and groups.</p>
566
566
<p>This default behavior can be modified by the following two optional children of the
567
567
<src>include-controls</src> object.
568
568
</p>
@@ -580,23 +580,6 @@ include-controls:
580
580
directive as being equivalent to one having <src>with-child-controls:no</src>.
581
581
</req></p>
582
582
</section>
583
-
<sectionid="include-parent-controls">
584
-
<head>with-parent-controls</head>
585
-
<p>Although similar to the above
586
-
<src>with-child-controls</src>, the optional
587
-
<src>with-parent-controls</src> applies to parents of the included control, and has the opposite default behavior. In order to maintain the structure of the source catalog, profile resolution includes all parents of an included control by default. If a profile author wants to change this structure, they should use an exclude directive that lists all of the undesired parents. As a shortcut for this,
588
-
<src>with-parent-controls</src> provides the following functionality:
0 commit comments