Skip to main content

Component Definition Model v1.0.4 XML Format Outline

The following outline is a representation of the XML format for this model. For each element or attribute, the name links to the corresponding entry in the XML Format Reference. The cardinality and data type are also provided for each element or attribute where appropriate.

<component-definition uuid="uuid"></component-definition> [1]
<metadata></metadata> [1]
<title>markup-line</title> [1]

a markup-line value

Text and inline markup including <insert><em>, <strong>, <code>.

</title>

<published>datetime-with-timezone</published> [0 or 1]

a datetime-with-timezone value

</published>

<last-modified>datetime-with-timezone</last-modified> [1]

a datetime-with-timezone value

</last-modified>

<version>string</version> [1]

a string value

</version>

<oscal-version>string</oscal-version> [1]

a string value

</oscal-version>

<revisions></revisions> [0 or 1]
<revision> (recursive: model like parent revision) </revision> [0 to ∞]
<title>markup-line</title> [0 or 1]

a markup-line value

Text and inline markup including <insert><em>, <strong>, <code>.

</title>

<published>datetime-with-timezone</published> [0 or 1]

a datetime-with-timezone value

</published>

<last-modified>datetime-with-timezone</last-modified> [0 or 1]

a datetime-with-timezone value

</last-modified>

<version>string</version> [1]

a string value

</version>

<oscal-version>string</oscal-version> [0 or 1]

a string value

</oscal-version>

<prop name="token" uuid="uuid" ns="uri" value="string" class="token"></prop> [0 to ∞]
<remarks>markup-multiline</remarks> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</remarks>

</prop>

<link href="uri-reference" rel="token" media-type="string"></link> [0 to ∞]
<text>markup-line</text> [0 or 1]

a markup-line value

Text and inline markup including <insert><em>, <strong>, <code>.

</text>

</link>

<remarks>markup-multiline</remarks> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</remarks>

</revision>

</revisions>

<document-id scheme="uri">string</document-id> [0 to ∞]

a string value

</document-id>

<prop name="token" uuid="uuid" ns="uri" value="string" class="token"></prop> [0 to ∞]
<remarks>markup-multiline</remarks> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</remarks>

</prop>

<link href="uri-reference" rel="token" media-type="string"></link> [0 to ∞]
<text>markup-line</text> [0 or 1]

a markup-line value

Text and inline markup including <insert><em>, <strong>, <code>.

</text>

</link>

<role id="token"></role> [0 to ∞]
<title>markup-line</title> [1]

a markup-line value

Text and inline markup including <insert><em>, <strong>, <code>.

</title>

<short-name>string</short-name> [0 or 1]

a string value

</short-name>

<description>markup-multiline</description> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</description>

<prop name="token" uuid="uuid" ns="uri" value="string" class="token"></prop> [0 to ∞]
<remarks>markup-multiline</remarks> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</remarks>

</prop>

<link href="uri-reference" rel="token" media-type="string"></link> [0 to ∞]
<text>markup-line</text> [0 or 1]

a markup-line value

Text and inline markup including <insert><em>, <strong>, <code>.

</text>

</link>

<remarks>markup-multiline</remarks> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</remarks>

</role>

<location uuid="uuid"></location> [0 to ∞]
<title>markup-line</title> [0 or 1]

a markup-line value

Text and inline markup including <insert><em>, <strong>, <code>.

</title>

<address type="token"></address> [1]
<addr-line>string</addr-line> [0 to ∞]

a string value

</addr-line>

<city>string</city> [0 or 1]

a string value

</city>

<state>string</state> [0 or 1]

a string value

</state>

<postal-code>string</postal-code> [0 or 1]

a string value

</postal-code>

<country>string</country> [0 or 1]

a string value

</country>

</address>

<email-address>email</email-address> [0 to ∞]

an email value

</email-address>

<telephone-number type="string">string</telephone-number> [0 to ∞]

a string value

</telephone-number>

<url>uri</url> [0 to ∞]

a uri value

</url>

<prop name="token" uuid="uuid" ns="uri" value="string" class="token"></prop> [0 to ∞]
<remarks>markup-multiline</remarks> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</remarks>

</prop>

<link href="uri-reference" rel="token" media-type="string"></link> [0 to ∞]
<text>markup-line</text> [0 or 1]

a markup-line value

Text and inline markup including <insert><em>, <strong>, <code>.

</text>

</link>

<remarks>markup-multiline</remarks> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</remarks>

</location>

<party uuid="uuid" type="string"></party> [0 to ∞]
<name>string</name> [0 or 1]

