From 9744dc866c719d844b6476f384f3c16034885d4d Mon Sep 17 00:00:00 2001
From: galtm <40716346+galtm@users.noreply.github.com>
Date: Fri, 22 Sep 2023 07:56:23 -0400
Subject: [PATCH 1/2] XSpec tests and minor XSLT improvements
XSpec tests:
- XSpec tests for produce-xml-converter.xsl in isolation
- Stub of tests for produce-xml-converter.xsl from the
context of produce-json-converter.xsl
- Helper XSLT for use in XSpec tests
- Sample definition maps to provide testing contexts
XSLT improvements:
- Declare data types where known
- Declare context item for named templates
- Start XPath path from context instead of root, for testability
---
.../assessment-plan-reduce-map-output.xml | 16671 ++++++++++++++++
.../profile-reduce-map-output.xml | 7009 +++++++
.../computer-build-xml-converter.xsl | 12 +
.../produce-xml-converter-json-usage.xspec | 84 +
.../xml-to-json/produce-xml-converter.xspec | 1566 ++
.../xml-to-json/test-helper-xml-to-json.xsl | 37 +
.../xml-to-json/produce-xml-converter.xsl | 219 +-
7 files changed, 25503 insertions(+), 95 deletions(-)
create mode 100644 src/converter-gen/testing/definition-maps/assessment-plan-reduce-map-output.xml
create mode 100644 src/converter-gen/testing/definition-maps/profile-reduce-map-output.xml
create mode 100644 src/converter-gen/testing/xml-converters/computer-build-xml-converter.xsl
create mode 100644 src/converter-gen/testing/xml-to-json/produce-xml-converter-json-usage.xspec
create mode 100644 src/converter-gen/testing/xml-to-json/test-helper-xml-to-json.xsl
diff --git a/src/converter-gen/testing/definition-maps/assessment-plan-reduce-map-output.xml b/src/converter-gen/testing/definition-maps/assessment-plan-reduce-map-output.xml
new file mode 100644
index 00000000..2d9925bb
--- /dev/null
+++ b/src/converter-gen/testing/definition-maps/assessment-plan-reduce-map-output.xml
@@ -0,0 +1,16671 @@
+
+
+
+ OSCAL Assessment Plan Model
+ 1.0.4
+ oscal-ap
+ http://csrc.nist.gov/ns/oscal/1.0
+ http://csrc.nist.gov/ns/oscal
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The link identifies the authoritative location for this file. Defined by RFC 6596.
+ The link identifies an alternative location or format for this file. Defined by the HTML Living Standard
+
+ This link identifies a resource containing the predecessor version in the version history. Defined by RFC 5829.
+ This link identifies a resource containing the predecessor version in the version history. Defined by RFC 5829.
+
+
+
+
+
+
+
+
+
+ A Digital Object Identifier (DOI); use is preferred, since this allows for retrieval of a full bibliographic record.
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A home address.
+ A work address.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A home phone number.
+ An office phone number.
+ A mobile phone number.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Characterizes the kind of location.
+
+
+ A location that contains computing assets. A class
can be used to indicate the sub-type of data-center as primary or alternate.
+
+
+ The location is a data-center used for normal operations.
+ The location is a data-center used for fail-over or backup operations.
+
+
+
+
+
+
+
+
+
+
+ An individual.
+ A group of individuals formed for a specific purpose.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The identifier is Open Researcher and Contributor ID (ORCID).
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A home phone number.
+ An office phone number.
+ A mobile phone number.
+
+
+
+
+
+
+
+
+
+
+
+
+ A home address.
+ A work address.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A mail stop associated with the party.
+ The name or number of the party's office.
+ The formal job title of a person.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Indicates the organization that created this content.
+ Indicates the organization that prepared this content.
+ Indicates the organization for which this content was created.
+ Indicates the organization responsible for all content represented in the "document".
+ Indicates the organization to contact for questions or support related to this content.
+
+
+ The value identifies a comma-seperated listing of keywords associated with this content. These keywords may be used as search terms for indexing and other applications.
+
+
+ The link identifies the authoritative location for this file. Defined by RFC 6596.
+ The link identifies an alternative location or format for this file. Defined by the HTML Living Standard
+
+ This link identifies a resource containing the latest version in the version history. Defined by RFC 5829.
+ This link identifies a resource containing the predecessor version in the version history. Defined by RFC 5829.
+ This link identifies a resource containing the predecessor version in the version history. Defined by RFC 5829.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The system as a whole.
+ An external system, which may be a leveraged system or the other side of an interconnection.
+ A connection to something outside this system.
+ Any software, operating system, or firmware.
+ A physical device.
+ A service that may provide APIs.
+ An enforceable policy.
+ A tangible asset used to provide physical protections or countermeasures.
+ A list of steps or actions to take to achieve some end result.
+ An applicable plan.
+ Any guideline or recommendation.
+ Any organizational or industry standard.
+ An external assessment performed on some other component, that has been validated by a third-party.
+ A physical or virtual network.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The component is being designed, developed, or implemented.
+ The component is currently operational and is available for use in the system.
+ The component is no longer operational.
+ Some other state.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Transmission Control Protocol
+ User Datagram Protocol
+
+
+
+
+
+
+
+ It is a best practice to provide a UUID.
+
+
+
+
+
+
+
+
+
+ Relative placement of component ('internal' or 'external') to the system.
+ UUID of the related leveraged-authorization assembly in this SSP.
+ UUID of the component as it was assigned in the leveraged system's SSP.
+ Simple indication of the asset's function, such as Router, Storage Array, DNS Server.
+ An organizationally specific identifier that is used to uniquely identify a logical or tangible item by the organization that owns the item.
+ An asset tag assigned by the organization responsible for maintaining the logical or tangible item.
+ Identifies whether the asset is publicly accessible (yes/no)
+ Identifies whether the asset is virtualized (yes/no)
+ Virtual LAN identifier of the asset.
+ The network identifier of the asset.
+ A human-readable label for the parent context.
+ An alternative identifier, whose value is easily sortable among other such values in the document.
+ The name of the baseline configuration for the asset.
+ Can the asset be check with an authenticated scan? (yes/no)
+ The function provided by the asset for the system.
+ The version of the component.
+ The specific patch level of the component.
+ The model of the component.
+ The date the component was released, such as a software release date or policy publication date.
+ Used with component-type='validation' to provide a well-known name for a kind of validation.
+ Used with component-type='validation' to indicate the validating body's assigned identifier for their validation of this component.
+
+
+ A reference to another component that this component has a dependency on.
+ A reference to another component of component-type=validation, that is a validation (e.g., FIPS 140-2) for this component
+ A pointer to a validation record (e.g., FIPS 140-2) or other compliance information.
+ A reference to the baseline template used to configure the asset.
+ This service is used by the referenced component identifier.
+ A link to the system security plan of the external system.
+ This component uses the network provided by the identified network component.
+
+
+ Accountable for ensuring the asset is managed in accordance with organizational policies and procedures.
+ Responsible for administering a set of assets.
+ Members of the security operations center (SOC).
+ Members of the network operations center (NOC).
+ Responsible for responding to an event that could lead to loss of, or disruption to, an organization's operations, services or functions.
+ Responsible for providing information and support to users.
+ Responsible for the configuration management processes governing changes to the asset.
+ Responsible for the creation and maintenance of a component.
+ Organization responsible for providing the component, if this is different from the "maintainer" (e.g., a reseller).
+
+
+ System software that manages computer hardware, software resources, and provides common services for computer programs.
+ An electronic collection of data, or information, that is specially organized for rapid search and retrieval.
+ A system that delivers content or services to end users over the Internet or an intranet.
+ A system that resolves domain names to internet protocol (IP) addresses.
+ A computer system that sends and receives electronic mail messages.
+ A system that stores, organizes and provides access to directory information in order to unify network resources.
+ A private branch exchange (PBX) provides a a private telephone switchboard.
+ A network security system that monitors and controls incoming and outgoing network traffic based on predetermined security rules.
+ A physical or virtual networking device that forwards data packets between computer networks.
+ A physical or virtual networking device that connects devices within a computer network by using packet switching to receive and forward data to the destination device.
+ A consolidated, block-level data storage capability.
+ A physical or virtual machine that centralizes hardware, software, or services for a specific purpose.
+
+
+ The component allows an authenticated scan.
+ The component does not allow an authenticated scan.
+
+
+ The component is publicly accessible.
+ The component is not publicly accessible.
+
+
+ The component is virtualized.
+ The component is not virtualized.
+
+
+ The component is implemented within the system boundary.
+ The component is implemented outside the system boundary.
+
+
+
+
+
+
+
+ The name of the company or organization
+
+
+ A link to an online information provided by the authorizing body.
+
+
+ If a "software" component-type, the identifier, such as a SWID tag, for the software component.
+
+
+ This service is provided by the referenced component identifier.
+ This service is used by the referenced component identifier.
+
+
+
+ Title of the Interconnection Security Agreement (ISA).
+ Date of the Interconnection Security Agreement (ISA).
+ The name of the remote interconnected system.
+ An Internet Protocol Version 4 interconnection address
+ An Internet Protocol Version 6 interconnection address
+ An Internet Protocol Version 6 interconnection address
+
+
+ The identified IP address is for this system.
+ The identified IP address is for the remote system to which this system is connected.
+
+
+ A link to the system interconnection agreement.
+
+
+ Interconnection Security Agreement (ISA) point of contact (POC) for this system.
+ Interconnection Security Agreement (ISA) point of contact (POC) for the remote interconnected system.
+ Interconnection Security Agreement (ISA) authorizing official for this system.
+ Interconnection Security Agreement (ISA) authorizing official for the remote interconnected system.
+
+
+
+
+
+ Data from the remote system flows into this system.
+ Data from this system flows to the remote system.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The version of the component.
+ The specific patch level of the component.
+ The model of the component.
+ The date the component was released, such as a software release date or policy publication date.
+ Used with component-type='validation' to provide a well-known name for a kind of validation.
+ Used with component-type='validation' to indicate the validating body's assigned identifier for their validation of this component.
+ Simple indication of the asset's function, such as Router, Storage Array, DNS Server.
+ An organizationally specific identifier that is used to uniquely identify a logical or tangible item by the organization that owns the item.
+ An asset tag assigned by the organization responsible for maintaining the logical or tangible item.
+ Identifies whether the asset is publicly accessible (yes/no)
+ Identifies whether the asset is virtualized (yes/no)
+ Virtual LAN identifier of the asset.
+ The network identifier of the asset.
+ A human-readable label for the parent context.
+ An alternative identifier, whose value is easily sortable among other such values in the document.
+ The name of the baseline configuration for the asset.
+ Can the asset be check with an authenticated scan? (yes/no)
+ The function provided by the asset for the system.
+
+
+
+ Accountable for ensuring the asset is managed in accordance with organizational policies and procedures.
+ Responsible for administering a set of assets.
+ Members of the security operations center (SOC).
+ Members of the network operations center (NOC).
+ Responsible for responding to an event that could lead to loss of, or disruption to, an organization's operations, services or functions.
+ Responsible for providing information and support to users.
+ Responsible for the configuration management processes governing changes to the asset.
+
+
+
+
+
+
+
+
+
+
+
+
+ The Internet Protocol v4 Address of the asset.
+ The Internet Protocol v6 Address of the asset.
+ The full-qualified domain name (FQDN) of the asset.
+ A Uniform Resource Identifier (URI) for the asset.
+ A serial number for the asset.
+ The NetBIOS name for the asset.
+ The media access control (MAC) address for the asset.
+ The physical location of the asset's hardware (e.g., Data Center ID, Cage#, Rack#, or other meaningful location identifiers).
+ is the asset subjected to network scans? (yes/no)
+ The model number of the hardware used by the asset.
+ The name of the operating system used by the asset.
+ The version of the operating system used by the asset.
+ The software product name used by the asset.
+ The software product version used by the asset.
+ The software product patch level used by the asset.
+ Simple indication of the asset's function, such as Router, Storage Array, DNS Server.
+ An organizationally specific identifier that is used to uniquely identify a logical or tangible item by the organization that owns the item.
+ An asset tag assigned by the organization responsible for maintaining the logical or tangible item.
+ Identifies whether the asset is publicly accessible (yes/no)
+ Identifies whether the asset is virtualized (yes/no)
+ Virtual LAN identifier of the asset.
+ The network identifier of the asset.
+ A human-readable label for the parent context.
+ An alternative identifier, whose value is easily sortable among other such values in the document.
+ The name of the baseline configuration for the asset.
+ Can the asset be check with an authenticated scan? (yes/no)
+ The function provided by the asset for the system.
+
+
+ System software that manages computer hardware, software resources, and provides common services for computer programs.
+ An electronic collection of data, or information, that is specially organized for rapid search and retrieval.
+ A system that delivers content or services to end users over the Internet or an intranet.
+ A system that resolves domain names to internet protocol (IP) addresses.
+ A computer system that sends and receives electronic mail messages.
+ A system that stores, organizes and provides access to directory information in order to unify network resources.
+ A private branch exchange (PBX) provides a a private telephone switchboard.
+ A network security system that monitors and controls incoming and outgoing network traffic based on predetermined security rules.
+ A physical or virtual networking device that forwards data packets between computer networks.
+ A physical or virtual networking device that connects devices within a computer network by using packet switching to receive and forward data to the destination device.
+ A consolidated, block-level data storage capability.
+ A physical or virtual machine that centralizes hardware, software, or services for a specific purpose.
+
+
+ The name of the company or organization
+
+
+ The asset is included in periodic vulnerability scanning.
+ The asset is not included in periodic vulnerability scanning.
+
+
+ A reference to the baseline template used to configure the asset.
+
+
+ Accountable for ensuring the asset is managed in accordance with organizational policies and procedures.
+ Responsible for administering a set of assets.
+ Members of the security operations center (SOC).
+ Members of the network operations center (NOC).
+ Responsible for responding to an event that could lead to loss of, or disruption to, an organization's operations, services or functions.
+ Responsible for providing information and support to users.
+ Responsible for the configuration management processes governing changes to the asset.
+ Responsible for the creation and maintenance of a component.
+ Organization responsible for providing the component, if this is different from the "maintainer" (e.g., a reseller).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The type of user, such as internal, external, or general-public.
+ The user's privilege level within the system, such as privileged, non-privileged, no-logical-access.
+
+
+ A user account for a person or entity that is part of the organization who owns or operates the system.
+ A user account for a person or entity that is not part of the organization who owns or operates the system.
+ A user of the system considered to be outside
+
+
+ This role has elevated access to the system, such as a group or system administrator.
+ This role has typical user-level access to the system without elevated access.
+ This role has no access to the system, such as a manager who approves access as part of a process.
+
+
+ Accountable for ensuring the asset is managed in accordance with organizational policies and procedures.
+ Responsible for administering a set of assets.
+ Members of the security operations center (SOC).
+ Members of the network operations center (NOC).
+ Responsible for responding to an event that could lead to loss of, or disruption to, an organization's operations, services or functions.
+ Responsible for providing information and support to users.
+ Responsible for the configuration management processes governing changes to the asset.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A human-readable label for the parent context, which may be rendered in place of the actual identifier for some use cases.
+ An alternative identifier, whose value is easily sortable among other such values in the document.
+ An alternate or aliased identifier for the parent context.
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A human-readable label for the parent context, which may be rendered in place of the actual identifier for some use cases.
+ An alternative identifier, whose value is easily sortable among other such values in the document.
+ An alternate or aliased identifier for the parent context.
+
+
+
+
+
+
+
+
+
+ **(deprecated)** Use 'assessment-objective' instead.
+ **(deprecated)** Use 'assessment-method' instead.
+ The part defines an assessment objective.
+ The part defines an assessment method.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The assessment method to use. This typically appears on parts with the name "assessment".
+
+
+
+ The process of holding discussions with individuals or groups of individuals within an organization to once again, facilitate assessor understanding, achieve clarification, or obtain evidence.
+ The process of reviewing, inspecting, observing, studying, or analyzing one or more assessment objects (i.e., specifications, mechanisms, or activities).
+ The process of exercising one or more assessment objects (i.e., activities or mechanisms) under specified conditions to compare actual with expected behavior.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ An assessment asset.
+ An assessment method.
+ Describes a set of control objectives.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The assessment method to use. This typically appears on parts with the name "objective".
+
+
+
+ The process of holding discussions with individuals or groups of individuals within an organization to once again, facilitate assessor understanding, achieve clarification, or obtain evidence.
+ The process of reviewing, inspecting, observing, studying, or analyzing one or more assessment objects (i.e., specifications, mechanisms, or activities).
+ The process of exercising one or more assessment objects (i.e., activities or mechanisms) under specified conditions to compare actual with expected behavior.
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The assessment method to use. This typically appears on parts with the name "objective".
+
+
+
+ The process of holding discussions with individuals or groups of individuals within an organization to once again, facilitate assessor understanding, achieve clarification, or obtain evidence.
+ The process of reviewing, inspecting, observing, studying, or analyzing one or more assessment objects (i.e., specifications, mechanisms, or activities).
+ The process of exercising one or more assessment objects (i.e., activities or mechanisms) under specified conditions to compare actual with expected behavior.
+
+
+
+
+
+
+ Defines the circumstances, conditions, degree, and manner in which the use of cyber-attack techniques or actions may be applied to the assessment.
+ Any information the assessor should make known to the system owner or authorizing official. Has child 'item' parts for each individual disclosure.
+ Defines any assessment activities which the system owner or authorizing official wishes to ensure are performed as part of the assessment.
+ Defines any assessment activities which the system owner or authorizing official explicitly prohibits from being performed as part of the assessment.
+ Defines conditions related to the delivery of the assessment results, such as when to deliver, how, and to whom.
+ Defines any supposition made by the assessor. Has child 'item' parts for each assumption.
+ An explanation of practices, procedures, and rules used in the course of the assessment.
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The referenced assessment subject is a component defined in the SSP, or in the local-definitions
of an Assessment Plan or Assessment Results.
+ The referenced assessment subject is a inventory item defined in the SSP, or in the local-definitions
of an Assessment Plan or Assessment Results.
+ The referenced assessment subject is a location
defined in the metadata
of the SSP, Assessment Plan, or Assessment Results.
+ The referenced assessment subject is a person or team to interview, who is defined as a party
in the metadata
of the SSP, Assessment Plan, or Assessment Results.
+ The referenced assessment subject is a user
defined in the SSP, or in the local-definitions
of an Assessment Plan or Assessment Results.
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Component
+ Inventory Item
+ Location
+ Interview Party
+ User
+ Resource or Artifact
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Component
+ Inventory Item
+ Location
+ Interview Party
+ User
+ Resource or Artifact
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The system as a whole.
+ An external system, which may be a leveraged system or the other side of an interconnection.
+ A connection to something outside this system.
+ Any software, operating system, or firmware.
+ A physical device.
+ A service that may provide APIs.
+ An enforceable policy.
+ A tangible asset used to provide physical protections or countermeasures.
+ A list of steps or actions to take to achieve some end result.
+ An applicable plan.
+ Any guideline or recommendation.
+ Any organizational or industry standard.
+ An external assessment performed on some other component, that has been validated by a third-party.
+ A physical or virtual network.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The component is being designed, developed, or implemented.
+ The component is currently operational and is available for use in the system.
+ The component is no longer operational.
+ Some other state.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Transmission Control Protocol
+ User Datagram Protocol
+
+
+
+
+
+
+
+ It is a best practice to provide a UUID.
+
+
+
+
+
+
+
+
+
+ Relative placement of component ('internal' or 'external') to the system.
+ UUID of the related leveraged-authorization assembly in this SSP.
+ UUID of the component as it was assigned in the leveraged system's SSP.
+ Simple indication of the asset's function, such as Router, Storage Array, DNS Server.
+ An organizationally specific identifier that is used to uniquely identify a logical or tangible item by the organization that owns the item.
+ An asset tag assigned by the organization responsible for maintaining the logical or tangible item.
+ Identifies whether the asset is publicly accessible (yes/no)
+ Identifies whether the asset is virtualized (yes/no)
+ Virtual LAN identifier of the asset.
+ The network identifier of the asset.
+ A human-readable label for the parent context.
+ An alternative identifier, whose value is easily sortable among other such values in the document.
+ The name of the baseline configuration for the asset.
+ Can the asset be check with an authenticated scan? (yes/no)
+ The function provided by the asset for the system.
+ The version of the component.
+ The specific patch level of the component.
+ The model of the component.
+ The date the component was released, such as a software release date or policy publication date.
+ Used with component-type='validation' to provide a well-known name for a kind of validation.
+ Used with component-type='validation' to indicate the validating body's assigned identifier for their validation of this component.
+
+
+ A reference to another component that this component has a dependency on.
+ A reference to another component of component-type=validation, that is a validation (e.g., FIPS 140-2) for this component
+ A pointer to a validation record (e.g., FIPS 140-2) or other compliance information.
+ A reference to the baseline template used to configure the asset.
+ This service is used by the referenced component identifier.
+ A link to the system security plan of the external system.
+ This component uses the network provided by the identified network component.
+
+
+ Accountable for ensuring the asset is managed in accordance with organizational policies and procedures.
+ Responsible for administering a set of assets.
+ Members of the security operations center (SOC).
+ Members of the network operations center (NOC).
+ Responsible for responding to an event that could lead to loss of, or disruption to, an organization's operations, services or functions.
+ Responsible for providing information and support to users.
+ Responsible for the configuration management processes governing changes to the asset.
+ Responsible for the creation and maintenance of a component.
+ Organization responsible for providing the component, if this is different from the "maintainer" (e.g., a reseller).
+
+
+ System software that manages computer hardware, software resources, and provides common services for computer programs.
+ An electronic collection of data, or information, that is specially organized for rapid search and retrieval.
+ A system that delivers content or services to end users over the Internet or an intranet.
+ A system that resolves domain names to internet protocol (IP) addresses.
+ A computer system that sends and receives electronic mail messages.
+ A system that stores, organizes and provides access to directory information in order to unify network resources.
+ A private branch exchange (PBX) provides a a private telephone switchboard.
+ A network security system that monitors and controls incoming and outgoing network traffic based on predetermined security rules.
+ A physical or virtual networking device that forwards data packets between computer networks.
+ A physical or virtual networking device that connects devices within a computer network by using packet switching to receive and forward data to the destination device.
+ A consolidated, block-level data storage capability.
+ A physical or virtual machine that centralizes hardware, software, or services for a specific purpose.
+
+
+ The component allows an authenticated scan.
+ The component does not allow an authenticated scan.
+
+
+ The component is publicly accessible.
+ The component is not publicly accessible.
+
+
+ The component is virtualized.
+ The component is not virtualized.
+
+
+ The component is implemented within the system boundary.
+ The component is implemented outside the system boundary.
+
+
+
+
+
+
+
+ The name of the company or organization
+
+
+ A link to an online information provided by the authorizing body.
+
+
+ If a "software" component-type, the identifier, such as a SWID tag, for the software component.
+
+
+ This service is provided by the referenced component identifier.
+ This service is used by the referenced component identifier.
+
+
+
+ Title of the Interconnection Security Agreement (ISA).
+ Date of the Interconnection Security Agreement (ISA).
+ The name of the remote interconnected system.
+ An Internet Protocol Version 4 interconnection address
+ An Internet Protocol Version 6 interconnection address
+ An Internet Protocol Version 6 interconnection address
+
+
+ The identified IP address is for this system.
+ The identified IP address is for the remote system to which this system is connected.
+
+
+ A link to the system interconnection agreement.
+
+
+ Interconnection Security Agreement (ISA) point of contact (POC) for this system.
+ Interconnection Security Agreement (ISA) point of contact (POC) for the remote interconnected system.
+ Interconnection Security Agreement (ISA) authorizing official for this system.
+ Interconnection Security Agreement (ISA) authorizing official for the remote interconnected system.
+
+
+
+
+
+ Data from the remote system flows into this system.
+ Data from this system flows to the remote system.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The task represents a planned milestone.
+ The task represents a specific assessment action to be performed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The period is specified in seconds.
+ The period is specified in minutes.
+ The period is specified in hours.
+ The period is specified in days.
+ The period is specified in calendar months.
+ The period is specified in calendar years.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The referenced assessment subject is a component defined in the SSP, or in the local-definitions
of an Assessment Plan or Assessment Results.
+ The referenced assessment subject is a inventory item defined in the SSP, or in the local-definitions
of an Assessment Plan or Assessment Results.
+ The referenced assessment subject is a location
defined in the metadata
of the SSP, Assessment Plan, or Assessment Results.
+ The referenced assessment subject is a person or team to interview, who is defined as a party
in the metadata
of the SSP, Assessment Plan, or Assessment Results.
+ The referenced assessment subject is a user
defined in the SSP, or in the local-definitions
of an Assessment Plan or Assessment Results.
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Component
+ Inventory Item
+ Location
+ Interview Party
+ User
+ Resource or Artifact
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Component
+ Inventory Item
+ Location
+ Interview Party
+ User
+ Resource or Artifact
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The referenced assessment subject is a component defined in the SSP, or in the local-definitions
of an Assessment Plan or Assessment Results.
+ The referenced assessment subject is a inventory item defined in the SSP, or in the local-definitions
of an Assessment Plan or Assessment Results.
+ The referenced assessment subject is a location
defined in the metadata
of the SSP, Assessment Plan, or Assessment Results.
+ The referenced assessment subject is a person or team to interview, who is defined as a party
in the metadata
of the SSP, Assessment Plan, or Assessment Results.
+ The referenced assessment subject is a user
defined in the SSP, or in the local-definitions
of an Assessment Plan or Assessment Results.
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Component
+ Inventory Item
+ Location
+ Interview Party
+ User
+ Resource or Artifact
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Component
+ Inventory Item
+ Location
+ Interview Party
+ User
+ Resource or Artifact
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A Digital Object Identifier (DOI); use is preferred, since this allows for retrieval of a full bibliographic record.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The SHA-224 algorithm as defined by NIST FIPS 180-4.
+
+ The SHA-256 algorithm as defined by NIST FIPS 180-4.
+
+ The SHA-384 algorithm as defined by NIST FIPS 180-4.
+
+ The SHA-512 algorithm as defined by NIST FIPS 180-4.
+
+ The SHA3-224 algorithm as defined by NIST FIPS 202.
+
+ The SHA3-256 algorithm as defined by NIST FIPS 202.
+
+ The SHA3-384 algorithm as defined by NIST FIPS 202.
+
+ The SHA3-512 algorithm as defined by NIST FIPS 202.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Identifies the type of resource represented.
+ For resources representing a published document, this represents the version number of that document.
+ For resources representing a published document, this represents the publication date of that document.
+
+
+
+ Indicates the resource is an organization's logo.
+ Indicates the resource represents an image.
+ Indicates the resource represents an image of screen content.
+ Indicates the resource represents an applicable law.
+ Indicates the resource represents an applicable regulation.
+ Indicates the resource represents an applicable standard.
+ Indicates the resource represents applicable guidance.
+ Indicates the resource provides a list of relevant acronyms.
+ Indicates the resource cites relevant information.
+ Indicates the resource is a policy.
+ Indicates the resource is a procedure.
+ Indicates the resource is guidance document related to the subject system of an SSP.
+ Indicates the resource is guidance document a user's guide or administrator's guide.
+ Indicates the resource is guidance document a administrator's guide.
+ Indicates the resource represents rules of behavior content.
+ Indicates the resource represents a plan.
+ Indicates the resource represents an artifact, such as may be reviewed by an assessor.
+ Indicates the resource represents evidence, such as to support an assessment findiing.
+ Indicates the resource represents output from a tool.
+ Indicates the resource represents machine data, which may require a tool or analysis for interpretation or presentation.
+ Indicates the resource represents notes from an interview, such as may be collected during an assessment.
+ Indicates the resource is a set of questions, possibly with responses.
+ Indicates the resource is a report.
+ Indicates the resource is a formal agreement between two or more parties.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/converter-gen/testing/definition-maps/profile-reduce-map-output.xml b/src/converter-gen/testing/definition-maps/profile-reduce-map-output.xml
new file mode 100644
index 00000000..93e88da9
--- /dev/null
+++ b/src/converter-gen/testing/definition-maps/profile-reduce-map-output.xml
@@ -0,0 +1,7009 @@
+
+
+
+ OSCAL Profile Model
+ 1.0.4
+ oscal-profile
+ http://csrc.nist.gov/ns/oscal/1.0
+ http://csrc.nist.gov/ns/oscal
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The link identifies the authoritative location for this file. Defined by RFC 6596.
+ The link identifies an alternative location or format for this file. Defined by the HTML Living Standard
+
+ This link identifies a resource containing the predecessor version in the version history. Defined by RFC 5829.
+ This link identifies a resource containing the predecessor version in the version history. Defined by RFC 5829.
+
+
+
+
+
+
+
+
+
+ A Digital Object Identifier (DOI); use is preferred, since this allows for retrieval of a full bibliographic record.
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A home address.
+ A work address.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A home phone number.
+ An office phone number.
+ A mobile phone number.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Characterizes the kind of location.
+
+
+ A location that contains computing assets. A class
can be used to indicate the sub-type of data-center as primary or alternate.
+
+
+ The location is a data-center used for normal operations.
+ The location is a data-center used for fail-over or backup operations.
+
+
+
+
+
+
+
+
+
+
+ An individual.
+ A group of individuals formed for a specific purpose.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The identifier is Open Researcher and Contributor ID (ORCID).
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A home phone number.
+ An office phone number.
+ A mobile phone number.
+
+
+
+
+
+
+
+
+
+
+
+
+ A home address.
+ A work address.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A mail stop associated with the party.
+ The name or number of the party's office.
+ The formal job title of a person.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Indicates the organization that created this content.
+ Indicates the organization that prepared this content.
+ Indicates the organization for which this content was created.
+ Indicates the organization responsible for all content represented in the "document".
+ Indicates the organization to contact for questions or support related to this content.
+
+
+ The value identifies a comma-seperated listing of keywords associated with this content. These keywords may be used as search terms for indexing and other applications.
+
+
+ The link identifies the authoritative location for this file. Defined by RFC 6596.
+ The link identifies an alternative location or format for this file. Defined by the HTML Living Standard
+
+ This link identifies a resource containing the latest version in the version history. Defined by RFC 5829.
+ This link identifies a resource containing the predecessor version in the version history. Defined by RFC 5829.
+ This link identifies a resource containing the predecessor version in the version history. Defined by RFC 5829.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Include child controls with an included control.
+ When importing a control, only include child controls that are also explicitly called.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Include child controls with an included control.
+ When importing a control, only include child controls that are also explicitly called.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Use the first definition - the first control with a given ID is used; subsequent ones are discarded
+ **(deprecated)** **(unspecified)** Merge - controls with the same ID are combined
+ Keep - controls with the same ID are kept, retaining the clash
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Only one value is permitted.
+ One or more values are permitted.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A human-readable label for the parent context, which may be rendered in place of the actual identifier for some use cases.
+ An alternative identifier, whose value is easily sortable among other such values in the document.
+ An alternate or aliased identifier for the parent context.
+ An alternate to the value provided by the parameter's label. This will typically be qualified by a class.
+
+
+ The parent parameter provides an aggregation of 2 or more other parameters, each described by this property.
+
+
+ depends-on is deprecated
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A human-readable label for the parent context, which may be rendered in place of the actual identifier for some use cases.
+ An alternative identifier, whose value is easily sortable among other such values in the document.
+ An alternate or aliased identifier for the parent context.
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A human-readable label for the parent context, which may be rendered in place of the actual identifier for some use cases.
+ An alternative identifier, whose value is easily sortable among other such values in the document.
+ An alternate or aliased identifier for the parent context.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Include child controls with an included control.
+ When importing a control, only include child controls that are also explicitly called.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Include child controls with an included control.
+ When importing a control, only include child controls that are also explicitly called.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Include child controls with an included control.
+ When importing a control, only include child controls that are also explicitly called.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Include child controls with an included control.
+ When importing a control, only include child controls that are also explicitly called.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Only one value is permitted.
+ One or more values are permitted.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Preceding the id-ref target
+ Following the id-ref target
+ Inside the control or id-ref target, at the start
+ Inside the control or id-ref target, at the end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Only one value is permitted.
+ One or more values are permitted.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A human-readable label for the parent context, which may be rendered in place of the actual identifier for some use cases.
+ An alternative identifier, whose value is easily sortable among other such values in the document.
+ An alternate or aliased identifier for the parent context.
+ An alternate to the value provided by the parameter's label. This will typically be qualified by a class.
+
+
+ The parent parameter provides an aggregation of 2 or more other parameters, each described by this property.
+
+
+ depends-on is deprecated
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A human-readable label for the parent context, which may be rendered in place of the actual identifier for some use cases.
+ An alternative identifier, whose value is easily sortable among other such values in the document.
+ An alternate or aliased identifier for the parent context.
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A human-readable label for the parent context, which may be rendered in place of the actual identifier for some use cases.
+ An alternative identifier, whose value is easily sortable among other such values in the document.
+ An alternate or aliased identifier for the parent context.
+
+
+
+
+
+
+ A human-readable label for the parent context, which may be rendered in place of the actual identifier for some use cases.
+ An alternative identifier, whose value is easily sortable among other such values in the document.
+ An alternate or aliased identifier for the parent context.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A Digital Object Identifier (DOI); use is preferred, since this allows for retrieval of a full bibliographic record.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A label or descriptor that is tied to a sensitivity or classification marking system. An optional class can be used to define the specific marking system used for the associated value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The SHA-224 algorithm as defined by NIST FIPS 180-4.
+
+ The SHA-256 algorithm as defined by NIST FIPS 180-4.
+
+ The SHA-384 algorithm as defined by NIST FIPS 180-4.
+
+ The SHA-512 algorithm as defined by NIST FIPS 180-4.
+
+ The SHA3-224 algorithm as defined by NIST FIPS 202.
+
+ The SHA3-256 algorithm as defined by NIST FIPS 202.
+
+ The SHA3-384 algorithm as defined by NIST FIPS 202.
+
+ The SHA3-512 algorithm as defined by NIST FIPS 202.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Identifies the type of resource represented.
+ For resources representing a published document, this represents the version number of that document.
+ For resources representing a published document, this represents the publication date of that document.
+
+
+
+ Indicates the resource is an organization's logo.
+ Indicates the resource represents an image.
+ Indicates the resource represents an image of screen content.
+ Indicates the resource represents an applicable law.
+ Indicates the resource represents an applicable regulation.
+ Indicates the resource represents an applicable standard.
+ Indicates the resource represents applicable guidance.
+ Indicates the resource provides a list of relevant acronyms.
+ Indicates the resource cites relevant information.
+ Indicates the resource is a policy.
+ Indicates the resource is a procedure.
+ Indicates the resource is guidance document related to the subject system of an SSP.
+ Indicates the resource is guidance document a user's guide or administrator's guide.
+ Indicates the resource is guidance document a administrator's guide.
+ Indicates the resource represents rules of behavior content.
+ Indicates the resource represents a plan.
+ Indicates the resource represents an artifact, such as may be reviewed by an assessor.
+ Indicates the resource represents evidence, such as to support an assessment findiing.
+ Indicates the resource represents output from a tool.
+ Indicates the resource represents machine data, which may require a tool or analysis for interpretation or presentation.
+ Indicates the resource represents notes from an interview, such as may be collected during an assessment.
+ Indicates the resource is a set of questions, possibly with responses.
+ Indicates the resource is a report.
+ Indicates the resource is a formal agreement between two or more parties.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/converter-gen/testing/xml-converters/computer-build-xml-converter.xsl b/src/converter-gen/testing/xml-converters/computer-build-xml-converter.xsl
new file mode 100644
index 00000000..db3565a3
--- /dev/null
+++ b/src/converter-gen/testing/xml-converters/computer-build-xml-converter.xsl
@@ -0,0 +1,12 @@
+
+
+
+
+http://csrc.nist.gov/ns/oscal/1.0
+
diff --git a/src/converter-gen/testing/xml-to-json/produce-xml-converter-json-usage.xspec b/src/converter-gen/testing/xml-to-json/produce-xml-converter-json-usage.xspec
new file mode 100644
index 00000000..28db3324
--- /dev/null
+++ b/src/converter-gen/testing/xml-to-json/produce-xml-converter-json-usage.xspec
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ stub
+
+
+
+
+
+
+
+
+
+
+
+ stub
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/converter-gen/testing/xml-to-json/produce-xml-converter.xspec b/src/converter-gen/testing/xml-to-json/produce-xml-converter.xspec
index d679de27..94a1a975 100644
--- a/src/converter-gen/testing/xml-to-json/produce-xml-converter.xspec
+++ b/src/converter-gen/testing/xml-to-json/produce-xml-converter.xspec
@@ -1,14 +1,61 @@
+
+
+
+
+
+
+
+
+ stub
+
+
+
+
+
+
+
+
+
+ stub
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ...
+ ...
+ ...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ...
+ ...
+ ...
+ ...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ...
+ ...
+ ...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ...
+ ...
+ ...
+ ...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ...
+ ...
+ ...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ...
+ ...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ...
+ ...
+ ...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ...
+ ...
+ ...
+ ...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ...
+ ...
+ ...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ...
+ ...
+ ...
+ ...
+ ...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ http://csrc.nist.gov/ns/oscal/1.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ stub
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ remarks
+
+ ...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ k
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ...
+
+
+
+
+
+
+
+ ...
+
+
+
+
+ ...
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ...
+ ...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ...
+ ...
+ ...
+ ...
+ ...
+ ...
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ...
+ ...
+ ...
+ ...
+ ...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ prop/@uuid
+
+
+
+ profile/@uuid
+
+
+
+
+
+
+
+
+
+
+
+ group/part/@id | group/part//part/@id | add/part/@id | add/part//part/@id
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ link1/@href | link2/@href
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ link/@href
+
+
+
+
+
+
+
+
+ @uuid
+
+
+
+
+
+
+
+
+ prop
+
+
+
+
+
+
+
+ prop
+
+
+
+
+
+
+
+
+
+
+
+
+ group/part | group/part//part | add/part | add/part//part
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {
+ concat(
+ 'alias/assembly-1only | alias/assembly-1only//assembly-1only | ',
+ 'alias/assembly-1only | alias/assembly-1only//assembly-1only | ',
+ 'EVERYTHING/assembly-1only | EVERYTHING/assembly-1only//assembly-1only | ',
+ '/ASSEMBLY-1ONLY | ASSEMBLY-1ONLY//assembly-1only'
+ )}
+
+
+
+
+
+
+
+
+ metadata/location
+
+
+
+
+
+
+
+
+
+
+ param/value | set-parameter/value | param/value
+
+
+
+
+
+
+
+
+
+
+ profile
+
+
+
+
+
+
+
+ part
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ profile/merge/custom
+
+
+
+
+
+
+
+
+
+
+
+
+ profile//merge/custom
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ...
+
+
+
+
+
+
+
+
+
+ A label or descriptor that...
+
+
+
+
+
+
+
+
+
+
+ ...
+
+
+ ...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ...
+
+
+ ...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ...
+
+
+ ...
+
+
+ ...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/converter-gen/testing/xml-to-json/test-helper-xml-to-json.xsl b/src/converter-gen/testing/xml-to-json/test-helper-xml-to-json.xsl
new file mode 100644
index 00000000..5f91850b
--- /dev/null
+++ b/src/converter-gen/testing/xml-to-json/test-helper-xml-to-json.xsl
@@ -0,0 +1,37 @@
+
+
+
+
+
+ Reached make-xml-pull mode
+
+
+
+
+ Reached make-xml-match mode
+ for any-element
+
+
+
+ Reached make-json-pull mode
+
+
+
+ Reached make-template mode
+
+
+
\ No newline at end of file
diff --git a/src/converter-gen/xml-to-json/produce-xml-converter.xsl b/src/converter-gen/xml-to-json/produce-xml-converter.xsl
index 8ba92f14..18863038 100644
--- a/src/converter-gen/xml-to-json/produce-xml-converter.xsl
+++ b/src/converter-gen/xml-to-json/produce-xml-converter.xsl
@@ -6,7 +6,8 @@
xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0"
version="3.0"
- xmlns="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel">
+ xmlns="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"
+ xmlns:sm="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel">
@@ -16,8 +17,8 @@
-
-
+
+
@@ -26,17 +27,12 @@
-
-
-
-
-
-
+
@@ -61,7 +57,8 @@
-
+
@@ -73,7 +70,8 @@
-
+
@@ -84,7 +82,7 @@
-
+
@@ -100,24 +98,25 @@
-
+
{ $source-namespace }
-
+
-
-
+
+
+
-
+
METASCHEMA conversion stylesheet supports XML -> METASCHEMA/SUPERMODEL conversion
-
+
@@ -128,9 +127,10 @@
-
+
+
-
+
@@ -141,28 +141,37 @@
-
+
-
+
-
+
-
+
-
-
-
-
+
+
+
+
+
+
+
-
+
@@ -190,9 +199,9 @@
-
-
+
+
@@ -200,8 +209,9 @@
-
-
+
+
@@ -222,18 +232,23 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
+
+
@@ -247,8 +262,8 @@
-
-
+
+
@@ -262,39 +277,43 @@
b3/a (when a does not recurse inside b3)-->
-
+
-
-
-
-
-
-
-
-
-
- |
-
-
+
+
+
+
+
+
+
+
+
+
+ |
+
+
+ /
+
+
/
-
-
- /
- /
-
-
-
-
-
-
-
-
-
+ /
+
+
+
+
+
+
+
+
+
+
-
+
-
+
+
@@ -374,6 +394,7 @@
+
@@ -381,17 +402,20 @@
-
+
- p | ul | ol | pre | h1 | h2 | h3 | h4 | h5 | h6 | table
+ p | ul | ol | pre | h1 | h2 | h3 | h4 | h5 | h6 | table
-
+
+
@@ -403,8 +427,9 @@
-
-
+
+
@@ -414,22 +439,23 @@
-->
-
-
-
+
+
+
-
+
-
+
@@ -438,11 +464,11 @@
-
+
string
-
+
boolean
@@ -460,26 +486,29 @@
decimal
-
+
number
-
+
-
+
-
+
-
+
\ No newline at end of file
From 04f5159af8fc9a63f5e7d23f6e21ef13852279d5 Mon Sep 17 00:00:00 2001
From: galtm <40716346+galtm@users.noreply.github.com>
Date: Wed, 5 Jun 2024 08:07:58 -0400
Subject: [PATCH 2/2] Update a comment
---
src/converter-gen/xml-to-json/produce-xml-converter.xsl | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/converter-gen/xml-to-json/produce-xml-converter.xsl b/src/converter-gen/xml-to-json/produce-xml-converter.xsl
index f7a75792..84c8d2df 100644
--- a/src/converter-gen/xml-to-json/produce-xml-converter.xsl
+++ b/src/converter-gen/xml-to-json/produce-xml-converter.xsl
@@ -414,8 +414,7 @@
p | ul | ol | pre | h1 | h2 | h3 | h4 | h5 | h6 | table
-
+