|
52 | 52 | <assembly ref="responsible-party" max-occurs="unbounded"> |
53 | 53 | <group-as name="responsible-parties" in-json="ARRAY"/> |
54 | 54 | </assembly> |
| 55 | + <assembly ref="action" max-occurs="unbounded"> |
| 56 | + <group-as name="actions" in-json="ARRAY"/> |
| 57 | + </assembly> |
55 | 58 | <field ref="remarks" in-xml="WITH_WRAPPER"/> |
56 | 59 | </model> |
57 | 60 | <constraint> |
|
759 | 762 | </index-has-key> |
760 | 763 | </constraint> |
761 | 764 | </define-assembly> |
| 765 | + |
| 766 | + <define-assembly name="action"> |
| 767 | + <formal-name>Action</formal-name> |
| 768 | + <description>An action applied by a role within a given party to the content.</description> |
| 769 | + <define-flag name="uuid" as-type="uuid" required="yes"> |
| 770 | + <formal-name>Action Universally Unique Identifier</formal-name> |
| 771 | + <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> |
| 772 | + </define-flag> |
| 773 | + <define-flag name="date" as-type="dateTime-with-timezone"> |
| 774 | + <formal-name>Action Occurrence Date</formal-name> |
| 775 | + <description>The date and time when the action occurred.</description> |
| 776 | + </define-flag> |
| 777 | + <define-flag name="type" as-type="token" required="yes"> |
| 778 | + <formal-name>Action Type</formal-name> |
| 779 | + <description>The type of action documented by the assembly, such as an approval.</description> |
| 780 | + </define-flag> |
| 781 | + <define-flag name="system" as-type="uri" required="yes"> |
| 782 | + <formal-name>Action Type System</formal-name> |
| 783 | + <description>Specifies the action type system used.</description> |
| 784 | + <remarks> |
| 785 | + <p>Provides a means to segment the value space for the <code>type</code>, so that different organizations and individuals can assert control over the allowed <code>action</code>'s <code>type</code>. This allows the semantics associated with a given <code>type</code> to be defined on an organization-by-organization basis.</p> |
| 786 | + <p>An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.</p> |
| 787 | + </remarks> |
| 788 | + </define-flag> |
| 789 | + <model> |
| 790 | + <assembly ref="property" max-occurs="unbounded"> |
| 791 | + <group-as name="props" in-json="ARRAY"/> |
| 792 | + </assembly> |
| 793 | + <assembly ref="link" max-occurs="unbounded"> |
| 794 | + <group-as name="links" in-json="ARRAY"/> |
| 795 | + </assembly> |
| 796 | + <assembly ref="responsible-party" max-occurs="unbounded"> |
| 797 | + <group-as name="responsible-parties" in-json="ARRAY"/> |
| 798 | + </assembly> |
| 799 | + <field ref="remarks" in-xml="WITH_WRAPPER"/> |
| 800 | + </model> |
| 801 | + <constraint> |
| 802 | + <index-has-key name="index-metadata-role-id" target="responsible-party"> |
| 803 | + <key-field target="@role-id"/> |
| 804 | + </index-has-key> |
| 805 | + <index-has-key name="index-metadata-party-uuid" target="responsible-party"> |
| 806 | + <key-field target="party-uuid"/> |
| 807 | + </index-has-key> |
| 808 | + <allowed-values target="./system/@value" allow-other="yes"> |
| 809 | + <enum value="http://csrc.nist.gov/ns/oscal">This value identifies action types defined in the NIST OSCAL namespace.</enum> |
| 810 | + </allowed-values> |
| 811 | + <allowed-values target="./type[has-oscal-namespace('http://csrc.nist.gov/ns/oscal')]/@value"> |
| 812 | + <enum value="approval">An approval of a document instance's content.</enum> |
| 813 | + <enum value="request-changes">A request from the responisble party or parties to change the content.</enum> |
| 814 | + </allowed-values> |
| 815 | + </constraint> |
| 816 | + </define-assembly> |
| 817 | + |
762 | 818 | <define-assembly name="responsible-role"> |
763 | 819 | <formal-name>Responsible Role</formal-name> |
764 | 820 | <description>A reference to one or more roles with responsibility for performing a function relative to the containing object.</description> |
|
0 commit comments