a string value

</name>

<short-name>string</short-name> [0 or 1]

a string value

</short-name>

<external-id scheme="uri">string</external-id> [0 to ∞]

a string value

</external-id>

<prop name="token" uuid="uuid" ns="uri" value="string" class="token"></prop> [0 to ∞]
<remarks>markup-multiline</remarks> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</remarks>

</prop>

<link href="uri-reference" rel="token" media-type="string"></link> [0 to ∞]
<text>markup-line</text> [0 or 1]

a markup-line value

Text and inline markup including <insert><em>, <strong>, <code>.

</text>

</link>

<email-address>email</email-address> [0 to ∞]

an email value

</email-address>

<telephone-number type="string">string</telephone-number> [0 to ∞]

a string value

</telephone-number>

A choice of:

<address type="token"></address> [0 to ∞]
<addr-line>string</addr-line> [0 to ∞]

a string value

</addr-line>

<city>string</city> [0 or 1]

a string value

</city>

<state>string</state> [0 or 1]

a string value

</state>

<postal-code>string</postal-code> [0 or 1]

a string value

</postal-code>

<country>string</country> [0 or 1]

a string value

</country>

</address>

<location-uuid>uuid</location-uuid> [0 to ∞]

a uuid value

</location-uuid>

<member-of-organization>uuid</member-of-organization> [0 to ∞]

a uuid value

</member-of-organization>

<remarks>markup-multiline</remarks> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</remarks>

</party>

<responsible-party role-id="token"></responsible-party> [0 to ∞]
<party-uuid>uuid</party-uuid> [1 to ∞]

a uuid value

</party-uuid>

<prop name="token" uuid="uuid" ns="uri" value="string" class="token"></prop> [0 to ∞]
<remarks>markup-multiline</remarks> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</remarks>

</prop>

<link href="uri-reference" rel="token" media-type="string"></link> [0 to ∞]
<text>markup-line</text> [0 or 1]

a markup-line value

Text and inline markup including <insert><em>, <strong>, <code>.

</text>

</link>

<remarks>markup-multiline</remarks> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</remarks>

</responsible-party>

<remarks>markup-multiline</remarks> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</remarks>

</metadata>

<import-component-definition href="uri-reference"/> [0 to ∞]

[Empty]

<component uuid="uuid" type="string"></component> [0 to ∞]
<title>markup-line</title> [1]

a markup-line value

Text and inline markup including <insert><em>, <strong>, <code>.

</title>

