Skip to content

Commit

Permalink
Create actions assembly in OSCAL metadata model.
Browse files Browse the repository at this point in the history
  • Loading branch information
xee5ch committed Aug 10, 2022
1 parent bfd262a commit 3e2db77
Showing 1 changed file with 52 additions and 0 deletions.
52 changes: 52 additions & 0 deletions src/metaschema/oscal_metadata_metaschema.xml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,9 @@
<assembly ref="responsible-party" max-occurs="unbounded">
<group-as name="responsible-parties" in-json="ARRAY"/>
</assembly>
<assembly ref="action" max-occurs="unbounded">
<group-as name="actions" in-json="ARRAY"/>
</assembly>
<field ref="remarks" in-xml="WITH_WRAPPER"/>
</model>
<constraint>
Expand Down Expand Up @@ -751,6 +754,55 @@
</index-has-key>
</constraint>
</define-assembly>

<define-assembly name="action">
<formal-name>Action</formal-name>
<description>An action applied by a role within a given party to the content.</description>
<define-flag name="uuid" as-type="uuid" required="yes">
<formal-name>Action Universally Unique Identifier</formal-name>
<description>A unique identifier that can be used to reference this defined action elsewhere in an OSCAL document. A UUID should be consistently used for a given location across revisions of the document.</description>
</define-flag>
<define-flag name="role-id" as-type="token" required="yes">
<formal-name>Responsible Role</formal-name>
<description>The approving role in the responsible party.</description>
</define-flag>
<define-flag name="party-uuid" as-type="token" required="yes">
<description>The party responsible for the action.</description>
</define-flag>
<define-flag name="date" as-type="dateTime-with-timezone">
<description>The date and time when the action occurred.</description>
</define-flag>
<define-flag name="type" as-type="token" required="yes">
<description>The type of action documented by the assembly, such as an approval.</description>
</define-flag>
<define-flag name="system" as-type="uri" required="yes">
<formal-name>Action Type System</formal-name>
<description>Specifies the action type system used.</description>
<constraint>
<allowed-values allow-other="yes">
<enum value="http://csrc.nist.gov/ns/oscal">This value identifies action types defined in the NIST OSCAL namespace.</enum>
</allowed-values>
</constraint>
</define-flag>
<model>
<assembly ref="property" max-occurs="unbounded">
<group-as name="props" in-json="ARRAY"/>
</assembly>
<assembly ref="link" max-occurs="unbounded">
<group-as name="links" in-json="ARRAY"/>
</assembly>
<field ref="remarks" in-xml="WITH_WRAPPER"/>
</model>
<constraint>
<index-has-key name="index-metadata-role-id" target=".">
<key-field target="@role-id"/>
</index-has-key>
<index-has-key name="index-metadata-party-uuid" target=".">
<key-field target="@party-uuid"/>
</index-has-key>
</constraint>
</define-assembly>

<define-assembly name="responsible-role">
<formal-name>Responsible Role</formal-name>
<description>A reference to one or more roles with responsibility for performing a function relative to the containing object.</description>
Expand Down

0 comments on commit 3e2db77

Please sign in to comment.