Skip to content

Commit b972ec3

Browse files
David Waltermireaj-stein-nist
authored andcommitted
Profile alter model adjustments (#1418)
* - Adjusted the profile metaschema to refactor the alter assemblies in a backwards-compatible way. - Enumerated the set of target item types for remove. - Fixed references to use current `by-` syntax. - Adjusted unit tests to support better add/remove testing. * Updated to latest metaschema development version * added default value `ending` for `add/@position`.
1 parent 1f01b5b commit b972ec3

11 files changed

+169
-118
lines changed

src/metaschema/oscal_profile_metaschema.xml

Lines changed: 101 additions & 101 deletions
Large diffs are not rendered by default.

src/specifications/profile-resolution/profile-resolution-examples/catalogs/abc-simple_catalog.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
</param>
2121
<prop name="label" value="first"/>
2222
<part name="statement" id="a1-stmt">
23-
<p>A1 aaaaa aaaaaaaaaa</p>
23+
<p>A1 aaaaa <insert type="param" id-ref="a1_prm1"/> aaaaaaaaaa</p>
2424
</part>
2525
</control>
2626
<control id="a2">
@@ -37,7 +37,7 @@
3737
</param>
3838
<prop name="label" value="third"/>
3939
<part name="statement" id="a3-stmt">
40-
<p>A3 aaaaa aaaaaaaaaa</p>
40+
<p>A3 aaaaa <insert type="param" id-ref="a3_prm1"/> aaaaaaaaaa</p>
4141
</part>
4242
</control>
4343
</group>

src/specifications/profile-resolution/profile-resolution-examples/modify-adds_profile.xml

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,16 +34,35 @@
3434
</description>
3535
</constraint>
3636
</set-parameter>
37-
<alter control-id="a1">
37+
<alter control-id="a1"><!-- OK control -->
3838
<add position="starting" by-id="a1">
3939
<prop name="CORE" ns="https://fedramp.gov/ns/oscal" value="core"/>
4040
</add>
41-
<add position="starting" by-id="a1-stmt">
41+
<add position="starting" by-id="a1_prm1"><!-- OK parameter -->
42+
<prop name="annotated" ns="https://fedramp.gov/ns/oscal" value="param-prop"/>
43+
</add>
44+
<add position="before" by-id="a1_prm1"><!-- parameter child -->
45+
<param id="new_prm">
46+
<prop name="annotated" ns="https://fedramp.gov/ns/oscal" value="new-param"/>
47+
<label>A1 Parameter New</label>
48+
</param>
49+
</add>
50+
<add position="starting" by-id="a1-stmt"><!-- part -->
4251
<prop name="conformity"
4352
ns="https://fedramp.gov/ns/oscal"
4453
value="assessment-objective"/>
4554
<prop name="method" class="fedramp" value="EXAMINE"/>
4655
</add>
56+
<add position="after" by-id="a1-stmt"><!-- part child -->
57+
<part name="statement" id="new-part">
58+
<p>A1 bbbbb <insert type="param" id-ref="new_prm"/> bbbbb</p>
59+
</part>
60+
</add>
61+
<add position="ending" by-id="a1-stmt"><!-- part child -->
62+
<part name="statement" id="new-part2">
63+
<p>A1 ccc <insert type="param" id-ref="new_prm"/> ccc</p>
64+
</part>
65+
</add>
4766
</alter>
4867
</modify>
4968
<back-matter>

src/specifications/profile-resolution/profile-resolution-examples/output-expected/base-test_profile_RESOLVED.xml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,12 @@
1111
</metadata>
1212
<control id="a1">
1313
<title>Control A1</title>
14+
<param id="a1_prm1">
15+
<label>A1 Parameter 1</label>
16+
</param>
1417
<prop name="label" value="first"/>
1518
<part name="statement" id="a1-stmt">
16-
<p>A1 aaaaa aaaaaaaaaa</p>
19+
<p>A1 aaaaa <insert type="param" id-ref="a1_prm1"/> aaaaaaaaaa</p>
1720
</part>
1821
</control>
1922
<control id="b1">

src/specifications/profile-resolution/profile-resolution-examples/output-expected/base2-test_profile_RESOLVED.xml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,12 @@
1111
</metadata>
1212
<control id="a1">
1313
<title>Control A1</title>
14+
<param id="a1_prm1">
15+
<label>A1 Parameter 1</label>
16+
</param>
1417
<prop name="label" value="first"/>
1518
<part name="statement" id="a1-stmt">
16-
<p>A1 aaaaa aaaaaaaaaa</p>
19+
<p>A1 aaaaa <insert type="param" id-ref="a1_prm1"/> aaaaaaaaaa</p>
1720
</part>
1821
</control>
1922
<control id="b1">

src/specifications/profile-resolution/profile-resolution-examples/output-expected/exclude-call-test_profile_RESOLVED.xml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,12 @@
1818
</control>
1919
<control id="a3">
2020
<title>Control A3</title>
21+
<param id="a3_prm1">
22+
<label>A3 Parameter 1</label>
23+
</param>
2124
<prop name="label" value="third"/>
2225
<part name="statement" id="a3-stmt">
23-
<p>A3 aaaaa aaaaaaaaaa</p>
26+
<p>A3 aaaaa <insert type="param" id-ref="a3_prm1"/> aaaaaaaaaa</p>
2427
</part>
2528
</control>
2629
<control id="b1">

src/specifications/profile-resolution/profile-resolution-examples/output-expected/import-twice_profile_RESOLVED.xml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,12 @@
1111
</metadata>
1212
<control id="a1">
1313
<title>Control A1</title>
14+
<param id="a1_prm1">
15+
<label>A1 Parameter 1</label>
16+
</param>
1417
<prop name="label" value="first"/>
1518
<part name="statement" id="a1-stmt">
16-
<p>A1 aaaaa aaaaaaaaaa</p>
19+
<p>A1 aaaaa <insert type="param" id-ref="a1_prm1"/> aaaaaaaaaa</p>
1720
</part>
1821
</control>
1922
<control id="b1">

src/specifications/profile-resolution/profile-resolution-examples/output-expected/include-call-with-children-test_profile_RESOLVED.xml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,12 @@
1111
</metadata>
1212
<control id="a1">
1313
<title>Control A1</title>
14+
<param id="a1_prm1">
15+
<label>A1 Parameter 1</label>
16+
</param>
1417
<prop name="label" value="first"/>
1518
<part name="statement" id="a1-stmt">
16-
<p>A1 aaaaa aaaaaaaaaa</p>
19+
<p>A1 aaaaa <insert type="param" id-ref="a1_prm1"/> aaaaaaaaaa</p>
1720
</part>
1821
</control>
1922
<control id="b1">

src/specifications/profile-resolution/profile-resolution-examples/output-expected/merge-implicit-keep_profile_RESOLVED.xml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,12 @@
1111
</metadata>
1212
<control id="a1">
1313
<title>Control A1</title>
14+
<param id="a1_prm1">
15+
<label>A1 Parameter 1</label>
16+
</param>
1417
<prop name="label" value="first"/>
1518
<part name="statement" id="a1-stmt">
16-
<p>A1 aaaaa aaaaaaaaaa</p>
19+
<p>A1 aaaaa <insert type="param" id-ref="a1_prm1"/> aaaaaaaaaa</p>
1720
</part>
1821
</control>
1922
<control id="b1">
@@ -25,9 +28,12 @@
2528
</control>
2629
<control id="a1">
2730
<title>Control A1</title>
31+
<param id="a1_prm1">
32+
<label>A1 Parameter 1</label>
33+
</param>
2834
<prop name="label" value="first"/>
2935
<part name="statement" id="a1-stmt">
30-
<p>A1 aaaaa aaaaaaaaaa</p>
36+
<p>A1 aaaaa <insert type="param" id-ref="a1_prm1"/> aaaaaaaaaa</p>
3137
</part>
3238
</control>
3339
<control id="b1">

src/specifications/profile-resolution/profile-resolution-examples/output-expected/modify-adds_profile_RESOLVED.xml

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,12 @@
1313
<title>Group A of C</title>
1414
<control id="a1">
1515
<title>Control A1</title>
16+
<param id="new_prm">
17+
<prop name="annotated" ns="https://fedramp.gov/ns/oscal" value="new-param"/>
18+
<label>A1 Parameter New</label>
19+
</param>
1620
<param id="a1_prm1">
21+
<prop name="annotated" ns="https://fedramp.gov/ns/oscal" value="param-prop"/>
1722
<label>A1 Parameter 1</label>
1823
<constraint>
1924
<description>
@@ -22,13 +27,19 @@
2227
</constraint>
2328
</param>
2429
<prop name="CORE" ns="https://fedramp.gov/ns/oscal" value="core"/>
25-
<prop name="place" value="first"/>
30+
<prop name="label" value="first"/>
2631
<part name="statement" id="a1-stmt">
2732
<prop name="conformity"
2833
ns="https://fedramp.gov/ns/oscal"
2934
value="assessment-objective"/>
3035
<prop name="method" class="fedramp" value="EXAMINE"/>
31-
<p>A1 aaaaa aaaaaaaaaa</p>
36+
<p>A1 aaaaa <insert type="param" id-ref="a1_prm1"/> aaaaaaaaaa</p>
37+
<part name="statement" id="new-part2">
38+
<p>A1 ccc <insert type="param" id-ref="new_prm"/> ccc</p>
39+
</part>
40+
</part>
41+
<part name="statement" id="new-part">
42+
<p>A1 bbbbb <insert type="param" id-ref="new_prm"/> bbbbb</p>
3243
</part>
3344
</control>
3445
<control id="a3">
@@ -41,9 +52,9 @@
4152
</description>
4253
</constraint>
4354
</param>
44-
<prop name="place" value="third"/>
55+
<prop name="label" value="third"/>
4556
<part name="statement" id="a3-stmt">
46-
<p>A3 aaaaa aaaaaaaaaa</p>
57+
<p>A3 aaaaa <insert type="param" id-ref="a3_prm1"/> aaaaaaaaaa</p>
4758
</part>
4859
</control>
4960
</group>

0 commit comments

Comments
 (0)