<description>markup-multiline</description> [1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</description>

<purpose>markup-line</purpose> [0 or 1]

a markup-line value

Text and inline markup including <insert><em>, <strong>, <code>.

</purpose>

<prop name="token" uuid="uuid" ns="uri" value="string" class="token"></prop> [0 to ∞]
<remarks>markup-multiline</remarks> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</remarks>

</prop>

<link href="uri-reference" rel="token" media-type="string"></link> [0 to ∞]
<text>markup-line</text> [0 or 1]

a markup-line value

Text and inline markup including <insert><em>, <strong>, <code>.

</text>

</link>

<responsible-role role-id="token"></responsible-role> [0 to ∞]
<prop name="token" uuid="uuid" ns="uri" value="string" class="token"></prop> [0 to ∞]
<remarks>markup-multiline</remarks> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</remarks>

</prop>

<link href="uri-reference" rel="token" media-type="string"></link> [0 to ∞]
<text>markup-line</text> [0 or 1]

a markup-line value

Text and inline markup including <insert><em>, <strong>, <code>.

</text>

</link>

<party-uuid>uuid</party-uuid> [0 to ∞]

a uuid value

</party-uuid>

<remarks>markup-multiline</remarks> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</remarks>

</responsible-role>

<protocol uuid="uuid" name="string"></protocol> [0 to ∞]
<title>markup-line</title> [0 or 1]

a markup-line value

Text and inline markup including <insert><em>, <strong>, <code>.

</title>

<port-range start="nonnegativeinteger" end="nonnegativeinteger" transport="token"/> [0 to ∞]

[Empty]

</protocol>

<control-implementation uuid="uuid" source="uri-reference"></control-implementation> [0 to ∞]
<description>markup-multiline</description> [1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</description>

<prop name="token" uuid="uuid" ns="uri" value="string" class="token"></prop> [0 to ∞]
<remarks>markup-multiline</remarks> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</remarks>

</prop>

<link href="uri-reference" rel="token" media-type="string"></link> [0 to ∞]
<text>markup-line</text> [0 or 1]

a markup-line value

Text and inline markup including <insert><em>, <strong>, <code>.

</text>

</link>

<set-parameter param-id="token"></set-parameter> [0 to ∞]
<value>string</value> [1 to ∞]

a string value

</value>

<remarks>markup-multiline</remarks> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</remarks>

</set-parameter>

<implemented-requirement uuid="uuid" control-id="token"></implemented-requirement> [1 to ∞]
<description>markup-multiline</description> [1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</description>

<prop name="token" uuid="uuid" ns="uri" value="string" class="token"></prop> [0 to ∞]
<remarks>markup-multiline</remarks> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</remarks>

</prop>

<link href="uri-reference" rel="token" media-type="string"></link> [0 to ∞]
<text>markup-line</text> [0 or 1]

a markup-line value

Text and inline markup including <insert><em>, <strong>, <code>.

</text>

</link>

<set-parameter param-id="token"></set-parameter> [0 to ∞]
<value>string</value> [1 to ∞]

a string value

</value>

<remarks>markup-multiline</remarks> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</remarks>

</set-parameter>

<responsible-role role-id="token"></responsible-role> [0 to ∞]
<prop name="token" uuid="uuid" ns="uri" value="string" class="token"></prop> [0 to ∞]
<remarks>markup-multiline</remarks> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</remarks>

</prop>

<link href="uri-reference" rel="token" media-type="string"></link> [0 to ∞]
<text>markup-line</text> [0 or 1]

a markup-line value

Text and inline markup including <insert><em>, <strong>, <code>.

</text>

</link>

<party-uuid>uuid</party-uuid> [0 to ∞]

a uuid value

</party-uuid>

<remarks>markup-multiline</remarks> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</remarks>

</responsible-role>

<statement statement-id="token" uuid="uuid"></statement> [0 to ∞]
<description>markup-multiline</description> [1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</description>

<prop name="token" uuid="uuid" ns="uri" value="string" class="token"></prop> [0 to ∞]
<remarks>markup-multiline</remarks> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</remarks>

</prop>

<link href="uri-reference" rel="token" media-type="string"></link> [0 to ∞]
<text>markup-line</text> [0 or 1]

a markup-line value

Text and inline markup including <insert><em>, <strong>, <code>.

</text>

</link>

<responsible-role role-id="token"></responsible-role> [0 to ∞]
<prop name="token" uuid="uuid" ns="uri" value="string" class="token"></prop> [0 to ∞]
<remarks>markup-multiline</remarks> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</remarks>

</prop>

<link href="uri-reference" rel="token" media-type="string"></link> [0 to ∞]
<text>markup-line</text> [0 or 1]

a markup-line value

Text and inline markup including <insert><em>, <strong>, <code>.

</text>

</link>

<party-uuid>uuid</party-uuid> [0 to ∞]

a uuid value

</party-uuid>

<remarks>markup-multiline</remarks> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</remarks>

</responsible-role>

<remarks>markup-multiline</remarks> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</remarks>

</statement>

<remarks>markup-multiline</remarks> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</remarks>

</implemented-requirement>

</control-implementation>

<remarks>markup-multiline</remarks> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</remarks>

</component>

<capability uuid="uuid" name="string"></capability> [0 to ∞]
<description>markup-multiline</description> [1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</description>

<prop name="token" uuid="uuid" ns="uri" value="string" class="token"></prop> [0 to ∞]
<remarks>markup-multiline</remarks> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</remarks>

</prop>

<link href="uri-reference" rel="token" media-type="string"></link> [0 to ∞]
<text>markup-line</text> [0 or 1]

a markup-line value

Text and inline markup including <insert><em>, <strong>, <code>.

</text>

</link>

<incorporates-component component-uuid="uuid"></incorporates-component> [0 to ∞]
<description>markup-multiline</description> [1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</description>

</incorporates-component>

<control-implementation uuid="uuid" source="uri-reference"></control-implementation> [0 to ∞]
<description>markup-multiline</description> [1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</description>

<prop name="token" uuid="uuid" ns="uri" value="string" class="token"></prop> [0 to ∞]
<remarks>markup-multiline</remarks> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</remarks>

</prop>

<link href="uri-reference" rel="token" media-type="string"></link> [0 to ∞]
<text>markup-line</text> [0 or 1]

a markup-line value

Text and inline markup including <insert><em>, <strong>, <code>.

</text>

</link>

<set-parameter param-id="token"></set-parameter> [0 to ∞]
<value>string</value> [1 to ∞]

a string value

</value>

<remarks>markup-multiline</remarks> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</remarks>

</set-parameter>

<implemented-requirement uuid="uuid" control-id="token"></implemented-requirement> [1 to ∞]
<description>markup-multiline</description> [1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</description>

<prop name="token" uuid="uuid" ns="uri" value="string" class="token"></prop> [0 to ∞]
<remarks>markup-multiline</remarks> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</remarks>

</prop>

<link href="uri-reference" rel="token" media-type="string"></link> [0 to ∞]
<text>markup-line</text> [0 or 1]

a markup-line value

Text and inline markup including <insert><em>, <strong>, <code>.

</text>

</link>

<set-parameter param-id="token"></set-parameter> [0 to ∞]
<value>string</value> [1 to ∞]

a string value

</value>

<remarks>markup-multiline</remarks> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</remarks>

</set-parameter>

<responsible-role role-id="token"></responsible-role> [0 to ∞]
<prop name="token" uuid="uuid" ns="uri" value="string" class="token"></prop> [0 to ∞]
<remarks>markup-multiline</remarks> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</remarks>

</prop>

<link href="uri-reference" rel="token" media-type="string"></link> [0 to ∞]
<text>markup-line</text> [0 or 1]

a markup-line value

Text and inline markup including <insert><em>, <strong>, <code>.

</text>

</link>

<party-uuid>uuid</party-uuid> [0 to ∞]

a uuid value

</party-uuid>

<remarks>markup-multiline</remarks> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</remarks>

</responsible-role>

<statement statement-id="token" uuid="uuid"></statement> [0 to ∞]
<description>markup-multiline</description> [1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</description>

<prop name="token" uuid="uuid" ns="uri" value="string" class="token"></prop> [0 to ∞]
<remarks>markup-multiline</remarks> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</remarks>

</prop>

<link href="uri-reference" rel="token" media-type="string"></link> [0 to ∞]
<text>markup-line</text> [0 or 1]

a markup-line value

Text and inline markup including <insert><em>, <strong>, <code>.

</text>

</link>

<responsible-role role-id="token"></responsible-role> [0 to ∞]
<prop name="token" uuid="uuid" ns="uri" value="string" class="token"></prop> [0 to ∞]
<remarks>markup-multiline</remarks> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</remarks>

</prop>

<link href="uri-reference" rel="token" media-type="string"></link> [0 to ∞]
<text>markup-line</text> [0 or 1]

a markup-line value

Text and inline markup including <insert><em>, <strong>, <code>.

</text>

</link>

<party-uuid>uuid</party-uuid> [0 to ∞]

a uuid value

</party-uuid>

<remarks>markup-multiline</remarks> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</remarks>

</responsible-role>

<remarks>markup-multiline</remarks> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</remarks>

</statement>

<remarks>markup-multiline</remarks> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</remarks>

</implemented-requirement>

</control-implementation>

<remarks>markup-multiline</remarks> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</remarks>

</capability>

<back-matter></back-matter> [0 or 1]
<resource uuid="uuid"></resource> [0 to ∞]
<title>markup-line</title> [0 or 1]

a markup-line value

Text and inline markup including <insert><em>, <strong>, <code>.

</title>

<description>markup-multiline</description> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</description>

<prop name="token" uuid="uuid" ns="uri" value="string" class="token"></prop> [0 to ∞]
<remarks>markup-multiline</remarks> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</remarks>

</prop>

<document-id scheme="uri">string</document-id> [0 to ∞]

a string value

</document-id>

<citation></citation> [0 or 1]
<text>markup-line</text> [1]

a markup-line value

Text and inline markup including <insert><em>, <strong>, <code>.

</text>

<prop name="token" uuid="uuid" ns="uri" value="string" class="token"></prop> [0 to ∞]
<remarks>markup-multiline</remarks> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</remarks>

</prop>

<link href="uri-reference" rel="token" media-type="string"></link> [0 to ∞]
<text>markup-line</text> [0 or 1]

a markup-line value

Text and inline markup including <insert><em>, <strong>, <code>.

</text>

</link>

</citation>

<rlink href="uri-reference" media-type="string"></rlink> [0 to ∞]
<hash algorithm="string">string</hash> [0 to ∞]

a string value

</hash>

</rlink>

<base64 filename="uri-reference" media-type="string">base64binary</base64> [0 or 1]

a base64binary value

</base64>

<remarks>markup-multiline</remarks> [0 or 1]

One or more blocks of text: a markup-multiline value

<p> or other elements defined as markup-multiline [0 to ∞]

</remarks>

</resource>

</back-matter>

</component-definition>

This page was last updated on May 20, 2022.