diff --git a/.github/workflows/issue-triage.yml b/.github/workflows/issue-triage.yml index f4f7f9546..b887df6f7 100644 --- a/.github/workflows/issue-triage.yml +++ b/.github/workflows/issue-triage.yml @@ -11,7 +11,7 @@ jobs: if: github.event.action == 'opened' steps: - name: Add New Issues to Issue Triage Board - uses: peter-evans/create-or-update-project-card@866533e2ae61f13c35fd1d374049713fab43c729 + uses: peter-evans/create-or-update-project-card@5eacbbd224b7814354861b555cc18a8359e2cebe with: project-name: Issue Triage column-name: Needs Triage @@ -19,7 +19,7 @@ jobs: runs-on: ubuntu-20.04 if: github.event.action == 'closed' steps: - - uses: alex-page/github-project-automation-plus@bb266ff4dde9242060e2d5418e120a133586d488 + - uses: alex-page/github-project-automation-plus@1f8873e97e3c8f58161a323b7c568c1f623a1c4d with: project: Issue Triage column: Done diff --git a/.github/workflows/package-release.yml b/.github/workflows/package-release.yml index 7aa6c53aa..720156685 100644 --- a/.github/workflows/package-release.yml +++ b/.github/workflows/package-release.yml @@ -20,7 +20,7 @@ jobs: runs-on: ubuntu-20.04 steps: # use this for main repo master builds - - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b + - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c with: path: ${{ env.OSCAL_HOME }} submodules: recursive @@ -38,14 +38,14 @@ jobs: bash "${OSCAL_CICD_PATH}/package-release.sh" "${OSCAL_WORKING_PATH}" tar -jcvf "${OSCAL_WORKING_PATH}/${RELEASE_NAME}.tar.bz2" -C "${OSCAL_WORKING_PATH}/archive" . (cd "${OSCAL_WORKING_PATH}/archive" && zip -r "../${RELEASE_NAME}.zip" .) - - uses: actions/upload-artifact@3cea5372237819ed00197afe530f5a7ea3e805c8 + - uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce with: name: release-artifacts path: | ${{ env.OSCAL_WORKING_PATH }}/${{ env.RELEASE_NAME }}.tar.bz2 ${{ env.OSCAL_WORKING_PATH }}/${{ env.RELEASE_NAME }}.zip retention-days: 5 - - uses: ncipollo/release-action@58ae73b360456532aafd58ee170c045abbeaee37 + - uses: ncipollo/release-action@a2e71bdd4e7dab70ca26a852f29600c98b33153e with: name: OSCAL ${{ env.RELEASE_VERSION }} Release allowUpdates: false diff --git a/.github/workflows/workflow-generate-metaschema-resources.yml b/.github/workflows/workflow-generate-metaschema-resources.yml index f1a4fb6df..321ec96f6 100644 --- a/.github/workflows/workflow-generate-metaschema-resources.yml +++ b/.github/workflows/workflow-generate-metaschema-resources.yml @@ -36,7 +36,7 @@ jobs: # use this for builds triggered from the UI on protected branches - name: Checkout Latest (using COMMIT_TOKEN) if: github.event_name == 'workflow_dispatch' && github.event.inputs.commit_resources == 'true' - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b + uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c with: path: ${{ env.CHECKOUT_PATH }} token: ${{ secrets.COMMIT_TOKEN }} @@ -45,7 +45,7 @@ jobs: # use this for builds triggered from other workflows on protected branches - name: Checkout Latest (using access_token) if: github.event_name == 'push' && inputs.commit_resources == true - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b + uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c with: path: ${{ env.CHECKOUT_PATH }} token: ${{ secrets.access_token }} @@ -54,7 +54,7 @@ jobs: # use this for overything else (i.e., pull requests) where publication is not needed - name: Checkout Latest if: steps.checkout_latest_workflow.conclusion == 'skipped' && steps.checkout_latest_push.conclusion == 'skipped' - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b + uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c with: path: ${{ env.CHECKOUT_PATH }} submodules: recursive @@ -66,7 +66,7 @@ jobs: # ------------------------- # Java JDK 11 - name: Set up JDK - uses: actions/setup-java@f0bb91606209742fe3ea40199be2f3ef195ecabf + uses: actions/setup-java@1df8dbefe2a8cbc99770194893dd902763bee34b with: java-version: 11 distribution: 'temurin' @@ -77,7 +77,7 @@ jobs: mkdir -p "${JAVA_CLASSPATH}" mvn dependency:copy-dependencies -DoutputDirectory="${JAVA_CLASSPATH}" - name: Set up NodeJS - uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 + uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c with: node-version-file: '${{ env.CHECKOUT_PATH }}/build/.nvmrc' cache: 'npm' @@ -119,18 +119,30 @@ jobs: run: | zip ${{ runner.temp }}/metaschema-artifacts.zip -r xml/schema/*.xsd json/schema/*.json xml/convert/*.xsl json/convert/*.xsl working-directory: ${{ env.CHECKOUT_PATH }} - - uses: actions/upload-artifact@3cea5372237819ed00197afe530f5a7ea3e805c8 + - name: Zip Schematron Validation Results for Debugging + if: always() + run: | + zip ${{ runner.temp }}/schematron-validations.zip -r ${{ runner.temp }} build/metaschema/toolchains/xslt-M4/validate/metaschema-composition-check-compiled.xsl + working-directory: ${{ env.CHECKOUT_PATH }} + - uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce with: name: schemas-and-converters path: | ${{ runner.temp }}/metaschema-artifacts.zip retention-days: 5 + - uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce + if: always() + with: + name: schematron-validation-reports + path: | + ${{ runner.temp }}/schematron-validations.zip + retention-days: 5 # Store Built Artifacts # --------------- - name: Publish Schemas and Converters # only do this on master if: github.event.inputs.commit_resources == 'true' || inputs.commit_resources == true - uses: stefanzweifel/git-auto-commit-action@be7095c202abcf573b09f20541e0ee2f6a3a9d9b + uses: stefanzweifel/git-auto-commit-action@3ea6ae190baf489ba007f7c92608f33ce20ef04a with: repository: ${{ env.CHECKOUT_PATH }} file_pattern: xml json diff --git a/.github/workflows/workflow-generate-website-reference.yml b/.github/workflows/workflow-generate-website-reference.yml index 818087794..44449393f 100644 --- a/.github/workflows/workflow-generate-website-reference.yml +++ b/.github/workflows/workflow-generate-website-reference.yml @@ -41,7 +41,7 @@ jobs: # 2) The target branch where the metaschemas exist that are the basis of reference information. # Checkout the current branch for reading - name: Checkout Latest - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b + uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c with: path: ${{ env.BRANCH_PATH }} submodules: recursive @@ -49,7 +49,7 @@ jobs: # use this for builds triggered from the UI on protected branches - name: Checkout Main (using COMMIT_TOKEN) if: github.event_name == 'workflow_dispatch' && github.event.inputs.commit_resources == 'true' - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b + uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c with: path: ${{ env.MAIN_PATH }} ref: ${{ env.MAIN_BRANCH_REF }} @@ -59,7 +59,7 @@ jobs: # use this for builds triggered from other workflows on protected branches - name: Checkout Main (using access_token) if: github.event_name == 'push' && inputs.commit_resources == true - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b + uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c with: path: ${{ env.MAIN_PATH }} ref: ${{ env.MAIN_BRANCH_REF }} @@ -69,7 +69,7 @@ jobs: # use this for overything else (i.e., pull requests) where publication is not needed - name: Checkout Main if: steps.checkout_main_workflow.conclusion == 'skipped' && steps.checkout_main_push.conclusion == 'skipped' - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b + uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c with: path: ${{ env.MAIN_PATH }} ref: ${{ env.MAIN_BRANCH_REF }} @@ -82,7 +82,7 @@ jobs: # ------------------------- # Java JDK 11 - name: Set up JDK - uses: actions/setup-java@f0bb91606209742fe3ea40199be2f3ef195ecabf + uses: actions/setup-java@1df8dbefe2a8cbc99770194893dd902763bee34b with: java-version: 11 distribution: 'temurin' @@ -94,7 +94,7 @@ jobs: mvn dependency:copy-dependencies -DoutputDirectory="${JAVA_CLASSPATH}" # Install Hugo - name: Store Hugo Executable in Cache - uses: actions/cache@0865c47f36e68161719c5b124609996bb5c40129 + uses: actions/cache@58c146cc91c5b9e778e71775dfe9bf1442ad9a12 with: path: /home/runner/go/bin/hugo key: ${{ runner.os }}-hugo-${{ hashFiles(format('{0}/build/go.sum', env.BRANCH_PATH)) }} @@ -105,7 +105,7 @@ jobs: echo "/home/runner/go/bin" >> $GITHUB_PATH - name: Setup Golang if: steps.cache-hugo.outputs.cache-hit != 'true' - uses: actions/setup-go@b22fbbc2921299758641fab08929b4ac52b32923 + uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 with: go-version-file: '${{ env.BRANCH_PATH }}/build/go.mod' cache: true @@ -115,6 +115,11 @@ jobs: run: | cd "${{ env.BRANCH_PATH }}/build" go install -tags "extended" github.com/gohugoio/hugo + - name: Setup Swap Space + # Since Hugo is requiring more memory + uses: pierotofy/set-swap-space@49819abfb41bd9b44fb781159c033dba90353a7c + with: + swap-size-gb: 10 # Build Artifacts # --------------- - name: Generate Model Reference Documentation @@ -144,7 +149,7 @@ jobs: run: | zip ${{ runner.temp }}/metaschema-website.zip -r public/ working-directory: ${{ env.MAIN_PATH }}/docs - - uses: actions/upload-artifact@3cea5372237819ed00197afe530f5a7ea3e805c8 + - uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce with: name: website path: | @@ -153,7 +158,7 @@ jobs: - name: Publish Generated Pages # only do this on master if: github.event.inputs.commit_resources == 'true' || inputs.commit_resources == true - uses: stefanzweifel/git-auto-commit-action@be7095c202abcf573b09f20541e0ee2f6a3a9d9b + uses: stefanzweifel/git-auto-commit-action@3ea6ae190baf489ba007f7c92608f33ce20ef04a with: repository: ${{ env.MAIN_PATH }} file_pattern: docs diff --git a/.github/workflows/workflow-generate-website.yml b/.github/workflows/workflow-generate-website.yml index 612f42c7d..73a671286 100644 --- a/.github/workflows/workflow-generate-website.yml +++ b/.github/workflows/workflow-generate-website.yml @@ -49,7 +49,7 @@ jobs: # use this for builds triggered from the UI on protected branches - name: Checkout Latest (using COMMIT_TOKEN) if: github.event_name == 'workflow_dispatch' && github.event.inputs.commit_resources == 'true' - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b + uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c with: token: ${{ secrets.COMMIT_TOKEN }} submodules: recursive @@ -57,7 +57,7 @@ jobs: # use this for builds triggered from other workflows on protected branches - name: Checkout Latest (using access_token) if: github.event_name == 'push' && inputs.commit_resources == true - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b + uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c with: token: ${{ secrets.access_token }} submodules: recursive @@ -65,7 +65,7 @@ jobs: # use this for overything else (i.e., pull requests) where publication is not needed - name: Checkout Latest if: steps.checkout_latest_workflow.conclusion == 'skipped' && steps.checkout_latest_push.conclusion == 'skipped' - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b + uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c with: submodules: recursive - name: Set env @@ -76,7 +76,7 @@ jobs: # ------------------------- # Java JDK 11 - name: Set up JDK - uses: actions/setup-java@f0bb91606209742fe3ea40199be2f3ef195ecabf + uses: actions/setup-java@1df8dbefe2a8cbc99770194893dd902763bee34b with: java-version: 11 distribution: 'temurin' @@ -86,12 +86,17 @@ jobs: cd "${BUILD_PATH}" mkdir -p "${JAVA_CLASSPATH}" mvn dependency:copy-dependencies -DoutputDirectory="${JAVA_CLASSPATH}" + - name: Setup Swap Space + # Since Hugo is requiring more memory + uses: pierotofy/set-swap-space@49819abfb41bd9b44fb781159c033dba90353a7c + with: + swap-size-gb: 10 # Build Artifacts # --------------- - name: Generate specification documentation run: | bash "${CICD_PATH}/generate-specification-documentation.sh" - - uses: actions/upload-artifact@3cea5372237819ed00197afe530f5a7ea3e805c8 + - uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce with: name: specification-docs path: | @@ -99,7 +104,7 @@ jobs: retention-days: 5 # Install Hugo - name: Store Hugo Executable in Cache - uses: actions/cache@0865c47f36e68161719c5b124609996bb5c40129 + uses: actions/cache@58c146cc91c5b9e778e71775dfe9bf1442ad9a12 with: path: /home/runner/go/bin/hugo key: ${{ runner.os }}-hugo-${{ hashFiles(format('{0}/go.sum', env.BUILD_PATH)) }} @@ -110,7 +115,7 @@ jobs: echo "/home/runner/go/bin" >> $GITHUB_PATH - name: Setup Golang if: steps.cache-hugo.outputs.cache-hit != 'true' - uses: actions/setup-go@b22fbbc2921299758641fab08929b4ac52b32923 + uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 with: go-version-file: '${{ env.BUILD_PATH }}/go.mod' cache: true @@ -128,7 +133,7 @@ jobs: run: | zip ${{ runner.temp }}/metaschema-website.zip -r public/ working-directory: ${{ github.workspace }}/docs - - uses: actions/upload-artifact@3cea5372237819ed00197afe530f5a7ea3e805c8 + - uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce with: name: website path: | @@ -136,30 +141,30 @@ jobs: retention-days: 5 - name: Link Checker id: linkchecker - uses: lycheeverse/lychee-action@76ab977fedbeaeb32029313724a2e56a8a393548 + uses: lycheeverse/lychee-action@4dcb8bee2a0a4531cba1a1f392c54e8375d6dd81 with: - args: --exclude-file ./build/config/.lycheeignore --verbose --no-progress './docs/public/**/*.html' --accept 200,206,429 + args: --exclude-file ./build/config/.lycheeignore --verbose --no-progress --accept 200,206,429 './docs/public/**/*.html' --remap "https://pages.nist.gov/OSCAL/ file://${GITHUB_WORKSPACE}/docs/public/" --exclude-mail format: markdown output: html-link-report.md env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - uses: actions/upload-artifact@3cea5372237819ed00197afe530f5a7ea3e805c8 + - uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce with: name: html-link-report path: html-link-report.md retention-days: 5 - - uses: actions/github-script@7a5c598405937d486b0331594b5da2b14db670da + - uses: actions/github-script@98814c53be79b1d30f795b907e553d8679345975 if: steps.linkchecker.outputs.exit_code != 0 with: script: | core.setFailed('Link checker detected broken or invalid links, read attached report.') - - uses: actions/github-script@7a5c598405937d486b0331594b5da2b14db670da + - uses: actions/github-script@98814c53be79b1d30f795b907e553d8679345975 if: steps.linkchecker.outputs.exit_code != 0 && (github.event.inputs.bad_links_fail_build == 'true' || inputs.bad_links_fail_build == true) with: script: | core.setFailed('Link checker detected broken or invalid links, read attached report.') - name: Deploy Website (using access_token) - uses: peaceiris/actions-gh-pages@068dc23d9710f1ba62e86896f84735d869951305 + uses: peaceiris/actions-gh-pages@bd8c6b06eba6b3d25d72b7a1767993c0aeee42e7 if: github.event_name == 'push' && inputs.commit_resources == true && github.ref_name == 'main' with: github_token: ${{ secrets.access_token }} @@ -168,7 +173,7 @@ jobs: publish_branch: nist-pages commit_message: Deploying website [ci deploy skip] - name: Deploy Website (using COMMIT_TOKEN) - uses: peaceiris/actions-gh-pages@068dc23d9710f1ba62e86896f84735d869951305 + uses: peaceiris/actions-gh-pages@bd8c6b06eba6b3d25d72b7a1767993c0aeee42e7 if: github.event_name == 'workflow_dispatch' && github.event.inputs.commit_resources == 'true' && github.ref_name == 'main' with: github_token: ${{ secrets.COMMIT_TOKEN }} diff --git a/.github/workflows/workflow-validate-repo-markdown.yml b/.github/workflows/workflow-validate-repo-markdown.yml index d33c217b8..9fee3ff4c 100644 --- a/.github/workflows/workflow-validate-repo-markdown.yml +++ b/.github/workflows/workflow-validate-repo-markdown.yml @@ -23,13 +23,13 @@ jobs: runs-on: ubuntu-20.04 steps: # use this for pulls where checkout is anonymous - - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b + - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c with: submodules: recursive # Setup runtime environment # ------------------------- - name: Set up NodeJS - uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 + uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c with: node-version-file: 'build/.nvmrc' cache: 'npm' @@ -61,7 +61,7 @@ jobs: id: linkchecker - name: Create issue if bad links detected in repo if: failure() && inputs.create_issue == true - uses: peter-evans/create-issue-from-file@97e6f902a416aac38834e23fa52e166aad0437d2 # v3.0.0 + uses: peter-evans/create-issue-from-file@433e51abf769039ee20ba1293a088ca19d573b7f # v3.0.0 with: title: Scheduled Check of Markdown Documents Found Bad Hyperlinks content-filepath: mlc_report.log diff --git a/.github/workflows/workflow-validate-website-content.yml b/.github/workflows/workflow-validate-website-content.yml index 5f2a16ca0..1822eb22f 100644 --- a/.github/workflows/workflow-validate-website-content.yml +++ b/.github/workflows/workflow-validate-website-content.yml @@ -23,24 +23,24 @@ jobs: runs-on: ubuntu-20.04 steps: - name: Checkout Latest - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b + uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c with: fetch-depth: 0 # this ensures that the tag and commit history are available - name: Checkout git ref of published website content - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b + uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c with: ref: ${{ inputs.site_git_ref }} path: ${{ inputs.site_git_ref_path }} - name: Check website HTML content links id: linkchecker - uses: lycheeverse/lychee-action@76ab977fedbeaeb32029313724a2e56a8a393548 + uses: lycheeverse/lychee-action@4dcb8bee2a0a4531cba1a1f392c54e8375d6dd81 with: - args: --exclude-file ./build/config/.lycheeignore --verbose --no-progress --accept 200,206,429 './published/**/*.html' --exclude-mail + args: --exclude-file ./build/config/.lycheeignore --verbose --no-progress --accept 200,206,429 "./${INPUT_SITE_GIT_REF}/**/*.html" --remap "https://pages.nist.gov/OSCAL/ file://${GITHUB_WORKSPACE}/${INPUT_SITE_GIT_REF}/" --exclude-mail env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Create issue if bad links detected if: steps.linkchecker.outputs.exit_code != 0 && inputs.create_issue - uses: peter-evans/create-issue-from-file@97e6f902a416aac38834e23fa52e166aad0437d2 + uses: peter-evans/create-issue-from-file@433e51abf769039ee20ba1293a088ca19d573b7f with: title: Scheduled Check of Website Content Found Bad Hyperlinks content-filepath: ./lychee/out.md diff --git a/.gitignore b/.gitignore index 0b81a34a6..d12a8f4df 100644 --- a/.gitignore +++ b/.gitignore @@ -29,12 +29,6 @@ target/ /archive /roundtrip /svrl -# Produced by bundler -/docs/.bundle -/docs/vendor -# Produced in CircleCI build -/.skipbuild -/.runbuild # Generated by scripts .metaschema-cache # generated by Hugo @@ -46,6 +40,7 @@ target/ # generated by Hugo /docs/resources /docs/public +/docs/.hugo_build.lock # generated by NodeJS /docs/node_modules # generated by /build/ci-cd/generate-specification-documentation.sh @@ -58,3 +53,5 @@ node_modules/ # Files build by CI/CD /docs/content/documentation/specification/processing/profile-resolution.html /docs/scratch-dir +/.skipbuild +/.runbuild diff --git a/README_validations.md b/README_validations.md index 7a64a1b12..76dbd75c0 100644 --- a/README_validations.md +++ b/README_validations.md @@ -26,7 +26,7 @@ For OSCAL XML, this schema syntax is [XML Schema Definition (XSD)](https://www.w Each tool will have its own way to provide for validation. Bindings or configurations to link documents to schemas can be maintained either inside or outside the documents themselves; many tools offer several ways to do this. -Some tools support self-contained validation functionality without full-fledged application frameworks or development environments, with tools like [`xmllint`](http://xmlsoft.org/xmllint.html) offering command-line interfaces. Similarly, you can use the [`ajv-cli`](https://github.com/ajv-validator/ajv-cli) for JSON. +Some tools support self-contained validation functionality without full-fledged application frameworks or development environments, with tools like [`xmllint`](https://linux.die.net/man/1/xmllint/) offering command-line interfaces. Similarly, you can use the [`ajv-cli`](https://github.com/ajv-validator/ajv-cli) for JSON. ## What does success look like? diff --git a/build/Dockerfile b/build/Dockerfile index 5579fbf85..d4e44207f 100644 --- a/build/Dockerfile +++ b/build/Dockerfile @@ -1,17 +1,14 @@ -FROM ubuntu:22.04 as base-environment +FROM ubuntu:22.04 as oscal-os-dependencies ENV TZ=US/Eastern -RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone - -RUN apt-get update && apt-get dist-upgrade -y - -FROM base-environment as oscal-os-dependencies - -RUN apt-get install -y \ - apt-utils build-essential git jq libxml2-utils maven nodejs npm python3-pip unzip wget && \ +RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && \ + apt-get update && \ + apt-get dist-upgrade -y && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y \ + apt-utils build-essential git jq libxml2-utils maven nodejs npm python3-pip unzip wget && \ apt-get clean -FROM golang:1.18.3-bullseye as oscal-hugo-build +FROM golang:1.19.5-bullseye as oscal-hugo-build RUN mkdir -p /go/src/github.com/usnistgov/OSCAL/build @@ -50,4 +47,6 @@ ENV SAXON_HOME=/opt/oscal ENV CALABASH_HOME=${SAXON_HOME} ENV PATH=/opt/oscal/node_modules/.bin:${PATH} +RUN git config --global --add safe.directory /oscal + ENTRYPOINT ["/bin/bash"] diff --git a/build/ci-cd/README.md b/build/ci-cd/README.md index a3cbd4e78..c1452118b 100644 --- a/build/ci-cd/README.md +++ b/build/ci-cd/README.md @@ -65,8 +65,8 @@ Not every script above is run with every pull request as part of the CI/CD syste The bash scripts used in the CI/CD workflow can be run locally in the correct environment. In addition to a bash shell, to run these scripts the following must be installed: -- [xmlint](http://xmlsoft.org/xmllint.html) -- Java 8.0 or greater +- [xmlint](https://linux.die.net/man/1/xmllint/) +- Java 11 or greater - [Apache Maven](https://maven.apache.org/) 3.6.1 or greater - [Node.js and Node Package Manager (NPM)](https://nodejs.org/en/) 10.15.3 or greater - 'Another Json Validator' Command Line Interface ([ajv-cli](https://github.com/jessedc/ajv-cli)) v3.0.0 or greater diff --git a/build/ci-cd/config/metaschema b/build/ci-cd/config/metaschema index 68e57645d..0a7c11208 100644 --- a/build/ci-cd/config/metaschema +++ b/build/ci-cd/config/metaschema @@ -7,3 +7,4 @@ src/metaschema/oscal_ssp_metaschema.xml|xml,json|xml,json|xml,json src/metaschema/oscal_poam_metaschema.xml|xml,json|xml,json|xml,json src/metaschema/oscal_assessment-plan_metaschema.xml|xml,json|xml,json|xml,json src/metaschema/oscal_assessment-results_metaschema.xml|xml,json|xml,json|xml,json +src/metaschema/oscal_mapping_metaschema.xml|xml,json|xml,json|xml,json diff --git a/build/ci-cd/config/metaschema-docs b/build/ci-cd/config/metaschema-docs index b99a5c930..74c020813 100644 --- a/build/ci-cd/config/metaschema-docs +++ b/build/ci-cd/config/metaschema-docs @@ -7,3 +7,4 @@ src/metaschema/oscal_component_metaschema.xml|model-reference|component-definiti src/metaschema/oscal_assessment-plan_metaschema.xml|model-reference|assessment-plan|Assessment Plan|assessment|assessment-plan src/metaschema/oscal_assessment-results_metaschema.xml|model-reference|assessment-results|Assessment Results|assessment|assessment-results src/metaschema/oscal_poam_metaschema.xml|model-reference|plan-of-action-and-milestones|Plan of Action and Milestones|assessment|poam +src/metaschema/oscal_mapping_metaschema.xml|model-reference|mapping|Control Mapping|control|mapping diff --git a/build/ci-cd/python/readme.md b/build/ci-cd/python/README.md similarity index 97% rename from build/ci-cd/python/readme.md rename to build/ci-cd/python/README.md index fdb9602d0..377a76d21 100644 --- a/build/ci-cd/python/readme.md +++ b/build/ci-cd/python/README.md @@ -5,8 +5,8 @@ This code provides test coverage to validate the OSCAL artifacts as new document ### Pre-Requisites 1. [Python 2.7.10 or greater](https://www.python.org/) -2. [xmllint](http://xmlsoft.org/xmllint.html) -3. Java 8.0 or greater +2. [xmllint](https://linux.die.net/man/1/xmllint/) +3. Java 11 or greater 4. [Saxon 10 HE](http://saxon.sourceforge.net/) ### Instructions diff --git a/build/ci-cd/validate-content.sh b/build/ci-cd/validate-content.sh index bcec83b52..73b934b66 100755 --- a/build/ci-cd/validate-content.sh +++ b/build/ci-cd/validate-content.sh @@ -6,6 +6,7 @@ if [ -z ${OSCAL_SCRIPT_INIT+x} ]; then source "$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null && pwd)/include/init-oscal.sh" fi source "$OSCALDIR/build/metaschema/scripts/include/init-validate-content.sh" +source "$OSCALDIR/build/metaschema/scripts/include/init-schematron.sh" # Option defaults ARTIFACT_DIR="${OSCALDIR}" @@ -23,10 +24,16 @@ Usage: $0 [options] -o DIR, --oscal-dir DIR OSCAL schema are located in DIR. -h, --help Display help -v Provide verbose output +--scratch-dir DIR Generate temporary artifacts in DIR + If not provided a new directory will be + created under \$TMPDIR if set or in /tmp. +--keep-temp-scratch-dir If a scratch directory is automatically + created, it will not be automatically removed. EOF } -if ! OPTS=$(getopt -o o:vhc:a: --long artifact-dir:,oscal-dir:,help,config-file: -n "$0" -- "$@"); then echo "Failed parsing options." >&2 ; usage ; exit 1 ; fi +OPTS=$(getopt -o o:vhc:a: --long artifact-dir:,oscal-dir:,help,config-file:,scratch-dir:,keep-temp-scratch-dir -n "$0" -- "$@") +if [ $? != 0 ] ; then echo "Failed parsing options." >&2 ; usage ; exit 1 ; fi # Process arguments eval set -- "$OPTS" @@ -45,6 +52,13 @@ while [ $# -gt 0 ]; do ARTIFACT_DIR="$(realpath "$2")" shift # past path ;; + --scratch-dir) + SCRATCH_DIR="$(realpath "$2")" + shift # past path + ;; + --keep-temp-scratch-dir) + KEEP_TEMP_SCRATCH_DIR=true + ;; -v) VERBOSE=true ;; @@ -76,6 +90,28 @@ if [ "$VERBOSE" = "true" ]; then echo -e "${P_INFO}Using config file:${P_END} ${CONFIG_FILE}" fi +if [ -z "${SCRATCH_DIR+x}" ]; then + SCRATCH_DIR="$(mktemp -d)" + if [ "$KEEP_TEMP_SCRATCH_DIR" != "true" ]; then + function CleanupScratchDir() { + rc=$? + if [ "$VERBOSE" = "true" ]; then + echo -e "" + echo -e "${P_INFO}Cleanup${P_END}" + echo -e "${P_INFO}=======${P_END}" + echo -e "${P_INFO}Deleting scratch directory:${P_END} ${SCRATCH_DIR}" + fi + rm -rf "${SCRATCH_DIR}" + exit $rc + } + trap CleanupScratchDir EXIT + fi +fi + +profile_schematron="${OSCAL_DIR}/src/utils/schematron/oscal-profile.sch" +compiled_profile_schematron="${SCRATCH_DIR}/oscal-profile.xsl" +build_schematron "${profile_schematron}" "${compiled_profile_schematron}" + exitcode=0 shopt -s nullglob shopt -s globstar @@ -113,6 +149,21 @@ while IFS="|" read path format model converttoformats || [ -n "$path" ]; do else echo -e "${P_OK}XML Schema validation passed for '${P_END}${file_relative}${P_OK}' using schema '${P_END}${schema_relative}${P_OK}'.${P_END}" fi + + if [ "${model}" == "profile" ]; then + echo -e "${P_INFO}Validating profile with Schematron for project's requirements and recommendations.${P_INFO}${P_END}" + target_file=$(basename -- "${file_relative}") + svrl_result="/tmp/${target_file}.svrl" + result=$(validate_with_schematron "${SCRATCH_DIR}/oscal-profile.xsl" "${file}" "$svrl_result" 2>&1) + cmd_exitcode=$? + if [ $cmd_exitcode -ne 0 ]; then + echo -e "${P_ERROR}Profile validation execution for '${P_END}${file_relative}${P_ERROR}' with Schematron '${P_END}${profile_schematron}${P_ERROR}' did not complete.${P_END}" + echo -e "${P_ERROR}${result}${P_END}" + exitcode=1 + else + echo -e "${P_OK}Profile validation execution for '${P_END}${file_relative}${P_OK}' with Schematron '${P_END}${profile_schematron}${P_OK}' completed successfully.${P_END}" + fi + fi ;; json) schema="$WORKING_DIR/json/schema/oscal_${model}_schema.json" diff --git a/build/ci-cd/validate-metaschema.sh b/build/ci-cd/validate-metaschema.sh index 6f3405638..50a4fbf4d 100755 --- a/build/ci-cd/validate-metaschema.sh +++ b/build/ci-cd/validate-metaschema.sh @@ -98,7 +98,7 @@ fi metaschema_toolchain="${OSCALDIR}/build/metaschema/toolchains/xslt-M4" schematron="${metaschema_toolchain}/validate/metaschema-composition-check.sch" compiled_schematron="${metaschema_toolchain}/validate/metaschema-composition-check-compiled.xsl" -metaschema_xsd="${metaschema_toolchain}/validate/metaschema.xsd" +metaschema_xsd="${OSCALDIR}/build/metaschema/schema/xml/metaschema.xsd" build_schematron "$schematron" "$compiled_schematron" cmd_exitcode=$? diff --git a/build/config/.lycheeignore b/build/config/.lycheeignore index 260b61e7e..e42dd1db0 100644 --- a/build/config/.lycheeignore +++ b/build/config/.lycheeignore @@ -13,3 +13,4 @@ https://csrc.nist.gov/projects/cryptographic-module-validation-program/certifica https://cdn.telos.com/wp-content/uploads/2021/06/22150746/Xacta-360-EULA-US.pdf https://search.usa.gov/search https://example.com/.* +https://www.mirantis.com/blog/automating-compliance-for-highly-regulated-industries-with-docker-enterprise-edition-and-oscal.* diff --git a/build/go.mod b/build/go.mod index 195298978..d87f68040 100644 --- a/build/go.mod +++ b/build/go.mod @@ -2,7 +2,7 @@ module github.com/usnistgov/OSCAL/build go 1.18 -require github.com/gohugoio/hugo v0.83.1 +require github.com/gohugoio/hugo v0.110.0 require ( cloud.google.com/go v0.101.0 // indirect @@ -18,11 +18,9 @@ require ( github.com/Azure/go-autorest/logger v0.2.1 // indirect github.com/Azure/go-autorest/tracing v0.6.0 // indirect github.com/BurntSushi/locker v0.0.0-20171006230638-a6e239ea1c69 // indirect - github.com/BurntSushi/toml v0.3.1 // indirect github.com/PuerkitoBio/purell v1.1.1 // indirect github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect - github.com/alecthomas/chroma v0.9.1 // indirect - github.com/alecthomas/repr v0.0.0-20220113201626-b1b626ac65ae // indirect + github.com/alecthomas/chroma/v2 v2.4.0 // indirect github.com/armon/go-radix v1.0.0 // indirect github.com/aws/aws-sdk-go v1.43.5 // indirect github.com/aws/aws-sdk-go-v2 v1.9.0 // indirect @@ -34,90 +32,93 @@ require ( github.com/aws/aws-sdk-go-v2/service/sso v1.4.0 // indirect github.com/aws/aws-sdk-go-v2/service/sts v1.7.0 // indirect github.com/aws/smithy-go v1.8.0 // indirect + github.com/bep/clock v0.3.0 // indirect github.com/bep/debounce v1.2.0 // indirect github.com/bep/gitmap v1.1.2 // indirect - github.com/bep/godartsass v0.14.0 // indirect + github.com/bep/goat v0.5.0 // indirect + github.com/bep/godartsass v0.16.0 // indirect github.com/bep/golibsass v1.1.0 // indirect - github.com/bep/gowebp v0.1.0 // indirect + github.com/bep/gowebp v0.2.0 // indirect + github.com/bep/overlayfs v0.6.0 // indirect github.com/bep/tmc v0.5.1 // indirect + github.com/clbanning/mxj/v2 v2.5.7 // indirect github.com/cli/safeexec v1.0.0 // indirect - github.com/cpuguy83/go-md2man/v2 v2.0.1 // indirect - github.com/danwakefield/fnmatch v0.0.0-20160403171240-cbb64ac3d964 // indirect + github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect github.com/disintegration/gift v1.2.1 // indirect - github.com/dlclark/regexp2 v1.4.0 // indirect + github.com/dlclark/regexp2 v1.7.0 // indirect github.com/dustin/go-humanize v1.0.0 // indirect - github.com/evanw/esbuild v0.14.43 // indirect - github.com/fsnotify/fsnotify v1.5.4 // indirect - github.com/getkin/kin-openapi v0.97.0 // indirect + github.com/evanw/esbuild v0.17.0 // indirect + github.com/frankban/quicktest v1.14.4 // indirect + github.com/fsnotify/fsnotify v1.6.0 // indirect + github.com/getkin/kin-openapi v0.110.0 // indirect github.com/ghodss/yaml v1.0.0 // indirect github.com/go-openapi/jsonpointer v0.19.5 // indirect github.com/go-openapi/swag v0.19.5 // indirect - github.com/gobuffalo/flect v0.2.5 // indirect + github.com/gobuffalo/flect v0.3.0 // indirect github.com/gobwas/glob v0.2.3 // indirect github.com/gohugoio/go-i18n/v2 v2.1.3-0.20210430103248-4c28c89f8013 // indirect + github.com/gohugoio/locales v0.14.0 // indirect + github.com/gohugoio/localescompressed v1.0.1 // indirect github.com/golang-jwt/jwt/v4 v4.0.0 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/protobuf v1.5.2 // indirect - github.com/google/go-cmp v0.5.8 // indirect + github.com/google/go-cmp v0.5.9 // indirect github.com/google/uuid v1.3.0 // indirect github.com/google/wire v0.5.0 // indirect github.com/googleapis/gax-go/v2 v2.3.0 // indirect github.com/googleapis/go-type-adapters v1.0.0 // indirect github.com/gorilla/websocket v1.5.0 // indirect - github.com/hashicorp/hcl v1.0.0 // indirect - github.com/inconshreveable/mousetrap v1.0.0 // indirect + github.com/hairyhenderson/go-codeowners v0.2.3-0.20201026200250-cdc7c0759690 // indirect + github.com/inconshreveable/mousetrap v1.0.1 // indirect github.com/invopop/yaml v0.1.0 // indirect github.com/jdkato/prose v1.2.1 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect - github.com/kyokomi/emoji/v2 v2.2.9 // indirect - github.com/magefile/mage v1.13.0 // indirect - github.com/magiconair/properties v1.8.1 // indirect + github.com/kr/pretty v0.3.1 // indirect + github.com/kr/text v0.2.0 // indirect + github.com/kyokomi/emoji/v2 v2.2.10 // indirect + github.com/magefile/mage v1.14.0 // indirect github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e // indirect + github.com/marekm4/color-extractor v1.2.0 // indirect github.com/mattn/go-ieproxy v0.0.1 // indirect - github.com/mattn/go-isatty v0.0.14 // indirect + github.com/mattn/go-isatty v0.0.16 // indirect github.com/mattn/go-runewidth v0.0.9 // indirect - github.com/miekg/mmark v1.3.6 // indirect github.com/mitchellh/hashstructure v1.1.0 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect + github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect github.com/muesli/smartcrop v0.3.0 // indirect github.com/niklasfasching/go-org v1.6.5 // indirect github.com/olekukonko/tablewriter v0.0.5 // indirect - github.com/pelletier/go-toml v1.9.0 // indirect - github.com/pkg/errors v0.9.1 // indirect - github.com/rogpeppe/go-internal v1.8.1 // indirect - github.com/russross/blackfriday v1.6.0 // indirect + github.com/pelletier/go-toml/v2 v2.0.6 // indirect + github.com/rogpeppe/go-internal v1.9.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/rwcarlsen/goexif v0.0.0-20190401172101-9e8deecbddbd // indirect github.com/sanity-io/litter v1.5.5 // indirect - github.com/spf13/afero v1.8.2 // indirect + github.com/spf13/afero v1.9.3 // indirect github.com/spf13/cast v1.5.0 // indirect - github.com/spf13/cobra v1.4.0 // indirect + github.com/spf13/cobra v1.6.1 // indirect github.com/spf13/fsync v0.9.0 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/spf13/viper v1.7.1 // indirect - github.com/stretchr/testify v1.7.2 // indirect - github.com/subosito/gotenv v1.2.0 // indirect - github.com/tdewolff/minify/v2 v2.11.10 // indirect - github.com/tdewolff/parse/v2 v2.6.0 // indirect - github.com/yuin/goldmark v1.4.12 // indirect - github.com/yuin/goldmark-highlighting v0.0.0-20200307114337-60d527fdb691 // indirect + github.com/tdewolff/minify/v2 v2.12.4 // indirect + github.com/tdewolff/parse/v2 v2.6.4 // indirect + github.com/yuin/goldmark v1.5.3 // indirect go.opencensus.io v0.23.0 // indirect + go.uber.org/atomic v1.10.0 // indirect gocloud.dev v0.24.0 // indirect golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa // indirect golang.org/x/image v0.0.0-20211028202545-6944b10bf410 // indirect - golang.org/x/net v0.0.0-20220607020251-c690dde0001d // indirect + golang.org/x/net v0.3.0 // indirect golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5 // indirect - golang.org/x/sync v0.0.0-20210220032951-036812b2e83c // indirect - golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a // indirect - golang.org/x/text v0.3.7 // indirect + golang.org/x/sync v0.1.0 // indirect + golang.org/x/sys v0.3.0 // indirect + golang.org/x/text v0.5.0 // indirect + golang.org/x/tools v0.4.0 // indirect golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f // indirect google.golang.org/api v0.76.0 // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/genproto v0.0.0-20220426171045-31bebdecfb46 // indirect google.golang.org/grpc v1.46.0 // indirect - google.golang.org/protobuf v1.28.0 // indirect - gopkg.in/ini.v1 v1.51.1 // indirect + google.golang.org/protobuf v1.28.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/build/go.sum b/build/go.sum index 6a77b38bc..d09e776e6 100644 --- a/build/go.sum +++ b/build/go.sum @@ -2,7 +2,6 @@ bazil.org/fuse v0.0.0-20180421153158-65cc252bf669/go.mod h1:Xbm+BRKSBEpa4q4hTSxo cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= -cloud.google.com/go v0.39.0/go.mod h1:rVLT6fkc8chs9sfPtFc1SBH6em7n+ZoXaG+87tDISts= cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= @@ -12,10 +11,8 @@ cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6T cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= -cloud.google.com/go v0.55.0/go.mod h1:ZHmoY+/lIMNkN2+fBmuTiqZ4inFhvQad8ft7MT8IV5Y= cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= -cloud.google.com/go v0.58.0/go.mod h1:W+9FnSUw6nhVwXlFcp1eL+krq5+HQUJeUogSeJZZiWg= cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= @@ -55,8 +52,6 @@ cloud.google.com/go/compute v1.6.1 h1:2sMmt8prCn7DPaG4Pmh0N3Inmc8cT8ae5k1M6VJ9Wq cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= -cloud.google.com/go/firestore v1.2.0/go.mod h1:iISCjWnTpnoJT1R287xRdjvQHJrxQOpeah4phb5D3h0= cloud.google.com/go/firestore v1.5.0/go.mod h1:c4nNYR1qdq7eaZ+jSc5fonrQN2k3M7sWATcYTiakjEo= cloud.google.com/go/iam v0.3.0 h1:exkAomrVUuzx9kWFI1wm3KI0uoDeUFPB4kKGzx6x+Gc= cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= @@ -72,54 +67,35 @@ cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiy cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= -cloud.google.com/go/storage v1.9.0/go.mod h1:m+/etGaqZbylxaNT876QGXqEHp4PR2Rq5GMqICWb9bU= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= cloud.google.com/go/storage v1.16.1/go.mod h1:LaNorbty3ehnU3rEjXSNV/NRgQA0O8Y+uh6bPe5UOk4= cloud.google.com/go/storage v1.22.0 h1:NUV0NNp9nkBuW66BFRLuMgldN60C57ET3dhbwLIYio8= cloud.google.com/go/storage v1.22.0/go.mod h1:GbaLEoMqbVm6sx3Z0R++gSiBlgMv6yUi2q1DeGFKQgE= cloud.google.com/go/trace v0.1.0/go.mod h1:wxEwsoeRVPbeSkt7ZC9nWCgmoKQRAoySN7XHW2AmI7g= -contrib.go.opencensus.io/exporter/aws v0.0.0-20181029163544-2befc13012d0/go.mod h1:uu1P0UCM/6RbsMrgPa98ll8ZcHM858i/AD06a9aLRCA= contrib.go.opencensus.io/exporter/aws v0.0.0-20200617204711-c478e41e60e9/go.mod h1:uu1P0UCM/6RbsMrgPa98ll8ZcHM858i/AD06a9aLRCA= -contrib.go.opencensus.io/exporter/stackdriver v0.12.1/go.mod h1:iwB6wGarfphGGe/e5CWqyUk/cLzKnWsOKPVW3no6OTw= contrib.go.opencensus.io/exporter/stackdriver v0.13.8/go.mod h1:huNtlWx75MwO7qMs0KrMxPZXzNNWebav1Sq/pm02JdQ= -contrib.go.opencensus.io/integrations/ocsql v0.1.4/go.mod h1:8DsSdjz3F+APR+0z0WkU1aRorQCFfRxvqjUUPMbF3fE= contrib.go.opencensus.io/integrations/ocsql v0.1.7/go.mod h1:8DsSdjz3F+APR+0z0WkU1aRorQCFfRxvqjUUPMbF3fE= -contrib.go.opencensus.io/resource v0.1.1/go.mod h1:F361eGI91LCmW1I/Saf+rX0+OFcigGlFvXwEGEnkRLA= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -github.com/Azure/azure-amqp-common-go/v3 v3.0.0/go.mod h1:SY08giD/XbhTz07tJdpw1SoxQXHPN30+DI3Z04SYqyg= github.com/Azure/azure-amqp-common-go/v3 v3.1.0/go.mod h1:PBIGdzcO1teYoufTKMcGibdKaYZv4avS+O6LNIp8bq0= github.com/Azure/azure-amqp-common-go/v3 v3.1.1/go.mod h1:YsDaPfaO9Ub2XeSKdIy2DfwuiQlHQCauHJwSqtrkECI= -github.com/Azure/azure-pipeline-go v0.2.1/go.mod h1:UGSo8XybXnIGZ3epmeBw7Jdz+HiUVpqIlpz/HKHylF4= -github.com/Azure/azure-pipeline-go v0.2.2/go.mod h1:4rQ/NZncSvGqNkkOsNpOU1tgoNuIlp9AfUH5G1tvCHc= github.com/Azure/azure-pipeline-go v0.2.3 h1:7U9HBg1JFK3jHl5qmo4CTZKFTVgMwdFHMVtCdfBE21U= github.com/Azure/azure-pipeline-go v0.2.3/go.mod h1:x841ezTBIMG6O3lAcl8ATHnsOPVl2bqk7S3ta6S6u4k= -github.com/Azure/azure-sdk-for-go v37.1.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/azure-sdk-for-go v51.1.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/azure-sdk-for-go v57.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= -github.com/Azure/azure-service-bus-go v0.10.1/go.mod h1:E/FOceuKAFUfpbIJDKWz/May6guE+eGibfGT6q+n1to= github.com/Azure/azure-service-bus-go v0.10.16/go.mod h1:MlkLwGGf1ewcx5jZadn0gUEty+tTg0RaElr6bPf+QhI= -github.com/Azure/azure-storage-blob-go v0.9.0/go.mod h1:8UBPbiOhrMQ4pLPi3gA1tXnpjrS76UYE/fo5A40vf4g= github.com/Azure/azure-storage-blob-go v0.14.0 h1:1BCg74AmVdYwO3dlKwtFU1V0wU2PZdREkXvAmZJRUlM= github.com/Azure/azure-storage-blob-go v0.14.0/go.mod h1:SMqIBi+SuiQH32bvyjngEewEeXoPfKMgWlBDaYf6fck= -github.com/Azure/go-amqp v0.12.6/go.mod h1:qApuH6OFTSKZFmCOxccvAv5rLizBQf4v8pRmG138DPo= -github.com/Azure/go-amqp v0.12.7/go.mod h1:qApuH6OFTSKZFmCOxccvAv5rLizBQf4v8pRmG138DPo= github.com/Azure/go-amqp v0.13.0/go.mod h1:qj+o8xPCz9tMSbQ83Vp8boHahuRDl5mkNHyt1xlxUTs= github.com/Azure/go-amqp v0.13.11/go.mod h1:D5ZrjQqB1dyp1A+G73xeL/kNn7D5qHJIIsNNps7YNmk= github.com/Azure/go-amqp v0.13.12/go.mod h1:D5ZrjQqB1dyp1A+G73xeL/kNn7D5qHJIIsNNps7YNmk= github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs= github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= -github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= -github.com/Azure/go-autorest/autorest v0.9.3/go.mod h1:GsRuLYvwzLjjjRoWEIyMUaYq8GNUx2nRB378IPt/1p0= github.com/Azure/go-autorest/autorest v0.11.3/go.mod h1:JFgpikqFJ/MleTTxwepExTKnFUKKszPS8UavbQYUMuw= github.com/Azure/go-autorest/autorest v0.11.17/go.mod h1:eipySxLmqSyC5s5k1CLupqet0PSENBEDP93LQ9a8QYw= github.com/Azure/go-autorest/autorest v0.11.18/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA= github.com/Azure/go-autorest/autorest v0.11.20 h1:s8H1PbCZSqg/DH7JMlOz6YMig6htWLNPsjDdlLqCx3M= github.com/Azure/go-autorest/autorest v0.11.20/go.mod h1:o3tqFY+QR40VOlk+pV4d77mORO64jOXSgEnPQgLK6JY= -github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0= -github.com/Azure/go-autorest/autorest/adal v0.8.0/go.mod h1:Z6vX6WXXuyieHAXwMj0S6HY6e6wcHn37qQMBQlvY3lc= -github.com/Azure/go-autorest/autorest/adal v0.8.1/go.mod h1:ZjhuQClTqx435SRJ2iMlOxPYt3d2C/T/7TiQCVZSn3Q= -github.com/Azure/go-autorest/autorest/adal v0.8.3/go.mod h1:ZjhuQClTqx435SRJ2iMlOxPYt3d2C/T/7TiQCVZSn3Q= github.com/Azure/go-autorest/autorest/adal v0.9.0/go.mod h1:/c022QCutn2P7uY+/oQWWNcK9YU+MH96NgK+jErpbcg= github.com/Azure/go-autorest/autorest/adal v0.9.5/go.mod h1:B7KF7jKIeC9Mct5spmyCB/A8CG/sEz1vwIRGv/bbw7A= github.com/Azure/go-autorest/autorest/adal v0.9.11/go.mod h1:nBKAnTomx8gDtl+3ZCJv2v0KACFHWTB2drffI1B68Pk= @@ -127,32 +103,21 @@ github.com/Azure/go-autorest/autorest/adal v0.9.13/go.mod h1:W/MM4U6nLxnIskrw4Uw github.com/Azure/go-autorest/autorest/adal v0.9.14/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= github.com/Azure/go-autorest/autorest/adal v0.9.15 h1:X+p2GF0GWyOiSmqohIaEeuNFNDY4I4EOlVuUQvFdWMk= github.com/Azure/go-autorest/autorest/adal v0.9.15/go.mod h1:tGMin8I49Yij6AQ+rvV+Xa/zwxYQB5hmsd6DkfAx2+A= -github.com/Azure/go-autorest/autorest/azure/auth v0.4.2/go.mod h1:90gmfKdlmKgfjUpnCEpOJzsUEjrWDSLwHIG73tSXddM= github.com/Azure/go-autorest/autorest/azure/auth v0.5.8 h1:TzPg6B6fTZ0G1zBf3T54aI7p3cAT6u//TOXGPmFMOXg= github.com/Azure/go-autorest/autorest/azure/auth v0.5.8/go.mod h1:kxyKZTSfKh8OVFWPAgOgQ/frrJgeYQJPyR5fLFmXko4= -github.com/Azure/go-autorest/autorest/azure/cli v0.3.1/go.mod h1:ZG5p860J94/0kI9mNJVoIoLgXcirM2gF5i2kWloofxw= github.com/Azure/go-autorest/autorest/azure/cli v0.4.2/go.mod h1:7qkJkT+j6b+hIpzMOwPChJhTqS8VbsqqgULzMNRugoM= github.com/Azure/go-autorest/autorest/azure/cli v0.4.3 h1:DOhB+nXkF7LN0JfBGB5YtCF6QLK8mLe4psaHF7ZQEKM= github.com/Azure/go-autorest/autorest/azure/cli v0.4.3/go.mod h1:yAQ2b6eP/CmLPnmLvxtT1ALIY3OR1oFcCqVBi8vHiTc= -github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA= -github.com/Azure/go-autorest/autorest/date v0.2.0/go.mod h1:vcORJHLJEh643/Ioh9+vPmf1Ij9AEBM5FuBIXLmIy0g= github.com/Azure/go-autorest/autorest/date v0.3.0 h1:7gUk1U5M/CQbp9WoqinNzJar+8KY+LPI6wiWrP/myHw= github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= -github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= -github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= -github.com/Azure/go-autorest/autorest/mocks v0.3.0/go.mod h1:a8FDP3DYzQ4RYfVAxAN3SVSiiO77gL2j2ronKKP0syM= github.com/Azure/go-autorest/autorest/mocks v0.4.0/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= github.com/Azure/go-autorest/autorest/mocks v0.4.1 h1:K0laFcLE6VLTOwNgSxaGbUcLPuGXlNkbVvq4cW4nIHk= github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= -github.com/Azure/go-autorest/autorest/to v0.3.0/go.mod h1:MgwOyqaIuKdG4TL/2ywSsIWKAfJfgHDo8ObuUk3t5sA= github.com/Azure/go-autorest/autorest/to v0.4.0/go.mod h1:fE8iZBn7LQR7zH/9XU2NcPR4o9jEImooCeWJcYV/zLE= -github.com/Azure/go-autorest/autorest/validation v0.2.0/go.mod h1:3EEqHnBxQGHXRYq3HT1WyXAvT7LLY3tl70hw6tQIbjI= github.com/Azure/go-autorest/autorest/validation v0.3.1/go.mod h1:yhLgjC0Wda5DYXl6JAsWyUe4KVNffhoDhG0zVzUMo3E= -github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc= github.com/Azure/go-autorest/logger v0.2.0/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= github.com/Azure/go-autorest/logger v0.2.1 h1:IG7i4p/mDa2Ce4TRyAO8IHnVhAVF3RFU+ZtXWSmf4Tg= github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= -github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk= github.com/Azure/go-autorest/tracing v0.6.0 h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUMfuitfgcfuo= github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= github.com/BurntSushi/locker v0.0.0-20171006230638-a6e239ea1c69 h1:+tu3HOoMXB7RXEINRVIpxJCT+KdYiI7LAEAUrOw3dIU= @@ -160,45 +125,21 @@ github.com/BurntSushi/locker v0.0.0-20171006230638-a6e239ea1c69/go.mod h1:L1AbZd github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/GeertJohan/go.incremental v1.0.0/go.mod h1:6fAjUhbVuX1KcMD3c8TEgVUqmo4seqhv0i0kdATSkM0= -github.com/GeertJohan/go.rice v1.0.0/go.mod h1:eH6gbSOAUv07dQuZVnBmoDP8mgsM1rtixis4Tib9if0= -github.com/GoogleCloudPlatform/cloudsql-proxy v0.0.0-20191009163259-e802c2cb94ae/go.mod h1:mjwGPas4yKduTyubHvD1Atl9r1rUq8DfVy+gkVvZ+oo= github.com/GoogleCloudPlatform/cloudsql-proxy v1.24.0/go.mod h1:3tx938GhY4FC+E1KT/jNjDw7Z5qxAEtIiERJ2sXjnII= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= -github.com/akavel/rsrc v0.8.0/go.mod h1:uLoCtb9J+EyAqh+26kdrTgmzRBFPGOolLWKpdxkKq+c= -github.com/alecthomas/assert v0.0.0-20170929043011-405dbfeb8e38 h1:smF2tmSOzy2Mm+0dGI2AIUHY+w0BUc+4tn40djz7+6U= -github.com/alecthomas/assert v0.0.0-20170929043011-405dbfeb8e38/go.mod h1:r7bzyVFMNntcxPZXK3/+KdruV1H5KSlyVY0gc+NgInI= -github.com/alecthomas/chroma v0.7.2-0.20200305040604-4f3623dce67a/go.mod h1:fv5SzZPFJbwp2NXJWpFIX7DZS4HgV1K4ew4Pc2OZD9s= -github.com/alecthomas/chroma v0.8.2/go.mod h1:sko8vR34/90zvl5QdcUdvzL3J8NKjAUx9va9jPuFNoM= -github.com/alecthomas/chroma v0.9.1 h1:cBmvQqRImzR5aWqdMxYZByND4S7BCS/g0svZb28h0Dc= -github.com/alecthomas/chroma v0.9.1/go.mod h1:eMuEnpA18XbG/WhOWtCzJHS7WqEtDAI+HxdwoW0nVSk= -github.com/alecthomas/colour v0.0.0-20160524082231-60882d9e2721 h1:JHZL0hZKJ1VENNfmXvHbgYlbUOvpzYzvy2aZU5gXVeo= -github.com/alecthomas/colour v0.0.0-20160524082231-60882d9e2721/go.mod h1:QO9JBoKquHd+jz9nshCh40fOfO+JzsoXy8qTHF68zU0= -github.com/alecthomas/kong v0.1.17-0.20190424132513-439c674f7ae0/go.mod h1:+inYUSluD+p4L8KdviBSgzcqEjUQOfC5fQDRFuc36lI= -github.com/alecthomas/kong v0.2.1-0.20190708041108-0548c6b1afae/go.mod h1:+inYUSluD+p4L8KdviBSgzcqEjUQOfC5fQDRFuc36lI= -github.com/alecthomas/kong v0.2.4/go.mod h1:kQOmtJgV+Lb4aj+I2LEn40cbtawdWJ9Y8QLq+lElKxE= -github.com/alecthomas/kong-hcl v0.1.8-0.20190615233001-b21fea9723c8/go.mod h1:MRgZdU3vrFd05IQ89AxUZ0aYdF39BYoNFa324SodPCA= -github.com/alecthomas/repr v0.0.0-20180818092828-117648cd9897/go.mod h1:xTS7Pm1pD1mvyM075QCDSRqH6qRLXylzS24ZTpRiSzQ= -github.com/alecthomas/repr v0.0.0-20181024024818-d37bc2a10ba1/go.mod h1:xTS7Pm1pD1mvyM075QCDSRqH6qRLXylzS24ZTpRiSzQ= -github.com/alecthomas/repr v0.0.0-20220113201626-b1b626ac65ae h1:zzGwJfFlFGD94CyyYwCJeSuD32Gj9GTaSi5y9hoVzdY= -github.com/alecthomas/repr v0.0.0-20220113201626-b1b626ac65ae/go.mod h1:2kn6fqh/zIyPLmm3ugklbEi5hg5wS435eygvNfaDQL8= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/assert/v2 v2.2.0 h1:f6L/b7KE2bfA+9O4FL3CM/xJccDEwPVYd5fALBiuwvw= +github.com/alecthomas/chroma/v2 v2.4.0 h1:Loe2ZjT5x3q1bcWwemqyqEi8p11/IV/ncFCeLYDpWC4= +github.com/alecthomas/chroma/v2 v2.4.0/go.mod h1:6kHzqF5O6FUSJzBXW7fXELjb+e+7OXW4UpoPqMO7IBQ= +github.com/alecthomas/repr v0.1.0 h1:ENn2e1+J3k09gyj2shc0dHr/yjaWSHRlrJ4DPMevDqE= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= -github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= -github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-radix v1.0.0 h1:F4z6KzEeeQIMeLFa97iZU6vupzoecKdU5TX24SNppXI= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/aws/aws-sdk-go v1.15.27/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZoCYDt7FT0= -github.com/aws/aws-sdk-go v1.19.18/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go v1.31.13/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= github.com/aws/aws-sdk-go v1.37.0/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= -github.com/aws/aws-sdk-go v1.38.23/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= github.com/aws/aws-sdk-go v1.40.34/go.mod h1:585smgzpB/KqRA+K3y/NL/oYRqQvpNJYvLm+LY1U59Q= github.com/aws/aws-sdk-go v1.43.5 h1:N7arnx54E4QyW69c45UW5o8j2DCSjzpoxzJW3yU6OSo= github.com/aws/aws-sdk-go v1.43.5/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= @@ -224,25 +165,26 @@ github.com/aws/aws-sdk-go-v2/service/sts v1.7.0/go.mod h1:0qcSMCyASQPN2sk/1KQLQ2 github.com/aws/smithy-go v1.8.0 h1:AEwwwXQZtUwP5Mz506FeXXrKBe0jA8gVM+1gEcSRooc= github.com/aws/smithy-go v1.8.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= +github.com/bep/clock v0.3.0 h1:vfOA6+wVb6pPQEiXow9f/too92vNTLe9MuwO13PfI0M= +github.com/bep/clock v0.3.0/go.mod h1:6Gz2lapnJ9vxpvPxQ2u6FcXFRoj4kkiqQ6pm0ERZlwk= github.com/bep/debounce v1.2.0 h1:wXds8Kq8qRfwAOpAxHrJDbCXgC5aHSzgQb/0gKsHQqo= github.com/bep/debounce v1.2.0/go.mod h1:H8yggRPQKLUhUoqrJC1bO2xNya7vanpDl7xR3ISbCJ0= github.com/bep/gitmap v1.1.2 h1:zk04w1qc1COTZPPYWDQHvns3y1afOsdRfraFQ3qI840= github.com/bep/gitmap v1.1.2/go.mod h1:g9VRETxFUXNWzMiuxOwcudo6DfZkW9jOsOW0Ft4kYaY= -github.com/bep/godartsass v0.12.0/go.mod h1:nXQlHHk4H1ghUk6n/JkYKG5RD43yJfcfp5aHRqT/pc4= -github.com/bep/godartsass v0.14.0 h1:pPb6XkpyDEppS+wK0veh7OXDQc4xzOJI9Qcjb743UeQ= -github.com/bep/godartsass v0.14.0/go.mod h1:6LvK9RftsXMxGfsA0LDV12AGc4Jylnu6NgHL+Q5/pE8= -github.com/bep/golibsass v0.7.0/go.mod h1:DL87K8Un/+pWUS75ggYv41bliGiolxzDKWJAq3eJ1MA= +github.com/bep/goat v0.5.0 h1:S8jLXHCVy/EHIoCY+btKkmcxcXFd34a0Q63/0D4TKeA= +github.com/bep/goat v0.5.0/go.mod h1:Md9x7gRxiWKs85yHlVTvHQw9rg86Bm+Y4SuYE8CTH7c= +github.com/bep/godartsass v0.16.0 h1:nTpenrZBQjVSjLkCw3AgnYmBB2czauTJa4BLLv448qg= +github.com/bep/godartsass v0.16.0/go.mod h1:6LvK9RftsXMxGfsA0LDV12AGc4Jylnu6NgHL+Q5/pE8= github.com/bep/golibsass v1.1.0 h1:pjtXr00IJZZaOdfryNa9wARTB3Q0BmxC3/V1KNcgyTw= github.com/bep/golibsass v1.1.0/go.mod h1:DL87K8Un/+pWUS75ggYv41bliGiolxzDKWJAq3eJ1MA= -github.com/bep/gowebp v0.1.0 h1:4/iQpfnxHyXs3x/aTxMMdOpLEQQhFmF6G7EieWPTQyo= -github.com/bep/gowebp v0.1.0/go.mod h1:ZhFodwdiFp8ehGJpF4LdPl6unxZm9lLFjxD3z2h2AgI= +github.com/bep/gowebp v0.2.0 h1:ZVfK8i9PpZqKHEmthQSt3qCnnHycbLzBPEsVtk2ch2Q= +github.com/bep/gowebp v0.2.0/go.mod h1:ZhFodwdiFp8ehGJpF4LdPl6unxZm9lLFjxD3z2h2AgI= +github.com/bep/overlayfs v0.6.0 h1:sgLcq/qtIzbaQNl2TldGXOkHvqeZB025sPvHOQL+DYo= +github.com/bep/overlayfs v0.6.0/go.mod h1:NFjSmn3kCqG7KX2Lmz8qT8VhPPCwZap3UNogXawoQHM= github.com/bep/tmc v0.5.1 h1:CsQnSC6MsomH64gw0cT5f+EwQDcvZz4AazKunFwTpuI= github.com/bep/tmc v0.5.1/go.mod h1:tGYHN8fS85aJPhDLgXETVKp+PR382OvFi2+q2GkGsq0= -github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= -github.com/census-instrumentation/opencensus-proto v0.2.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/bep/workers v1.0.0 h1:U+H8YmEaBCEaFZBst7GcRVEoqeRC9dzH2dWOwGmOchg= +github.com/bep/workers v1.0.0/go.mod h1:7kIESOB86HfR2379pwoMWNy8B50D7r99fRLUyPSNyCs= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= @@ -251,6 +193,8 @@ github.com/cheekybits/is v0.0.0-20150225183255-68e9c0620927/go.mod h1:h/aW8ynjgk github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/clbanning/mxj/v2 v2.5.7 h1:7q5lvUpaPF/WOkqgIDiwjBJaznaLCCBd78pi8ZyAnE0= +github.com/clbanning/mxj/v2 v2.5.7/go.mod h1:hNiWqW14h+kc+MdF9C6/YoRfjEJoR3ou6tn/Qo+ve2s= github.com/cli/safeexec v1.0.0 h1:0VngyaIyqACHdcMNWfo6+KdUYnqEr2Sg+bSP1pdF+dI= github.com/cli/safeexec v1.0.0/go.mod h1:Z/D4tTN8Vs5gXYHDCbaM1S/anmEDnJb1iW0+EJ5zx3Q= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= @@ -263,19 +207,10 @@ github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWH github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= -github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/cpuguy83/go-md2man/v2 v2.0.1 h1:r/myEWzV9lfsM1tFLgDyu0atFtJ1fXn261LKYj/3DxU= -github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= +github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/daaku/go.zipexe v1.0.0/go.mod h1:z8IiR6TsVLEYKwXAoE/I+8ys/sDkgTzSL0CLnGVd57E= -github.com/danwakefield/fnmatch v0.0.0-20160403171240-cbb64ac3d964 h1:y5HC9v93H5EPKqaS1UYVg1uYah5Xf51mBfIoWehClUQ= -github.com/danwakefield/fnmatch v0.0.0-20160403171240-cbb64ac3d964/go.mod h1:Xd9hchkHSWYkEqJwUGisez3G1QY8Ryz0sdWrLPMGjLk= github.com/davecgh/go-spew v0.0.0-20161028175848-04cdfd42973b/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= @@ -283,17 +218,14 @@ github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs github.com/denisenkom/go-mssqldb v0.9.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= github.com/devigned/tab v0.1.1/go.mod h1:XG9mPq0dFghrYvoBF3xdRrJzSTX1b7IQrvaL9mzjeJY= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= -github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= github.com/dimchansky/utfbom v1.1.0/go.mod h1:rO41eb7gLfo8SF1jd9F8HplJm1Fewwi4mQvIirEdv+8= github.com/dimchansky/utfbom v1.1.1 h1:vV6w1AhK4VMnhBno/TPVCoK9U/LP0PkLCS9tbxHdi/U= github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/j0mACtrfE= github.com/disintegration/gift v1.2.1 h1:Y005a1X4Z7Uc+0gLpSAsKhWi4qLtsdEcMIbbdvdZ6pc= github.com/disintegration/gift v1.2.1/go.mod h1:Jh2i7f7Q2BM7Ezno3PhfezbR1xpUg9dUg3/RlKGr4HI= github.com/djherbis/atime v1.1.0/go.mod h1:28OF6Y8s3NQWwacXc5eZTsEsiMzp7LF8MbXE+XJPdBE= -github.com/dlclark/regexp2 v1.1.6/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= -github.com/dlclark/regexp2 v1.2.0/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= -github.com/dlclark/regexp2 v1.4.0 h1:F1rxgk7p4uKjwIQxBs9oAXe5CqrXlCduYEJvrF4u93E= -github.com/dlclark/regexp2 v1.4.0/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= +github.com/dlclark/regexp2 v1.7.0 h1:7lJfhqlPssTb1WQx4yvTHN0uElPEv52sbaECrAQxjAo= +github.com/dlclark/regexp2 v1.7.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8= github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= @@ -306,27 +238,23 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.m github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/evanw/esbuild v0.11.16/go.mod h1:y2AFBAGVelPqPodpdtxWWqe6n2jYf5FrsJbligmRmuw= -github.com/evanw/esbuild v0.14.43 h1:4WIYkAf2fLmru3KYtKUB6mdBl4dgpoVcq7hqXhXGVG0= -github.com/evanw/esbuild v0.14.43/go.mod h1:GG+zjdi59yh3ehDn4ZWfPcATxjPDUH53iU4ZJbp7dkY= -github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/evanw/esbuild v0.17.0 h1:gGx9TCZDO9k9x1PJdizx6syIpUq29RwrtHWlgDIdQH8= +github.com/evanw/esbuild v0.17.0/go.mod h1:iINY06rn799hi48UqEnaQvVfZWe6W9bET78LbvN8VWk= github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= github.com/frankban/quicktest v1.4.1/go.mod h1:36zfPVQyHxymz4cH7wlDmVwDrJuljRB60qkgn7rorfQ= github.com/frankban/quicktest v1.7.2/go.mod h1:jaStnuzAqU1AJdCO0l53JDCJrVDKcS03DbaAcR7Ks/o= -github.com/frankban/quicktest v1.11.2/go.mod h1:K+q6oSqb0W0Ininfk863uOk1lMy69l/P6txr3mVT54s= -github.com/frankban/quicktest v1.12.0/go.mod h1:qLE0fzW0VuyUAJgPU19zByoIr0HtCHN/r/VLSOOIySU= +github.com/frankban/quicktest v1.13.0/go.mod h1:qLE0fzW0VuyUAJgPU19zByoIr0HtCHN/r/VLSOOIySU= github.com/frankban/quicktest v1.14.2/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUorkibMOrVTHZps= -github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= -github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= +github.com/frankban/quicktest v1.14.4/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= -github.com/fsnotify/fsnotify v1.5.4 h1:jRbGcIw6P2Meqdwuo0H1p6JVLbL5DHKAKlYndzMwVZI= github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= -github.com/getkin/kin-openapi v0.61.0/go.mod h1:7Yn5whZr5kJi6t+kShccXS8ae1APpYTW6yheSwk8Yi4= -github.com/getkin/kin-openapi v0.97.0 h1:bsvXZeuGiCW43ZKy6xOY5qfT5fCRYmnJwierblSrHCU= -github.com/getkin/kin-openapi v0.97.0/go.mod h1:w4lRPHiyOdwGbOkLIyk+P0qCwlu7TXPCHD/64nSXzgE= +github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= +github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= +github.com/getkin/kin-openapi v0.110.0 h1:1GnJALxsltcSzCMqgtqKlLhYQeULv3/jesmV2sC5qE0= +github.com/getkin/kin-openapi v0.110.0/go.mod h1:QtwUNt0PAAgIIBEvFWYfB7dfngxtAaqCX1zYHMZDeK8= github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= @@ -335,9 +263,6 @@ github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9 github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-ini/ini v1.25.4/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= -github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= -github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY= github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/swag v0.19.5 h1:lTz6Ys4CmqqCQmZPBlbQENR1/GucA2bzYTE12Pw4tFY= @@ -346,32 +271,28 @@ github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvSc github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= -github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/gobuffalo/flect v0.2.2/go.mod h1:vmkQwuZYhN5Pc4ljYQZzP+1sq+NEkK+lh20jmEmX3jc= -github.com/gobuffalo/flect v0.2.5 h1:H6vvsv2an0lalEaCDRThvtBfmg44W/QHXBCYUXf/6S4= -github.com/gobuffalo/flect v0.2.5/go.mod h1:1ZyCLIbg0YD7sDkzvFdPoOydPtD8y9JQnrOROolUcM8= +github.com/gobuffalo/flect v0.3.0 h1:erfPWM+K1rFNIQeRPdeEXxo8yFr/PO17lhRnS8FUrtk= +github.com/gobuffalo/flect v0.3.0/go.mod h1:5pf3aGnsvqvCj50AVni7mJJF8ICxGZ8HomberC3pXLE= github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= -github.com/gohugoio/go-i18n v2.1.3-0.20210430103248-4c28c89f8013+incompatible/go.mod h1:KyP0P5LEhJdtIq9PYxFiaxeWtFngJO5zLkDvEiqG8gI= github.com/gohugoio/go-i18n/v2 v2.1.3-0.20210430103248-4c28c89f8013 h1:Nj29Qbkt0bZ/bJl8eccfxQp3NlU/0IW1v9eyYtQ53XQ= github.com/gohugoio/go-i18n/v2 v2.1.3-0.20210430103248-4c28c89f8013/go.mod h1:3Ltoo9Banwq0gOtcOwxuHG6omk+AwsQPADyw2vQYOJQ= -github.com/gohugoio/hugo v0.83.1 h1:OPrt0wx0HYH/ZDCK6eXV7Aesqp7egZMsLc+uT5rGCQs= -github.com/gohugoio/hugo v0.83.1/go.mod h1:ilulkvLWQbuTvhe7CQRrrUQ+XH07QAS8/w8IxyqckTU= +github.com/gohugoio/hugo v0.110.0 h1:FBBypy+UXD9BWaMReIZ+y2FSxFwlJCqoutVi7jKa90o= +github.com/gohugoio/hugo v0.110.0/go.mod h1:Fn7vtWrDBSojvaHSft+KMHhl6aH2934CR2njI32i38k= +github.com/gohugoio/locales v0.14.0 h1:Q0gpsZwfv7ATHMbcTNepFd59H7GoykzWJIxi113XGDc= +github.com/gohugoio/locales v0.14.0/go.mod h1:ip8cCAv/cnmVLzzXtiTpPwgJ4xhKZranqNqtoIu0b/4= +github.com/gohugoio/localescompressed v1.0.1 h1:KTYMi8fCWYLswFyJAeOtuk/EkXR/KPTHHNN9OS+RTxo= +github.com/gohugoio/localescompressed v1.0.1/go.mod h1:jBF6q8D7a0vaEmcWPNcAjUZLJaIVNiwvM3WlmTvooB0= github.com/gohugoio/testmodBuilder/mods v0.0.0-20190520184928-c56af20f2e95 h1:sgew0XCnZwnzpWxTt3V8LLiCO7OQi3C6dycaE67wfkU= -github.com/gohugoio/testmodBuilder/mods v0.0.0-20190520184928-c56af20f2e95/go.mod h1:bOlVlCa1/RajcHpXkrUXPSHB/Re1UnlXxD1Qp8SKOd8= github.com/golang-jwt/jwt/v4 v4.0.0 h1:RAqyYixv1p7uEnocuy8P1nru5wprCh/MH2BIlW5z5/o= github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -420,12 +341,10 @@ github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= -github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg= -github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-replayers/grpcreplay v0.1.0/go.mod h1:8Ig2Idjpr6gifRd6pNVggX6TC1Zw6Jx74AKp7QNH2QE= +github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= +github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-replayers/grpcreplay v1.1.0 h1:S5+I3zYyZ+GQz68OfbURDdt/+cSMqCK1wrvNx7WBzTE= github.com/google/go-replayers/grpcreplay v1.1.0/go.mod h1:qzAvJ8/wi57zq7gWqaE6AwLM6miiXUQwP1S+I9icmhk= -github.com/google/go-replayers/httpreplay v0.1.0/go.mod h1:YKZViNhiGgqdBlUbI2MwGpq4pXxNmhJLPHQ7cv2b5no= github.com/google/go-replayers/httpreplay v1.0.0 h1:8SmT8fUYM4nueF+UnXIX8LJxNTb1vpPuknXz+yTWzL4= github.com/google/go-replayers/httpreplay v1.0.0/go.mod h1:LJhKoTwS5Wy5Ld/peq8dFFG5OfJyHEz7ft+DsTUv25M= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= @@ -443,7 +362,6 @@ github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hf github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200507031123-427632fa3b1c/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= @@ -457,15 +375,12 @@ github.com/google/pprof v0.0.0-20210715191844-86eeefc3e471/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/subcommands v1.0.1/go.mod h1:ZjhPrFU+Olkh9WazFPsl27BQ4UPiG37m3yTrtFlrHVk= -github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/wire v0.4.0/go.mod h1:ngWDr9Qvq3yZA10YrxfyGELY/AFWGVpy9c1LTRi1EoU= github.com/google/wire v0.5.0 h1:I7ELFeVBr3yfPIcc8+MWvrjk+3VjbcSzoXm3JVa+jD8= github.com/google/wire v0.5.0/go.mod h1:ngWDr9Qvq3yZA10YrxfyGELY/AFWGVpy9c1LTRi1EoU= -github.com/googleapis/gax-go v2.0.2+incompatible/go.mod h1:SFVmujtThgffbyetf+mdk2eWhX2bMyUtNHzFKcPA9HY= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= @@ -476,231 +391,128 @@ github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99 github.com/googleapis/go-type-adapters v1.0.0 h1:9XdMn+d/G57qq1s8dNc5IesGCXHf6V2HZ2JwRxfA2tA= github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gorilla/csrf v1.6.0/go.mod h1:7tSf8kmjNYr7IWDCYhd3U8Ck34iQ/Yw5CJu7bAkHEGI= -github.com/gorilla/handlers v1.4.1/go.mod h1:Qkdc/uu4tH4g6mTK6auzZ766c4CA0Ng8+o/OAirnOIQ= -github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= -github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4= github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= -github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= -github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= -github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= -github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= -github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= -github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= -github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= -github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= -github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= -github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= +github.com/hairyhenderson/go-codeowners v0.2.3-0.20201026200250-cdc7c0759690 h1:XWjCrg/HJRLZCbvsUxS5R/9JhwiiwNctEsRvZ1Vjz5k= +github.com/hairyhenderson/go-codeowners v0.2.3-0.20201026200250-cdc7c0759690/go.mod h1:8Qu9UmnhCRunfRv365Z3w+mT/WfLGKJiK+vugY9qNCU= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= -github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= -github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= -github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= -github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= +github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= -github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/inconshreveable/mousetrap v1.0.1 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7Pgzkat/bFNc= +github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/invopop/yaml v0.1.0 h1:YW3WGUoJEXYfzWBjn00zIlrw7brGVD0fUKRYDPAPhrc= github.com/invopop/yaml v0.1.0/go.mod h1:2XuRLgs/ouIrW3XNzuNj7J3Nvu/Dig5MXvbCEdiBN3Q= github.com/jdkato/prose v1.2.1 h1:Fp3UnJmLVISmlc57BgKUzdjr0lOtjqTZicL3PaYy6cU= github.com/jdkato/prose v1.2.1/go.mod h1:AiRHgVagnEx2JbQRQowVBKjG0bcs/vtkGCH1dYAL1rA= -github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= -github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= -github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik= github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= -github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= -github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= -github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.13.5/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= -github.com/kyokomi/emoji/v2 v2.2.8/go.mod h1:JUcn42DTdsXJo1SWanHh4HKDEyPaR5CqkmoirZZP9qE= -github.com/kyokomi/emoji/v2 v2.2.9 h1:UWYkjplPZ4rMPvLxc+/e12/xTqoRcn55oUySkpZ554g= -github.com/kyokomi/emoji/v2 v2.2.9/go.mod h1:JUcn42DTdsXJo1SWanHh4HKDEyPaR5CqkmoirZZP9qE= +github.com/kyokomi/emoji/v2 v2.2.10 h1:1z5eMVcxFifsmEoNpdeq4UahbcicgQ4FEHuzrCVwmiI= +github.com/kyokomi/emoji/v2 v2.2.10/go.mod h1:JUcn42DTdsXJo1SWanHh4HKDEyPaR5CqkmoirZZP9qE= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= -github.com/lib/pq v1.1.1/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.10.2/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= -github.com/magefile/mage v1.11.0/go.mod h1:z5UZb/iS3GoOSn0JgWuiw7dxlurVYTu+/jHXqQg881A= -github.com/magefile/mage v1.13.0 h1:XtLJl8bcCM7EFoO8FyH8XK3t7G5hQAeK+i4tq+veT9M= -github.com/magefile/mage v1.13.0/go.mod h1:z5UZb/iS3GoOSn0JgWuiw7dxlurVYTu+/jHXqQg881A= -github.com/magiconair/properties v1.8.1 h1:ZC2Vc7/ZFkGmsVC9KvOjumD+G5lXy2RtTKyzRKO2BQ4= -github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/magefile/mage v1.14.0 h1:6QDX3g6z1YvJ4olPhT1wksUcSa/V0a1B+pJb73fBjyo= +github.com/magefile/mage v1.14.0/go.mod h1:z5UZb/iS3GoOSn0JgWuiw7dxlurVYTu+/jHXqQg881A= github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e h1:hB2xlXdHp/pmPZq0y3QnmWAArdw9PqbmotexnWx/FU8= github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/marekm4/color-extractor v1.2.0 h1:DCU/FXg3PlAwig7W5PRZshiX5x38k0aNPTxYZ6/fZb0= +github.com/marekm4/color-extractor v1.2.0/go.mod h1:90VjmiHI6M8ez9eYUaXLdcKnS+BAOp7w+NpwBdkJmpA= github.com/matryer/try v0.0.0-20161228173917-9ac251b645a2/go.mod h1:0KeJpeMD6o+O4hW7qJOT7vyQPKrWmj26uf5wMc/IiIs= -github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-ieproxy v0.0.0-20190610004146-91bb50d98149/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc= -github.com/mattn/go-ieproxy v0.0.0-20190702010315-6dee0af9227d/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc= github.com/mattn/go-ieproxy v0.0.1 h1:qiyop7gCflfhwCzGyeT0gro3sF9AIg9HU98JORTkqfI= github.com/mattn/go-ieproxy v0.0.1/go.mod h1:pYabZ6IHcRpFh7vIaLfK7rdcWgFEb3SFJ6/gNWuh88E= -github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= -github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= +github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= +github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0= github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= -github.com/miekg/mmark v1.3.6 h1:t47x5vThdwgLJzofNsbsAl7gmIiJ7kbDQN5BxwBmwvY= -github.com/miekg/mmark v1.3.6/go.mod h1:w7r9mkTvpS55jlfyn22qJ618itLryxXBhA7Jp3FIlkw= -github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= -github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= -github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= -github.com/mitchellh/hashstructure v1.0.0/go.mod h1:QjSHrPWS+BGUVBYkbTZWEnOh3G1DutKwClXU/ABz6AQ= github.com/mitchellh/hashstructure v1.1.0 h1:P6P1hdjqAAknpY/M1CGipelZgp+4y9ja9kmUZPXP+H0= github.com/mitchellh/hashstructure v1.1.0/go.mod h1:xUDAozZz0Wmdiufv0uyhnHkUTN6/6d8ulp4AwfLKrmA= -github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= -github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 h1:RWengNIwukTxcDr9M+97sNutRR1RKhG96O6jWumTTnw= +github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8= github.com/montanaflynn/stats v0.6.3/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= github.com/muesli/smartcrop v0.3.0 h1:JTlSkmxWg/oQ1TcLDoypuirdE8Y/jzNirQeLkxpA6Oc= github.com/muesli/smartcrop v0.3.0/go.mod h1:i2fCI/UorTfgEpPPLWiFBv4pye+YAG78RwcQLUkocpI= -github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/neurosnap/sentences v1.0.6/go.mod h1:pg1IapvYpWCJJm/Etxeh0+gtMf1rI1STY9S7eUCPbDc= github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 h1:zYyBkD/k9seD2A7fsi6Oo2LfFZAehjjQMERAvZLEDnQ= -github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646/go.mod h1:jpp1/29i3P1S/RLdc7JQKbRpFeM1dOBd8T9ki5s+AY8= -github.com/niklasfasching/go-org v1.5.0/go.mod h1:sSb8ylwnAG+h8MGFDB3R1D5bxf8wA08REfhjShg3kjA= github.com/niklasfasching/go-org v1.6.5 h1:5YAIqNTdl6lAOb7lD2AyQ1RuFGPVrAKvUexphk8PGbo= github.com/niklasfasching/go-org v1.6.5/go.mod h1:ybv0eGDnxylFUfFE+ySaQc734j/L3+/ChKZ/h63a2wM= -github.com/nkovacs/streamquote v0.0.0-20170412213628-49af9bddb229/go.mod h1:0aYXnNPJ8l7uZxf45rWW1a/uME32OF0rhiYGNQ2oF2E= -github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= -github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/pelletier/go-toml v1.9.0 h1:NOd0BRdOKpPf0SxkL3HxSQOG7rNh+4kl6PHcBPFs7Q0= -github.com/pelletier/go-toml v1.9.0/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= +github.com/pelletier/go-toml/v2 v2.0.6 h1:nrzqCb7j9cDFj2coyLNLaZuJTLjWjlaz6nvTvIwycIU= +github.com/pelletier/go-toml/v2 v2.0.6/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= -github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= -github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= -github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= -github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= -github.com/rogpeppe/go-internal v1.8.1 h1:geMPLpDpQOgVyCg5z5GoRwLHepNdb71NXb67XFkP+Eg= -github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= -github.com/russross/blackfriday v1.5.3-0.20200218234912-41c5fccfd6f6/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= -github.com/russross/blackfriday v1.6.0 h1:KqfZb0pUVN2lYqZUYRddxF4OR8ZMURnJIG5Y3VRLtww= -github.com/russross/blackfriday v1.6.0/go.mod h1:ti0ldHuxg49ri4ksnFxlkCfN+hvslNlmVHqNRXXJNAY= -github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/rwcarlsen/goexif v0.0.0-20190401172101-9e8deecbddbd h1:CmH9+J6ZSsIjUK3dcGsnCnO41eRBOnY12zwkn5qVwgc= github.com/rwcarlsen/goexif v0.0.0-20190401172101-9e8deecbddbd/go.mod h1:hPqNNc0+uJM6H+SuU8sEs5K5IQeKccPqeSjfgcKGgPk= -github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/sanity-io/litter v1.5.0/go.mod h1:5Z71SvaYy5kcGtyglXOC9rrUi3c1E8CamFWjQsazTh0= github.com/sanity-io/litter v1.5.5 h1:iE+sBxPBzoK6uaEP5Lt3fHNgpKcHXc/A2HGETy0uJQo= github.com/sanity-io/litter v1.5.5/go.mod h1:9gzJgR2i4ZpjZHsKvUXIRQVk7P+yM3e+jAF7bU2UI5U= -github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= -github.com/sergi/go-diff v1.0.0 h1:Kpca3qRNrduNnOQeazBd0ysaKrUJiIuISHxogkT9RPQ= -github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= github.com/shogo82148/go-shuffle v0.0.0-20180218125048-27e6095f230d/go.mod h1:2htx6lmL0NGLHlO8ZCf+lQBGBHIbEujyywxJArf+2Yc= -github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= -github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= -github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= -github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= -github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= -github.com/spf13/afero v1.8.2 h1:xehSyVa0YnHWsJ49JFljMpg1HX19V6NDZ1fkm1Xznbo= -github.com/spf13/afero v1.8.2/go.mod h1:CtAatgMJh6bJEIs48Ay/FOnkljP3WeGUG0MC1RfAqwo= -github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= +github.com/spf13/afero v1.9.3 h1:41FoI0fD7OR7mGcKE/aOiLkGreyf8ifIOQmJANWogMk= +github.com/spf13/afero v1.9.3/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= -github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= -github.com/spf13/cobra v1.4.0 h1:y+wJpx64xcgO1V+RcnwW0LEHxTKRi2ZDPSBjWnrg88Q= -github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= +github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA= +github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= github.com/spf13/fsync v0.9.0 h1:f9CEt3DOB2mnHxZaftmEOFWjABEvKM/xpf3cUwJrGOY= github.com/spf13/fsync v0.9.0/go.mod h1:fNtJEfG3HiltN3y4cPOz6MLjos9+2pIEqLIgszqhp/0= -github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= -github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= -github.com/spf13/viper v1.7.1 h1:pM5oEahlgWv/WnHXpgbKz7iLIxRf65tye2Ci+XFK5sk= -github.com/spf13/viper v1.7.1/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/testify v0.0.0-20161117074351-18a02ba4a312/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= @@ -708,35 +520,25 @@ github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81P github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.2 h1:4jaiDzPyXQvSd7D0EjG45355tLlV3VOECpq10pLC+8s= -github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= -github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= -github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= -github.com/tdewolff/minify/v2 v2.9.16/go.mod h1:cjMkr4ZgFjqxXAQ1kR9Fm4l1046mmONd2g6yMzGuN/w= -github.com/tdewolff/minify/v2 v2.11.10 h1:2tk9nuKfc8YOTD8glZ7JF/VtE8W5HOgmepWdjcPtRro= -github.com/tdewolff/minify/v2 v2.11.10/go.mod h1:dHOS3dk+nJ0M3q3uM3VlNzTb70cou+ov0ki7C4PAFgM= -github.com/tdewolff/parse/v2 v2.5.14/go.mod h1:WzaJpRSbwq++EIQHYIRTpbYKNA3gn9it1Ik++q4zyho= -github.com/tdewolff/parse/v2 v2.6.0 h1:f2D7w32JtqjCv6SczWkfwK+m15et42qEtDnZXHoNY70= -github.com/tdewolff/parse/v2 v2.6.0/go.mod h1:WzaJpRSbwq++EIQHYIRTpbYKNA3gn9it1Ik++q4zyho= -github.com/tdewolff/test v1.0.6 h1:76mzYJQ83Op284kMT+63iCNCI7NEERsIN8dLM+RiKr4= -github.com/tdewolff/test v1.0.6/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE= -github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/tdewolff/minify/v2 v2.12.4 h1:kejsHQMM17n6/gwdw53qsi6lg0TGddZADVyQOz1KMdE= +github.com/tdewolff/minify/v2 v2.12.4/go.mod h1:h+SRvSIX3kwgwTFOpSckvSxgax3uy8kZTSF1Ojrr3bk= +github.com/tdewolff/parse/v2 v2.6.4 h1:KCkDvNUMof10e3QExio9OPZJT8SbdKojLBumw8YZycQ= +github.com/tdewolff/parse/v2 v2.6.4/go.mod h1:woz0cgbLwFdtbjJu8PIKxhW05KplTFQkOdX78o+Jgrs= +github.com/tdewolff/test v1.0.7 h1:8Vs0142DmPFW/bQeHRP3MV19m1gvndjUb1sn8yy74LM= +github.com/tdewolff/test v1.0.7/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE= github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= -github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= -github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8= -github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= -github.com/yuin/goldmark v1.1.22/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yuin/goldmark v1.4.12 h1:6hffw6vALvEDqJ19dOJvJKOoAOKe4NDaTqvd2sktGN0= -github.com/yuin/goldmark v1.4.12/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -github.com/yuin/goldmark-highlighting v0.0.0-20200307114337-60d527fdb691 h1:VWSxtAiQNh3zgHJpdpkpVYjTPqRE3P6UZCOPa1nRDio= -github.com/yuin/goldmark-highlighting v0.0.0-20200307114337-60d527fdb691/go.mod h1:YLF3kDffRfUH/bTxOxHhV6lxwIB3Vfj91rEwNMS9MXo= -go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +github.com/yuin/goldmark v1.5.3 h1:3HUJmBFbQW9fhQOzMgseU134xfi6hU+mjWywx5Ty+/M= +github.com/yuin/goldmark v1.5.3/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= go.opencensus.io v0.15.0/go.mod h1:UffZAU+4sDEINUGP/B7UfBBkq4fqLu9zXAX7ke6CHW0= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= @@ -748,28 +550,22 @@ go.opencensus.io v0.22.6/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= -go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ= +go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= -go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= go.uber.org/multierr v1.7.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= -go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.18.1/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= go.uber.org/zap v1.19.0/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= -gocloud.dev v0.20.0/go.mod h1:+Y/RpSXrJthIOM8uFNzWp6MRu9pFPNFEEZrQMxpkfIc= gocloud.dev v0.24.0 h1:cNtHD07zQQiv02OiwwDyVMuHmR7iQt2RLkzoAgz7wBs= gocloud.dev v0.24.0/go.mod h1:uA+als++iBX5ShuG4upQo/3Zoz49iIPlYUWHV5mM8w8= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= @@ -819,10 +615,6 @@ golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= @@ -830,11 +622,9 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190619014844-b5b0513f8c1b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191112182307-2180aed22343/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -847,7 +637,6 @@ golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/ golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= @@ -868,11 +657,10 @@ golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220607020251-c690dde0001d h1:4SFsTMi4UahlKoloni7L4eYzhFRifURQLw+yv0QDCx8= -golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.3.0 h1:VWL6FNY2bEEmsGVKabSlHu5Irp34xmMRoqb/9lF9lxk= +golang.org/x/net v0.3.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20190402181905-9f3314589c9a/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -883,7 +671,6 @@ golang.org/x/oauth2 v0.0.0-20210126194326-f9ce19ea3013/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210413134643-5e61552d6c78/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210427180440-81ed05c6b58c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= @@ -904,15 +691,10 @@ golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181128092732-4ed8d59d0b35/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -922,7 +704,6 @@ golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191112214154-59a1497f0cea/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -933,17 +714,12 @@ golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200317113312-5766fd39f98d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200413165638-669c56c373c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200501145240-bc7a7d42d5c3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200724161237-0e2f3a69832c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200828194041-157a740278f4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -960,7 +736,6 @@ golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210412220455-f1c623a9e750/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210503080704-8803ae5d1324/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -982,8 +757,11 @@ golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a h1:dGzPydgVsqGcTRVwiLJ1jVbufYwmzD3LfVPLKsKg+0k= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.3.0 h1:w8ZOecv6NaNa/zC8944JTU3vz4u6Lagfk4RPQxv92NQ= +golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -994,20 +772,19 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.5.0 h1:OLmvp0KP+FVG99Ct/qFiL/Fhk4zp4QQnZ7b2U+5piUM= +golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190422233926-fe54fb35175b/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= @@ -1019,7 +796,6 @@ golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -1037,15 +813,10 @@ golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapK golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200317043434-63da46f3035e/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200325010219-a49f79bcc224/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200601175630-2caf76543d99/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200606014950-c42cb6316fb6/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200608174601-1b747fd94509/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= @@ -1062,6 +833,8 @@ golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.4.0 h1:7mTAgkunk3fr4GAloyyCasadO6h9zSsQZbwvcaIciV4= +golang.org/x/tools v0.4.0/go.mod h1:UE5sM2OK9E/d67R0ANs2xJizIymRP5gJU295PvKXxjQ= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1069,7 +842,6 @@ golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f h1:GGU+dLjvlC3qDwqYgL6UgRmHXhOOgns0bZu2Ty5mm6U= golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= -google.golang.org/api v0.5.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= @@ -1082,7 +854,6 @@ google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/ google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.26.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= @@ -1092,7 +863,6 @@ google.golang.org/api v0.37.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjR google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= -google.golang.org/api v0.45.0/go.mod h1:ISLIJCedJolbZvDfAk+Ctuq5hf+aJ33WgtUsfyFoLXA= google.golang.org/api v0.46.0/go.mod h1:ceL4oozhkAiTID8XMmJBsIxID/9wMXJVVFXPg4ylg3I= google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= @@ -1125,8 +895,6 @@ google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRn google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190508193815-b515fa19cec8/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190530194941-fb225487d101/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= @@ -1142,16 +910,12 @@ google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfG google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200317114155-1f3552e48f24/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200325114520-5b2d0af7952b/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200603110839-e855014d5736/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= -google.golang.org/genproto v0.0.0-20200608115520-7c474a2e3482/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= @@ -1170,7 +934,6 @@ google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210329143202-679c6ae281ee/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto v0.0.0-20210413151531-c14fb6ef47c3/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= google.golang.org/genproto v0.0.0-20210429181445-86c259c2b4ab/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= google.golang.org/genproto v0.0.0-20210517163617-5e0236093d7a/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= @@ -1212,7 +975,6 @@ google.golang.org/genproto v0.0.0-20220426171045-31bebdecfb46 h1:G1IeWbjrqEq9ChW google.golang.org/genproto v0.0.0-20220426171045-31bebdecfb46/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= -google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= @@ -1255,25 +1017,17 @@ google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlba google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= +google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= +google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/ini.v1 v1.51.1 h1:GyboHr4UqMiLUybYjd22ZjQIKEJEpgtLXtuGbR21Oho= -gopkg.in/ini.v1 v1.51.1/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/neurosnap/sentences.v1 v1.0.6/go.mod h1:YlK+SN+fLQZj+kY3r8DkGDhDr91+S3JmTb5LSxFRQo0= -gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= -gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= diff --git a/build/metaschema b/build/metaschema index 973790d8c..d3d53940d 160000 --- a/build/metaschema +++ b/build/metaschema @@ -1 +1 @@ -Subproject commit 973790d8c197123e5468a87b63f5ecdb3e7e520e +Subproject commit d3d53940dc748ab2f07749d6867d0012e5d427a5 diff --git a/build/package-lock.json b/build/package-lock.json index db9b46079..0e46e25b2 100644 --- a/build/package-lock.json +++ b/build/package-lock.json @@ -8,9 +8,9 @@ "name": "ci-cd-packages", "version": "1.0.0", "dependencies": { - "ajv-cli": "^4.0.x", + "ajv-cli": "^5.0.x", "ajv-formats": "^2.1.x", - "markdown-link-check": "^3.10.3", + "markdown-link-check": "^3.11.2", "yaml-convert": "^1.0.x" } }, @@ -20,9 +20,9 @@ "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==" }, "node_modules/ajv": { - "version": "7.2.4", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.2.4.tgz", - "integrity": "sha512-nBeQgg/ZZA3u3SYxyaDvpvDtgZ/EZPF547ARgZBrG9Bhu1vKDwAIjtIf+sDtJUKa2zOcEbmRLBRSyMraS/Oy1A==", + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -35,15 +35,15 @@ } }, "node_modules/ajv-cli": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/ajv-cli/-/ajv-cli-4.2.0.tgz", - "integrity": "sha512-3Ab8Kuh7QnyXxg+v4NFzah1LLBHgYBUVtJZC8bOaDAdl766kT6Usw5f+g8UcFN+24lYIbchaQBQ+uUntYpBEyQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ajv-cli/-/ajv-cli-5.0.0.tgz", + "integrity": "sha512-LY4m6dUv44HTyhV+u2z5uX4EhPYTM38Iv1jdgDJJJCyOOuqB8KtZEGjPZ2T+sh5ZIJrXUfgErYx/j3gLd3+PlQ==", "dependencies": { - "ajv": "^7.2.1", + "ajv": "^8.0.0", "fast-json-patch": "^2.0.0", "glob": "^7.1.0", "js-yaml": "^3.14.0", - "json-schema-migrate": "^1.1.0", + "json-schema-migrate": "^2.0.0", "json5": "^2.1.3", "minimist": "^1.2.0" }, @@ -75,21 +75,6 @@ } } }, - "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.10.0.tgz", - "integrity": "sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, "node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -146,15 +131,11 @@ } }, "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz", + "integrity": "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==", "engines": { - "node": ">=10" + "node": "^12.17.0 || ^14.13 || >=16.0.0" }, "funding": { "url": "https://github.com/chalk/chalk?sponsor=1" @@ -223,11 +204,11 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", "engines": { - "node": ">= 6" + "node": ">=14" } }, "node_modules/concat-map": { @@ -409,14 +390,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, "node_modules/html-link-extractor": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/html-link-extractor/-/html-link-extractor-1.0.5.tgz", @@ -525,11 +498,11 @@ } }, "node_modules/json-schema-migrate": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/json-schema-migrate/-/json-schema-migrate-1.1.0.tgz", - "integrity": "sha512-PggRuqHB+k1OMz0N1vXCMmwwr8cAsKWVOG5jZh1I2xSyePpRoBG6xOlWG50qe2Ca3hxfWWqZHLEYqJw2/4765g==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/json-schema-migrate/-/json-schema-migrate-2.0.0.tgz", + "integrity": "sha512-r38SVTtojDRp4eD6WsCqiE0eNDt4v1WalBXb9cyZYw9ai5cGtBwzRNWjHzJl38w6TxFkXAIA7h+fyX3tnrAFhQ==", "dependencies": { - "ajv": "^7.0.0-beta.9" + "ajv": "^8.0.0" } }, "node_modules/json-schema-traverse": { @@ -568,17 +541,17 @@ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "node_modules/markdown-link-check": { - "version": "3.10.3", - "resolved": "https://registry.npmjs.org/markdown-link-check/-/markdown-link-check-3.10.3.tgz", - "integrity": "sha512-uGdJiZOy1CVWlRe7CyBSJ0Gz80Xm4vt++xjX9sNFjB7qcAxLinaMmzFQ5xOwERaXC9mK770BhnqnsyJT1gTr9w==", + "version": "3.11.2", + "resolved": "https://registry.npmjs.org/markdown-link-check/-/markdown-link-check-3.11.2.tgz", + "integrity": "sha512-zave+vI4AMeLp0FlUllAwGbNytSKsS3R2Zgtf3ufVT892Z/L6Ro9osZwE9PNA7s0IkJ4onnuHqatpsaCiAShJw==", "dependencies": { "async": "^3.2.4", - "chalk": "^4.1.2", - "commander": "^6.2.0", + "chalk": "^5.2.0", + "commander": "^10.0.1", "link-check": "^5.2.0", "lodash": "^4.17.21", "markdown-link-extractor": "^3.1.0", - "needle": "^3.1.0", + "needle": "^3.2.0", "progress": "^2.0.3" }, "bin": { @@ -627,9 +600,9 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, "node_modules/needle": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/needle/-/needle-3.1.0.tgz", - "integrity": "sha512-gCE9weDhjVGCRqS8dwDR/D3GTAeyXLXuqp7I8EzH6DllZGXSUyxuqqLh+YX9rMAWaaTFyVAg6rHGL25dqvczKw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-3.2.0.tgz", + "integrity": "sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==", "dependencies": { "debug": "^3.2.6", "iconv-lite": "^0.6.3", @@ -763,17 +736,6 @@ "node": ">=8" } }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -865,9 +827,9 @@ "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==" }, "ajv": { - "version": "7.2.4", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.2.4.tgz", - "integrity": "sha512-nBeQgg/ZZA3u3SYxyaDvpvDtgZ/EZPF547ARgZBrG9Bhu1vKDwAIjtIf+sDtJUKa2zOcEbmRLBRSyMraS/Oy1A==", + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "requires": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -876,15 +838,15 @@ } }, "ajv-cli": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/ajv-cli/-/ajv-cli-4.2.0.tgz", - "integrity": "sha512-3Ab8Kuh7QnyXxg+v4NFzah1LLBHgYBUVtJZC8bOaDAdl766kT6Usw5f+g8UcFN+24lYIbchaQBQ+uUntYpBEyQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ajv-cli/-/ajv-cli-5.0.0.tgz", + "integrity": "sha512-LY4m6dUv44HTyhV+u2z5uX4EhPYTM38Iv1jdgDJJJCyOOuqB8KtZEGjPZ2T+sh5ZIJrXUfgErYx/j3gLd3+PlQ==", "requires": { - "ajv": "^7.2.1", + "ajv": "^8.0.0", "fast-json-patch": "^2.0.0", "glob": "^7.1.0", "js-yaml": "^3.14.0", - "json-schema-migrate": "^1.1.0", + "json-schema-migrate": "^2.0.0", "json5": "^2.1.3", "minimist": "^1.2.0" } @@ -895,19 +857,6 @@ "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", "requires": { "ajv": "^8.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.10.0.tgz", - "integrity": "sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - } } }, "ansi-regex": { @@ -957,13 +906,9 @@ } }, "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz", + "integrity": "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==" }, "cheerio": { "version": "1.0.0-rc.12", @@ -1016,9 +961,9 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==" + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==" }, "concat-map": { "version": "0.0.1", @@ -1146,11 +1091,6 @@ "path-is-absolute": "^1.0.0" } }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, "html-link-extractor": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/html-link-extractor/-/html-link-extractor-1.0.5.tgz", @@ -1228,11 +1168,11 @@ } }, "json-schema-migrate": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/json-schema-migrate/-/json-schema-migrate-1.1.0.tgz", - "integrity": "sha512-PggRuqHB+k1OMz0N1vXCMmwwr8cAsKWVOG5jZh1I2xSyePpRoBG6xOlWG50qe2Ca3hxfWWqZHLEYqJw2/4765g==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/json-schema-migrate/-/json-schema-migrate-2.0.0.tgz", + "integrity": "sha512-r38SVTtojDRp4eD6WsCqiE0eNDt4v1WalBXb9cyZYw9ai5cGtBwzRNWjHzJl38w6TxFkXAIA7h+fyX3tnrAFhQ==", "requires": { - "ajv": "^7.0.0-beta.9" + "ajv": "^8.0.0" } }, "json-schema-traverse": { @@ -1265,17 +1205,17 @@ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "markdown-link-check": { - "version": "3.10.3", - "resolved": "https://registry.npmjs.org/markdown-link-check/-/markdown-link-check-3.10.3.tgz", - "integrity": "sha512-uGdJiZOy1CVWlRe7CyBSJ0Gz80Xm4vt++xjX9sNFjB7qcAxLinaMmzFQ5xOwERaXC9mK770BhnqnsyJT1gTr9w==", + "version": "3.11.2", + "resolved": "https://registry.npmjs.org/markdown-link-check/-/markdown-link-check-3.11.2.tgz", + "integrity": "sha512-zave+vI4AMeLp0FlUllAwGbNytSKsS3R2Zgtf3ufVT892Z/L6Ro9osZwE9PNA7s0IkJ4onnuHqatpsaCiAShJw==", "requires": { "async": "^3.2.4", - "chalk": "^4.1.2", - "commander": "^6.2.0", + "chalk": "^5.2.0", + "commander": "^10.0.1", "link-check": "^5.2.0", "lodash": "^4.17.21", "markdown-link-extractor": "^3.1.0", - "needle": "^3.1.0", + "needle": "^3.2.0", "progress": "^2.0.3" } }, @@ -1312,9 +1252,9 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, "needle": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/needle/-/needle-3.1.0.tgz", - "integrity": "sha512-gCE9weDhjVGCRqS8dwDR/D3GTAeyXLXuqp7I8EzH6DllZGXSUyxuqqLh+YX9rMAWaaTFyVAg6rHGL25dqvczKw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-3.2.0.tgz", + "integrity": "sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==", "requires": { "debug": "^3.2.6", "iconv-lite": "^0.6.3", @@ -1412,14 +1352,6 @@ "ansi-regex": "^5.0.1" } }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, "uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", diff --git a/build/package.json b/build/package.json index 3078f8ec3..081040eb1 100644 --- a/build/package.json +++ b/build/package.json @@ -2,9 +2,9 @@ "name": "ci-cd-packages", "version": "1.0.0", "dependencies": { - "ajv-cli": "^4.0.x", + "ajv-cli": "^5.0.x", "ajv-formats": "^2.1.x", - "markdown-link-check": "^3.10.3", + "markdown-link-check": "^3.11.2", "yaml-convert": "^1.0.x" } } diff --git a/build/pom.xml b/build/pom.xml index 02f5f0ecb..76486e1a6 100644 --- a/build/pom.xml +++ b/build/pom.xml @@ -34,12 +34,12 @@ net.sf.saxon Saxon-HE - 10.6 + 11.4 com.xmlcalabash xmlcalabash - 1.2.5-100 + 1.5.3-110 @@ -48,7 +48,7 @@ org.apache.maven.plugins maven-dependency-plugin - 3.3.0 + 3.5.0 copy-dependencies diff --git a/docs/content/about/news.md b/docs/content/about/news.md index f0bc63c7b..1a7a24065 100644 --- a/docs/content/about/news.md +++ b/docs/content/about/news.md @@ -15,7 +15,7 @@ toc: - [OSCAL 1.0.0 Milestone 2 Released](https://pages.nist.gov/OSCAL/contribute/roadmap/#oscal-100-milestone-2) - October 1, 2019 - [OSCAL 1.0.0 Milestone 1 Released](https://pages.nist.gov/OSCAL/contribute/roadmap/#oscal-100-milestone-1) - June 15, 2019 - [What's Next for FedRAMP? Automation, new authorizations later this year](https://federalnewsnetwork.com/federal-cloud-report/2018/06/whats-next-for-fedramp-automation-new-authorizations-and-more-later-this-year/) - June 25, 2018 -- FedRAMP Looks to NIST for Security Control Refinements - June 14, 2018 -- [Automating Compliance for Highly Regulated Industries with Docker Enterprise Edition and OSCAL](https://www.mirantis.com/blog/automating-compliance-for-highly-regulated-industries-with-docker-enterprise-edition-and-oscal/) - May 3, 2018 +- [FedRAMP Looks to NIST for Security Control Refinements](https://gcn.com/cloud-infrastructure/2021/08/fedramp-leans-into-oscal-for-streamlining-authorizations/316255/) - June 14, 2018 +- [Automating Compliance for Highly Regulated Industries with Docker Enterprise Edition and OSCAL](https://www.mirantis.com/blog/automating-compliance-for-highly-regulated-industries-with-docker-enterprise-edition-and-oscal) - May 3, 2018 - [You're Nuts! Automating Your 1000+ Page FedRAMP System Security Plan?](https://www.govloop.com/community/blog/youre-nuts-automating-1000page-fedramp-system-security-plan/) - August 14, 2017 - [Government CIOs Lean Toward Cloud for Security](https://www.meritalk.com/articles/government-cios-lean-toward-cloud-for-security/) - April 21, 2016 diff --git a/docs/content/concepts/identifier-use/_index.md b/docs/content/concepts/identifier-use/_index.md index 629eee5d4..471520981 100644 --- a/docs/content/concepts/identifier-use/_index.md +++ b/docs/content/concepts/identifier-use/_index.md @@ -20,7 +20,7 @@ By design, OSCAL supports [*machine-oriented*](#machine-oriented) and [*human-or [*Machine-oriented*](#machine-oriented) identifiers provide a persistent identity for an entity within the OSCAL models, which can be used in other locations within related OSCAL models to reference the associated entity. -These identifiers are intended to be auto-generated by tools when the entity is initially created. In OSCAL, a machine-oriented identifier is implemented using a Universally Unique Identifier (UUID) as defined by [RFC 4122](https://tools.ietf.org/html/rfc4122). A UUID is represented in OSCAL using the [UUID datatype](/reference/datatypes/#uuid). +These identifiers are intended to be auto-generated by tools when the entity is initially created. In OSCAL, a machine-oriented identifier is implemented using a Universally Unique Identifier (UUID) as defined by [RFC 4122](https://tools.ietf.org/html/rfc4122). A UUID is represented in OSCAL using the [`uuid`](/reference/datatypes/#uuid) data type. UUIDs were chosen because: - Programming interfaces exist in most programming environments to generate a UUID - UUIDs can be issued without a central authority @@ -32,7 +32,7 @@ The [OSCAL XML Reference Index](/reference/latest/complete/xml-index/#/@uuid) an #### Human-Oriented -A [*human-oriented*](#human-oriented) identifier incorporates semantic that support readability and processing by humans. OSCAL implements [*human-oriented*](#human-oriented) identifiers as [token](/reference/datatypes/#token) data types, which are non-colonized names. For example, control identifiers in a catalog may use a nomenclature that is familiar to the intended audience, allowing them to quickly determine what security control is being referred to, simply by its identifier value. +A [*human-oriented*](#human-oriented) identifier supports readability and use by human consumers. OSCAL implements [*human-oriented*](#human-oriented) identifiers as [`token`](/reference/datatypes/#token) data types. For example, control identifiers in a catalog may use a nomenclature that is familiar to the intended audience, allowing them to quickly determine what security control is being referred to, simply by its identifier value. The [OSCAL XML Reference Index](/reference/latest/complete/xml-index/#/@id) and [OSCAL JSON Reference Index](/reference/latest/complete/json-index/#/id) provide a comprehensive listing of the [*human-oriented*](#human-oriented) IDs in the core OSCAL models. References to these IDs are typically named according to the referenced object type (e.g., control) followed by “-id”, as seen here in the [XML Reference Index](/reference/latest/complete/xml-index/#/@control-id) (and likewise [JSON Reference Index](/reference/latest/complete/json-index/#/control-id) in the JSON reference index). diff --git a/docs/content/concepts/layer/control/_index.md b/docs/content/concepts/layer/control/_index.md index 0375c5196..1acc63e81 100644 --- a/docs/content/concepts/layer/control/_index.md +++ b/docs/content/concepts/layer/control/_index.md @@ -11,6 +11,7 @@ toc: aliases: - /documentation/schema/catalog-layer/ - /documentation/schema/profile-layer/ + - /concepts/layer/control/mapping --- The OSCAL control layer consists of the following models. @@ -23,6 +24,10 @@ It is important to note that the OSCAL catalog model is not a catalog document f Controls must also be encoded in a standard machine-readable form. The OSCAL model gives the designers of catalogs great flexibility in the details of how controls are defined, with their constituent parts. This is described further in a page providing a high-level introductory walkthrough of an [Annotated Example](catalog/sp800-53rev5-example) of a control, as defined by NIST SP 800-53 Revision 5. +## Mapping Model + +The **[Mapping Model](mapping/)** provides a means to represent control mappings between two catalogs using a structured, machine-readable representation. The OSCAL mapping model can be represented in XML, JSON, and YAML formats. + ## Profile Model The **[Profile Model](profile/)** provides a structured, machine-readable representation of a **[baseline](../../terminology/#baseline)**. As the starting point for defining an organization's security mission and security posture, a baseline must be defined by any organization undertaking a risk-based security program or security assessment, typically by selecting and adapting controls from an authoritative catalog of controls, or from another baseline that has already been defined and described. diff --git a/docs/content/concepts/layer/implementation/component-definition/_index.md b/docs/content/concepts/layer/implementation/component-definition/_index.md index fbd1a7be8..7e09e32e8 100644 --- a/docs/content/concepts/layer/implementation/component-definition/_index.md +++ b/docs/content/concepts/layer/implementation/component-definition/_index.md @@ -100,8 +100,8 @@ OSCAL is designed to allow capture relevant details related to independent valid The following tutorials are provided that are related to the component definition model. -- [Creating a Component Definition](/learn/tutorials/simple-component-definition/): Covers creating a basic OSCAL component definition for a software product. -- [Representing Test Validation Information](/learn/tutorials/validation-modeling/): Explains how to represent test validation information (e.g., FIPS-140-2) for a component in an OSCAL component definition. +- [Creating a Component Definition](/learn/tutorials/implementation/simple-component-definition/): Covers creating a basic OSCAL component definition for a software product. +- [Representing Test Validation Information](/learn/tutorials/implementation/validation-modeling/): Explains how to represent test validation information (e.g., FIPS-140-2) for a component in an OSCAL component definition. ## Content Examples diff --git a/docs/content/concepts/uri-use.md b/docs/content/concepts/uri-use.md new file mode 100644 index 000000000..35c45f06a --- /dev/null +++ b/docs/content/concepts/uri-use.md @@ -0,0 +1,171 @@ +--- +title: URI Usage +description: Provides information on the use of URIs in OSCAL. +weight: 40 +--- + +According to [RFC 3986](https://www.rfc-editor.org/rfc/rfc3986) a Uniform Resource Identifier (URI) "is a compact sequence of characters that identifies an abstract or physical resource." URIs are an important concept, which are used extensively in OSCAL. + +## Uniform Resource Identifier Overview + +According to RFC 3986, a URI has the following syntax, which is represented in [Augmented Backus-Naur Form (ABNF)](https://www.rfc-editor.org/rfc/rfc5234.html) below. + +> ``` +> URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ] +> hier-part = "//" authority path-abempty +> / path-absolute +> / path-rootless +> / path-empty +> ``` +> +> The scheme and path components are required, though the path may be empty (no characters). When authority is present, the path must either be empty or begin with a slash ("/") character. When authority is not present, the path cannot begin with two slash characters ("//"). These restrictions result in five different ABNF rules for a path ([Section 3.3](https://www.rfc-editor.org/rfc/rfc3986#section-3.3)), only one of which will match any given URI reference. +> +> The following are two example URIs and their component parts: +> +> ``` +> foo://example.com:8042/over/there?name=ferret#nose +> \_/ \______________/\_________/ \_________/ \__/ +> | | | | | +> scheme authority path query fragment +> | _____________________|__ +> / \ / \ +> urn:example:animal:ferret:nose +> ``` + +According to RFC 3986, a URI can be used in a few different ways. Recognizing these URI forms is important in understanding how URIs are used in OSCAL. + +### URI with a Required Scheme + +As indicated above with the required scheme and path components. + +### Relative Reference + +A URI that is a relative reference, references a resource relative to another *[base URI](https://www.rfc-editor.org/rfc/rfc3986#section-5.1)*. Such a URI is resolved using [reference resolution](https://www.rfc-editor.org/rfc/rfc3986#section-5). + +The [syntax of a relative reference](https://www.rfc-editor.org/rfc/rfc3986#section-4.2) is: + +> ``` +> relative-ref = relative-part [ "?" query ] [ "#" fragment ] +> +> relative-part = "//" authority path-abempty +> / path-absolute +> / path-noscheme +> / path-empty +> ``` + +### URI Reference + +A typical use of a URI, allowing a [URI with a required scheme](#uri-with-a-required-scheme) or a [relative reference](#relative-reference) to be used. + +The [syntax of a URI reference](https://www.rfc-editor.org/rfc/rfc3986#section-4.1) is: + +> URI-reference = URI / relative-ref + +### Absolute URI + +According to RFC 3986, the [syntax of an absolute URI](https://www.rfc-editor.org/rfc/rfc3986#section-4.3) is: + +> ``` +> absolute-URI = scheme ":" hier-part [ "?" query ] +> ``` + +## URI vs URL vs URN + +According to RFC 3986 section [1.1.3](https://www.rfc-editor.org/rfc/rfc3986#section-1.1.3), "a URI can be further classified as a *locator*, a *name*, or *both*." A given URI scheme is not limited to being only a name or a locator; both characteristics can be associated. + +- To be a *locator*, the resource pointed to by a URI needs to have persistence. + +- To be a *name*, the URI needs to be used consistently to refer to the thing that is named. A URI used only as a name is not required to resolve to a location. URIs schemes requiring an [*authority*](https://www.rfc-editor.org/rfc/rfc3986#section-3.2) element provide a means to use a registered DNS name to assert organizational control over a naming value space or namespace. + +A *Uniform Resource Locator (URL)* "refers to the subset of URIs that, in addition to identifying a resource, provide a means of locating the resource by describing its primary access mechanism (e.g., its network "location")." + +A URL, when applied consistently, can be used as a *name*. Optionally in such cases, the resource it resolves to can provide information about how to use the URL as a name. + +A *Uniform Resource Name (URN)* "has been used historically to refer to both URIs under the `urn` scheme [RFC2141](https://www.rfc-editor.org/rfc/rfc2141), which are required to remain globally unique and persistent even when the resource ceases to exist or becomes unavailable, and to any other URI with the properties of a name. + +A URN is often not a good fit for use as a *locator*, since it requires a secondary resolution process that maps the URN's *name* to a specific *location*. + +Due to the specific characteristics of a URL or URN, the term URI is often used to refer more broadly to all types of resource identifiers. + +## URIs in OSCAL + +The following sections discuss how URIs are used in OSCAL. + +### OSCAL URI Data Types + +OSCAL uses two data types for representing URIs. + +1. [`uri`](/reference/datatypes/#uri) - A URI which must provide the required scheme and path components. This means the URI will point directly to a resolvable resource. + + The `uri` data type is used in cases where a [*URI with a required scheme*](#uri-with-a-required-scheme) or an *absolute URI* is required. As a result, a [*relative reference*](#relative-reference) or a [*URI reference*](#uri-reference) is not allowed for use with this data type. + +2. [`uri-reference`](/reference/datatypes/#uri-reference) - A [*URI reference*](#uri-reference), which may be a [*URI with a required scheme*](#uri-with-a-required-scheme) or a [*relative reference*](#relative-reference). This allows all forms of URIs. + +### Common OSCAL URI Use Cases + +URIs are used in OSCAL to provide pointers to resources in the following ways. + +#### Linking to a network resolvable resource + +URIs are used to point directly to a network resolvable resource. + +In such cases, the URI may be: + +- A [*URI with a required scheme*](#uri-with-a-required-scheme), where the scheme will likely be `https` indicating the resource can be accessed using the [Hypertext Transfer Protocol](https://www.rfc-editor.org/rfc/rfc2616.html) (HTTP) using [Transport Layer Security](https://www.rfc-editor.org/rfc/rfc8446) (TLS). Data fields supporting only this use case will have the `uri` data type. + + OSCAL examples include: + + - `threat-id` - ([JSON/YAML](/reference/latest/complete/json-index/#/threat-id)) ([XML](/reference/latest/complete/xml-index/#/@threat-id)) + - `url` - ([JSON/YAML](/reference/latest/complete/json-index/#/url)) ([XML](/reference/latest/complete/xml-index/#/urls)) + +- A [*relative reference*](#relative-reference), pointing to a resource that can resolved using the current document resource as the *base URI*. Data fields supporting this use case will have the `uri-reference` data type. + + OSCAL examples include: + + - `href` - ([JSON/YAML](/reference/latest/complete/json-index/#/href)) ([XML](/reference/latest/complete/xml-index/#/@href)) + - `source` - ([JSON/YAML](/reference/latest/complete/json-index/#/source)) ([XML](/reference/latest/complete/xml-index/#/@source)) + - `filename` - ([JSON/YAML](/reference/latest/complete/json-index/#/filename)) ([XML](/reference/latest/complete/xml-index/#/@filename)) + +URIs serving this purpose need to be used as a *locator*. URLs are typically used for this purpose since the URI must resolve to a specific location. + +#### Linking to another OSCAL object + +A pointer to an OSCAL object identified by the referenced identifier, may be a [human-oriented](/concepts/identifier-use/#human-oriented) [`token`](/reference/datatypes/#token) or a [machine-oriented](/concepts/identifier-use/#machine-oriented) [`uuid`](https://pages.nist.gov/OSCAL/reference/datatypes/#uuid). + +This approach uses a [*relative reference*](#relative-reference) consisting of only a URI *fragment* containing the identifier or UUID of the referenced object within the current documents effective data model. The effective data model of a document includes all objects identified with the document and any directly or transitively imported documents. Identifiers with a *cross-instance* [scope](/concepts/identifier-use/#scope) are available to importing documents. + +URIs serving this purpose need to be used as a *locator*. + +Any data fields supporting this use case will have the `uri-reference` data type. + +A typical use of OSCAL object identifier linking is referencing a `resource` in the document's `back-matter` or an imported document's `back-matter`. For example, the back-matter resource identified by the UUID `f5a2bdb3-55ad-431e-a7ea-c0fd28fc08a0` can be referenced as follows. + +``` + +``` + +More information about the use of links to reference back-matter resources can be found in the [*Referencing Back-Matter Resources*](/learn/tutorials/general/extension/#referencing-back-matter-resources) section of the [*Extending OSCAL Models with Props and Links*](/learn/tutorials/general/extension/) tutorial. + +#### Use as a naming system identifier + +An absolute URI that identifies the naming system. URIs serving this purpose are used as a *name*. Data fields supporting this use case will have the `uri` data type. + +OSCAL supports a number of name/value and other controlled value collections. To allow independent organization to organize these value collections, namespaces are used to partition the value spaces on an organization-by-organization basis. An [*absolute URI*](#absolute-uri) is used as the namespace identifier for these situations. + +When used in this way, the authority component of the URI must use a value that the organization has control over. Typically, a DNS domain name controlled by the organization is used for this purpose. + +OSCAL examples include: + +- `ns` - ([JSON/YAML](/reference/latest/complete/json-index/#/ns)) ([XML](/reference/latest/complete/xml-index/#/@ns)) +- `system` - ([JSON/YAML](/reference/latest/complete/json-index/#/system)) ([XML](/reference/latest/complete/xml-index/#/@system)) +- `scheme` - ([JSON/YAML](/reference/latest/complete/json-index/#/scheme)) ([XML](/reference/latest/complete/xml-index/#/@scheme)) + +A key example of this approach is how property names are partitioned using a `ns` data element. + +For example, the namespace `http://example.com/ns/oscal` is used in an OSCAL property as follows. + +``` + +``` + +To learn more about the use of namespaces in properties, refer to the [*Extending Existing Prop Values*](/learn/tutorials/general/extension/#extending-existing-prop-values) section of the [*Extending OSCAL Models with Props and Links*](/learn/tutorials/general/extension/) tutorial. diff --git a/docs/content/contribute/dev-lunch/meeting-2020-05-07.md b/docs/content/contribute/dev-lunch/meeting-2020-05-07.md index 048a63331..f79bf9f0d 100644 --- a/docs/content/contribute/dev-lunch/meeting-2020-05-07.md +++ b/docs/content/contribute/dev-lunch/meeting-2020-05-07.md @@ -19,4 +19,4 @@ sidenav: ## Notes -- There is interest in having the model discussion. A Doodle pool will be sent to the oscal-dev@nist.gov mailing list to find a good day. +- There is interest in having the model discussion. A Doodle pool will be sent to the oscal-dev@list.nist.gov mailing list to find a good day. diff --git a/docs/content/contribute/dev-lunch/meeting-2020-05-21.md b/docs/content/contribute/dev-lunch/meeting-2020-05-21.md index 20553b926..534bdcd22 100644 --- a/docs/content/contribute/dev-lunch/meeting-2020-05-21.md +++ b/docs/content/contribute/dev-lunch/meeting-2020-05-21.md @@ -19,4 +19,4 @@ sidenav: ## Notes -- The Doodle pool results show that Fridays @ 10am EDT are the best time to have the model review meeting. The OSCAL team will send out a meeting invite for this time to the oscal-dev@nist.gov mailing list. +- The Doodle pool results show that Fridays @ 10am EDT are the best time to have the model review meeting. The OSCAL team will send out a meeting invite for this time to the [oscal-dev@list.nist.gov](mailto:oscal-dev@list.nist.gov) mailing list. diff --git a/docs/content/learn/tutorials/general/extension.md b/docs/content/learn/tutorials/general/extension.md index 06514ab97..877f1c7b9 100644 --- a/docs/content/learn/tutorials/general/extension.md +++ b/docs/content/learn/tutorials/general/extension.md @@ -15,6 +15,7 @@ This tutorial describes the mechanisms for extending basic OSCAL models. Before - Have some familiarity with the [XML](https://www.w3.org/standards/xml/core), [JSON](https://www.json.org/), or [YAML](https://yaml.org/spec/) formats. - Review the [OSCAL Layers and Models](/concepts/layer/) documentation. - Review the latest [OSCAL Reference](/reference/latest/complete/). +- Review [URI Usage](/concepts/uri-use/) to better understand how URIs are used in OSCAL. ## What are the OSCAL Extension Mechanisms? @@ -483,8 +484,8 @@ Links in OSCAL provide a means to reference an arbitrary resource, which allows A link can: -1. Reference (external) information that is not represented in OSCAL format. This could include references to (cybersecurity) laws and regulations, references to organizational standards and guides, references to a software bill of materials (SBOM), and more. -2. Reference objects within the current OSCAL document. +1. Reference (external) information that is not represented in OSCAL format. This could include references to (cybersecurity) laws and regulations, references to organizational standards and guides, references to a software bill of materials (SBOM), and more. See [*linking to a network resolvable resource*](/concepts/uri-use/#linking-to-a-network-resolvable-resource) for more information. +2. Reference objects within the current OSCAL document. See [*linking to another OSCAL object*](/concepts/uri-use/#linking-to-another-oscal-object) for more information. Organizations can limit duplication of content, reduce the size of their OSCAL files, and maintain important content relationships by using links. @@ -548,7 +549,7 @@ Below is description of `links` key-values: ### Link to Internet URL -Organizations may need their documentation (e.g., SSP) to reference external resources, such applicable laws and regulations (e.g., HSPD-12) and other organizational items (e.g., official agency logos). This first example illustrates how an OSCAL SSP might make use of a link to an internet URL to reference a government policy and an agency logo. +Organizations may need their documentation (e.g., SSP) to reference external resources, such applicable laws and regulations (e.g., HSPD-12) and other organizational items (e.g., official agency logos). This first example illustrates how an OSCAL SSP might make use of a link to a resource through the use of an [absolute](/concepts/uri-use/#absolute-uri) or [relative](/concepts/uri-use/#relative-reference) URL to reference a government policy and an agency logo. {{< tabs XML JSON YAML >}} {{% tab %}} @@ -574,9 +575,9 @@ Organizations may need their documentation (e.g., SSP) to reference external res {{< /highlight >}} -In this case, the `` element on line 8 provides a reference to Homeland Security Policy Directive (HSPD) 12 by specifying the URL in the `@href` attribute. The OSCAL pre-defined "reference" value is used for the `@rel` attribute, providing some context for the purpose of this specific ``. The `` sub-element provides an associated label for the `` which may be useful when rendering the SSP in other formats (e.g., HTML, PDF). +In this case, the `` element on line 8 provides a reference to Homeland Security Policy Directive (HSPD) 12 by specifying the URL in the `@href` attribute. The `@rel` attribute uses the OSCAL pre-defined "reference" value, indicating that this specific `` is a "reference" link. The `` sub-element provides an associated label for the `` which may be useful when rendering the SSP in other formats (e.g., HTML, PDF). -Line 11 demonstrates the use of `` to point to the organization's official logo. An absolute URL was used to point to the location of the referenced content, however, it should be noted that the `@href` attribute also permits the use of relative URL paths. If the referenced resource is located on the same host, then a relative URL path could be used. The `@rel` attribute was set to "logo" to indicate that the `` is to a logo image. The `@media-type` attribute was included to let any rendering tools know that the logo content is a Portable Network Graphics (PNG) image type. The optional `` sub-element was excluded for brevity of this example. +Line 11 demonstrates the use of `` to point to the organization's official logo. An absolute URL was used to point to the location of the referenced content, however, it should be noted that the `@href` attribute also permits the use of relative URL paths. If the referenced resource is located on the same host, then a relative URL path could be used instead. The `@rel` attribute is set to "logo" to indicate that the `` is to a logo image. The `@media-type` attribute was included to let any rendering tools know that the logo content is a Portable Network Graphics (PNG) image type. The optional `` sub-element is excluded in this example for brevity. {{% /tab %}} {{% tab %}} {{< highlight json "linenos=table" >}} @@ -595,7 +596,7 @@ Line 11 demonstrates the use of `` to point to the organization's official "text": "HSPD-12" }, { - "href": "http://federal-agency.gov/img/official-agency-logo.png", + "href": "https://federal-agency.gov/img/official-agency-logo.png", "rel": "logo", "media-type": "image/png" } @@ -608,9 +609,9 @@ Line 11 demonstrates the use of `` to point to the organization's official } {{< /highlight >}} -In this case, the `links` object array on line 9 provides a reference to Homeland Security Policy Directive (HSPD) 12 by specifying the URL in the `href` property. The OSCAL pre-defined "reference" value is used for the `rel`, providing context for the purpose of this specific `link`. The `text` property provides an associated label for the `link` which may be useful when rendering the SSP in other formats (e.g., HTML, PDF). +In this case, the `links` object array on line 9 provides an object (one lines 10-14) that references Homeland Security Policy Directive (HSPD) 12 by specifying the URL in its `href` property. The `rel` property uses the OSCAL pre-defined "reference" value, indicating that this specific link object is a "reference" link. The `text` property provides an associated label for the `link` which may be useful when rendering the SSP in other formats (e.g., HTML, PDF). -Lines 16-18 demonstrate the use of link to point to the organization's official logo. An absolute URL was used to point to the location of the referenced content, however, it should be noted that the `href` property also permits the use of relative URL paths. If the referenced resource is located is on the same host, then a relative URL path could be used. The `rel` property was set to "logo" to indicate the link is to a logo image. The `media-type` property was included to let any rendering tools know that the logo content is a Portable Network Graphics (PNG) image type. The optional `text` property was excluded for brevity of this example. +Lines 16-189 demonstrate the use of a link to point to the organization's official logo. An absolute URL is used to point to the location of the referenced content, however, it should be noted that the `href` property also permits the use of relative URL paths. If the referenced resource is located is on the same host, then a relative URL path could be used instead. The `rel` property is set to "logo" to indicate the link is to a logo image. The `media-type` property was included to let any rendering tools know that the logo content is a Portable Network Graphics (PNG) image type. The optional `text` property is excluded in this example for brevity. {{% /tab %}} {{% tab %}} {{< highlight yaml "linenos=table" >}} @@ -624,8 +625,8 @@ system-security-plan: links: - href: https://www.dhs.gov/homeland-security-presidential-directive-12 rel: reference - text: HSPD-12 - - href: http://federal-agency.gov/img/official-agency-logo.png + text: HSPD-12 + - href: https://federal-agency.gov/img/official-agency-logo.png rel: logo media-type: image/png import-profile: ... @@ -634,9 +635,9 @@ system-security-plan: {{< /highlight >}} -In this case, the `links` object array on line 9 provides a reference to Homeland Security Policy Directive (HSPD) 12 by specifying the URL in the `href` property. The OSCAL pre-defined "reference" value is used for the `rel`, providing context for the purpose of this specific link. The `text` property provides an associated label for the link which may be useful when rendering the SSP in other formats (e.g., HTML, PDF). +In this case, the `links` list on line 8 provides a reference to Homeland Security Policy Directive (HSPD) 12 by specifying the URL in the `href` key. The `rel` key uses the OSCAL pre-defined "reference" value, indicating that this specific link item is a "reference" link. The `text` key provides an associated label for the link which may be useful when rendering the SSP in other formats (e.g., HTML, PDF). -Lines 11-13 demonstrate the use of link to point to the organization's official logo. An absolute URL was used to point to the location of the referenced content, however, it should be noted that the `href` property also permits the use of relative URL paths. If the referenced resource is located is on the same host, then a relative URL path could be used. The `rel` property was set to "logo" to indicate the link is to a logo image. The `media-type` property was included to let any rendering tools know that the logo content is a Portable Network Graphics (PNG) image type. The optional `text` property was excluded for brevity of this example. +Lines 12-14 demonstrate the use of a link to point to the organization's official logo. An absolute URL is used to point to the location of the referenced content, however, it should be noted that the `href` key also permits the use of relative URL paths. If the referenced resource is located is on the same host, then a relative URL path could be used. The `rel` key is set to "logo" to indicate the link is to a logo image. The `media-type` key is included to let any rendering tools know that the logo content is a Portable Network Graphics (PNG) image type. The optional `text` key was excluded for brevity of this example. {{% /tab %}} {{% /tabs %}} @@ -646,7 +647,7 @@ As a final note, providing link text is not required. Link text should only be p This section demonstrates how to reference back matter resources with links. -In OSCAL specifying a URI fragment in a link's hypertext reference, represented as `#fragment-id`, indicates that the link is referencing an identified object in the OSCAL document's data model. This allows a resource to be referenced in the OSCAL document's back matter using the UUID of the back matter resource. +In OSCAL specifying a bare URI fragment in a link's hypertext reference, represented as `#fragment-id`, indicates that the link is [referencing an object identified](/concepts/uri-use/#linking-to-another-oscal-object) in the context of the OSCAL document's data model. This allows a resource to be referenced in the back matter or the current OSCAL document or an imported document using the UUID of a `back-matter` resource. {{< tabs XML JSON YAML >}} {{% tab %}} @@ -674,16 +675,18 @@ In OSCAL specifying a URI fragment in a link's hypertext reference, represented href="https://csrc.nist.gov/csrc/media/publications/fips/199/final/documents/fips-pub-199-final.pdf" media-type="application/pdf" /> {{< /highlight >}} -When using `` to reference a back-matter ``, the `` must use the resource's `@uuid` attribute as the pointer. The `` property may have an `` sub-element that points to the (external) content via the `@href` attribute. Optionally, the `` element can also include a hash (e.g., to ensure the integrity of the referenced content), however, that is an advanced concept that is not covered in this tutorial. +When using `` to reference a back-matter ``, the `` must use the resource's `@uuid` attribute as the pointer. The `` may have an `` sub-element that points to the (external) content via the `@href` attribute. -Notice that in this example, the `` element on line 8 provides a fragment rather than a URL. OSCAL interprets this as a pointer to a back matter resource `@uuid` (see line 17). Within this `` element, several items are referenced (via ``). The `` must have a URL reference (`@href`). The third `` in this example provides a relative path. All of the other `` attributes (e.g., `@media-type` and `@hash`) are optional. Unlike ``, `` do not have any `@rel` attributes to provide additional context, nor do they have `` sub-elements. OSCAL content authors should consider these subtle differences when deciding whether to use `` or ``. +Optionally, the `` element can also include a hash (e.g., to ensure the integrity of the referenced content), however, that is an advanced concept that is not covered in this tutorial. + +Notice that in this example, the `` element on line 8 provides a fragment rather than a more complete URI. OSCAL interprets this as a pointer to a back matter resource `@uuid` (see line 17). Within this `` element, several items are referenced (via ``). An ``must have an `@href` with an [absolute URI](/concepts/uri-use/#absolute-uri) or a [relative URI](/concepts/uri-use/#relative-reference) pointing directly to the resource. All of the other `` attributes (e.g., `@media-type` and `@hash`) are optional. Unlike ``, `` do not have any `@rel` attributes to provide additional context, nor do they have `` sub-elements. OSCAL content authors should consider these subtle differences when deciding to use a `` or an ``. {{% /tab %}} {{% tab %}} {{< highlight json "linenos=table" >}} @@ -695,11 +698,13 @@ Notice that in this example, the `` element on line 8 provides a fragment "last-modified": "2022-01-01T09:30:00-005", "version": 20220531, "oscal-version": "1.0.0", - "links": { - "href": "#a7584118-3d2d-46c8-b388-df747309c0fa", - "rel": "reference", - "text": "Applicable Laws and Regulations, Standards, and Guides" - } + "links": [ + { + "href": "#a7584118-3d2d-46c8-b388-df747309c0fa", + "rel": "reference", + "text": "Applicable Laws and Regulations, Standards, and Guides" + } + ] }, "import-profile": "...", "system-characteristics": "...", @@ -717,7 +722,7 @@ Notice that in this example, the `` element on line 8 provides a fragment "media-type": "application/pdf" }, { - "href": "/security/standards/IT-Rules-of-Behavior.docx", + "href": "security/standards/IT-Rules-of-Behavior.docx", "media-type": "application/msword" }] } @@ -725,9 +730,13 @@ Notice that in this example, the `` element on line 8 provides a fragment } } {{< /highlight >}} -When using `links` to reference a back-matter `resources`, the `link` must use the resource's `uuid` property as the pointer. The `resource` property may have an `rlinks` object array that points to the (external) content via the `href` property. Optionally, the `rlinks` property can also include a hash (e.g., to ensure the integrity of the referenced content), however, that is an advanced concept that is not covered in this tutorial. +When using a `links` array object (see lines 10-14 above) to reference a back-matter resource object (see lines 22-36), the link object must use the resource object's `uuid` property in a URI fragment as the pointer (i.e. `#a7584118-3d2d-46c8-b388-df747309c0fa`). Notice that in this example, the link object on line 11 provides a fragment rather than a more complete URI. OSCAL interprets this as a pointer to a back matter resource `uuid` (see line 23). + +The referenced resource object on lines 22-36 may have an `rlinks` object array with objects that point to the (externally) available content via an `href` property. In this example, several resources are referenced (via `rlinks`). Each rlink object must have an `href` with an [absolute URI](/concepts/uri-use/#absolute-uri) or a [relative URI](/concepts/uri-use/#relative-reference) pointing directly to the resource. The third `rlink` in this example provides a relative path. -Notice that in this example, the `links` object array on line 9 provides a fragment rather than a URL. OSCAL interprets this as a pointer to a back matter resource `uuid` (see line 21). Within `resources`, several items are referenced (via `rlinks`). Each `rlink` must have a URL reference (`href`). The third `rlink` in this example provides a relative path. All of the other `rlink` properties (e.g., `media-type` and `hash`) are optional. Unlike `links`, `rlinks` do not have any `rel` properties to provide additional context, nor do they have `text` properties. OSCAL content authors should consider these subtle differences when deciding whether to use `links` or `rlinks`. +All of the other `rlink` properties (e.g., `media-type` and `hash`) are optional. An rlink object can also include a hash (e.g., to ensure the integrity of the referenced content), however, that is an advanced concept that is not covered in this tutorial. + +Unlike `links`, `rlinks` do not have a `rel` property to provide additional context, nor do they have `text` properties. OSCAL content authors should consider these subtle differences when deciding to use `links` or `rlinks`. {{% /tab %}} {{% tab %}} @@ -740,25 +749,34 @@ system-security-plan: version: 20220531 oscal-version: 1.0.0 links: - - href: '#a7584118-3d2d-46c8-b388-df747309c0fa' - rel: reference - text: Applicable Laws and Regulations, Standards, and Guides + - href: '#a7584118-3d2d-46c8-b388-df747309c0fa' + rel: reference + text: Applicable Laws and Regulations, Standards, and Guides import-profile: ... system-characteristics: ... control-implementation: ... back-matter: resources: - uuid: a7584118-3d2d-46c8-b388-df747309c0fa + - uuid: a7584118-3d2d-46c8-b388-df747309c0fa rlinks: - - href: https://www.dhs.gov/homeland-security-presidential-directive-12 - - href: https://csrc.nist.gov/csrc/media/publications/fips/199/final/documents/fips-pub-199-final.pdf - media-type: application/pdf - - href: /security/standards/IT-Rules-of-Behavior.docx - media-type: application/msword + - href: https://www.dhs.gov/homeland-security-presidential-directive-12 + - href: https://csrc.nist.gov/csrc/media/publications/fips/199/final/documents/fips-pub-199-final.pdf + media-type: application/pdf + - href: security/standards/IT-Rules-of-Behavior.docx + media-type: application/msword {{< /highlight >}} -When using `links` to reference back-matter `resources`, the `link` must use the resource's `uuid` key-value as the pointer. The `resource` key-value must have an `rlinks` array item that points to the (external) content via the `href` key-value. Optionally, the `rlinks` can also include a hash (e.g., to ensure the integrity of the referenced content), however, that is an advanced concept that is not covered in this tutorial. -Notice that in this example, the `links` object array on line 8 only provides a fragment rather than a URL. OSCAL interprets this as a pointer to a back matter resource `uuid` (see line 17). Within `resources`, several items are referenced (via `rlinks`). Each `rlink` must have a URL reference (`href`). The third `rlink` in this example provides a relative path. All of the other `rlink` properties (e.g., `media-type` and `hash`) are optional. Unlike `links`, `rlinks` do not have any `rel` properties to provide additional context, nor do they have `text` properties. OSCAL content authors should consider these subtle differences when deciding whether to use `links` or `rlinks`. +All of the other `rlink` properties (e.g., `media-type` and `hash`) are optional. An rlink object can also include a hash (e.g., to ensure the integrity of the referenced content), however, that is an advanced concept that is not covered in this tutorial. + +Unlike `links`, `rlinks` do not have any `rel` properties to provide additional context, nor do they have `text` properties. OSCAL content authors should consider these subtle differences when deciding to use `links` or `rlinks`. + +When using a `links` item list (see lines 8-12 above) to reference a back-matter resource item (see lines 16-23), the link item must use the resource object's `uuid` key in a URI fragment as the pointer (i.e. `#a7584118-3d2d-46c8-b388-df747309c0fa`). Notice that in this example, the link item on line 9 provides a fragment rather than a more complete URI. OSCAL interprets this as a pointer to a back matter resource `uuid` (see line 23). + +The referenced resource item on lines 17-23 may have an `rlinks` list with items that point to the (externally) available content via an `href` key. In this example, several resources are referenced (via `rlinks`). Each rlink item must have an `href` with an [absolute URI](/concepts/uri-use/#absolute-uri) or a [relative URI](/concepts/uri-use/#relative-reference) pointing directly to the resource. The third rlink item in this example provides a relative path. + +All of the other rlink item keys (e.g., `media-type` and `hash`) are optional. An rlink item can also include a hash (e.g., to ensure the integrity of the referenced content), however, that is an advanced concept that is not covered in this tutorial. + +Unlike `links`, `rlinks` items do not have a `rel` key to provide additional context, nor do they have a `text` key. OSCAL content authors should consider these subtle differences when deciding to use `links` or `rlinks`. {{% /tab %}} {{% /tabs %}} diff --git a/docs/content/learn/tutorials/general/metadata.md b/docs/content/learn/tutorials/general/metadata.md index 134f35863..1e6aa98a4 100644 --- a/docs/content/learn/tutorials/general/metadata.md +++ b/docs/content/learn/tutorials/general/metadata.md @@ -663,7 +663,7 @@ The remainder of this tutorial will briefly cover the other optional fields insi - [``](/reference/latest/catalog/xml-reference/#/catalog/metadata/responsible-party) - Explicitly declares a party that is responsible for a given role relative to the document. The `@role-id` attribute references the role that the party is fulfilling, and is either a custom role locally defined or one of the core-defined roles; see the `` section above for details. Uses a party's uuid to link the given role to the given party. -- [``]((/reference/latest/catalog/xml-reference/#/catalog/metadata/remarks)) - [markup-multiline](/reference/datatypes/#markup-data-types) formatted text providing notes and comments regarding the document. +- [``](/reference/latest/catalog/xml-reference/#/catalog/metadata/remarks) - [markup-multiline](/reference/datatypes/#markup-data-types) formatted text providing notes and comments regarding the document. {{% /tab %}} {{% tab %}} diff --git a/docs/content/learn/tutorials/implementation/_index.md b/docs/content/learn/tutorials/implementation/_index.md index ed5f2a75c..8fa62d86c 100644 --- a/docs/content/learn/tutorials/implementation/_index.md +++ b/docs/content/learn/tutorials/implementation/_index.md @@ -10,5 +10,5 @@ toc: The following tutorial covers topics that apply to the OSCAL [implementation layer](/concepts/layer/implementation/) models. -- [Creating a Basic Component Definition](basic-component-definition/): Teaches how to create a component-definition using the OSCAL [component definition](/concepts/layer/implementation/component-definition/) model. +- [Creating a Basic Component Definition](simple-component-definition/): Teaches how to create a component-definition using the OSCAL [component definition](/concepts/layer/implementation/component-definition/) model. - [Representing test validation information](validation-modeling/): Describes how to represent test validation information (e.g., FIPS-140-2) using a component in an OSCAL [component definition](/concepts/layer/implementation/component-definition/) or [system security plan](/concepts/layer/implementation/ssp/). diff --git a/docs/content/reference/datatypes.md b/docs/content/reference/datatypes.md index a55314a6a..1848f2a40 100644 --- a/docs/content/reference/datatypes.md +++ b/docs/content/reference/datatypes.md @@ -273,7 +273,7 @@ In XML Schema this is represented as a restriction on the built-in type [dateTim @@ -284,7 +284,7 @@ In JSON Schema, this is represented as: ```JSON { "type": "string", - "pattern": "^(((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30)))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})?$" + "pattern": "^(((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30)))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]*[1-9])?(Z|(-((0[0-9]|1[0-2]):00|0[39]:30)|\\+((0[0-9]|1[0-4]):00|(0[34569]|10):30|(0[58]|12):45)))?$" } ``` @@ -306,7 +306,7 @@ In XML Schema this is represented as a restriction on the built in type [dateTim @@ -318,7 +318,7 @@ In JSON Schema, this is represented as: { "type": "string", "format": "date-time", - "pattern": "^(((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30)))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" + "pattern": "^(((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30)))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]*[1-9])?(Z|(-((0[0-9]|1[0-2]):00|0[39]:30)|\\+((0[0-9]|1[0-4]):00|(0[34569]|10):30|(0[58]|12):45)))$" } ``` @@ -433,7 +433,7 @@ In JSON Schema, this is represented as: A non-colonized name as defined by [XML Schema Part 2: Datatypes Second Edition](https://www.w3.org/TR/xmlschema11-2/#NCName). -**Note: Use of this data type has been *deprecated* in favor of [token](#token).** +**Note: Use of this data type has been *deprecated* in favor of [token](#token), which has a similar syntax.** `NCName` was replaced with `token` to avoid use of an XML-specific type. This data type is no longer in use, but is still provided here to support model documentation for older OSCAL revisions that make use of this data type. ### string @@ -574,26 +574,25 @@ In JSON Schema, this is represented as: ## Markup Data Types -Structured prose text in OSCAL is designed to map cleanly to equivalent subsets of HTML and Markdown. This allows HTML-like markup to be incorporated in OSCAL XML-based content using an element set maintained in the OSCAL namespace. This HTML-equivalent element set is not intended to be treated directly as HTML, but to be readily and transparently converted to HTML (or other presentational formats) as needed. Similarly, OSCAL uses a subset of Markdown for use in OSCAL JSON- and YAML-based content. A mapping is supported between the HTML-like element set and the Markdown syntax, which supports transparent and lossless bidirectional mapping between both OSCAL markup representations. +Structured prose text is designed to map cleanly to equivalent subsets of HTML and Markdown. This allows HTML-like markup to be incorporated in OSCAL XML-based content using an element set maintained in the OSCAL namespace. This HTML-equivalent element set is not intended to be treated directly as HTML, but to be readily and transparently converted to HTML (or other presentational formats) as needed. Similarly, OSCAL uses a subset of Markdown for use in OSCAL JSON- and YAML-based content. A mapping is supported between the HTML-like element set and the Markdown syntax, which supports transparent and lossless bidirectional mapping between both markup representations. -The OSCAL HTML-like syntax supports: +The HTML-like syntax supports: - HTML paragraphs (`p`), headers (`h1`-`h6`), tables (`table`), preformatted text (`pre`), code blocks (`code`), and ordered and unordered lists (`ol` and `ul`.) - Within paragraphs or text content: `a`, `img`, `strong`, `em`, `b`, `i`, `sup`, `sub`. +In remarks below and throughout this documentation, this element set may be referred to as "prose content" or "prose". This tag set (and Markdown equivalent) is defined as a module. -In remarks below and throughout this documentation, this element set may be referred to as "prose content" or "prose". A future OSCAL could support the definition of this tag set (and Markdown equivalent) as a module, enabling our HTML subset to be switched out for something else. (Its prose model would be different from OSCAL prose as currently defined.) - -Note that elements such as `div`, `blockquote`, `section` or `aside`, used in HTML to provide structure, are *not permitted in OSCAL*. Structures in OSCAL should be represented using OSCAL elements (or objects in JSON) such as `part`, which can include prose. +Note that elements such as `div`, `blockquote`, `section` or `aside`, used in HTML to provide structure, are *not permitted*. Instead, structures should be represented using specific model elements (or objects in JSON) such as `part`, which can include prose. -In addition, there are contexts in OSCAL where prose usage may be further constrained. For example, at a higher level (outside the base schema) an OSCAL application could forbid the use of prose headers `h1-h6` in favor of nested OSCAL `part` elements with their own titles. +In addition, there are contexts where prose usage may be further constrained. For example, at a higher level (outside the base schema) an application could forbid the use of prose headers `h1-h6` in favor of nested `part` elements with their own titles. -The OSCAL Markdown syntax is loosely based on CommonMark. When in doubt about Markdown features and syntax, we look to CommonMark for guidance, largely because it is more rigorously tested than many other forms of Markdown. +The Markdown syntax is loosely based on [CommonMark](https://commonmark.org/). When in doubt about Markdown features and syntax, we look to CommonMark for guidance, largely because it is more rigorously tested than many other forms of Markdown. ### markup-line -The following table describes the equivalent constructs in HTML and Markdown used in OSCAL within the `markup-line` data type. +The following table describes the equivalent constructs in HTML and Markdown used within the `markup-line` data type. | Markup Type | HTML | Markdown | |:--- |:--- |:--- | @@ -608,13 +607,13 @@ The following table describes the equivalent constructs in HTML and Markdown use | Image | <img alt="*alt text*" src="*url*" title="*title text*"/> | !\[*alt text*](*url* "*title text*") | Link | <a *href*="*url*">*text*</a> | \[*text*](*url*) -Note: Markdown does not have an equivalent of the HTML <i> and <b> tags, which indicate italics and bold respectively. These concepts are mapped in OSCAL markup text to <em> and <strong> [common mark](https://spec.commonmark.org/0.29/#emphasis-and-strong-emphasis), which render equivalently in browsers, but do not have exactly the same semantics. While this mapping is imperfect, it represents the common uses of these HTML tags. +Note: Markdown does not have an equivalent of the HTML <i> and <b> tags, which indicate italics and bold respectively. These concepts are mapped in markup text to <em> and <strong> (see [common mark](https://spec.commonmark.org/0.29/#emphasis-and-strong-emphasis)), which render equivalently in browsers, but do not have exactly the same semantics. While this mapping is imperfect, it represents the common uses of these HTML tags. #### Parameter Insertion The OSCAL catalog, profile, and implementation layer models allow for control parameters to be defined and injected into prose text. -Parameter injection is handled in OSCAL as follows using the <insert> tag, where you must provide its type and the identifier reference with id-ref: +Reference injection is handled using the <insert> tag, where you must provide its type and the identifier reference with id-ref: ```html This implements as required to address organizational changes. @@ -677,14 +676,14 @@ Tables are also supported by `markup-multiline` which are mapped from Markdown t - The first row in a Markdown table is considered a header row, with each cell mapped as a <th>. - The alignment formatting (second) row of the Markdown table is not converted to HTML. Formatting is currently ignored. - Each remaining row is mapped as a cell using the <td> tag. -- HTML `colspan` and `rowspan` are not supported by Markdown, and so are excluded from OSCAL. +- HTML `colspan` and `rowspan` are not supported by Markdown, and so are excluded from use. -OSCAL attempts to support simple tables mainly due to the prevalence of tables in legacy data sets. However, producers of OSCAL data should note that when they have tabular information, these are frequently semantic structures or matrices that can be described directly in OSCAL as named parts and properties or as parts, sub-parts and paragraphs. This ensures that their nominal or represented semantics are accessible for processing when this information would be lost in plain table cells. Table markup should be used only as a fallback option when stronger semantic labeling is not possible. +Simple tables are mainly supported due to the prevalence of tables in legacy data sets. However, producers of OSCAL data should note that when they have tabular information, these are frequently semantic structures or matrices that can be described directly in OSCAL as named parts and properties or as parts, sub-parts and paragraphs. This ensures that their nominal or represented semantics are accessible for processing when this information would be lost in plain table cells. Table markup should be used only as a fallback option when stronger semantic labeling is not possible. Tables are mapped from HTML to Markdown as follows: * Only a single header row <tr><th> is supported. This row is mapped to the Markdown table header, with header cells preceded, delimited, and terminated by `|`. -* The second row is given as a sequence of `---`, as many as the table has columns, delimited by single `|`. In Markdown, a simple syntax here can be used to indicate the alignment of cells; OSCAL HTML does not support this feature. +* The second row is given as a sequence of `---`, as many as the table has columns, delimited by single `|`. In Markdown, a simple syntax here can be used to indicate the alignment of cells; the HTML binding does not support this feature. * Each subsequent row is mapped to the Markdown table rows, with cells preceded, delimited, and terminated by `|`. For example: @@ -706,7 +705,6 @@ Is mapped to the Markdown table: | Have some of | Try all of | ``` - #### Line feeds in Markdown Additionally, line feed (LF) characters must be escaped as "\\n" when appearing in string contents in JSON and (depending on placement) in YAML. In Markdown, the line feed is used to delimit paragraphs and other block elements, represented using markup (tagging) in the XML version. When transcribed into JSON, these LF characters must also appear as "\\n". diff --git a/docs/content/reference/develop/assessment-plan/xml-outline.md b/docs/content/reference/develop/assessment-plan/xml-outline.md index 4612f9db3..8a59fdc90 100644 --- a/docs/content/reference/develop/assessment-plan/xml-outline.md +++ b/docs/content/reference/develop/assessment-plan/xml-outline.md @@ -1141,10 +1141,9 @@ The following outline is a representation of the [XML format](https://github.com

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

-
- <part> (recursive: model like parent part) </part> [0 to ∞] -

[Empty]

-
+
+

<part> (recursive: model like parent part) </part> [0 to ∞]

+
<link href="uri-reference" rel="token" media-type="string" resource-fragment="string"></link> [0 to ∞]
@@ -1839,10 +1838,9 @@ The following outline is a representation of the [XML format](https://github.com

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

-
- <part> (recursive: model like parent part) </part> [0 to ∞] -

[Empty]

-
+
+

<part> (recursive: model like parent part) </part> [0 to ∞]

+
<link href="uri-reference" rel="token" media-type="string" resource-fragment="string"></link> [0 to ∞]
@@ -2597,10 +2595,9 @@ The following outline is a representation of the [XML format](https://github.com

</dependency>

-
- <task> (recursive: model like parent task) </task> [0 to ∞] -

[Empty]

-
+
+

<task> (recursive: model like parent task) </task> [0 to ∞]

+
<associated-activity activity-uuid="uuid"></associated-activity> [0 to ∞]
diff --git a/docs/content/reference/develop/assessment-results/xml-outline.md b/docs/content/reference/develop/assessment-results/xml-outline.md index 067dabdac..a48a215cb 100644 --- a/docs/content/reference/develop/assessment-results/xml-outline.md +++ b/docs/content/reference/develop/assessment-results/xml-outline.md @@ -695,10 +695,9 @@ The following outline is a representation of the [XML format](https://github.com

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

-
- <part> (recursive: model like parent part) </part> [0 to ∞] -

[Empty]

-
+
+

<part> (recursive: model like parent part) </part> [0 to ∞]

+
<link href="uri-reference" rel="token" media-type="string" resource-fragment="string"></link> [0 to ∞]
@@ -2255,10 +2254,9 @@ The following outline is a representation of the [XML format](https://github.com

</dependency>

-
- <task> (recursive: model like parent task) </task> [0 to ∞] -

[Empty]

-
+
+

<task> (recursive: model like parent task) </task> [0 to ∞]

+
<associated-activity activity-uuid="uuid"></associated-activity> [0 to ∞]
@@ -2994,10 +2992,9 @@ The following outline is a representation of the [XML format](https://github.com

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

-
- <part> (recursive: model like parent part) </part> [0 to ∞] -

[Empty]

-
+
+

<part> (recursive: model like parent part) </part> [0 to ∞]

+
<link href="uri-reference" rel="token" media-type="string" resource-fragment="string"></link> [0 to ∞]
@@ -5892,10 +5889,9 @@ The following outline is a representation of the [XML format](https://github.com

</dependency>

-
- <task> (recursive: model like parent task) </task> [0 to ∞] -

[Empty]

-
+
+

<task> (recursive: model like parent task) </task> [0 to ∞]

+
<associated-activity activity-uuid="uuid"></associated-activity> [0 to ∞]
diff --git a/docs/content/reference/develop/catalog/xml-outline.md b/docs/content/reference/develop/catalog/xml-outline.md index d06df8b55..583ba0327 100644 --- a/docs/content/reference/develop/catalog/xml-outline.md +++ b/docs/content/reference/develop/catalog/xml-outline.md @@ -928,10 +928,9 @@ The following outline is a representation of the [XML format](https://github.com

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

-
- <part> (recursive: model like parent part) </part> [0 to ∞] -

[Empty]

-
+
+

<part> (recursive: model like parent part) </part> [0 to ∞]

+
<link href="uri-reference" rel="token" media-type="string" resource-fragment="string"></link> [0 to ∞]
@@ -1151,10 +1150,9 @@ The following outline is a representation of the [XML format](https://github.com

</mapping>

-
- <control> (recursive: model like parent control) </control> [0 to ∞] -

[Empty]

-
+
+

<control> (recursive: model like parent control) </control> [0 to ∞]

+

</control>

@@ -1350,10 +1348,9 @@ The following outline is a representation of the [XML format](https://github.com

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

-
- <part> (recursive: model like parent part) </part> [0 to ∞] -

[Empty]

-
+
+

<part> (recursive: model like parent part) </part> [0 to ∞]

+
<link href="uri-reference" rel="token" media-type="string" resource-fragment="string"></link> [0 to ∞]
@@ -1374,10 +1371,9 @@ The following outline is a representation of the [XML format](https://github.com

A choice of:

-
- <group> (recursive: model like ancestor group) </group> [0 to ∞] -

[Empty]

-
+
+

<group> (recursive: model like ancestor group) </group> [0 to ∞]

+
@@ -1572,10 +1568,9 @@ The following outline is a representation of the [XML format](https://github.com

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

-
- <part> (recursive: model like parent part) </part> [0 to ∞] -

[Empty]

-
+
+

<part> (recursive: model like parent part) </part> [0 to ∞]

+
<link href="uri-reference" rel="token" media-type="string" resource-fragment="string"></link> [0 to ∞]
@@ -1795,10 +1790,9 @@ The following outline is a representation of the [XML format](https://github.com

</mapping>

-
- <control> (recursive: model like parent control) </control> [0 to ∞] -

[Empty]

-
+
+

<control> (recursive: model like parent control) </control> [0 to ∞]

+

</control>

diff --git a/docs/content/reference/develop/complete/xml-outline.md b/docs/content/reference/develop/complete/xml-outline.md index 1a5217f52..34709a0c1 100644 --- a/docs/content/reference/develop/complete/xml-outline.md +++ b/docs/content/reference/develop/complete/xml-outline.md @@ -927,10 +927,9 @@ The following outline is a representation of the [XML format](https://github.com

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

-
- <part> (recursive: model like parent part) </part> [0 to ∞] -

[Empty]

-
+
+

<part> (recursive: model like parent part) </part> [0 to ∞]

+
<link href="uri-reference" rel="token" media-type="string" resource-fragment="string"></link> [0 to ∞]
@@ -1150,10 +1149,9 @@ The following outline is a representation of the [XML format](https://github.com

</mapping>

-
- <control> (recursive: model like parent control) </control> [0 to ∞] -

[Empty]

-
+
+

<control> (recursive: model like parent control) </control> [0 to ∞]

+

</control>

@@ -1349,10 +1347,9 @@ The following outline is a representation of the [XML format](https://github.com

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

-
- <part> (recursive: model like parent part) </part> [0 to ∞] -

[Empty]

-
+
+

<part> (recursive: model like parent part) </part> [0 to ∞]

+
<link href="uri-reference" rel="token" media-type="string" resource-fragment="string"></link> [0 to ∞]
@@ -1373,10 +1370,9 @@ The following outline is a representation of the [XML format](https://github.com

A choice of:

-
- <group> (recursive: model like ancestor group) </group> [0 to ∞] -

[Empty]

-
+
+

<group> (recursive: model like ancestor group) </group> [0 to ∞]

+
@@ -1571,10 +1567,9 @@ The following outline is a representation of the [XML format](https://github.com

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

-
- <part> (recursive: model like parent part) </part> [0 to ∞] -

[Empty]

-
+
+

<part> (recursive: model like parent part) </part> [0 to ∞]

+
<link href="uri-reference" rel="token" media-type="string" resource-fragment="string"></link> [0 to ∞]
@@ -1794,10 +1789,9 @@ The following outline is a representation of the [XML format](https://github.com

</mapping>

-
- <control> (recursive: model like parent control) </control> [0 to ∞] -

[Empty]

-
+
+

<control> (recursive: model like parent control) </control> [0 to ∞]

+

</control>

@@ -3749,10 +3743,9 @@ The following outline is a representation of the [XML format](https://github.com

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

-
- <part> (recursive: model like parent part) </part> [0 to ∞] -

[Empty]

-
+
+

<part> (recursive: model like parent part) </part> [0 to ∞]

+
<link href="uri-reference" rel="token" media-type="string" resource-fragment="string"></link> [0 to ∞]
@@ -3773,10 +3766,9 @@ The following outline is a representation of the [XML format](https://github.com

A choice of:

-
- <group> (recursive: model like ancestor group) </group> [0 to ∞] -

[Empty]

-
+
+

<group> (recursive: model like ancestor group) </group> [0 to ∞]

+
@@ -4205,10 +4197,9 @@ The following outline is a representation of the [XML format](https://github.com

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

-
- <part> (recursive: model like parent part) </part> [0 to ∞] -

[Empty]

-
+
+

<part> (recursive: model like parent part) </part> [0 to ∞]

+
<link href="uri-reference" rel="token" media-type="string" resource-fragment="string"></link> [0 to ∞]
@@ -10397,10 +10388,9 @@ The following outline is a representation of the [XML format](https://github.com

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

-
- <part> (recursive: model like parent part) </part> [0 to ∞] -

[Empty]

-
+
+

<part> (recursive: model like parent part) </part> [0 to ∞]

+
<link href="uri-reference" rel="token" media-type="string" resource-fragment="string"></link> [0 to ∞]
@@ -11095,10 +11085,9 @@ The following outline is a representation of the [XML format](https://github.com

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

-
- <part> (recursive: model like parent part) </part> [0 to ∞] -

[Empty]

-
+
+

<part> (recursive: model like parent part) </part> [0 to ∞]

+
<link href="uri-reference" rel="token" media-type="string" resource-fragment="string"></link> [0 to ∞]
@@ -11853,10 +11842,9 @@ The following outline is a representation of the [XML format](https://github.com

</dependency>

-
- <task> (recursive: model like parent task) </task> [0 to ∞] -

[Empty]

-
+
+

<task> (recursive: model like parent task) </task> [0 to ∞]

+
<associated-activity activity-uuid="uuid"></associated-activity> [0 to ∞]
@@ -13105,10 +13093,9 @@ The following outline is a representation of the [XML format](https://github.com

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

-
- <part> (recursive: model like parent part) </part> [0 to ∞] -

[Empty]

-
+
+

<part> (recursive: model like parent part) </part> [0 to ∞]

+
<link href="uri-reference" rel="token" media-type="string" resource-fragment="string"></link> [0 to ∞]
@@ -14665,10 +14652,9 @@ The following outline is a representation of the [XML format](https://github.com

</dependency>

-
- <task> (recursive: model like parent task) </task> [0 to ∞] -

[Empty]

-
+
+

<task> (recursive: model like parent task) </task> [0 to ∞]

+
<associated-activity activity-uuid="uuid"></associated-activity> [0 to ∞]
@@ -15404,10 +15390,9 @@ The following outline is a representation of the [XML format](https://github.com

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

-
- <part> (recursive: model like parent part) </part> [0 to ∞] -

[Empty]

-
+
+

<part> (recursive: model like parent part) </part> [0 to ∞]

+
<link href="uri-reference" rel="token" media-type="string" resource-fragment="string"></link> [0 to ∞]
@@ -18302,10 +18287,9 @@ The following outline is a representation of the [XML format](https://github.com

</dependency>

-
- <task> (recursive: model like parent task) </task> [0 to ∞] -

[Empty]

-
+
+

<task> (recursive: model like parent task) </task> [0 to ∞]

+
<associated-activity activity-uuid="uuid"></associated-activity> [0 to ∞]
@@ -23697,10 +23681,9 @@ The following outline is a representation of the [XML format](https://github.com

</dependency>

-
- <task> (recursive: model like parent task) </task> [0 to ∞] -

[Empty]

-
+
+

<task> (recursive: model like parent task) </task> [0 to ∞]

+
<associated-activity activity-uuid="uuid"></associated-activity> [0 to ∞]
diff --git a/docs/content/reference/develop/plan-of-action-and-milestones/xml-outline.md b/docs/content/reference/develop/plan-of-action-and-milestones/xml-outline.md index 306c477a0..00f25be77 100644 --- a/docs/content/reference/develop/plan-of-action-and-milestones/xml-outline.md +++ b/docs/content/reference/develop/plan-of-action-and-milestones/xml-outline.md @@ -3696,10 +3696,9 @@ The following outline is a representation of the [XML format](https://github.com

</dependency>

-
- <task> (recursive: model like parent task) </task> [0 to ∞] -

[Empty]

-
+
+

<task> (recursive: model like parent task) </task> [0 to ∞]

+
<associated-activity activity-uuid="uuid"></associated-activity> [0 to ∞]
diff --git a/docs/content/reference/develop/profile/xml-outline.md b/docs/content/reference/develop/profile/xml-outline.md index 231b3fb97..f590660c1 100644 --- a/docs/content/reference/develop/profile/xml-outline.md +++ b/docs/content/reference/develop/profile/xml-outline.md @@ -876,10 +876,9 @@ The following outline is a representation of the [XML format](https://github.com

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

-
- <part> (recursive: model like parent part) </part> [0 to ∞] -

[Empty]

-
+
+

<part> (recursive: model like parent part) </part> [0 to ∞]

+
<link href="uri-reference" rel="token" media-type="string" resource-fragment="string"></link> [0 to ∞]
@@ -900,10 +899,9 @@ The following outline is a representation of the [XML format](https://github.com

A choice of:

-
- <group> (recursive: model like ancestor group) </group> [0 to ∞] -

[Empty]

-
+
+

<group> (recursive: model like ancestor group) </group> [0 to ∞]

+
@@ -1332,10 +1330,9 @@ The following outline is a representation of the [XML format](https://github.com

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

-
- <part> (recursive: model like parent part) </part> [0 to ∞] -

[Empty]

-
+
+

<part> (recursive: model like parent part) </part> [0 to ∞]

+
<link href="uri-reference" rel="token" media-type="string" resource-fragment="string"></link> [0 to ∞]
diff --git a/docs/run-server.sh b/docs/run-server.sh old mode 100644 new mode 100755 diff --git a/docs/themes/uswds b/docs/themes/uswds index bc74e156d..ac7915f3f 160000 --- a/docs/themes/uswds +++ b/docs/themes/uswds @@ -1 +1 @@ -Subproject commit bc74e156ded0936f91aeadcf94447518c567e5a2 +Subproject commit ac7915f3fa4d14fde6115b4a88634f46955a8c20 diff --git a/json/convert/oscal_assessment-plan_xml-to-json-converter.xsl b/json/convert/oscal_assessment-plan_xml-to-json-converter.xsl index 831a5d288..4f0569809 100644 --- a/json/convert/oscal_assessment-plan_xml-to-json-converter.xsl +++ b/json/convert/oscal_assessment-plan_xml-to-json-converter.xsl @@ -1,11 +1,11 @@ + xmlns:m="http://csrc.nist.gov/ns/oscal/metaschema/1.0" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="3.0" + exclude-result-prefixes="#all" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + select="$file ! document(.,$source-xml)"> { $err:description } @@ -60,7 +60,7 @@ + select="xml-to-json($new-json-xml, $write-options)"> { $err:description } @@ -76,12 +76,12 @@ - + + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -115,7 +115,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -176,11 +176,18 @@ + + + + + + + + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -188,67 +195,28 @@ + + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - + + + + @@ -271,21 +239,14 @@ - + - + + - - - - - - - - - + @@ -300,65 +261,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -368,7 +272,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -379,7 +283,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -420,7 +324,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -449,7 +353,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -465,7 +369,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -474,7 +378,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -511,7 +415,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -550,7 +454,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -565,7 +469,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -595,7 +499,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -611,17 +515,17 @@ + group-by="true()"> + in-xml="UNWRAPPED" + collapsible="no" + as-type="markup-multiline" + name="prose" + key="prose"> + as-type="markup-multiline" + _metaschema-xml-id="/assembly/oscal-control-common/part/prose/PROSE" + _metaschema-json-id="/assembly/oscal-control-common/part/prose/PROSE"> @@ -643,7 +547,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -659,17 +563,17 @@ + group-by="true()"> + in-xml="UNWRAPPED" + collapsible="no" + as-type="markup-multiline" + name="prose" + key="prose"> + as-type="markup-multiline" + _metaschema-xml-id="/assembly/oscal-assessment-common/assessment-part/prose/PROSE" + _metaschema-json-id="/assembly/oscal-assessment-common/assessment-part/prose/PROSE"> @@ -691,7 +595,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -730,11 +634,11 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="reviewed-controls" + gi="reviewed-controls"> reviewed-controls @@ -771,41 +675,41 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + name="include-all" + key="include-all" + gi="include-all"> include-all + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + name="select-objective-by-id" + gi="include-objective"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + name="select-objective-by-id" + gi="exclude-objective"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="related-controls" + gi="related-controls"> related-controls @@ -842,7 +746,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -880,7 +784,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -903,7 +807,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -926,11 +830,11 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="assessment-assets" + gi="assessment-assets"> assessment-assets @@ -951,7 +855,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1012,7 +916,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1050,7 +954,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1066,80 +970,80 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="remarks" + key="remarks" + gi="remarks" + in-json="SCALAR"> remarks + group-by="true()"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="location-uuid" + gi="location-uuid" + in-json="SCALAR"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="party-uuid" + gi="party-uuid" + in-json="SCALAR"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="role-id" + gi="role-id" + in-json="SCALAR"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="function-performed" + gi="function-performed" + in-json="SCALAR"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1149,689 +1053,770 @@ + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="name" + key="name" + gi="name"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="value" + key="value" + gi="value"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="class" + key="class" + gi="class"> + + + + + + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="rel" + key="rel" + gi="rel"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + + + + + as-type="string" + name="resource-fragment" + key="resource-fragment" + gi="resource-fragment"> + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri" + name="scheme" + key="scheme" + gi="scheme"> - + - + + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="location-type" + key="type" + gi="type"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="type" + key="type" + gi="type"> - + + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - + + as-type="string" + name="type" + key="type" + gi="type"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri" + name="scheme" + key="scheme" + gi="scheme"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + + + + + + + + + + as-type="dateTime-with-timezone" + name="date" + key="date" + gi="date"> + + + + + + + + + + + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="system-component-type" + key="type" + gi="type"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="state" + key="state" + gi="state"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="role-id" + key="role-id" + gi="role-id"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="name" + key="name" + gi="name"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="nonNegativeInteger" + name="start" + key="start" + gi="start"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="nonNegativeInteger" + name="end" + key="end" + gi="end"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="transport" + key="transport" + gi="transport"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="component-uuid" + key="component-uuid" + gi="component-uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="control-id" + key="control-id" + gi="control-id"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="name" + key="name" + gi="name"> - + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="class" + key="class" + gi="class"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="control-id" + key="control-id" + gi="control-id"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="objective-id" + key="objective-id" + gi="objective-id"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="name" + key="name" + gi="name"> - + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="class" + key="class" + gi="class"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="type" + key="type" + gi="type"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="subject-uuid" + key="subject-uuid" + gi="subject-uuid"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="subject-type" + key="type" + gi="type"> + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="component-uuid" + key="component-uuid" + gi="component-uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="type" + key="type" + gi="type"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="date" + key="date" + gi="date"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="start" + key="start" + gi="start"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="end" + key="end" + gi="end"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="positiveInteger" + name="period" + key="period" + gi="period"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="unit" + key="unit" + gi="unit"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="task-uuid" + key="task-uuid" + gi="task-uuid"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="activity-uuid" + key="activity-uuid" + gi="activity-uuid"> + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="media-type" + key="media-type" + gi="media-type"> + priority="3" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="algorithm" + key="algorithm" + gi="algorithm"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="filename" + key="filename" + gi="filename"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="media-type" + key="media-type" + gi="media-type"> + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -1841,15 +1826,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> published @@ -1859,15 +1844,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> last-modified @@ -1877,15 +1862,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> version @@ -1895,15 +1880,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> oscal-version @@ -1913,8 +1898,8 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1940,14 +1925,14 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + gi="revisions" + group-json="ARRAY" + name="revision" + key="revisions"> revisions @@ -1955,15 +1940,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -1973,15 +1958,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> published @@ -1991,15 +1976,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> last-modified @@ -2009,15 +1994,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> version @@ -2027,15 +2012,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> oscal-version @@ -2045,15 +2030,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2063,13 +2048,13 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="document-id" + gi="document-id"> @@ -2077,15 +2062,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2094,16 +2079,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2113,15 +2124,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -2131,37 +2142,37 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2170,16 +2181,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2189,8 +2246,8 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2211,29 +2268,29 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> city @@ -2243,15 +2300,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> state @@ -2261,15 +2318,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> postal-code @@ -2279,15 +2336,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> country @@ -2297,27 +2354,27 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="telephone-number" + gi="telephone-number"> @@ -2325,29 +2382,30 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri" + name="url" + deprecated="1.1.0" + gi="url" + in-json="SCALAR"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2356,16 +2414,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="name" + key="name" + gi="name" + in-json="SCALAR"> name @@ -2375,15 +2501,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -2393,13 +2519,13 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="external-id" + gi="external-id"> @@ -2407,15 +2533,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2425,27 +2551,27 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="telephone-number" + gi="telephone-number"> @@ -2453,8 +2579,8 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2472,29 +2598,29 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> city @@ -2504,15 +2630,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> state @@ -2522,15 +2648,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> postal-code @@ -2540,15 +2666,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> country @@ -2558,29 +2684,65 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="member-of-organization" + gi="member-of-organization" + in-json="SCALAR"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + + + text + + + + + + + + + + + text + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2590,12 +2752,12 @@ + priority="3" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="local-definitions" + gi="local-definitions"> local-definitions @@ -2638,15 +2800,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2656,37 +2818,37 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="purpose" + key="purpose" + gi="purpose" + in-json="SCALAR"> purpose @@ -2696,15 +2858,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2714,8 +2876,8 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2726,15 +2888,15 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2744,15 +2906,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2762,37 +2924,37 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2802,15 +2964,15 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2820,8 +2982,8 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2850,15 +3012,15 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2868,15 +3030,15 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2886,15 +3048,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2904,15 +3066,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -2922,37 +3084,37 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2962,15 +3124,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2980,59 +3142,59 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3042,15 +3204,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -3060,15 +3222,15 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3078,15 +3240,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -3096,37 +3258,37 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3136,8 +3298,8 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -3169,15 +3331,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -3187,37 +3349,37 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3227,37 +3389,37 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3267,8 +3429,8 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -3305,37 +3467,37 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3345,8 +3507,8 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -3360,22 +3522,22 @@ + priority="15" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -3389,22 +3551,22 @@ + priority="14" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -3441,37 +3603,37 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3481,15 +3643,15 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3499,37 +3661,37 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3539,8 +3701,8 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -3577,37 +3739,37 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3617,8 +3779,8 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -3632,22 +3794,22 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -3661,22 +3823,22 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -3713,37 +3875,37 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3753,15 +3915,15 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3771,12 +3933,12 @@ + priority="3" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="terms-and-conditions" + gi="terms-and-conditions"> terms-and-conditions @@ -3790,15 +3952,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -3808,15 +3970,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3826,37 +3988,37 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3866,8 +4028,8 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -3904,37 +4066,37 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3944,8 +4106,8 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -3959,22 +4121,22 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -3988,22 +4150,22 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -4040,37 +4202,37 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4080,37 +4242,37 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4120,15 +4282,15 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4138,15 +4300,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4156,15 +4318,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -4174,37 +4336,37 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="purpose" + key="purpose" + gi="purpose" + in-json="SCALAR"> purpose @@ -4214,15 +4376,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4232,8 +4394,8 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -4244,15 +4406,15 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4262,15 +4424,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -4280,8 +4442,8 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -4311,15 +4473,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -4329,15 +4491,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4347,8 +4509,8 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -4377,15 +4539,15 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4395,15 +4557,15 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4413,15 +4575,15 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -4431,37 +4593,37 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4471,8 +4633,8 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -4484,8 +4646,8 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -4495,13 +4657,13 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + name="within-date-range" + key="within-date-range" + gi="within-date-range"> within-date-range @@ -4510,13 +4672,13 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + name="at-frequency" + key="at-frequency" + gi="at-frequency"> at-frequency @@ -4525,8 +4687,8 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -4534,8 +4696,8 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -4571,15 +4733,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4589,15 +4751,15 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4607,37 +4769,37 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4647,15 +4809,15 @@ + priority="14" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4665,15 +4827,15 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4683,37 +4845,37 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4723,15 +4885,15 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4741,15 +4903,15 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4759,15 +4921,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4777,8 +4939,8 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -4811,15 +4973,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -4829,35 +4991,35 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="document-id" + gi="document-id"> @@ -4865,8 +5027,8 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -4890,15 +5052,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4908,15 +5070,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4926,8 +5088,8 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -4942,14 +5104,14 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="base64Binary" + name="base64" + key="base64" + gi="base64"> base64 @@ -4961,10 +5123,10 @@ + mode="cast-prose" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -4972,49 +5134,43 @@ + name="ns" + select="/*/@namespace"/> + match="group" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="group[@in-json='BY_KEY']" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="flag[@key=../@json-key-flag]" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"/> + match="group[@in-json='SINGLETON_OR_ARRAY'][count(*)=1]" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + priority="2" + match="group/assembly | group/field" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -5032,11 +5188,10 @@ + priority="3" + match="group/field[@in-json='SCALAR']" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -5045,37 +5200,33 @@ + match="/assembly" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="assembly" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="field" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="field[@in-json='SCALAR']" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="flag[@key=../value/@key-flag]" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"/> + match="flag" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + namespace="http://www.w3.org/2005/xpath-functions"> + priority="2" + match="field[exists(@json-key-flag)]/value" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -5113,70 +5261,66 @@ + match="value" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> - - - - - - + namespace="http://www.w3.org/2005/xpath-functions"> + + + + + + + + + + match="*" + mode="cast-data" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="value[@as-type='markup-line']" + mode="cast-data" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="value[@as-type='markup-multiline']" + mode="cast-data" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + name="conditional-lf" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="text()[empty(ancestor::pre)]" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="text()" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -5185,20 +5329,18 @@ + mode="md" + match="p" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="h1 | h2 | h3 | h4 | h5 | h6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -5206,48 +5348,40 @@ # + mode="mark" + match="h1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"># ## + mode="mark" + match="h2" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel">## ### + mode="mark" + match="h3" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel">### #### + mode="mark" + match="h4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel">#### ##### + mode="mark" + match="h5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel">##### ###### + mode="mark" + match="h6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel">###### + mode="md" + match="table" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="tr" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -5261,21 +5395,19 @@ + mode="md" + match="th | td" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> | | + mode="md" + priority="1" + match="pre" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> ``` @@ -5284,27 +5416,24 @@ ``` + mode="md" + priority="1" + match="ul | ol" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="ul//ul | ol//ol | ol//ul | ul//ol" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="li" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -5314,10 +5443,9 @@ + mode="md" + match="ol/li" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -5327,55 +5455,49 @@ + mode="md" + match="code | span[contains(@class, 'code')]" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> ` ` + mode="md" + match="em | i" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> * * + mode="md" + match="strong | b" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> ** ** + mode="md" + match="q" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> " " + mode="md" + match="insert" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> {{ insert: }} + mode="md" + match="a" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> [ ] @@ -5384,10 +5506,9 @@ ) + mode="md" + match="img" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> ![ ] diff --git a/json/convert/oscal_assessment-results_xml-to-json-converter.xsl b/json/convert/oscal_assessment-results_xml-to-json-converter.xsl index dd34bf335..94478f65b 100644 --- a/json/convert/oscal_assessment-results_xml-to-json-converter.xsl +++ b/json/convert/oscal_assessment-results_xml-to-json-converter.xsl @@ -1,11 +1,11 @@ + xmlns:m="http://csrc.nist.gov/ns/oscal/metaschema/1.0" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="3.0" + exclude-result-prefixes="#all" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + select="$file ! document(.,$source-xml)"> { $err:description } @@ -60,7 +60,7 @@ + select="xml-to-json($new-json-xml, $write-options)"> { $err:description } @@ -76,16 +76,16 @@ - + + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="assessment-results" + gi="assessment-results"> assessment-results @@ -107,7 +107,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -168,11 +168,18 @@ + + + + + + + + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -180,67 +187,28 @@ + + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - + + + + @@ -263,21 +231,14 @@ - + - + + - - - - - - - - - + @@ -292,65 +253,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -360,7 +264,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -371,7 +275,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -401,7 +305,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -417,17 +321,17 @@ + group-by="true()"> + in-xml="UNWRAPPED" + collapsible="no" + as-type="markup-multiline" + name="prose" + key="prose"> + as-type="markup-multiline" + _metaschema-xml-id="/assembly/oscal-control-common/part/prose/PROSE" + _metaschema-json-id="/assembly/oscal-control-common/part/prose/PROSE"> @@ -449,7 +353,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -465,17 +369,17 @@ + group-by="true()"> + in-xml="UNWRAPPED" + collapsible="no" + as-type="markup-multiline" + name="prose" + key="prose"> + as-type="markup-multiline" + _metaschema-xml-id="/assembly/oscal-assessment-common/assessment-part/prose/PROSE" + _metaschema-json-id="/assembly/oscal-assessment-common/assessment-part/prose/PROSE"> @@ -497,7 +401,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -536,11 +440,11 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="reviewed-controls" + gi="reviewed-controls"> reviewed-controls @@ -577,37 +481,37 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + name="include-all" + key="include-all" + gi="include-all"> include-all + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + name="select-objective-by-id" + gi="include-objective"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + name="select-objective-by-id" + gi="exclude-objective"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -636,11 +540,11 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="related-controls" + gi="related-controls"> related-controls @@ -677,7 +581,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -734,7 +638,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -775,7 +679,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -791,7 +695,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -800,7 +704,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -837,7 +741,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -876,7 +780,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -891,11 +795,11 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="assessment-assets" + gi="assessment-assets"> assessment-assets @@ -916,7 +820,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -977,7 +881,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1040,7 +944,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1078,7 +982,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1101,7 +1005,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1124,7 +1028,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1132,7 +1036,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1169,7 +1073,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1230,7 +1134,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1253,7 +1157,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1276,7 +1180,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1345,7 +1249,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1373,7 +1277,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1420,7 +1324,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1450,11 +1354,11 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="implementation-status" + gi="implementation-status"> implementation-status @@ -1463,7 +1367,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1479,87 +1383,87 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="remarks" + key="remarks" + gi="remarks" + in-json="SCALAR"> remarks + group-by="true()"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="location-uuid" + gi="location-uuid" + in-json="SCALAR"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="party-uuid" + gi="party-uuid" + in-json="SCALAR"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="role-id" + gi="role-id" + in-json="SCALAR"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="function-performed" + gi="function-performed" + in-json="SCALAR"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="risk-status" + key="status" + gi="status" + in-json="SCALAR"> status @@ -1569,7 +1473,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1580,14 +1484,14 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="risk-status" + key="status-change" + gi="status-change" + in-json="SCALAR"> status-change @@ -1597,7 +1501,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1607,1072 +1511,1153 @@ + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="name" + key="name" + gi="name"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="value" + key="value" + gi="value"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="class" + key="class" + gi="class"> + + + + + + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="rel" + key="rel" + gi="rel"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + + + + + as-type="string" + name="resource-fragment" + key="resource-fragment" + gi="resource-fragment"> + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri" + name="scheme" + key="scheme" + gi="scheme"> - + - + + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="location-type" + key="type" + gi="type"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="type" + key="type" + gi="type"> - + + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - + + as-type="string" + name="type" + key="type" + gi="type"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri" + name="scheme" + key="scheme" + gi="scheme"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="role-id" + key="role-id" + gi="role-id"> - + + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - + + as-type="dateTime-with-timezone" + name="date" + key="date" + gi="date"> - - + + - + + as-type="uri" + name="system" + key="system" + gi="system"> - - + + - + + + + + + + + + + + + as-type="token" + name="name" + key="name" + gi="name"> + + + + + + + + + + + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="control-id" + key="control-id" + gi="control-id"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="objective-id" + key="objective-id" + gi="objective-id"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="role-id" + key="role-id" + gi="role-id"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="system-component-type" + key="type" + gi="type"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="state" + key="state" + gi="state"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="name" + key="name" + gi="name"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="nonNegativeInteger" + name="start" + key="start" + gi="start"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="nonNegativeInteger" + name="end" + key="end" + gi="end"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="transport" + key="transport" + gi="transport"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="component-uuid" + key="component-uuid" + gi="component-uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="component-uuid" + key="component-uuid" + gi="component-uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="type" + key="type" + gi="type"> + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="date" + key="date" + gi="date"> + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="start" + key="start" + gi="start"> + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="end" + key="end" + gi="end"> + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="positiveInteger" + name="period" + key="period" + gi="period"> + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="unit" + key="unit" + gi="unit"> + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="task-uuid" + key="task-uuid" + gi="task-uuid"> + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="activity-uuid" + key="activity-uuid" + gi="activity-uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="type" + key="type" + gi="type"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="subject-uuid" + key="subject-uuid" + gi="subject-uuid"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="subject-type" + key="type" + gi="type"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="name" + key="name" + gi="name"> - + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="class" + key="class" + gi="class"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="party-uuid" + key="party-uuid" + gi="party-uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="role-id" + key="role-id" + gi="role-id"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="task-uuid" + key="task-uuid" + gi="task-uuid"> + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="subject-placeholder-uuid" + key="subject-placeholder-uuid" + gi="subject-placeholder-uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="type" + key="type" + gi="type"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="actor-uuid" + key="actor-uuid" + gi="actor-uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="role-id" + key="role-id" + gi="role-id"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="subject-uuid" + key="subject-uuid" + gi="subject-uuid"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="subject-type" + key="type" + gi="type"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri" + name="system" + key="system" + gi="system"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="name" + key="name" + gi="name"> + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri" + name="system" + key="system" + gi="system"> + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="value" + key="value" + gi="value"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="implementation-uuid" + key="implementation-uuid" + gi="implementation-uuid"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="lifecycle" + key="lifecycle" + gi="lifecycle"> + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="response-uuid" + key="response-uuid" + gi="response-uuid"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="observation-uuid" + key="observation-uuid" + gi="observation-uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="type" + key="type" + gi="type"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="target-id" + key="target-id" + gi="target-id"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="state" + key="state" + gi="state"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="reason" + key="reason" + gi="reason"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="state" + key="state" + gi="state"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="observation-uuid" + key="observation-uuid" + gi="observation-uuid"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="risk-uuid" + key="risk-uuid" + gi="risk-uuid"> + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="media-type" + key="media-type" + gi="media-type"> + priority="3" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="algorithm" + key="algorithm" + gi="algorithm"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="filename" + key="filename" + gi="filename"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="media-type" + key="media-type" + gi="media-type"> + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2682,15 +2667,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> published @@ -2700,15 +2685,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> last-modified @@ -2718,15 +2703,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> version @@ -2736,15 +2721,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> oscal-version @@ -2754,8 +2739,8 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2781,14 +2766,14 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + gi="revisions" + group-json="ARRAY" + name="revision" + key="revisions"> revisions @@ -2796,15 +2781,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2814,15 +2799,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> published @@ -2832,15 +2817,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> last-modified @@ -2850,15 +2835,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> version @@ -2868,15 +2853,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> oscal-version @@ -2886,15 +2871,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2904,13 +2889,13 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="document-id" + gi="document-id"> @@ -2918,15 +2903,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2935,16 +2920,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2954,15 +2965,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -2972,37 +2983,37 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3011,16 +3022,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -3030,8 +3087,8 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -3052,29 +3109,29 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> city @@ -3084,15 +3141,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> state @@ -3102,15 +3159,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> postal-code @@ -3120,15 +3177,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> country @@ -3138,27 +3195,27 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="telephone-number" + gi="telephone-number"> @@ -3166,29 +3223,30 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri" + name="url" + deprecated="1.1.0" + gi="url" + in-json="SCALAR"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3197,16 +3255,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="name" + key="name" + gi="name" + in-json="SCALAR"> name @@ -3216,15 +3342,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -3234,13 +3360,13 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="external-id" + gi="external-id"> @@ -3248,15 +3374,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3266,27 +3392,27 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="telephone-number" + gi="telephone-number"> @@ -3294,8 +3420,8 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -3313,29 +3439,29 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> city @@ -3345,15 +3471,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> state @@ -3363,15 +3489,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> postal-code @@ -3381,15 +3507,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> country @@ -3399,29 +3525,65 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="member-of-organization" + gi="member-of-organization" + in-json="SCALAR"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + + + text + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> + + text + + + + + + + + + text @@ -3431,12 +3593,12 @@ + priority="3" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="local-definitions" + gi="local-definitions"> local-definitions @@ -3458,37 +3620,37 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3498,15 +3660,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -3516,15 +3678,15 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3534,15 +3696,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -3552,37 +3714,37 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3592,8 +3754,8 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -3625,15 +3787,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -3643,37 +3805,37 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3683,37 +3845,37 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3723,8 +3885,8 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -3761,37 +3923,37 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3801,8 +3963,8 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -3816,22 +3978,22 @@ + priority="15" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -3845,22 +4007,22 @@ + priority="14" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -3897,37 +4059,37 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3937,15 +4099,15 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3955,37 +4117,37 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3995,8 +4157,8 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -4033,37 +4195,37 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4073,8 +4235,8 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -4088,22 +4250,22 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -4117,22 +4279,22 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -4169,37 +4331,37 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4209,15 +4371,15 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4227,15 +4389,15 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -4245,37 +4407,37 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="start" + key="start" + gi="start" + in-json="SCALAR"> start @@ -4285,15 +4447,15 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="end" + key="end" + gi="end" + in-json="SCALAR"> end @@ -4303,15 +4465,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4321,12 +4483,12 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="local-definitions" + gi="local-definitions"> local-definitions @@ -4362,15 +4524,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -4380,37 +4542,37 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="purpose" + key="purpose" + gi="purpose" + in-json="SCALAR"> purpose @@ -4420,15 +4582,15 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4438,8 +4600,8 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -4450,15 +4612,15 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4468,15 +4630,15 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -4486,37 +4648,37 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4526,15 +4688,15 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4544,8 +4706,8 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -4574,15 +4736,15 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4592,15 +4754,15 @@ + priority="14" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4610,15 +4772,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -4628,15 +4790,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -4646,37 +4808,37 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4686,15 +4848,15 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -4704,37 +4866,37 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -4744,37 +4906,37 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="purpose" + key="purpose" + gi="purpose" + in-json="SCALAR"> purpose @@ -4784,15 +4946,15 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4802,8 +4964,8 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -4814,15 +4976,15 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4832,15 +4994,15 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -4850,8 +5012,8 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -4881,15 +5043,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -4899,15 +5061,15 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4917,8 +5079,8 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -4947,15 +5109,15 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4965,15 +5127,15 @@ + priority="15" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4983,15 +5145,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -5001,37 +5163,37 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5041,8 +5203,8 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -5054,8 +5216,8 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -5065,13 +5227,13 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + name="within-date-range" + key="within-date-range" + gi="within-date-range"> within-date-range @@ -5080,13 +5242,13 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + name="at-frequency" + key="at-frequency" + gi="at-frequency"> at-frequency @@ -5095,8 +5257,8 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -5104,8 +5266,8 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -5141,15 +5303,15 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5159,15 +5321,15 @@ + priority="14" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5177,37 +5339,37 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="14" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5217,15 +5379,15 @@ + priority="17" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5235,15 +5397,15 @@ + priority="16" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5253,37 +5415,37 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5293,15 +5455,15 @@ + priority="15" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5311,15 +5473,15 @@ + priority="14" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5329,15 +5491,15 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5347,37 +5509,37 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5387,8 +5549,8 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -5425,37 +5587,37 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5465,8 +5627,8 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -5480,22 +5642,22 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -5509,22 +5671,22 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -5561,37 +5723,37 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5601,8 +5763,8 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -5622,15 +5784,15 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5640,15 +5802,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -5658,15 +5820,15 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5676,8 +5838,8 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -5693,8 +5855,8 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -5734,15 +5896,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -5752,37 +5914,37 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="start" + key="start" + gi="start" + in-json="SCALAR"> start @@ -5792,15 +5954,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="end" + key="end" + gi="end" + in-json="SCALAR"> end @@ -5810,15 +5972,15 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5828,15 +5990,15 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5846,15 +6008,15 @@ + priority="14" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5864,37 +6026,37 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="14" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5904,15 +6066,15 @@ + priority="17" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5922,15 +6084,15 @@ + priority="16" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5940,12 +6102,12 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="identified-subject" + gi="identified-subject"> identified-subject @@ -5960,37 +6122,37 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="15" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6000,15 +6162,15 @@ + priority="18" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6018,15 +6180,15 @@ + priority="17" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6036,15 +6198,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -6054,37 +6216,37 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6094,43 +6256,43 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="method" + gi="method" + in-json="SCALAR"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="type" + gi="type" + in-json="SCALAR"> + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6140,15 +6302,15 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6158,15 +6320,15 @@ + priority="15" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6176,37 +6338,37 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="15" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6216,15 +6378,15 @@ + priority="18" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6234,15 +6396,15 @@ + priority="17" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6252,12 +6414,12 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="identified-subject" + gi="identified-subject"> identified-subject @@ -6272,37 +6434,37 @@ + priority="14" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="16" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6312,15 +6474,15 @@ + priority="19" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6330,15 +6492,15 @@ + priority="18" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6348,8 +6510,8 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -6373,15 +6535,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -6391,15 +6553,15 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6409,8 +6571,8 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -6433,37 +6595,37 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6473,15 +6635,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="collected" + key="collected" + gi="collected" + in-json="SCALAR"> collected @@ -6491,15 +6653,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="expires" + key="expires" + gi="expires" + in-json="SCALAR"> expires @@ -6509,15 +6671,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -6527,59 +6689,59 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="statement" + key="statement" + gi="statement" + in-json="SCALAR"> statement + group-by="true()"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6589,15 +6751,15 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6607,15 +6769,15 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6625,15 +6787,15 @@ + priority="15" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6643,37 +6805,37 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="15" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6683,15 +6845,15 @@ + priority="18" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6701,15 +6863,15 @@ + priority="17" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6719,12 +6881,12 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="identified-subject" + gi="identified-subject"> identified-subject @@ -6739,37 +6901,37 @@ + priority="14" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="16" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6779,15 +6941,15 @@ + priority="19" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6797,15 +6959,15 @@ + priority="18" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6815,15 +6977,15 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6833,15 +6995,15 @@ + priority="14" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6851,15 +7013,15 @@ + priority="14" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6869,15 +7031,15 @@ + priority="16" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6887,37 +7049,37 @@ + priority="14" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="16" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6927,15 +7089,15 @@ + priority="19" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6945,15 +7107,15 @@ + priority="18" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6963,12 +7125,12 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="identified-subject" + gi="identified-subject"> identified-subject @@ -6983,37 +7145,37 @@ + priority="15" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="17" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7023,15 +7185,15 @@ + priority="20" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7041,15 +7203,15 @@ + priority="19" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7059,8 +7221,8 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -7084,15 +7246,15 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7102,8 +7264,8 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -7133,37 +7295,37 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7173,8 +7335,8 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -7198,15 +7360,15 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -7216,15 +7378,15 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7234,15 +7396,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="deadline" + key="deadline" + gi="deadline" + in-json="SCALAR"> deadline @@ -7252,8 +7414,8 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -7299,15 +7461,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -7317,37 +7479,37 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7357,15 +7519,15 @@ + priority="15" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7375,15 +7537,15 @@ + priority="15" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7393,15 +7555,15 @@ + priority="17" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7411,37 +7573,37 @@ + priority="15" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="17" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7451,15 +7613,15 @@ + priority="20" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7469,15 +7631,15 @@ + priority="19" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7487,12 +7649,12 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="identified-subject" + gi="identified-subject"> identified-subject @@ -7507,37 +7669,37 @@ + priority="16" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="18" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7547,15 +7709,15 @@ + priority="21" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7565,15 +7727,15 @@ + priority="20" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7583,8 +7745,8 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -7615,8 +7777,8 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -7640,15 +7802,15 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -7658,15 +7820,15 @@ + priority="15" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7676,15 +7838,15 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -7694,37 +7856,37 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7734,15 +7896,15 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -7752,37 +7914,37 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7792,8 +7954,8 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -7805,8 +7967,8 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -7816,13 +7978,13 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + name="within-date-range" + key="within-date-range" + gi="within-date-range"> within-date-range @@ -7831,13 +7993,13 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + name="at-frequency" + key="at-frequency" + gi="at-frequency"> at-frequency @@ -7846,8 +8008,8 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -7855,8 +8017,8 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -7892,15 +8054,15 @@ + priority="15" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7910,15 +8072,15 @@ + priority="17" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7928,37 +8090,37 @@ + priority="15" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="17" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7968,15 +8130,15 @@ + priority="20" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7986,15 +8148,15 @@ + priority="19" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8004,37 +8166,37 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="15" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8044,15 +8206,15 @@ + priority="18" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8062,15 +8224,15 @@ + priority="17" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8080,15 +8242,15 @@ + priority="15" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8098,8 +8260,8 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -8115,8 +8277,8 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -8157,15 +8319,15 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -8175,37 +8337,37 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="start" + key="start" + gi="start" + in-json="SCALAR"> start @@ -8215,15 +8377,15 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="end" + key="end" + gi="end" + in-json="SCALAR"> end @@ -8233,15 +8395,15 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8251,8 +8413,8 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -8281,15 +8443,15 @@ + priority="14" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8299,15 +8461,15 @@ + priority="16" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8317,15 +8479,15 @@ + priority="18" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8335,37 +8497,37 @@ + priority="16" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="18" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8375,15 +8537,15 @@ + priority="21" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8393,15 +8555,15 @@ + priority="20" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8411,12 +8573,12 @@ + priority="14" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="identified-subject" + gi="identified-subject"> identified-subject @@ -8431,37 +8593,37 @@ + priority="17" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="19" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8471,15 +8633,15 @@ + priority="22" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8489,15 +8651,15 @@ + priority="21" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8507,23 +8669,23 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -8533,37 +8695,37 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8573,15 +8735,15 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8591,15 +8753,15 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8609,15 +8771,15 @@ + priority="15" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8627,37 +8789,37 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="15" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8667,15 +8829,15 @@ + priority="18" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8685,15 +8847,15 @@ + priority="17" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8703,12 +8865,12 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="identified-subject" + gi="identified-subject"> identified-subject @@ -8723,37 +8885,37 @@ + priority="14" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="16" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8763,15 +8925,15 @@ + priority="19" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8781,15 +8943,15 @@ + priority="18" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8799,15 +8961,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -8817,37 +8979,37 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8857,8 +9019,8 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -8870,15 +9032,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="implementation-statement-uuid" + key="implementation-statement-uuid" + gi="implementation-statement-uuid" + in-json="SCALAR"> implementation-statement-uuid @@ -8888,24 +9050,24 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -8938,15 +9100,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -8956,35 +9118,35 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="document-id" + gi="document-id"> @@ -8992,8 +9154,8 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -9017,15 +9179,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -9035,15 +9197,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -9053,8 +9215,8 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -9069,14 +9231,14 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="base64Binary" + name="base64" + key="base64" + gi="base64"> base64 @@ -9088,10 +9250,10 @@ + mode="cast-prose" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -9099,49 +9261,43 @@ + name="ns" + select="/*/@namespace"/> + match="group" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="group[@in-json='BY_KEY']" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="flag[@key=../@json-key-flag]" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"/> + match="group[@in-json='SINGLETON_OR_ARRAY'][count(*)=1]" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + priority="2" + match="group/assembly | group/field" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -9159,11 +9315,10 @@ + priority="3" + match="group/field[@in-json='SCALAR']" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -9172,37 +9327,33 @@ + match="/assembly" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="assembly" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="field" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="field[@in-json='SCALAR']" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="flag[@key=../value/@key-flag]" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"/> + match="flag" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + namespace="http://www.w3.org/2005/xpath-functions"> + priority="2" + match="field[exists(@json-key-flag)]/value" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -9240,70 +9388,66 @@ + match="value" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> - - - - - - + namespace="http://www.w3.org/2005/xpath-functions"> + + + + + + + + + + match="*" + mode="cast-data" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="value[@as-type='markup-line']" + mode="cast-data" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="value[@as-type='markup-multiline']" + mode="cast-data" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + name="conditional-lf" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="text()[empty(ancestor::pre)]" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="text()" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -9312,20 +9456,18 @@ + mode="md" + match="p" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="h1 | h2 | h3 | h4 | h5 | h6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -9333,48 +9475,40 @@ # + mode="mark" + match="h1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"># ## + mode="mark" + match="h2" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel">## ### + mode="mark" + match="h3" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel">### #### + mode="mark" + match="h4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel">#### ##### + mode="mark" + match="h5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel">##### ###### + mode="mark" + match="h6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel">###### + mode="md" + match="table" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="tr" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -9388,21 +9522,19 @@ + mode="md" + match="th | td" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> | | + mode="md" + priority="1" + match="pre" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> ``` @@ -9411,27 +9543,24 @@ ``` + mode="md" + priority="1" + match="ul | ol" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="ul//ul | ol//ol | ol//ul | ul//ol" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="li" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -9441,10 +9570,9 @@ + mode="md" + match="ol/li" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -9454,55 +9582,49 @@ + mode="md" + match="code | span[contains(@class, 'code')]" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> ` ` + mode="md" + match="em | i" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> * * + mode="md" + match="strong | b" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> ** ** + mode="md" + match="q" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> " " + mode="md" + match="insert" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> {{ insert: }} + mode="md" + match="a" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> [ ] @@ -9511,10 +9633,9 @@ ) + mode="md" + match="img" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> ![ ] diff --git a/json/convert/oscal_catalog_xml-to-json-converter.xsl b/json/convert/oscal_catalog_xml-to-json-converter.xsl index 79755a405..d97f6df8e 100644 --- a/json/convert/oscal_catalog_xml-to-json-converter.xsl +++ b/json/convert/oscal_catalog_xml-to-json-converter.xsl @@ -1,11 +1,11 @@ + xmlns:m="http://csrc.nist.gov/ns/oscal/metaschema/1.0" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="3.0" + exclude-result-prefixes="#all" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + select="$file ! document(.,$source-xml)"> { $err:description } @@ -60,7 +60,7 @@ + select="xml-to-json($new-json-xml, $write-options)"> { $err:description } @@ -76,12 +76,12 @@ - + + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -117,7 +117,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -178,11 +178,18 @@ + + + + + + + + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -190,67 +197,28 @@ + + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - + + + + @@ -273,21 +241,14 @@ - + - + + - - - - - - - - - + @@ -302,65 +263,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -370,7 +274,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -418,7 +322,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -432,21 +336,21 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + group-by="true()"> + in-xml="UNWRAPPED" + collapsible="no" + as-type="markup-multiline" + name="prose" + key="prose"> + as-type="markup-multiline" + _metaschema-xml-id="/assembly/oscal-control-common/parameter-guideline/prose/PROSE" + _metaschema-json-id="/assembly/oscal-control-common/parameter-guideline/prose/PROSE"> @@ -454,7 +358,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -471,7 +375,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -505,6 +409,7 @@ + @@ -515,7 +420,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -531,17 +436,17 @@ + group-by="true()"> + in-xml="UNWRAPPED" + collapsible="no" + as-type="markup-multiline" + name="prose" + key="prose"> + as-type="markup-multiline" + _metaschema-xml-id="/assembly/oscal-control-common/part/prose/PROSE" + _metaschema-json-id="/assembly/oscal-control-common/part/prose/PROSE"> @@ -562,8 +467,118 @@ + + + + + target-resource + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -614,7 +629,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -630,67 +645,67 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="remarks" + key="remarks" + gi="remarks" + in-json="SCALAR"> remarks + group-by="true()"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="location-uuid" + gi="location-uuid" + in-json="SCALAR"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="party-uuid" + gi="party-uuid" + in-json="SCALAR"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="parameter-value" + gi="value" + in-json="SCALAR"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -700,380 +715,534 @@ + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="name" + key="name" + gi="name"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="value" + key="value" + gi="value"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + + + + + as-type="token" + name="group" + key="group" + gi="group"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="rel" + key="rel" + gi="rel"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="media-type" + key="media-type" + gi="media-type"> + + + + + + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri" + name="scheme" + key="scheme" + gi="scheme"> - + - + + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="location-type" + key="type" + gi="type"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="type" + key="type" + gi="type"> - + + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - + + as-type="string" + name="type" + key="type" + gi="type"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri" + name="scheme" + key="scheme" + gi="scheme"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="role-id" + key="role-id" + gi="role-id"> + + + + + + + + + + + + + + + + + + + + + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="class" + key="class" + gi="class"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="depends-on" + key="depends-on" + deprecated="1.0.1" + gi="depends-on"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="how-many" + key="how-many" + gi="how-many"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="class" + key="class" + gi="class"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="name" + key="name" + gi="name"> - + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="class" + key="class" + gi="class"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="class" + key="class" + gi="class"> + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="media-type" + key="media-type" + gi="media-type"> + priority="3" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="algorithm" + key="algorithm" + gi="algorithm"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="filename" + key="filename" + gi="filename"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="media-type" + key="media-type" + gi="media-type"> + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -1083,15 +1252,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> published @@ -1101,15 +1270,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> last-modified @@ -1119,15 +1288,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> version @@ -1137,15 +1306,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> oscal-version @@ -1155,8 +1324,8 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1182,14 +1351,14 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + gi="revisions" + group-json="ARRAY" + name="revision" + key="revisions"> revisions @@ -1197,15 +1366,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -1215,15 +1384,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> published @@ -1233,15 +1402,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> last-modified @@ -1251,15 +1420,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> version @@ -1269,15 +1438,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> oscal-version @@ -1287,15 +1456,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1305,13 +1474,13 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="document-id" + gi="document-id"> @@ -1319,15 +1488,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1336,16 +1505,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -1355,15 +1550,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -1373,37 +1568,37 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1412,16 +1607,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -1431,8 +1672,8 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1453,29 +1694,29 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> city @@ -1485,15 +1726,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> state @@ -1503,15 +1744,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> postal-code @@ -1521,15 +1762,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> country @@ -1539,27 +1780,27 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="telephone-number" + gi="telephone-number"> @@ -1567,29 +1808,30 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri" + name="url" + deprecated="1.1.0" + gi="url" + in-json="SCALAR"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1598,16 +1840,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="name" + key="name" + gi="name" + in-json="SCALAR"> name @@ -1617,15 +1927,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -1635,13 +1945,13 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="external-id" + gi="external-id"> @@ -1649,15 +1959,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1667,27 +1977,27 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="telephone-number" + gi="telephone-number"> @@ -1695,8 +2005,8 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1714,29 +2024,29 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> city @@ -1746,15 +2056,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> state @@ -1764,15 +2074,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> postal-code @@ -1782,15 +2092,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> country @@ -1800,29 +2110,65 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="member-of-organization" + gi="member-of-organization" + in-json="SCALAR"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + + + text + + + + + + + + + + + text + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1832,15 +2178,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1850,15 +2196,15 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="label" + key="label" + gi="label" + in-json="SCALAR"> label @@ -1868,52 +2214,52 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="usage" + key="usage" + gi="usage" + in-json="SCALAR"> usage + group-by="true()"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1921,15 +2267,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="expression" + key="expression" + gi="expression" + in-json="SCALAR"> expression @@ -1939,29 +2285,29 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="parameter-choice" + gi="choice" + in-json="SCALAR"> + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -1971,15 +2317,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1989,15 +2335,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="label" + key="label" + gi="label" + in-json="SCALAR"> label @@ -2007,52 +2353,52 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="usage" + key="usage" + gi="usage" + in-json="SCALAR"> usage + group-by="true()"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2060,15 +2406,15 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="expression" + key="expression" + gi="expression" + in-json="SCALAR"> expression @@ -2078,29 +2424,29 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="parameter-choice" + gi="choice" + in-json="SCALAR"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2110,15 +2456,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2128,15 +2474,124 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + + + text + + + + + + + + + + + mapping + + + + + + + + + + + + + + + + + text + + + + + + + + + + + text + + + + + + + + + + + relationship + + + + + + + + + + + + text + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2146,15 +2601,15 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2164,15 +2619,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2182,15 +2637,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="label" + key="label" + gi="label" + in-json="SCALAR"> label @@ -2200,52 +2655,52 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="usage" + key="usage" + gi="usage" + in-json="SCALAR"> usage + group-by="true()"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2253,15 +2708,15 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="expression" + key="expression" + gi="expression" + in-json="SCALAR"> expression @@ -2271,29 +2726,29 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="parameter-choice" + gi="choice" + in-json="SCALAR"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2303,15 +2758,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2321,15 +2776,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2339,15 +2794,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2357,15 +2812,15 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2375,15 +2830,15 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="label" + key="label" + gi="label" + in-json="SCALAR"> label @@ -2393,52 +2848,52 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="usage" + key="usage" + gi="usage" + in-json="SCALAR"> usage + group-by="true()"> + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2446,15 +2901,15 @@ + priority="14" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="expression" + key="expression" + gi="expression" + in-json="SCALAR"> expression @@ -2464,29 +2919,29 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="parameter-choice" + gi="choice" + in-json="SCALAR"> + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2496,15 +2951,15 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2514,15 +2969,124 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + + + text + + + + + + + + + + + mapping + + + + + + + + + + + + + + + + + text + + + + + + + + + + + text + + + + + + + + + + + relationship + + + + + + + + + + + + text + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2532,8 +3096,8 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2566,15 +3130,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2584,35 +3148,35 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="document-id" + gi="document-id"> @@ -2620,8 +3184,8 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2645,15 +3209,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2663,15 +3227,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2681,8 +3245,8 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2697,14 +3261,14 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="base64Binary" + name="base64" + key="base64" + gi="base64"> base64 @@ -2716,10 +3280,10 @@ + mode="cast-prose" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -2727,49 +3291,43 @@ + name="ns" + select="/*/@namespace"/> + match="group" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="group[@in-json='BY_KEY']" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="flag[@key=../@json-key-flag]" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"/> + match="group[@in-json='SINGLETON_OR_ARRAY'][count(*)=1]" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + priority="2" + match="group/assembly | group/field" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -2787,11 +3345,10 @@ + priority="3" + match="group/field[@in-json='SCALAR']" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -2800,37 +3357,33 @@ + match="/assembly" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="assembly" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="field" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="field[@in-json='SCALAR']" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="flag[@key=../value/@key-flag]" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"/> + match="flag" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + namespace="http://www.w3.org/2005/xpath-functions"> + priority="2" + match="field[exists(@json-key-flag)]/value" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -2868,70 +3418,66 @@ + match="value" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> - - - - - - + namespace="http://www.w3.org/2005/xpath-functions"> + + + + + + + + + + match="*" + mode="cast-data" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="value[@as-type='markup-line']" + mode="cast-data" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="value[@as-type='markup-multiline']" + mode="cast-data" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + name="conditional-lf" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="text()[empty(ancestor::pre)]" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="text()" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -2940,20 +3486,18 @@ + mode="md" + match="p" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="h1 | h2 | h3 | h4 | h5 | h6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -2961,48 +3505,40 @@ # + mode="mark" + match="h1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"># ## + mode="mark" + match="h2" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel">## ### + mode="mark" + match="h3" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel">### #### + mode="mark" + match="h4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel">#### ##### + mode="mark" + match="h5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel">##### ###### + mode="mark" + match="h6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel">###### + mode="md" + match="table" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="tr" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -3016,21 +3552,19 @@ + mode="md" + match="th | td" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> | | + mode="md" + priority="1" + match="pre" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> ``` @@ -3039,27 +3573,24 @@ ``` + mode="md" + priority="1" + match="ul | ol" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="ul//ul | ol//ol | ol//ul | ul//ol" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="li" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -3069,10 +3600,9 @@ + mode="md" + match="ol/li" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -3082,55 +3612,49 @@ + mode="md" + match="code | span[contains(@class, 'code')]" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> ` ` + mode="md" + match="em | i" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> * * + mode="md" + match="strong | b" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> ** ** + mode="md" + match="q" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> " " + mode="md" + match="insert" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> {{ insert: }} + mode="md" + match="a" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> [ ] @@ -3139,10 +3663,9 @@ ) + mode="md" + match="img" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> ![ ] diff --git a/json/convert/oscal_complete_xml-to-json-converter.xsl b/json/convert/oscal_complete_xml-to-json-converter.xsl index 7e59b556c..ccc9d4773 100644 --- a/json/convert/oscal_complete_xml-to-json-converter.xsl +++ b/json/convert/oscal_complete_xml-to-json-converter.xsl @@ -1,11 +1,11 @@ + xmlns:m="http://csrc.nist.gov/ns/oscal/metaschema/1.0" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="3.0" + exclude-result-prefixes="#all" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + select="$file ! document(.,$source-xml)"> { $err:description } @@ -60,7 +60,7 @@ + select="xml-to-json($new-json-xml, $write-options)"> { $err:description } @@ -76,12 +76,12 @@ - + + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -117,7 +117,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -178,11 +178,18 @@ + + + + + + + + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -190,67 +197,28 @@ + + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - + + + + @@ -273,21 +241,14 @@ - + - + + - - - - - - - - - + @@ -302,65 +263,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -370,7 +274,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -418,7 +322,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -432,21 +336,21 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + group-by="true()"> + in-xml="UNWRAPPED" + collapsible="no" + as-type="markup-multiline" + name="prose" + key="prose"> + as-type="markup-multiline" + _metaschema-xml-id="/assembly/oscal-control-common/parameter-guideline/prose/PROSE" + _metaschema-json-id="/assembly/oscal-control-common/parameter-guideline/prose/PROSE"> @@ -454,7 +358,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -471,7 +375,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -505,6 +409,7 @@ + @@ -515,7 +420,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -531,17 +436,17 @@ + group-by="true()"> + in-xml="UNWRAPPED" + collapsible="no" + as-type="markup-multiline" + name="prose" + key="prose"> + as-type="markup-multiline" + _metaschema-xml-id="/assembly/oscal-control-common/part/prose/PROSE" + _metaschema-json-id="/assembly/oscal-control-common/part/prose/PROSE"> @@ -563,7 +468,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -579,17 +484,17 @@ + group-by="true()"> + in-xml="UNWRAPPED" + collapsible="no" + as-type="markup-multiline" + name="prose" + key="prose"> + as-type="markup-multiline" + _metaschema-xml-id="/assembly/oscal-assessment-common/assessment-part/prose/PROSE" + _metaschema-json-id="/assembly/oscal-assessment-common/assessment-part/prose/PROSE"> @@ -610,20 +515,38 @@ - + - - - - - - + + + target-resource + + + + + + + + + + + + + + + + + + + @@ -638,31 +561,102 @@ - - + + + - - + + - - + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + target + + + + + + + + + + + + + + + + + + + + + + + + + @@ -703,8 +697,8 @@ - - + + @@ -712,24 +706,146 @@ - + - - - back-matter - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + back-matter + + + + + + + + + + + + + + + mapping-collection + + + http://csrc.nist.gov/ns/oscal/1.0 + + + + + + + + + + + + + + + + + + mapping + + + + + + + + + + + + + + + + + + source-resource + + + + + + + + + + + + + + + + + + + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -753,7 +869,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -775,19 +891,19 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + name="include-all" + key="include-all" + gi="include-all"> include-all + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -800,7 +916,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -822,7 +938,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -844,80 +960,12 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="component-definition" + gi="component-definition"> component-definition @@ -951,16 +999,16 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + name="import-component-definition" + gi="import-component-definition"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1006,8 +1054,8 @@ - + @@ -1048,7 +1096,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1077,7 +1125,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1093,7 +1141,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1102,7 +1150,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1117,7 +1165,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1155,7 +1203,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1163,11 +1211,11 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="system-security-plan" + gi="system-security-plan"> system-security-plan @@ -1184,7 +1232,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1195,11 +1243,11 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="system-characteristics" + gi="system-characteristics"> system-characteristics @@ -1246,11 +1294,11 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="system-information" + gi="system-information"> system-information @@ -1277,30 +1325,15 @@ - - - - - security-impact-level - - - - - - - + - + - authorization-boundary + confidentiality-impact - @@ -1315,22 +1348,18 @@ - - - - - - - - + + + - + - - - + + + integrity-impact + @@ -1345,20 +1374,18 @@ - - + + + - + - + - network-architecture + availability-impact - @@ -1373,18 +1400,119 @@ - - - - - - - - + + + - + + + + + security-impact-level + + + + + + + + + + + authorization-boundary + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + network-architecture + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1416,11 +1544,11 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="system-implementation" + gi="system-implementation"> system-implementation @@ -1470,7 +1598,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1509,7 +1637,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1524,7 +1652,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1561,7 +1689,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1615,11 +1743,11 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="implementation-status" + gi="implementation-status"> implementation-status @@ -1628,7 +1756,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1662,7 +1790,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1673,7 +1801,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1703,7 +1831,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1742,11 +1870,11 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="reviewed-controls" + gi="reviewed-controls"> reviewed-controls @@ -1783,29 +1911,29 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + name="select-objective-by-id" + gi="include-objective"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + name="select-objective-by-id" + gi="exclude-objective"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="related-controls" + gi="related-controls"> related-controls @@ -1842,7 +1970,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1880,7 +2008,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1903,7 +2031,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1926,11 +2054,11 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="assessment-assets" + gi="assessment-assets"> assessment-assets @@ -1951,7 +2079,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2012,7 +2140,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2050,11 +2178,11 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="assessment-results" + gi="assessment-results"> assessment-results @@ -2076,7 +2204,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2087,7 +2215,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2144,7 +2272,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2205,7 +2333,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2213,7 +2341,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2250,7 +2378,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2311,7 +2439,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2334,7 +2462,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2357,7 +2485,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2426,7 +2554,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2454,7 +2582,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2500,42 +2628,12 @@ - - - - - target - - - - - - - - - - - - - - - - - - - - - - - - + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="plan-of-action-and-milestones" + gi="plan-of-action-and-milestones"> plan-of-action-and-milestones @@ -2561,6 +2659,13 @@ + + + + + + + @@ -2572,11 +2677,11 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="local-definitions" + gi="local-definitions"> local-definitions @@ -2594,11 +2699,12 @@ + + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2625,6 +2731,13 @@ + + + + + + + @@ -2643,67 +2756,67 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="remarks" + key="remarks" + gi="remarks" + in-json="SCALAR"> remarks + group-by="true()"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="location-uuid" + gi="location-uuid" + in-json="SCALAR"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="party-uuid" + gi="party-uuid" + in-json="SCALAR"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="parameter-value" + gi="value" + in-json="SCALAR"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2713,12 +2826,12 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="system-id" + gi="system-id"> system-id @@ -2729,40 +2842,40 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="role-id" + gi="role-id" + in-json="SCALAR"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="function-performed" + gi="function-performed" + in-json="SCALAR"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="risk-status" + key="status" + gi="status" + in-json="SCALAR"> status @@ -2772,7 +2885,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2783,14 +2896,14 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="risk-status" + key="status-change" + gi="status-change" + in-json="SCALAR"> status-change @@ -2800,1804 +2913,1998 @@ + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="name" + key="name" + gi="name"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="value" + key="value" + gi="value"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + + + + + as-type="token" + name="group" + key="group" + gi="group"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="rel" + key="rel" + gi="rel"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="media-type" + key="media-type" + gi="media-type"> - + + as-type="string" + name="resource-fragment" + key="resource-fragment" + gi="resource-fragment"> - + + + + + + - + + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - + + as-type="token" + name="location-type" + key="type" + gi="type"> - + + as-type="string" + name="type" + key="type" + gi="type"> - + + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - + + as-type="string" + name="type" + key="type" + gi="type"> - + + as-type="uri" + name="scheme" + key="scheme" + gi="scheme"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="role-id" + key="role-id" + gi="role-id"> - - + + - + + as-type="dateTime-with-timezone" + name="date" + key="date" + gi="date"> - + - + as-type="token" + name="type" + key="type" + gi="type"> + + + + + + + + + + + + + + + + + + + + + + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="how-many" + key="how-many" + gi="how-many"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="class" + key="class" + gi="class"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="name" + key="name" + gi="name"> - + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + + + + + + + + + + + + + + + + + + + + + + + + + as-type="uri" + name="ns" + key="ns" + default="http://csrc.nist.gov/ns/oscal" + gi="ns"> + + + + + + + + + + + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="class" + key="class" + gi="class"> - + + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - + + as-type="uri-reference" + name="href" + key="href" + gi="href"> - + + as-type="string" + name="media-type" + key="media-type" + gi="media-type"> + priority="3" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="algorithm" + key="algorithm" + gi="algorithm"> - + + + + + + + as-type="string" + name="media-type" + key="media-type" + gi="media-type"> - + + + + + + + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="with-child-controls" + key="with-child-controls" + gi="with-child-controls"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="pattern" + key="pattern" + gi="pattern"> + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="method" + key="method" + gi="method"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="class" + key="class" + gi="class"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="order" + key="order" + gi="order"> + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="param-id" + key="param-id" + gi="param-id"> + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="class" + key="class" + gi="class"> + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="depends-on" + key="depends-on" + deprecated="1.0.1" + gi="depends-on"> - + + as-type="token" + name="control-id" + key="control-id" + gi="control-id"> - + + as-type="token" + name="by-name" + key="by-name" + gi="by-name"> - + + as-type="token" + name="by-class" + key="by-class" + gi="by-class"> - + + as-type="token" + name="by-id" + key="by-id" + gi="by-id"> - + + as-type="token" + name="by-item-name" + key="by-item-name" + gi="by-item-name"> - + + as-type="token" + name="by-ns" + key="by-ns" + gi="by-ns"> - + + as-type="token" + name="position" + key="position" + default="ending" + gi="position"> - + + as-type="token" + name="by-id" + key="by-id" + gi="by-id"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="defined-component-type" + key="type" + gi="type"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="role-id" + key="role-id" + gi="role-id"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="name" + key="name" + gi="name"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="nonNegativeInteger" + name="start" + key="start" + gi="start"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="nonNegativeInteger" + name="end" + key="end" + gi="end"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="transport" + key="transport" + gi="transport"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri-reference" + name="source" + key="source" + gi="source"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="param-id" + key="param-id" + gi="param-id"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="control-id" + key="control-id" + gi="control-id"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="statement-id" + key="statement-id" + gi="statement-id"> + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="name" + key="name" + gi="name"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="component-uuid" + key="component-uuid" + gi="component-uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri" + name="identifier-type" + key="identifier-type" + gi="identifier-type"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri" + name="system" + key="system" + gi="system"> + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="state" + key="state" + gi="state"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="system-component-type" + key="type" + gi="type"> - + + as-type="token" + name="state" + key="state" + gi="state"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="component-uuid" + key="component-uuid" + gi="component-uuid"> + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="control-id" + key="control-id" + gi="control-id"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="statement-id" + key="statement-id" + gi="statement-id"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="component-uuid" + key="component-uuid" + gi="component-uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="state" + key="state" + gi="state"> + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="provided-uuid" + key="provided-uuid" + gi="provided-uuid"> + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="provided-uuid" + key="provided-uuid" + gi="provided-uuid"> + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="responsibility-uuid" + key="responsibility-uuid" + gi="responsibility-uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="control-id" + key="control-id" + gi="control-id"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="control-id" + key="control-id" + gi="control-id"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="objective-id" + key="objective-id" + gi="objective-id"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="name" + key="name" + gi="name"> - + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="class" + key="class" + gi="class"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="type" + key="type" + gi="type"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="subject-uuid" + key="subject-uuid" + gi="subject-uuid"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="subject-type" + key="type" + gi="type"> - + + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - + + as-type="uuid" + name="component-uuid" + key="component-uuid" + gi="component-uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="type" + key="type" + gi="type"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="date" + key="date" + gi="date"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="start" + key="start" + gi="start"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="end" + key="end" + gi="end"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="positiveInteger" + name="period" + key="period" + gi="period"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="unit" + key="unit" + gi="unit"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="task-uuid" + key="task-uuid" + gi="task-uuid"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="activity-uuid" + key="activity-uuid" + gi="activity-uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="party-uuid" + key="party-uuid" + gi="party-uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="role-id" + key="role-id" + gi="role-id"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="task-uuid" + key="task-uuid" + gi="task-uuid"> - + + as-type="uuid" + name="subject-placeholder-uuid" + key="subject-placeholder-uuid" + gi="subject-placeholder-uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="type" + key="type" + gi="type"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="actor-uuid" + key="actor-uuid" + gi="actor-uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="role-id" + key="role-id" + gi="role-id"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="subject-uuid" + key="subject-uuid" + gi="subject-uuid"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="subject-type" + key="type" + gi="type"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri" + name="system" + key="system" + gi="system"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="name" + key="name" + gi="name"> + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri" + name="system" + key="system" + gi="system"> + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="value" + key="value" + gi="value"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="implementation-uuid" + key="implementation-uuid" + gi="implementation-uuid"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="lifecycle" + key="lifecycle" + gi="lifecycle"> + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="response-uuid" + key="response-uuid" + gi="response-uuid"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="observation-uuid" + key="observation-uuid" + gi="observation-uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="type" + key="type" + gi="type"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="target-id" + key="target-id" + gi="target-id"> - + + as-type="token" + name="state" + key="state" + gi="state"> - + + as-type="token" + name="reason" + key="reason" + gi="reason"> - + + as-type="uuid" + name="observation-uuid" + key="observation-uuid" + gi="observation-uuid"> - + + as-type="uuid" + name="risk-uuid" + key="risk-uuid" + gi="risk-uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + + + + + + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="observation-uuid" + key="observation-uuid" + gi="observation-uuid"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="risk-uuid" + key="risk-uuid" + gi="risk-uuid"> + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -4607,15 +4914,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> published @@ -4625,15 +4932,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> last-modified @@ -4643,15 +4950,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> version @@ -4661,15 +4968,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> oscal-version @@ -4679,8 +4986,8 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -4706,14 +5013,14 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + gi="revisions" + group-json="ARRAY" + name="revision" + key="revisions"> revisions @@ -4721,15 +5028,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -4739,15 +5046,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> published @@ -4757,15 +5064,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> last-modified @@ -4775,15 +5082,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> version @@ -4793,15 +5100,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> oscal-version @@ -4811,15 +5118,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4829,13 +5136,13 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="document-id" + gi="document-id"> @@ -4843,15 +5150,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4860,16 +5167,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -4879,15 +5212,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -4897,37 +5230,37 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4936,16 +5269,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -4955,8 +5334,8 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -4977,29 +5356,29 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> city @@ -5009,15 +5388,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> state @@ -5027,15 +5406,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> postal-code @@ -5045,15 +5424,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> country @@ -5063,27 +5442,27 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="telephone-number" + gi="telephone-number"> @@ -5091,29 +5470,30 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri" + name="url" + deprecated="1.1.0" + gi="url" + in-json="SCALAR"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5122,16 +5502,84 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + name @@ -5141,15 +5589,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -5159,13 +5607,13 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="external-id" + gi="external-id"> @@ -5173,15 +5621,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5191,27 +5639,27 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="telephone-number" + gi="telephone-number"> @@ -5219,8 +5667,8 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -5238,29 +5686,29 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> city @@ -5270,15 +5718,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> state @@ -5288,15 +5736,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> postal-code @@ -5306,15 +5754,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> country @@ -5324,29 +5772,65 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="member-of-organization" + gi="member-of-organization" + in-json="SCALAR"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + + + text + + + + + + + + + + + text + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5356,15 +5840,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5374,15 +5858,15 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="label" + key="label" + gi="label" + in-json="SCALAR"> label @@ -5392,52 +5876,52 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="usage" + key="usage" + gi="usage" + in-json="SCALAR"> usage + group-by="true()"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -5445,15 +5929,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="expression" + key="expression" + gi="expression" + in-json="SCALAR"> expression @@ -5463,29 +5947,29 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="parameter-choice" + gi="choice" + in-json="SCALAR"> + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -5495,15 +5979,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5513,15 +5997,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="label" + key="label" + gi="label" + in-json="SCALAR"> label @@ -5531,52 +6015,52 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="usage" + key="usage" + gi="usage" + in-json="SCALAR"> usage + group-by="true()"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -5584,15 +6068,15 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="expression" + key="expression" + gi="expression" + in-json="SCALAR"> expression @@ -5602,29 +6086,29 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="parameter-choice" + gi="choice" + in-json="SCALAR"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5634,15 +6118,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -5652,15 +6136,124 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + + + text + + + + + + + + + + + mapping + + + + + + + + + + + + + + + + + text + + + + + + + + + + + text + + + + + + + + + + + relationship + + + + + + + + + + + + text + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5670,15 +6263,15 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -5688,15 +6281,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5706,15 +6299,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="label" + key="label" + gi="label" + in-json="SCALAR"> label @@ -5724,52 +6317,52 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="usage" + key="usage" + gi="usage" + in-json="SCALAR"> usage + group-by="true()"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -5777,15 +6370,15 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="expression" + key="expression" + gi="expression" + in-json="SCALAR"> expression @@ -5795,29 +6388,29 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="parameter-choice" + gi="choice" + in-json="SCALAR"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5827,15 +6420,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -5845,15 +6438,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5863,15 +6456,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -5881,15 +6474,15 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5899,15 +6492,15 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="label" + key="label" + gi="label" + in-json="SCALAR"> label @@ -5917,52 +6510,52 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="usage" + key="usage" + gi="usage" + in-json="SCALAR"> usage + group-by="true()"> + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -5970,15 +6563,15 @@ + priority="14" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="expression" + key="expression" + gi="expression" + in-json="SCALAR"> expression @@ -5988,29 +6581,29 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="parameter-choice" + gi="choice" + in-json="SCALAR"> + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6020,15 +6613,15 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -6038,15 +6631,15 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6055,88 +6648,197 @@ - + - + + + mapping + - - - - - - - - - - - - - - - - - - - + + + - - - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + - + - description + text - - + + + + + + + + + + relationship + + + + + + + + + + + + text + + + + + + + + + + + text + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + title + + + + + + + + + + + description + + + + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="document-id" + gi="document-id"> @@ -6144,8 +6846,8 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -6169,15 +6871,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6187,15 +6889,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6205,8 +6907,8 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -6221,14 +6923,14 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="base64Binary" + name="base64" + key="base64" + gi="base64"> base64 @@ -6239,16 +6941,16 @@ - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -6257,16 +6959,16 @@ - + + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> published @@ -6275,16 +6977,16 @@ - + + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> last-modified @@ -6293,16 +6995,16 @@ - + + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> version @@ -6311,16 +7013,16 @@ - + + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> oscal-version @@ -6329,9 +7031,9 @@ - + @@ -6356,31 +7058,31 @@ - + + gi="revisions" + group-json="ARRAY" + name="revision" + key="revisions"> revisions - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -6389,16 +7091,16 @@ - + + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> published @@ -6407,16 +7109,16 @@ - + + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> last-modified @@ -6425,16 +7127,16 @@ - + + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> version @@ -6443,16 +7145,16 @@ - + + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> oscal-version @@ -6461,16 +7163,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6479,30 +7181,30 @@ - + + as-type="string" + name="document-id" + gi="document-id"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6511,16 +7213,42 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -6529,16 +7257,16 @@ - + + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -6547,38 +7275,38 @@ - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6587,16 +7315,62 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -6605,9 +7379,9 @@ - + @@ -6627,30 +7401,30 @@ - + + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> - + + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> city @@ -6659,16 +7433,16 @@ - + + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> state @@ -6677,16 +7451,16 @@ - + + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> postal-code @@ -6695,16 +7469,16 @@ - + + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> country @@ -6713,58 +7487,59 @@ - + + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> - + + as-type="string" + name="telephone-number" + gi="telephone-number"> - + + as-type="uri" + name="url" + deprecated="1.1.0" + gi="url" + in-json="SCALAR"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6773,34 +7548,102 @@ - - - - - name - - - - - - - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + name + + + + + + + + + short-name @@ -6809,30 +7652,30 @@ - + + as-type="string" + name="external-id" + gi="external-id"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6841,37 +7684,37 @@ - + + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> - + + as-type="string" + name="telephone-number" + gi="telephone-number"> - + @@ -6888,30 +7731,30 @@ - + + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> - + + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> city @@ -6920,16 +7763,16 @@ - + + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> state @@ -6938,16 +7781,16 @@ - + + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> postal-code @@ -6956,16 +7799,16 @@ - + + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> country @@ -6974,30 +7817,30 @@ - + + as-type="uuid" + name="member-of-organization" + gi="member-of-organization" + in-json="SCALAR"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7006,185 +7849,124 @@ - - - - - - - - - - - - - - - - - - - - - + - - + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> + + text + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - combine + text - - + + + + - + - + - flat + text - + + + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - as-is + text - - + + - + - + - custom + text - - - - - - - - - - - - - - - + + + + - + + as-type="token" + name="relationship" + key="relationship" + gi="relationship"> - title + relationship - - + + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7193,71 +7975,1404 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - label + text - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + title + + + + + + + + + + + description + + + + + + + + + + + + + + + + + + + + + + citation + + + + + + + + + + + + + + + + + + + + + + + text + + + + + + + + + + + text + + + + + + + + + + + + + + + + + + + + + + + + + base64 + + + + + + + + + + + + + title + + + + + + + + + + + published + + + + + + + + + + + last-modified + + + + + + + + + + + version + + + + + + + + + + + oscal-version + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + revisions + + + + + + + + + title + + + + + + + + + + + published + + + + + + + + + + + last-modified + + + + + + + + + + + version + + + + + + + + + + + oscal-version + + + + + + + + + + + text + + + + + + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + title + + + + + + + + + + + short-name + + + + + + + + + + + description + + + + + + + + + + + + + text + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + title + + + + + + + + + + + address + + + + + + + + + + + + + + + + + + + + + + + + + + + + city + + + + + + + + + + + state + + + + + + + + + + + postal-code + + + + + + + + + + + country + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + name + + + + + + + + + + + short-name + + + + + + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + city + + + + + + + + + + + state + + + + + + + + + + + postal-code + + + + + + + + + + + country + + + + + + + + + + + + + + + + + + + text + + + + + + + + + + + text + + + + + + + + + + + text + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + combine + + + + + + + + + flat + + + + + + + + as-is + + + + + + + + + + + custom + + + + + + + + + + + + + + + + + + + + + + title + + + + + + + + + + + text + + + + + + + + + + + label + + + + + + + + + usage + group-by="true()"> + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -7265,15 +9380,15 @@ + priority="14" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="expression" + key="expression" + gi="expression" + in-json="SCALAR"> expression @@ -7283,29 +9398,29 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="parameter-choice" + gi="choice" + in-json="SCALAR"> + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7315,15 +9430,15 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -7333,15 +9448,15 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7351,8 +9466,8 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -7373,30 +9488,30 @@ + priority="15" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="with-id" + gi="with-id" + in-json="SCALAR"> + priority="15" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -7417,30 +9532,30 @@ + priority="14" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="with-id" + gi="with-id" + in-json="SCALAR"> + priority="14" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -7461,30 +9576,30 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="with-id" + gi="with-id" + in-json="SCALAR"> + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -7505,30 +9620,30 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="with-id" + gi="with-id" + in-json="SCALAR"> + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -7575,15 +9690,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7593,15 +9708,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="label" + key="label" + gi="label" + in-json="SCALAR"> label @@ -7611,52 +9726,52 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="usage" + key="usage" + gi="usage" + in-json="SCALAR"> usage + group-by="true()"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -7664,15 +9779,15 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="expression" + key="expression" + gi="expression" + in-json="SCALAR"> expression @@ -7682,29 +9797,101 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="parameter-choice" + gi="choice" + in-json="SCALAR"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -7714,15 +9901,15 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7732,15 +9919,15 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="label" + key="label" + gi="label" + in-json="SCALAR"> label @@ -7750,52 +9937,52 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="usage" + key="usage" + gi="usage" + in-json="SCALAR"> usage + group-by="true()"> + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -7803,15 +9990,15 @@ + priority="14" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="expression" + key="expression" + gi="expression" + in-json="SCALAR"> expression @@ -7821,29 +10008,29 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="parameter-choice" + gi="choice" + in-json="SCALAR"> + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7853,15 +10040,15 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -7871,15 +10058,15 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7889,8 +10076,8 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -7923,15 +10110,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -7941,35 +10128,35 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="document-id" + gi="document-id"> @@ -7977,8 +10164,8 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -8002,15 +10189,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8020,15 +10207,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8038,8 +10225,8 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -8054,14 +10241,14 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="base64Binary" + name="base64" + key="base64" + gi="base64"> base64 @@ -8073,15 +10260,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -8091,15 +10278,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> published @@ -8109,15 +10296,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> last-modified @@ -8127,15 +10314,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> version @@ -8145,15 +10332,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> oscal-version @@ -8163,8 +10350,8 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -8190,14 +10377,14 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + gi="revisions" + group-json="ARRAY" + name="revision" + key="revisions"> revisions @@ -8205,15 +10392,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -8223,15 +10410,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> published @@ -8241,15 +10428,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> last-modified @@ -8259,15 +10446,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> version @@ -8277,15 +10464,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> oscal-version @@ -8295,15 +10482,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8313,13 +10500,13 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="document-id" + gi="document-id"> @@ -8327,15 +10514,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8344,16 +10531,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -8363,15 +10576,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -8381,37 +10594,37 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8420,16 +10633,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -8439,8 +10698,8 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -8461,29 +10720,29 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> city @@ -8493,15 +10752,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> state @@ -8511,15 +10770,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> postal-code @@ -8529,15 +10788,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> country @@ -8547,27 +10806,27 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="telephone-number" + gi="telephone-number"> @@ -8575,29 +10834,30 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri" + name="url" + deprecated="1.1.0" + gi="url" + in-json="SCALAR"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8606,16 +10866,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="name" + key="name" + gi="name" + in-json="SCALAR"> name @@ -8625,15 +10953,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -8643,13 +10971,13 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="external-id" + gi="external-id"> @@ -8657,15 +10985,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8675,27 +11003,27 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="telephone-number" + gi="telephone-number"> @@ -8703,8 +11031,8 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -8722,29 +11050,29 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> city @@ -8754,15 +11082,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> state @@ -8772,15 +11100,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> postal-code @@ -8790,15 +11118,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> country @@ -8808,29 +11136,65 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="member-of-organization" + gi="member-of-organization" + in-json="SCALAR"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + + + text + + + + + + + + + + + text + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8840,15 +11204,15 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -8858,37 +11222,37 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="purpose" + key="purpose" + gi="purpose" + in-json="SCALAR"> purpose @@ -8898,15 +11262,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8916,15 +11280,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8934,15 +11298,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -8952,8 +11316,8 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -8990,37 +11354,37 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -9030,22 +11394,22 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="parameter-value" + gi="value" + in-json="SCALAR"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -9090,37 +11454,37 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -9130,29 +11494,29 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="parameter-value" + gi="value" + in-json="SCALAR"> + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -9162,8 +11526,8 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -9194,37 +11558,37 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -9234,15 +11598,15 @@ + priority="15" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -9252,37 +11616,37 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -9292,30 +11656,30 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -9352,37 +11716,37 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -9392,22 +11756,22 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="parameter-value" + gi="value" + in-json="SCALAR"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -9452,37 +11816,37 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -9492,29 +11856,29 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="parameter-value" + gi="value" + in-json="SCALAR"> + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -9524,8 +11888,8 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -9556,37 +11920,37 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -9596,15 +11960,15 @@ + priority="15" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -9614,8 +11978,8 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -9648,15 +12012,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -9666,35 +12030,35 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="document-id" + gi="document-id"> @@ -9702,8 +12066,8 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -9727,15 +12091,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -9745,15 +12109,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -9763,8 +12127,8 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -9779,14 +12143,14 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="base64Binary" + name="base64" + key="base64" + gi="base64"> base64 @@ -9798,15 +12162,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -9816,15 +12180,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> published @@ -9834,15 +12198,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> last-modified @@ -9852,15 +12216,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> version @@ -9870,15 +12234,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> oscal-version @@ -9888,8 +12252,8 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -9915,14 +12279,14 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + gi="revisions" + group-json="ARRAY" + name="revision" + key="revisions"> revisions @@ -9930,15 +12294,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -9948,15 +12312,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> published @@ -9966,15 +12330,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> last-modified @@ -9984,15 +12348,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> version @@ -10002,15 +12366,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> oscal-version @@ -10020,15 +12384,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -10038,13 +12402,13 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="document-id" + gi="document-id"> @@ -10052,15 +12416,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -10069,16 +12433,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -10088,15 +12478,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -10106,37 +12496,37 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -10145,16 +12535,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -10164,8 +12600,8 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -10186,29 +12622,29 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> city @@ -10218,15 +12654,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> state @@ -10236,15 +12672,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> postal-code @@ -10254,15 +12690,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> country @@ -10272,27 +12708,27 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="telephone-number" + gi="telephone-number"> @@ -10300,29 +12736,30 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri" + name="url" + deprecated="1.1.0" + gi="url" + in-json="SCALAR"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -10331,16 +12768,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="name" + key="name" + gi="name" + in-json="SCALAR"> name @@ -10350,15 +12855,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -10368,13 +12873,13 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="external-id" + gi="external-id"> @@ -10382,15 +12887,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -10400,27 +12905,27 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="telephone-number" + gi="telephone-number"> @@ -10428,8 +12933,8 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -10447,29 +12952,29 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> city @@ -10479,15 +12984,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> state @@ -10497,15 +13002,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> postal-code @@ -10515,15 +13020,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> country @@ -10533,29 +13038,65 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="member-of-organization" + gi="member-of-organization" + in-json="SCALAR"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + + + text + + + + + + + + + + + text + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -10565,15 +13106,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="system-name" + key="system-name" + gi="system-name" + in-json="SCALAR"> system-name @@ -10583,15 +13124,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="system-name-short" + key="system-name-short" + gi="system-name-short" + in-json="SCALAR"> system-name-short @@ -10601,37 +13142,37 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -10641,15 +13182,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="date" + name="date-authorized" + key="date-authorized" + gi="date-authorized" + in-json="SCALAR"> date-authorized @@ -10659,15 +13200,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="security-sensitivity-level" + key="security-sensitivity-level" + gi="security-sensitivity-level" + in-json="SCALAR"> security-sensitivity-level @@ -10677,15 +13218,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -10695,8 +13236,8 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -10729,15 +13270,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -10747,30 +13288,30 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -10784,29 +13325,29 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="information-type-id" + gi="information-type-id" + in-json="SCALAR"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -10815,45 +13356,16 @@ - - - - - confidentiality-impact - - - - - - - - - - - - - - - - - - - - + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -10863,15 +13375,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="base" + key="base" + gi="base" + in-json="SCALAR"> base @@ -10881,15 +13393,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="selected" + key="selected" + gi="selected" + in-json="SCALAR"> selected @@ -10899,66 +13411,37 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="adjustment-justification" + key="adjustment-justification" + gi="adjustment-justification" + in-json="SCALAR"> adjustment-justification + group-by="true()"> - - - - - integrity-impact - - - - - - - - - - - - - - - - - - - - + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -10968,15 +13451,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="base" + key="base" + gi="base" + in-json="SCALAR"> base @@ -10986,15 +13469,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="selected" + key="selected" + gi="selected" + in-json="SCALAR"> selected @@ -11004,66 +13487,37 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="adjustment-justification" + key="adjustment-justification" + gi="adjustment-justification" + in-json="SCALAR"> adjustment-justification + group-by="true()"> - - - - - availability-impact - - - - - - - - - - - - - - - - - - - - + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -11073,15 +13527,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="base" + key="base" + gi="base" + in-json="SCALAR"> base @@ -11091,15 +13545,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="selected" + key="selected" + gi="selected" + in-json="SCALAR"> selected @@ -11109,37 +13563,37 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="adjustment-justification" + key="adjustment-justification" + gi="adjustment-justification" + in-json="SCALAR"> adjustment-justification + group-by="true()"> + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="security-objective-confidentiality" + key="security-objective-confidentiality" + gi="security-objective-confidentiality" + in-json="SCALAR"> security-objective-confidentiality @@ -11149,15 +13603,15 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="security-objective-integrity" + key="security-objective-integrity" + gi="security-objective-integrity" + in-json="SCALAR"> security-objective-integrity @@ -11167,15 +13621,15 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="security-objective-availability" + key="security-objective-availability" + gi="security-objective-availability" + in-json="SCALAR"> security-objective-availability @@ -11185,8 +13639,8 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -11197,37 +13651,37 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -11237,37 +13691,37 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -11277,15 +13731,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="caption" + key="caption" + gi="caption" + in-json="SCALAR"> caption @@ -11295,37 +13749,37 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -11335,37 +13789,37 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -11375,15 +13829,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="caption" + key="caption" + gi="caption" + in-json="SCALAR"> caption @@ -11393,37 +13847,37 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -11433,37 +13887,37 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -11473,15 +13927,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="caption" + key="caption" + gi="caption" + in-json="SCALAR"> caption @@ -11491,15 +13945,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -11509,15 +13963,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -11527,8 +13981,8 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -11553,15 +14007,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -11571,15 +14025,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -11589,15 +14043,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="party-uuid" + key="party-uuid" + gi="party-uuid" + in-json="SCALAR"> party-uuid @@ -11607,15 +14061,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="date" + name="date-authorized" + key="date-authorized" + gi="date-authorized" + in-json="SCALAR"> date-authorized @@ -11625,15 +14079,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -11643,15 +14097,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -11661,37 +14115,37 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -11701,15 +14155,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -11719,37 +14173,37 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -11759,55 +14213,392 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + + + description + + + + + + + + + + + + + purpose + + + + + + + + + + + text + + + + + + + + + + + status + + + + + + + + + + text + + + + + + + + + + + title + + + + + + + + + + + description + + + + + + + + + + + + + text + + + + + + + + + + + text + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text + + + + + + + + + + + text + + + + + + + + + + + control-implementation + + + + + + + + + + + + + + + + + + + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - purpose + text - + + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -11816,28 +14607,54 @@ - + - - - status - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -11846,56 +14663,56 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -11904,30 +14721,29 @@ - + - - text - - - + as-type="string" + name="parameter-value" + gi="value" + in-json="SCALAR"> + + - + - - + + + export + + @@ -11942,8 +14758,15 @@ - - + + + + + + + + + @@ -11952,34 +14775,38 @@ - + - + - text + description - - + + + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -11988,76 +14815,103 @@ - + - - - control-implementation - + + - - + + - - + + + + + + + + + + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + - - + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> + + text + + + - + - + + + text + + + + + + + + + - + + @@ -12072,47 +14926,137 @@ - - + + - - + + + + + + + + description + + + + + + + + + + + + + text + + + + + + + + + + + text + + + + + + + + + + + + + + - - + + - - + + - - + + + + + description + + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -12121,30 +15065,16 @@ - - - - - - - - - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -12153,13 +15083,14 @@ - + - - + + + @@ -12181,26 +15112,41 @@ - - - - - - - - + + + + + description + + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -12209,16 +15155,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -12227,38 +15173,56 @@ - + + + + + text + + + + + + + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -12267,23 +15231,23 @@ - + + as-type="string" + name="parameter-value" + gi="value" + in-json="SCALAR"> - + @@ -12321,38 +15285,38 @@ - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -12361,9 +15325,9 @@ - + @@ -12392,38 +15356,38 @@ - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -12432,16 +15396,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -12450,9 +15414,9 @@ - + @@ -12482,38 +15446,38 @@ - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -12522,16 +15486,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -12540,9 +15504,9 @@ - + @@ -12571,72 +15535,269 @@ - + + + + + description + + + + + + + + + + + + + text + + + + + + + + + + + text + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + description + + + + + + + + + + + + + text + + + + + + + + + + + text + + + + + + + + + + + text + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + title + + + + + + + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + - - text - - - + as-type="string" + name="document-id" + gi="document-id"> + + + - + - + - text + citation - - - - - - - - - - - + @@ -12651,48 +15812,36 @@ - - - - - - - - - + - + - description + text - - - - + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -12701,105 +15850,141 @@ - + + + + + + + + + + + + + + + + as-type="base64Binary" + name="base64" + key="base64" + gi="base64"> - text + base64 - - + + + + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - text + title - + - + - description + published - - - - + + - + + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> - text + last-modified - - + + - + + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> + + version + - + - + - export + oscal-version - + + + + + + + + + + + + + @@ -12814,126 +15999,124 @@ - - - - - - - - - - - - - - - + - + - description + revisions - - - - - - + + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - text + title - + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + published + + + + + - + - + - description + last-modified - - - - + + - + + + + + version + + + + + + + + + + + oscal-version + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -12942,16 +16125,30 @@ - + + + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -12960,13 +16157,14 @@ - + - - - + + + + @@ -12982,155 +16180,77 @@ - - - - - - - - - - - - description - - - - - - - - - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - text + title - + + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> - text + short-name - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - - - - - text - - - - - - - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -13139,30 +16259,44 @@ - + - + - - - - + + + + - - + + - - + + + + + + + + + + + + + + + + @@ -13171,179 +16305,209 @@ - + - + - description + title - - - - + + - + - + - text + address - - + + + + + + + + + + + + + + + + + + + - + + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> - text + city - - + + - + + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> - text + state - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> - title + postal-code - - + + - + - + - description + country - - - - + + + + + + + + + + + + + + + + + + + - + - - + as-type="uri" + name="url" + deprecated="1.1.0" + gi="url" + in-json="SCALAR"> + - + - + - citation + text - + + + + + + + + + + + + + + + + + + + @@ -13358,311 +16522,269 @@ - - - - - - - text - - - - - - - - - - - text - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + as-type="string" + name="name" + key="name" + gi="name" + in-json="SCALAR"> - base64 + name - - - + - + + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> - title + short-name - - + + - + - - published - - + as-type="string" + name="external-id" + gi="external-id"> + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - last-modified + text - - + + - + - - version - - + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> + - + - - oscal-version - - + as-type="string" + name="telephone-number" + gi="telephone-number"> + + - + - - - - - - - - - - - - - - - + + + + - + + + + - + - - - revisions - - - + + + + + - + + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> - title + city - - + + - + + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> - published + state - + - + + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> - last-modified + postal-code - + - + + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> - version + country - + - - oscal-version - - + as-type="uuid" + name="member-of-organization" + gi="member-of-organization" + in-json="SCALAR"> + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -13671,30 +16793,16 @@ - - - - - - - - - - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -13703,260 +16811,312 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + + + + + local-definitions + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - short-name + title - - + + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="purpose" + key="purpose" + gi="purpose" + in-json="SCALAR"> - text + purpose - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + - + - address + status - - - - - - - - - - - - + + - - - - - - - - - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - city + text - - + + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - state + title - - + + - + - + - postal-code + description - - + + + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - country + text - - + + - + - - + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> + + text + + + - + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> + + text + + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -13965,34 +17125,34 @@ - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - name + title - - + + - + + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -14001,30 +17161,38 @@ - + - - - - + + + description + + + + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -14032,164 +17200,173 @@ - - - - - - - - - - + + - - - + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> + + title + + + - + - - - - - - - - - - - - - - + + + description + + + + + + + - + - - - + + + description + + + + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - city + text - - + + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - state + title - - + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - postal-code + text - - + + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - country + title - - + + - + - - - + + + description + + + + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -14198,46 +17375,31 @@ - + - - - local-definitions - - - - - - - - - - - - - - - - - + + + + + + - - + + - - + + + @@ -14246,16 +17408,16 @@ - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -14264,56 +17426,78 @@ - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - purpose + text - + + + + + description + + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -14322,118 +17506,148 @@ - + - - - status - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - text + description - - + + + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + - - - description - - - - - - - + + + + + + + + + + - + - - text - - - + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> + + - + + + + + + + + + + + + + + - - text - - - + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> + + - + - - + + @@ -14448,8 +17662,16 @@ - - + + + + + + + + + + @@ -14458,34 +17680,38 @@ - + - + - text + description - - + + + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -14494,74 +17720,56 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - - - - - short-name - - - - - - - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -14570,78 +17778,76 @@ - - - - - title - - - - - - - + - - - description - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -14650,92 +17856,152 @@ - + + + + + + + + + + + + + + - - title - - - + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> + + - + + + + + + + + + + + + + + - - text - - - + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> + + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - title + description - - + + + + - + - + - description + text - - - - + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -14744,49 +18010,35 @@ - + - - - - - - - - - - - - - - - - - - - - - + + + terms-and-conditions + + + - - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -14795,38 +18047,16 @@ - - - - - description - - - - - - - - - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -14835,38 +18065,38 @@ - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -14875,9 +18105,9 @@ - + @@ -14913,38 +18143,38 @@ - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -14953,9 +18183,9 @@ - + @@ -14968,23 +18198,23 @@ - + + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> - + @@ -14997,23 +18227,23 @@ - + + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> - + @@ -15049,38 +18279,38 @@ - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -15089,16 +18319,38 @@ - + + + + + description + + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -15107,38 +18359,110 @@ - + + + + + text + + + + + + + + + + + text + + + + + + + + + + + title + + + + + + + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + + + + purpose + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -15147,12 +18471,127 @@ - + + + + + status + + + + + + + + + + text + + + + + + + + + + + title + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + title + + + + + + + + + + + text + + + + + + + - - + + @@ -15167,16 +18606,8 @@ - - - - - - - - - - + + @@ -15185,38 +18616,92 @@ - + + + + + text + + + + + + + + + + + text + + + + + + + + + + + title + + + + + + + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -15225,70 +18710,75 @@ - + - - - - - - - - - + + + timing + + + + - + - - - - - + + + on-date + + + - + - - - - - - - - - + + + within-date-range + + + - + - - - - - + + + at-frequency + + + + - + - - + + + + + + + + + @@ -15303,16 +18793,15 @@ - - - + + - - + + @@ -15321,38 +18810,74 @@ - + + + + + text + + + + + + + + + + + text + + + + + + + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -15361,16 +18886,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -15379,53 +18904,74 @@ - + - + - terms-and-conditions + text - - - - - - - - + + + + - + + + + + description + + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -15434,38 +18980,34 @@ - + - + - description + text - - - - + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -15474,11 +19016,13 @@ - + - + + + @@ -15487,108 +19031,97 @@ - - - - - - - - - - + + - - + + + + - + + + + + title + + + + + + + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + - - text - - - + as-type="string" + name="document-id" + gi="document-id"> + + + - + - - - - + + + citation + + + + - - - - - - - - - - - - - - - - + + @@ -15596,184 +19129,219 @@ - + - - + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> + + text + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + text + + + + + + + + + + + + + - - + - + - description + base64 - - - - + + + + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - text + title - + - + - description + published - - - - + + - + + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> - text + last-modified - - + + - + + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> - text + version - - + + - + + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> - text + oscal-version - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + revisions + + + + + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -15782,86 +19350,88 @@ - + - + - description + published - - - - + + - + + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> - purpose + last-modified - - + + - + + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> - text + version - - + + - + - + - status + oscal-version - - - + + + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -15870,31 +19440,47 @@ - + + + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + - - + + + + @@ -15909,26 +19495,19 @@ - - - - - - - - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -15937,16 +19516,56 @@ - + + + + + short-name + + + + + + + + + + + description + + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -15955,28 +19574,44 @@ - + - - - - + + + + + + - - + + - - + + + + + + + + + + + + + + + + @@ -15985,169 +19620,209 @@ - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - text + title - + - + - text + address - - + + + + + + + + + + + + + + + + + + + - + + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> - title + city - - + + - + - + - description + state - - - - + + - + + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> - text + postal-code - - + + - + - + - timing + country - - - - + + + + - + - - - on-date - - - + + + + + - + - - - within-date-range - - - - + + + + + + - + - - - at-frequency - - - - + + + + + - + - - - - + + + text + + + + + - + - - + + + + + + + + + + + + @@ -16162,15 +19837,36 @@ - - + + - - + + + + + + + + + + + + + + + + + + + + + + + @@ -16179,74 +19875,66 @@ - + + as-type="string" + name="name" + key="name" + gi="name" + in-json="SCALAR"> - text + name - - + + - + + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> - text + short-name - - + + - + - - - description - - - - - + + + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -16255,92 +19943,163 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> - text + city - - + + - + + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> - text + state - - + + - + - + - description + postal-code - - - - + + - + + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> - text + country - - + + - + + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -16349,16 +20108,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -16367,16 +20126,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -16385,147 +20144,159 @@ - + - - - - - - - - - - - - - + + + local-definitions + + + - - - + + - - - - - - title - - - - - - - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + - - - + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> + + text + + + - + - + - citation + title - - - - - - - - - - - - - - - - + + + + + + + + + + text + + + + + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - text + title - + + + + + description + + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -16534,51 +20305,49 @@ - + - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - - base64 - - - - - - - - - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -16587,88 +20356,92 @@ - + - + - published + description - - + + + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - last-modified + text - - + + - + - + - version + description - - + + + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - oscal-version + text - - + + - + - - - - - - + + @@ -16683,124 +20456,192 @@ + + + + + + + + + + + + + + + - + - + - revisions + description - - + + + + + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + - - - published - - - - - + + + + + + + + + + - + - - last-modified - - + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> + - + + + + + + + + + + + + + + - - version - - + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - oscal-version + description - - + + + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -16809,30 +20650,16 @@ - - - - - - - - - - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -16841,74 +20668,116 @@ - + - + - title + description - - + + + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - short-name + text - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -16917,184 +20786,152 @@ - - - - - title - - - - - - - + - - - address - - - - + + + + - - - - - + - + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> + - + - - - city - - - - - + + + + + + + + + + - + - - state - - + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> + - + - - - postal-code - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - country + description - - - - - - - - - - - - - - - - - - - + + + + - + - - + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> + + text + + + - - + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -17103,231 +20940,239 @@ - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - name + title - - + + - + - + - short-name + description - - + + + + - + - - + as-type="dateTime-with-timezone" + name="start" + key="start" + gi="start" + in-json="SCALAR"> + + start + + - + + as-type="dateTime-with-timezone" + name="end" + key="end" + gi="end" + in-json="SCALAR"> - text + end - - - - - - - - - + - + - - - + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> + + text + + + - + - - - - + + + local-definitions + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - city + title - - + + - + - + - state + description - - + + + + - + + as-type="markup-line" + name="purpose" + key="purpose" + gi="purpose" + in-json="SCALAR"> - postal-code + purpose - - + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - country + text - - + + - + - - - - - + + + status + + + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -17336,65 +21181,56 @@ - + - + - local-definitions + title - - - - - - - - - - - - - - - - + + + + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -17403,34 +21239,82 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -17439,16 +21323,16 @@ - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -17457,38 +21341,56 @@ - + + + + + short-name + + + + + + + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -17497,49 +21399,16 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -17548,156 +21417,96 @@ - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - text + title - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="purpose" + key="purpose" + gi="purpose" + in-json="SCALAR"> - text + purpose - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - description - - - - - - - - - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -17706,70 +21515,61 @@ - + - - - - - - - - - + + + status + + + - + - - + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> + + text + + + - - - - - - - - - - - - - - + - - + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> + + title + + + - + - - + + + @@ -17784,16 +21584,8 @@ - - - - - - - - - - + + @@ -17802,96 +21594,34 @@ - - - - - description - - - - - - - - - - - - - text - - - - - - - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - text + title - - - - - description - - - - - - - - - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -17900,12 +21630,12 @@ - + - - + + @@ -17920,16 +21650,8 @@ - - - - - - - - - - + + @@ -17938,38 +21660,92 @@ - + + + + + text + + + + + + + + + + + text + + + + + + + + + + + title + + + + + + + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -17978,70 +21754,75 @@ - + - - - - - - - - - + + + timing + + + + - + - - - - - + + + on-date + + + - + - - - - - - - - - + + + within-date-range + + + - + - - - - - + + + at-frequency + + + + - + - - + + + + + + + + + @@ -18056,16 +21837,15 @@ - - - + + - - + + @@ -18074,38 +21854,16 @@ - - - - - description - - - - - - - - - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -18114,16 +21872,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -18132,92 +21890,56 @@ - - - - - title - - - - - - - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - - - - - start - - - - - - - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - end + text - - + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -18226,115 +21948,74 @@ - - - - - local-definitions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - purpose + text - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -18343,28 +22024,16 @@ - - - - - status - - - - - - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -18373,74 +22042,56 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - - - - - text - - - - - - - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -18449,12 +22100,12 @@ - + - - + + @@ -18469,8 +22120,16 @@ - - + + + + + + + + + + @@ -18479,34 +22138,38 @@ - + - + - text + description - - + + + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -18515,220 +22178,209 @@ - + - - - title - - - - - + + + + + + + + + + - + - - short-name - - + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> + - + - - - description - - - - - - - + + + + + + + + + + - + - - text - - - + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> + + - + - - - title - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + - - - description - - - - - - - + + + + + + + + + + + + + + + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - purpose + text - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - text + title - - - - - status - - - - - - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -18737,31 +22389,33 @@ - + - + - title + assessment-log - - - - + + + + + + + + - + - + + + + @@ -18776,8 +22430,15 @@ - - + + + + + + + + + @@ -18786,16 +22447,16 @@ - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -18804,64 +22465,74 @@ - + + + + + description + + + + + + + + + + as-type="dateTime-with-timezone" + name="start" + key="start" + gi="start" + in-json="SCALAR"> - text + start - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - + + + end + + + + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -18870,16 +22541,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -18888,56 +22559,56 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -18946,96 +22617,53 @@ - - - - - timing - - - - - - - + - + - on-date + text - - + + + + - + - + - within-date-range + text - - - + + + + - + - + - at-frequency + identified-subject - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -19043,37 +22671,40 @@ - - + - + - text + description - - + + + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -19082,38 +22713,16 @@ - - - - - description - - - - - - - - - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -19122,16 +22731,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -19140,56 +22749,56 @@ - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - text + title - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -19198,16 +22807,44 @@ - + + + + + + + + + + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -19216,16 +22853,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -19234,16 +22871,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -19252,38 +22889,38 @@ - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -19292,76 +22929,34 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - description + text - - - - + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -19370,134 +22965,58 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + identified-subject + + + + - - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -19506,37 +23025,16 @@ - - - - - - - - - - - - - - - - - - - - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -19545,34 +23043,16 @@ - - - - - title - - - - - - - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -19581,33 +23061,14 @@ - - - - - assessment-log - - - - - - - - - - - + - - + + + - - - @@ -19622,15 +23083,61 @@ - - + + + + + + + + title + + + + + + + + + + + text + + + + + + + + + + + + + - - + + @@ -19639,16 +23146,92 @@ - + + + + + description + + + + + + + + + + + + + text + + + + + + + + + + + collected + + + + + + + + + + + expires + + + + + + + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -19657,74 +23240,78 @@ - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + - + - start + statement - - + + + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - end + text - - + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -19733,16 +23320,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -19751,16 +23338,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -19769,38 +23356,38 @@ - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -19809,16 +23396,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -19827,16 +23414,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -19845,13 +23432,13 @@ - + + key="identified-subject" + gi="identified-subject"> identified-subject @@ -19865,38 +23452,38 @@ - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -19905,16 +23492,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -19923,16 +23510,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -19941,56 +23528,52 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + - + - description + text - - - - + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -19999,44 +23582,56 @@ - + - - + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> + + text + + + - + - - - + + + description + + + + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -20045,16 +23640,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -20063,16 +23658,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -20081,38 +23676,58 @@ - + + + + + identified-subject + + + + + + + + + + + + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -20121,16 +23736,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -20139,16 +23754,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -20157,17 +23772,71 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + - identified-subject + text - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -20177,74 +23846,38 @@ - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - - - - - text - - - - - - - - - - - text - - - - - - - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -20253,9 +23886,9 @@ - + @@ -20278,16 +23911,16 @@ - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -20296,16 +23929,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -20314,12 +23947,32 @@ - + - - + + + deadline + + + + + + + + + + + + @@ -20335,41 +23988,80 @@ + + + + + + + + + + + + + + + + + + + + + - + + + + + title + + + + + + + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -20378,114 +24070,92 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - collected + text - - + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - expires + text - - + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - - - - - - - - - - statement - - - + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -20494,16 +24164,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -20512,16 +24182,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -20530,56 +24200,58 @@ - + - + - text + identified-subject - - - - + + + + + + + + + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -20588,16 +24260,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -20606,16 +24278,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -20624,17 +24296,12 @@ - + - - - identified-subject - - + + @@ -20642,76 +24309,78 @@ + + + + + + + + + + + + + + + + + - - - - - description - - - - - - - - - + - - - text - - - - - + + + + + + + + + + + + + + + + + + + + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - text + title - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -20720,52 +24389,56 @@ - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - text + title - + - + - text + description - - + + + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -20774,56 +24447,56 @@ - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - text + title - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -20832,53 +24505,96 @@ - + - + - text + timing - - - - + + + + - + - + - text + on-date - - - - + + - + - + - identified-subject + within-date-range - + + + + + + + + + at-frequency + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -20886,40 +24602,37 @@ + - + - + - description + text - - - - + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -20928,16 +24641,38 @@ - + + + + + description + + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -20946,16 +24681,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -20964,41 +24699,16 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -21007,130 +24717,74 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - - - - - - - - - - - - - - - - - - - - - - - - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -21139,33 +24793,51 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - deadline + text - - + + - + - + + + risk-log + + + + + + + + + + + + + - + + @@ -21180,22 +24852,16 @@ - - - - - - - - - + + - - + + + @@ -21204,16 +24870,16 @@ - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -21222,92 +24888,74 @@ - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - - - - - text - - - - - - - + + as-type="dateTime-with-timezone" + name="start" + key="start" + gi="start" + in-json="SCALAR"> - text + start - - + + - + + as-type="dateTime-with-timezone" + name="end" + key="end" + gi="end" + in-json="SCALAR"> - text + end - - + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -21316,38 +24964,46 @@ - + - - - description - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -21356,16 +25012,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -21374,16 +25030,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -21392,58 +25048,38 @@ - - - - - identified-subject - - - - - - - - - - - - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -21452,16 +25088,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -21470,16 +25106,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -21488,12 +25124,17 @@ - + - - + + + identified-subject + + @@ -21501,78 +25142,40 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - title + description - - + + + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -21581,56 +25184,34 @@ - + - - title - - - - - - - - - + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - description + text - - - - + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -21639,16 +25220,24 @@ - + + + + + + + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -21657,38 +25246,38 @@ - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -21697,116 +25286,34 @@ - - - - - timing - - - - - - - - - - - on-date - - - - - - - - - within-date-range - - - - - - + - + - at-frequency + text - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -21815,16 +25322,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -21833,38 +25340,38 @@ - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -21873,16 +25380,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -21891,16 +25398,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -21909,38 +25416,58 @@ - + + + + + identified-subject + + + + + + + + + + + + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -21949,16 +25476,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -21967,16 +25494,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -21985,16 +25512,56 @@ - + + + + + title + + + + + + + + + + + description + + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -22003,33 +25570,61 @@ - + - + - risk-log + status - - - - - - - + + + - + - + + + implementation-statement-uuid + + + + + + + + + + + + + + + + + + + + + - - @@ -22037,41 +25632,35 @@ - - - - - - - - - + + - - - + + + + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -22080,88 +25669,51 @@ - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - - - - - start - - - - - - - + - - end - - + as-type="string" + name="document-id" + gi="document-id"> + + - + - + - text + citation - - - - - - - - - + @@ -22176,26 +25728,18 @@ - - - - - - - - - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -22204,16 +25748,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -22222,254 +25766,273 @@ - + + + + + + + + + + + + + + + + as-type="base64Binary" + name="base64" + key="base64" + gi="base64"> - text + base64 - - + + + + - + - + - description + title - - - - + + - + + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> - text + published - - + + - + + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> - text + last-modified - - + + - + + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> - text + version - - + + - + - + - identified-subject + oscal-version - - - + + + + + + + + + + + + + + + + + + + + + + + - + - + - description + revisions - - - - - - + + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - text + title - + + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> - text + published - - + + - + + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> - text + last-modified - - + + - - - - - - - + + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> - title + version - - + + - + - + - description + oscal-version - - - - + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -22478,16 +26041,30 @@ - + + + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -22496,74 +26073,100 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - text + title - + + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> - text + short-name - - + + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -22572,251 +26175,255 @@ - + - - - text - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - text + title - + - + - identified-subject + address - - - + + + + + + + - + - - - description - - - - - + + + - + + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> - text + city - - + + - + + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> - text + state - - + + - + + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> - text + postal-code - - + + - + + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> - title + country - - + + - + - - - description - - - - - + + + - + - - text - - - + as-type="string" + name="telephone-number" + gi="telephone-number"> + + + - + - - - status - - - - - + + + + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - implementation-statement-uuid + text - - + + - - - - - - - - - - - - - + - + - - + + + + + + + + + + @@ -22824,114 +26431,111 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + - - + + as-type="string" + name="name" + key="name" + gi="name" + in-json="SCALAR"> - title + name - - + + - + - + - description + short-name - - - - + + - + + as-type="string" + name="external-id" + gi="external-id"> - + - - - - - citation - - - - - - - - - - - - - - - - - - - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -22940,323 +26544,275 @@ - + - - text - - - + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> + + - + - - - - - + + + + + + + + + + + + + + + + + - + - - base64 - - - - + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> + - + + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> - title + city - - + + - + + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> - published + state - + - + + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> - last-modified + postal-code - + - + + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> - version + country - + - - oscal-version - - + as-type="uuid" + name="member-of-organization" + gi="member-of-organization" + in-json="SCALAR"> + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - revisions - - - - - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - published + text - - + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - last-modified + text - - + + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - version + title - - + + - + - + - oscal-version + description - - + + + + - + + as-type="markup-line" + name="purpose" + key="purpose" + gi="purpose" + in-json="SCALAR"> - text + purpose - - - - - - - - - - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -23265,74 +26821,86 @@ - + + + + + status + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - short-name + title - - + + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -23341,184 +26909,188 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + - - - address - - - - + + + + - - - - + + + + + + + + + + + + + + + - - - - - - - - - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - city + text - - + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - state + text - - + + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - postal-code + title - - + + - + - + - country + description - - + + + + - + - - + as-type="markup-line" + name="purpose" + key="purpose" + gi="purpose" + in-json="SCALAR"> + + purpose + + + - + - - - + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> + + text + + + - + - - - - - + + + status + + + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -23527,66 +27099,83 @@ - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - name + title - - + + - + - - - short-name - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> + + title + + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -23595,163 +27184,168 @@ - - - - - - - - - - - - - - - - - - + - - - - + + + + + + + + + + + - - - - + + + + + + + + - + - - + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> + + text + + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - city + text - - + + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - state + title - - + + - + - + - postal-code + description - - + + + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - country + text + + + + + + + + - + - + as-type="token" + name="type" + gi="type" + in-json="SCALAR"> + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -23760,74 +27354,92 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + + + + + text + + + + + + + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - purpose + text - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -23836,28 +27448,16 @@ - - - - - status - - - - - - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -23866,56 +27466,58 @@ - + - + - title + identified-subject - - - - + + + + + + + + + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -23924,16 +27526,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -23942,12 +27544,32 @@ - + - - + + + text + + + + + + + + + + + + @@ -23962,8 +27584,61 @@ - - + + + + + + + + title + + + + + + + + + + + text + + + + + + + + + + + + + + + + + + + + @@ -23972,16 +27647,38 @@ - + + + + + description + + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -23990,34 +27687,52 @@ - + + as-type="dateTime-with-timezone" + name="collected" + key="collected" + gi="collected" + in-json="SCALAR"> - text + collected - - + + - + + + + + expires + + + + + + + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -24026,84 +27741,78 @@ - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + - + - text + statement - - - - - - - - - - + + + + - + - - + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> + + text + + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -24112,16 +27821,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -24130,16 +27839,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -24148,38 +27857,38 @@ - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -24188,16 +27897,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -24206,16 +27915,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -24224,13 +27933,13 @@ - + + key="identified-subject" + gi="identified-subject"> identified-subject @@ -24244,38 +27953,38 @@ - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -24284,16 +27993,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -24302,16 +28011,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -24320,59 +28029,34 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -24381,62 +28065,16 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - description - - - - - - - - - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -24445,114 +28083,56 @@ - - - - - collected - - - - - - - - - - - expires - - - - - - - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - - - - - - - - - - statement - - - + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -24561,16 +28141,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -24579,16 +28159,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -24597,56 +28177,58 @@ - + - + - text + identified-subject - - - - + + + + + + + + + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -24655,16 +28237,34 @@ - + + + + + text + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -24673,16 +28273,41 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -24691,17 +28316,28 @@ - + - - - identified-subject - - + + + + + + + + + + + + + + + + + + @@ -24711,38 +28347,38 @@ - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -24751,52 +28387,59 @@ - + - - - text - - - - - + + + + + + + + + + + + + + + + + + + + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - text + title - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -24805,92 +28448,121 @@ - + + as-type="dateTime-with-timezone" + name="deadline" + key="deadline" + gi="deadline" + in-json="SCALAR"> - text + deadline - - + + - + - - - text - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - text + title - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -24899,16 +28571,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -24917,16 +28589,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -24935,76 +28607,56 @@ - + - + - identified-subject + text - - - - - - - - - + + + + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - - - - - text - - - - - - - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -25013,16 +28665,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -25031,71 +28683,35 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + identified-subject + + @@ -25105,38 +28721,38 @@ - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -25145,59 +28761,34 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -25206,31 +28797,19 @@ - - - - - deadline - - - - - - - + - + - + + + + + + + @@ -25247,22 +28826,26 @@ - - - - - - - - - + + + + + + + + + + + - - + + @@ -25271,16 +28854,16 @@ - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -25289,38 +28872,74 @@ - + + + + + text + + + + + + + + + + + title + + + + + + + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -25329,16 +28948,56 @@ - + + + + + title + + + + + + + + + + + description + + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -25347,16 +29006,116 @@ - + + + + + timing + + + + + + + + + + + on-date + + + + + + + + + within-date-range + + + + + + + + + + at-frequency + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -25365,16 +29124,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -25383,38 +29142,38 @@ - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -25423,16 +29182,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -25440,17 +29199,17 @@ - - + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -25459,58 +29218,38 @@ - - - - - identified-subject - - - - - - - - - - - - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -25519,16 +29258,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -25537,16 +29276,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -25555,21 +29294,51 @@ - + - - - - + + + text + + + + + + + + + + + risk-log + + + + + + + + + + + @@ -25584,26 +29353,16 @@ - - - - - - - - - - - + + - - + + + @@ -25612,52 +29371,16 @@ - - - - - title - - - - - - - - - - - text - - - - - - - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -25666,96 +29389,74 @@ - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="dateTime-with-timezone" + name="start" + key="start" + gi="start" + in-json="SCALAR"> - text + start - - + + - + - - title - - - - - - - - - + as-type="dateTime-with-timezone" + name="end" + key="end" + gi="end" + in-json="SCALAR"> - description + end - - - - + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -25764,75 +29465,12 @@ - - - - - timing - - - - - - - - - - - on-date - - - - - - - - - within-date-range - - - - - - - - - - at-frequency - - - - - - - - - - - - - + - - + + @@ -25847,15 +29485,8 @@ - - - - - - - - - + + @@ -25864,16 +29495,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -25882,16 +29513,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -25900,38 +29531,56 @@ - + + + + + text + + + + + + + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -25940,16 +29589,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -25958,16 +29607,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -25976,56 +29625,58 @@ - + + + + + identified-subject + + + + + + + + + + + + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - - - - - text - - - - - - - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -26034,16 +29685,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -26052,16 +29703,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -26070,75 +29721,24 @@ - - - - - risk-log - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -26147,74 +29747,38 @@ - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - - - - - start - - - - - - - - - - - end - - - - - - - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -26223,46 +29787,16 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -26271,16 +29805,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -26289,16 +29823,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -26307,38 +29841,38 @@ - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -26347,16 +29881,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -26365,16 +29899,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -26383,13 +29917,13 @@ - + + key="identified-subject" + gi="identified-subject"> identified-subject @@ -26403,38 +29937,38 @@ - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -26443,16 +29977,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -26461,16 +29995,16 @@ - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -26479,24 +30013,121 @@ - + + + + + title + + + + + + + + + + + description + + + + + + + + + + + + + text + + + + + + + + + + + status + + + + + + + + + + + implementation-statement-uuid + + + + + + + + + + + + + + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -26506,37 +30137,37 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -26546,8 +30177,8 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -26560,15 +30191,15 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -26577,25 +30208,33 @@ + + + + + + + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -26628,15 +30267,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -26646,35 +30285,35 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="document-id" + gi="document-id"> @@ -26682,8 +30321,8 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -26707,15 +30346,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -26725,15 +30364,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -26743,8 +30382,8 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -26759,14 +30398,14 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="base64Binary" + name="base64" + key="base64" + gi="base64"> base64 @@ -26778,10 +30417,10 @@ + mode="cast-prose" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -26789,49 +30428,43 @@ + name="ns" + select="/*/@namespace"/> + match="group" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="group[@in-json='BY_KEY']" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="flag[@key=../@json-key-flag]" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"/> + match="group[@in-json='SINGLETON_OR_ARRAY'][count(*)=1]" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + priority="2" + match="group/assembly | group/field" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -26849,11 +30482,10 @@ + priority="3" + match="group/field[@in-json='SCALAR']" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -26862,37 +30494,33 @@ + match="/assembly" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="assembly" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="field" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="field[@in-json='SCALAR']" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="flag[@key=../value/@key-flag]" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"/> + match="flag" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + namespace="http://www.w3.org/2005/xpath-functions"> + priority="2" + match="field[exists(@json-key-flag)]/value" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -26930,70 +30555,66 @@ + match="value" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> - - - - - - + namespace="http://www.w3.org/2005/xpath-functions"> + + + + + + + + + + match="*" + mode="cast-data" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="value[@as-type='markup-line']" + mode="cast-data" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="value[@as-type='markup-multiline']" + mode="cast-data" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + name="conditional-lf" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="text()[empty(ancestor::pre)]" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="text()" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -27002,20 +30623,18 @@ + mode="md" + match="p" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="h1 | h2 | h3 | h4 | h5 | h6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -27023,48 +30642,40 @@ # + mode="mark" + match="h1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"># ## + mode="mark" + match="h2" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel">## ### + mode="mark" + match="h3" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel">### #### + mode="mark" + match="h4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel">#### ##### + mode="mark" + match="h5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel">##### ###### + mode="mark" + match="h6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel">###### + mode="md" + match="table" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="tr" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -27078,21 +30689,19 @@ + mode="md" + match="th | td" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> | | + mode="md" + priority="1" + match="pre" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> ``` @@ -27101,27 +30710,24 @@ ``` + mode="md" + priority="1" + match="ul | ol" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="ul//ul | ol//ol | ol//ul | ul//ol" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="li" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -27131,10 +30737,9 @@ + mode="md" + match="ol/li" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -27144,55 +30749,49 @@ + mode="md" + match="code | span[contains(@class, 'code')]" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> ` ` + mode="md" + match="em | i" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> * * + mode="md" + match="strong | b" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> ** ** + mode="md" + match="q" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> " " + mode="md" + match="insert" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> {{ insert: }} + mode="md" + match="a" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> [ ] @@ -27201,10 +30800,9 @@ ) + mode="md" + match="img" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> ![ ] diff --git a/json/convert/oscal_component_xml-to-json-converter.xsl b/json/convert/oscal_component_xml-to-json-converter.xsl index 27966749d..5d083aceb 100644 --- a/json/convert/oscal_component_xml-to-json-converter.xsl +++ b/json/convert/oscal_component_xml-to-json-converter.xsl @@ -1,11 +1,11 @@ + xmlns:m="http://csrc.nist.gov/ns/oscal/metaschema/1.0" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="3.0" + exclude-result-prefixes="#all" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + select="$file ! document(.,$source-xml)"> { $err:description } @@ -60,7 +60,7 @@ + select="xml-to-json($new-json-xml, $write-options)"> { $err:description } @@ -76,16 +76,16 @@ - + + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="component-definition" + gi="component-definition"> component-definition @@ -119,7 +119,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -180,11 +180,18 @@ + + + + + + + + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -192,67 +199,28 @@ + + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - + + + + @@ -275,21 +243,14 @@ - + - + + - - - - - - - - - + @@ -304,65 +265,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -372,16 +276,16 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + name="import-component-definition" + gi="import-component-definition"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -428,7 +332,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -457,7 +361,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -473,7 +377,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -482,7 +386,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -497,7 +401,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -535,7 +439,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -543,7 +447,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -559,54 +463,54 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="remarks" + key="remarks" + gi="remarks" + in-json="SCALAR"> remarks + group-by="true()"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="location-uuid" + gi="location-uuid" + in-json="SCALAR"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="party-uuid" + gi="party-uuid" + in-json="SCALAR"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -616,471 +520,543 @@ + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="name" + key="name" + gi="name"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="value" + key="value" + gi="value"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="class" + key="class" + gi="class"> + + + + + + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="rel" + key="rel" + gi="rel"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="media-type" + key="media-type" + gi="media-type"> + + + + + + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri" + name="scheme" + key="scheme" + gi="scheme"> - + - + + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="location-type" + key="type" + gi="type"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="type" + key="type" + gi="type"> - + + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - + + as-type="string" + name="type" + key="type" + gi="type"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri" + name="scheme" + key="scheme" + gi="scheme"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + + + + + + + + + + + + + + + as-type="token" + name="type" + key="type" + gi="type"> + + + + + + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="defined-component-type" + key="type" + gi="type"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="role-id" + key="role-id" + gi="role-id"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="name" + key="name" + gi="name"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="nonNegativeInteger" + name="start" + key="start" + gi="start"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="nonNegativeInteger" + name="end" + key="end" + gi="end"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="transport" + key="transport" + gi="transport"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri-reference" + name="source" + key="source" + gi="source"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="param-id" + key="param-id" + gi="param-id"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="control-id" + key="control-id" + gi="control-id"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="statement-id" + key="statement-id" + gi="statement-id"> + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="name" + key="name" + gi="name"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="component-uuid" + key="component-uuid" + gi="component-uuid"> + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="media-type" + key="media-type" + gi="media-type"> + priority="3" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="algorithm" + key="algorithm" + gi="algorithm"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="filename" + key="filename" + gi="filename"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="media-type" + key="media-type" + gi="media-type"> + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -1090,15 +1066,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> published @@ -1108,15 +1084,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> last-modified @@ -1126,15 +1102,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> version @@ -1144,15 +1120,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> oscal-version @@ -1162,8 +1138,8 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1189,14 +1165,14 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + gi="revisions" + group-json="ARRAY" + name="revision" + key="revisions"> revisions @@ -1204,15 +1180,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -1222,15 +1198,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> published @@ -1240,15 +1216,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> last-modified @@ -1258,15 +1234,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> version @@ -1276,15 +1252,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> oscal-version @@ -1294,15 +1270,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1312,13 +1288,13 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="document-id" + gi="document-id"> @@ -1326,15 +1302,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1343,16 +1319,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -1362,15 +1364,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -1380,37 +1382,37 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1419,16 +1421,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -1438,8 +1486,8 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1460,29 +1508,29 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> city @@ -1492,15 +1540,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> state @@ -1510,15 +1558,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> postal-code @@ -1528,15 +1576,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> country @@ -1546,27 +1594,27 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="telephone-number" + gi="telephone-number"> @@ -1574,29 +1622,30 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri" + name="url" + deprecated="1.1.0" + gi="url" + in-json="SCALAR"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1605,16 +1654,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="name" + key="name" + gi="name" + in-json="SCALAR"> name @@ -1624,15 +1741,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -1642,13 +1759,13 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="external-id" + gi="external-id"> @@ -1656,15 +1773,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1674,27 +1791,27 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="telephone-number" + gi="telephone-number"> @@ -1702,8 +1819,8 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1721,29 +1838,29 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> city @@ -1753,15 +1870,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> state @@ -1771,15 +1888,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> postal-code @@ -1789,15 +1906,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> country @@ -1807,29 +1924,65 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="member-of-organization" + gi="member-of-organization" + in-json="SCALAR"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + + + text + + + + + + + + + + + text + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1839,15 +1992,15 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -1857,37 +2010,37 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="purpose" + key="purpose" + gi="purpose" + in-json="SCALAR"> purpose @@ -1897,15 +2050,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1915,15 +2068,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1933,15 +2086,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -1951,8 +2104,8 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1989,37 +2142,37 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2029,22 +2182,22 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="parameter-value" + gi="value" + in-json="SCALAR"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2089,37 +2242,37 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2129,29 +2282,29 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="parameter-value" + gi="value" + in-json="SCALAR"> + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2161,8 +2314,8 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2193,37 +2346,37 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2233,15 +2386,15 @@ + priority="15" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2251,37 +2404,37 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2291,30 +2444,30 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2351,37 +2504,37 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2391,22 +2544,22 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="parameter-value" + gi="value" + in-json="SCALAR"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2451,37 +2604,37 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2491,29 +2644,29 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="parameter-value" + gi="value" + in-json="SCALAR"> + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2523,8 +2676,8 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2555,37 +2708,37 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2595,15 +2748,15 @@ + priority="15" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2613,8 +2766,8 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2647,15 +2800,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2665,35 +2818,35 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="document-id" + gi="document-id"> @@ -2701,8 +2854,8 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2726,15 +2879,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2744,15 +2897,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2762,8 +2915,8 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2778,14 +2931,14 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="base64Binary" + name="base64" + key="base64" + gi="base64"> base64 @@ -2797,10 +2950,10 @@ + mode="cast-prose" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -2808,49 +2961,43 @@ + name="ns" + select="/*/@namespace"/> + match="group" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="group[@in-json='BY_KEY']" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="flag[@key=../@json-key-flag]" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"/> + match="group[@in-json='SINGLETON_OR_ARRAY'][count(*)=1]" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + priority="2" + match="group/assembly | group/field" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -2868,11 +3015,10 @@ + priority="3" + match="group/field[@in-json='SCALAR']" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -2881,37 +3027,33 @@ + match="/assembly" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="assembly" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="field" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="field[@in-json='SCALAR']" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="flag[@key=../value/@key-flag]" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"/> + match="flag" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + namespace="http://www.w3.org/2005/xpath-functions"> + priority="2" + match="field[exists(@json-key-flag)]/value" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -2949,70 +3088,66 @@ + match="value" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> - - - - - - + namespace="http://www.w3.org/2005/xpath-functions"> + + + + + + + + + + match="*" + mode="cast-data" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="value[@as-type='markup-line']" + mode="cast-data" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="value[@as-type='markup-multiline']" + mode="cast-data" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + name="conditional-lf" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="text()[empty(ancestor::pre)]" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="text()" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -3021,20 +3156,18 @@ + mode="md" + match="p" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="h1 | h2 | h3 | h4 | h5 | h6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -3042,48 +3175,40 @@ # + mode="mark" + match="h1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"># ## + mode="mark" + match="h2" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel">## ### + mode="mark" + match="h3" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel">### #### + mode="mark" + match="h4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel">#### ##### + mode="mark" + match="h5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel">##### ###### + mode="mark" + match="h6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel">###### + mode="md" + match="table" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="tr" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -3097,21 +3222,19 @@ + mode="md" + match="th | td" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> | | + mode="md" + priority="1" + match="pre" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> ``` @@ -3120,27 +3243,24 @@ ``` + mode="md" + priority="1" + match="ul | ol" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="ul//ul | ol//ol | ol//ul | ul//ol" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="li" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -3150,10 +3270,9 @@ + mode="md" + match="ol/li" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -3163,55 +3282,49 @@ + mode="md" + match="code | span[contains(@class, 'code')]" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> ` ` + mode="md" + match="em | i" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> * * + mode="md" + match="strong | b" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> ** ** + mode="md" + match="q" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> " " + mode="md" + match="insert" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> {{ insert: }} + mode="md" + match="a" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> [ ] @@ -3220,10 +3333,9 @@ ) + mode="md" + match="img" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> ![ ] diff --git a/json/convert/oscal_mapping_xml-to-json-converter.xsl b/json/convert/oscal_mapping_xml-to-json-converter.xsl new file mode 100644 index 000000000..c4984b5c1 --- /dev/null +++ b/json/convert/oscal_mapping_xml-to-json-converter.xsl @@ -0,0 +1,2528 @@ + + + + + + + + json + no + + + + + + + + + + + + + + + { $err:description } + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $err:description } + + + + + + + + + + + + + + + + + + + + + + mapping-collection + + + http://csrc.nist.gov/ns/oscal/1.0 + + + + + + + + + + + + + + + + + + metadata + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + mapping + + + + + + + + + + + + + + + + + + source-resource + + + + + + + + + + + + + + + + + + + + + + + + + target-resource + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + back-matter + + + + + + + + + + + + + + + remarks + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + title + + + + + + + + + + + published + + + + + + + + + + + last-modified + + + + + + + + + + + version + + + + + + + + + + + oscal-version + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + revisions + + + + + + + + + title + + + + + + + + + + + published + + + + + + + + + + + last-modified + + + + + + + + + + + version + + + + + + + + + + + oscal-version + + + + + + + + + + + text + + + + + + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + title + + + + + + + + + + + short-name + + + + + + + + + + + description + + + + + + + + + + + + + text + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + title + + + + + + + + + + + address + + + + + + + + + + + + + + + + + + + + + + + + + + + + city + + + + + + + + + + + state + + + + + + + + + + + postal-code + + + + + + + + + + + country + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + name + + + + + + + + + + + short-name + + + + + + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + city + + + + + + + + + + + state + + + + + + + + + + + postal-code + + + + + + + + + + + country + + + + + + + + + + + + + + + + + + + text + + + + + + + + + + + text + + + + + + + + + + + text + + + + + + + + + + + text + + + + + + + + + + + text + + + + + + + + + + + text + + + + + + + + + + + relationship + + + + + + + + + + + + text + + + + + + + + + + + text + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + title + + + + + + + + + + + description + + + + + + + + + + + + + + + + + + + + + + citation + + + + + + + + + + + + + + + + + + + + + + + text + + + + + + + + + + + text + + + + + + + + + + + + + + + + + + + + + + + + + base64 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + # + ## + ### + #### + ##### + ###### + + + + + + + + + + + | + + --- | + + + + + + | + + + | + + + + ``` + + + + ``` + + + + + + + + + + + + + + + * + + + + + + + + + 1. + + + + + ` + + ` + + + * + + * + + + ** + + ** + + + " + + " + + + {{ insert: + + }} + + + [ + + ] + ( + + ) + + + ![ + + ] + ( + + + "{.}" + + ) + + diff --git a/json/convert/oscal_poam_xml-to-json-converter.xsl b/json/convert/oscal_poam_xml-to-json-converter.xsl index 541852ff1..a87dfe852 100644 --- a/json/convert/oscal_poam_xml-to-json-converter.xsl +++ b/json/convert/oscal_poam_xml-to-json-converter.xsl @@ -1,11 +1,11 @@ + xmlns:m="http://csrc.nist.gov/ns/oscal/metaschema/1.0" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="3.0" + exclude-result-prefixes="#all" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + select="$file ! document(.,$source-xml)"> { $err:description } @@ -60,7 +60,7 @@ + select="xml-to-json($new-json-xml, $write-options)"> { $err:description } @@ -76,16 +76,16 @@ - + + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="plan-of-action-and-milestones" + gi="plan-of-action-and-milestones"> plan-of-action-and-milestones @@ -111,6 +111,13 @@ + + + + + + + @@ -122,7 +129,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -183,11 +190,18 @@ + + + + + + + + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -195,67 +209,28 @@ + + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - + + + + @@ -278,21 +253,14 @@ - + - + + - - - - - - - - - + @@ -307,65 +275,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -375,7 +286,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -386,11 +297,11 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="local-definitions" + gi="local-definitions"> local-definitions @@ -408,11 +319,12 @@ + + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -453,7 +365,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -482,7 +394,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -498,7 +410,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -507,7 +419,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -543,8 +455,33 @@ + + + + + assessment-assets + + + + + + + + + + + + + + + + + + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -605,7 +542,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -628,7 +565,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -651,7 +588,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -688,7 +625,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -726,19 +663,19 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + name="include-all" + key="include-all" + gi="include-all"> include-all + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -761,7 +698,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -784,7 +721,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -853,7 +790,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -881,7 +818,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -942,15 +879,105 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + target + + + + + + + + + + + + + + + + + + + + + + + + + + + + + implementation-status + + + + + + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -977,6 +1004,13 @@ + + + + + + + @@ -995,7 +1029,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1011,60 +1045,60 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="remarks" + key="remarks" + gi="remarks" + in-json="SCALAR"> remarks + group-by="true()"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="location-uuid" + gi="location-uuid" + in-json="SCALAR"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="party-uuid" + gi="party-uuid" + in-json="SCALAR"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="system-id" + key="system-id" + gi="system-id"> system-id @@ -1075,14 +1109,14 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="risk-status" + key="status" + gi="status" + in-json="SCALAR"> status @@ -1092,7 +1126,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1103,14 +1137,14 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="risk-status" + key="status-change" + gi="status-change" + in-json="SCALAR"> status-change @@ -1120,7 +1154,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1130,863 +1164,1055 @@ + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="name" + key="name" + gi="name"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="value" + key="value" + gi="value"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + + + + + as-type="token" + name="group" + key="group" + gi="group"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="rel" + key="rel" + gi="rel"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + + + + + as-type="string" + name="resource-fragment" + key="resource-fragment" + gi="resource-fragment"> + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri" + name="scheme" + key="scheme" + gi="scheme"> - + - + + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="location-type" + key="type" + gi="type"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="type" + key="type" + gi="type"> - + + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - + + as-type="string" + name="type" + key="type" + gi="type"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri" + name="scheme" + key="scheme" + gi="scheme"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + + + + + + + + + + + + + + + + + + + + as-type="uri" + name="system" + key="system" + gi="system"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri" + name="identifier-type" + key="identifier-type" + gi="identifier-type"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="system-component-type" + key="type" + gi="type"> - + + as-type="token" + name="state" + key="state" + gi="state"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="role-id" + key="role-id" + gi="role-id"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="name" + key="name" + gi="name"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="nonNegativeInteger" + name="start" + key="start" + gi="start"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="nonNegativeInteger" + name="end" + key="end" + gi="end"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="transport" + key="transport" + gi="transport"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + + + + + + + + + + as-type="uuid" + name="component-uuid" + key="component-uuid" + gi="component-uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="type" + key="type" + gi="type"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="actor-uuid" + key="actor-uuid" + gi="actor-uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="role-id" + key="role-id" + gi="role-id"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="task-uuid" + key="task-uuid" + gi="task-uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="type" + key="type" + gi="type"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="subject-uuid" + key="subject-uuid" + gi="subject-uuid"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="subject-type" + key="type" + gi="type"> - + + as-type="uuid" + name="subject-placeholder-uuid" + key="subject-placeholder-uuid" + gi="subject-placeholder-uuid"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="subject-uuid" + key="subject-uuid" + gi="subject-uuid"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="subject-type" + key="type" + gi="type"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri" + name="system" + key="system" + gi="system"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="name" + key="name" + gi="name"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri" + name="system" + key="system" + gi="system"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="value" + key="value" + gi="value"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="implementation-uuid" + key="implementation-uuid" + gi="implementation-uuid"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="lifecycle" + key="lifecycle" + gi="lifecycle"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="type" + key="type" + gi="type"> + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="date" + key="date" + gi="date"> + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="start" + key="start" + gi="start"> + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="end" + key="end" + gi="end"> + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="positiveInteger" + name="period" + key="period" + gi="period"> + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="unit" + key="unit" + gi="unit"> + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="task-uuid" + key="task-uuid" + gi="task-uuid"> + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="activity-uuid" + key="activity-uuid" + gi="activity-uuid"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="party-uuid" + key="party-uuid" + gi="party-uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="role-id" + key="role-id" + gi="role-id"> + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="response-uuid" + key="response-uuid" + gi="response-uuid"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="observation-uuid" + key="observation-uuid" + gi="observation-uuid"> - + + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - + + as-type="string" + name="type" + key="type" + gi="type"> - + + as-type="token" + name="target-id" + key="target-id" + gi="target-id"> - + + as-type="token" + name="state" + key="state" + gi="state"> - + + as-type="token" + name="reason" + key="reason" + gi="reason"> - + + as-type="token" + name="state" + key="state" + gi="state"> - + + as-type="uuid" + name="observation-uuid" + key="observation-uuid" + gi="observation-uuid"> - + + as-type="uuid" + name="risk-uuid" + key="risk-uuid" + gi="risk-uuid"> - + + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - - - - - title - - - - - + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> + + title + + + + + + + + + published @@ -1996,15 +2222,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> last-modified @@ -2014,15 +2240,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> version @@ -2032,15 +2258,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> oscal-version @@ -2050,8 +2276,8 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2077,14 +2303,14 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + gi="revisions" + group-json="ARRAY" + name="revision" + key="revisions"> revisions @@ -2092,15 +2318,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2110,15 +2336,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> published @@ -2128,15 +2354,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> last-modified @@ -2146,15 +2372,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> version @@ -2164,15 +2390,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> oscal-version @@ -2182,15 +2408,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2200,13 +2426,13 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="document-id" + gi="document-id"> @@ -2214,15 +2440,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2231,16 +2457,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2250,15 +2502,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -2268,37 +2520,37 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2307,16 +2559,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2326,8 +2624,8 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2348,29 +2646,29 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> city @@ -2380,15 +2678,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> state @@ -2398,15 +2696,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> postal-code @@ -2416,15 +2714,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> country @@ -2434,27 +2732,27 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="telephone-number" + gi="telephone-number"> @@ -2462,29 +2760,30 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri" + name="url" + deprecated="1.1.0" + gi="url" + in-json="SCALAR"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2493,16 +2792,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="name" + key="name" + gi="name" + in-json="SCALAR"> name @@ -2512,15 +2879,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -2530,13 +2897,13 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="external-id" + gi="external-id"> @@ -2544,15 +2911,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2562,27 +2929,27 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="telephone-number" + gi="telephone-number"> @@ -2590,8 +2957,8 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2609,29 +2976,29 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> city @@ -2641,15 +3008,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> state @@ -2659,15 +3026,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> postal-code @@ -2677,15 +3044,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> country @@ -2695,29 +3062,65 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="member-of-organization" + gi="member-of-organization" + in-json="SCALAR"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + + + text + + + + + + + + + + + text + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2727,15 +3130,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2745,37 +3148,37 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="purpose" + key="purpose" + gi="purpose" + in-json="SCALAR"> purpose @@ -2785,15 +3188,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2803,8 +3206,8 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2815,15 +3218,15 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2833,15 +3236,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2851,37 +3254,37 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2891,15 +3294,15 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2909,8 +3312,8 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2939,15 +3342,15 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2957,15 +3360,272 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + + + text + + + + + + + + + + + title + + + + + + + + + + + description + + + + + + + + + + + + + purpose + + + + + + + + + + + text + + + + + + + + + + + status + + + + + + + + + + text + + + + + + + + + + + title + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + title + + + + + + + + + + + text + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2975,15 +3635,15 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2993,37 +3653,37 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3033,43 +3693,43 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="method" + gi="method" + in-json="SCALAR"> + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="type" + gi="type" + in-json="SCALAR"> + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3079,15 +3739,15 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3097,15 +3757,15 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3115,37 +3775,37 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3155,15 +3815,15 @@ + priority="16" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3173,15 +3833,15 @@ + priority="15" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3191,12 +3851,12 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="identified-subject" + gi="identified-subject"> identified-subject @@ -3211,37 +3871,37 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="14" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3251,15 +3911,15 @@ + priority="17" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3269,15 +3929,15 @@ + priority="16" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3287,8 +3947,8 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -3312,15 +3972,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -3330,15 +3990,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3348,8 +4008,8 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -3372,37 +4032,37 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3412,15 +4072,15 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="collected" + key="collected" + gi="collected" + in-json="SCALAR"> collected @@ -3430,15 +4090,15 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="expires" + key="expires" + gi="expires" + in-json="SCALAR"> expires @@ -3448,15 +4108,15 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -3466,59 +4126,59 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="statement" + key="statement" + gi="statement" + in-json="SCALAR"> statement + group-by="true()"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3528,15 +4188,15 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3546,15 +4206,15 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3564,15 +4224,15 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3582,37 +4242,37 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3622,15 +4282,15 @@ + priority="16" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3640,15 +4300,15 @@ + priority="15" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3658,12 +4318,12 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="identified-subject" + gi="identified-subject"> identified-subject @@ -3678,37 +4338,37 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="14" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3718,15 +4378,15 @@ + priority="17" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3736,15 +4396,15 @@ + priority="16" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3754,15 +4414,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3772,15 +4432,15 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3790,15 +4450,15 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3808,15 +4468,15 @@ + priority="14" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3826,37 +4486,37 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="14" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3866,15 +4526,15 @@ + priority="17" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3884,15 +4544,15 @@ + priority="16" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3902,12 +4562,12 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="identified-subject" + gi="identified-subject"> identified-subject @@ -3922,37 +4582,37 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="15" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3962,15 +4622,15 @@ + priority="18" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3980,15 +4640,15 @@ + priority="17" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3998,8 +4658,8 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -4023,15 +4683,15 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4041,8 +4701,8 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -4072,37 +4732,37 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4112,8 +4772,8 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -4137,15 +4797,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -4155,15 +4815,15 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4173,15 +4833,15 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="deadline" + key="deadline" + gi="deadline" + in-json="SCALAR"> deadline @@ -4191,8 +4851,8 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -4238,15 +4898,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -4256,37 +4916,37 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4296,15 +4956,15 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4314,15 +4974,15 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4332,15 +4992,15 @@ + priority="15" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4350,37 +5010,37 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="15" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4390,15 +5050,15 @@ + priority="18" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4408,15 +5068,15 @@ + priority="17" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4426,12 +5086,12 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="identified-subject" + gi="identified-subject"> identified-subject @@ -4446,37 +5106,37 @@ + priority="14" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="16" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4486,15 +5146,15 @@ + priority="19" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4504,15 +5164,15 @@ + priority="18" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4522,8 +5182,8 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -4554,8 +5214,8 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -4579,15 +5239,15 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -4597,15 +5257,15 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4615,15 +5275,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -4633,37 +5293,37 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4673,15 +5333,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -4691,37 +5351,37 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4731,8 +5391,8 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -4744,8 +5404,8 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -4755,13 +5415,13 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + name="within-date-range" + key="within-date-range" + gi="within-date-range"> within-date-range @@ -4770,13 +5430,13 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + name="at-frequency" + key="at-frequency" + gi="at-frequency"> at-frequency @@ -4785,8 +5445,8 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -4794,8 +5454,8 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -4831,15 +5491,15 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4849,15 +5509,15 @@ + priority="15" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4867,37 +5527,37 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="15" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4907,15 +5567,15 @@ + priority="18" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4925,15 +5585,15 @@ + priority="17" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4943,37 +5603,37 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4983,15 +5643,15 @@ + priority="16" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5001,15 +5661,15 @@ + priority="15" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5019,15 +5679,15 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5037,8 +5697,8 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -5054,8 +5714,8 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -5096,15 +5756,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -5114,37 +5774,37 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="start" + key="start" + gi="start" + in-json="SCALAR"> start @@ -5154,15 +5814,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="end" + key="end" + gi="end" + in-json="SCALAR"> end @@ -5172,15 +5832,15 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5190,8 +5850,8 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -5220,15 +5880,15 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5238,15 +5898,15 @@ + priority="14" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5256,15 +5916,15 @@ + priority="16" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5274,37 +5934,37 @@ + priority="14" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="16" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5314,15 +5974,15 @@ + priority="19" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5332,15 +5992,15 @@ + priority="18" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5350,12 +6010,12 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="identified-subject" + gi="identified-subject"> identified-subject @@ -5370,37 +6030,37 @@ + priority="15" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="17" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5410,15 +6070,15 @@ + priority="20" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5428,15 +6088,15 @@ + priority="19" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5446,23 +6106,412 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + + + + + + + + + title + + + + + + + + + + + description + + + + + + + + + + + + + text + + + + + + + + + + + text + + + + + + + + + + + text + + + + + + + + + + + text + + + + + + + + + + + description + + + + + + + + + + + + + text + + + + + + + + + + + text + + + + + + + + + + + text + + + + + + + + + + + identified-subject + + + + + + + + + + + + + + + + description + + + + + + + + + + + + + text + + + + + + + + + + + text + + + + + + + + + + + text + + + + + + + + + + + title + + + + + + + + + + + description + + + + + + + + + + + + + text + + + + + + + + + + + status + + + + + + + + + + + implementation-statement-uuid + + + + + + + + + + + + + + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -5472,37 +6521,37 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5512,8 +6561,8 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -5526,15 +6575,15 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5543,25 +6592,33 @@ + + + + + + + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -5594,15 +6651,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -5612,35 +6669,35 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="document-id" + gi="document-id"> @@ -5648,8 +6705,8 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -5673,15 +6730,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5691,15 +6748,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5709,8 +6766,8 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -5725,14 +6782,14 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="base64Binary" + name="base64" + key="base64" + gi="base64"> base64 @@ -5744,10 +6801,10 @@ + mode="cast-prose" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -5755,49 +6812,43 @@ + name="ns" + select="/*/@namespace"/> + match="group" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="group[@in-json='BY_KEY']" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="flag[@key=../@json-key-flag]" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"/> + match="group[@in-json='SINGLETON_OR_ARRAY'][count(*)=1]" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + priority="2" + match="group/assembly | group/field" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -5815,11 +6866,10 @@ + priority="3" + match="group/field[@in-json='SCALAR']" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -5828,37 +6878,33 @@ + match="/assembly" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="assembly" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="field" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="field[@in-json='SCALAR']" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="flag[@key=../value/@key-flag]" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"/> + match="flag" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + namespace="http://www.w3.org/2005/xpath-functions"> + priority="2" + match="field[exists(@json-key-flag)]/value" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -5896,70 +6939,66 @@ + match="value" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> - - - - - - + namespace="http://www.w3.org/2005/xpath-functions"> + + + + + + + + + + match="*" + mode="cast-data" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="value[@as-type='markup-line']" + mode="cast-data" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="value[@as-type='markup-multiline']" + mode="cast-data" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + name="conditional-lf" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="text()[empty(ancestor::pre)]" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="text()" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -5968,20 +7007,18 @@ + mode="md" + match="p" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="h1 | h2 | h3 | h4 | h5 | h6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -5989,48 +7026,40 @@ # + mode="mark" + match="h1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"># ## + mode="mark" + match="h2" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel">## ### + mode="mark" + match="h3" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel">### #### + mode="mark" + match="h4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel">#### ##### + mode="mark" + match="h5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel">##### ###### + mode="mark" + match="h6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel">###### + mode="md" + match="table" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="tr" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -6044,21 +7073,19 @@ + mode="md" + match="th | td" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> | | + mode="md" + priority="1" + match="pre" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> ``` @@ -6067,27 +7094,24 @@ ``` + mode="md" + priority="1" + match="ul | ol" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="ul//ul | ol//ol | ol//ul | ul//ol" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="li" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -6097,10 +7121,9 @@ + mode="md" + match="ol/li" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -6110,55 +7133,49 @@ + mode="md" + match="code | span[contains(@class, 'code')]" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> ` ` + mode="md" + match="em | i" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> * * + mode="md" + match="strong | b" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> ** ** + mode="md" + match="q" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> " " + mode="md" + match="insert" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> {{ insert: }} + mode="md" + match="a" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> [ ] @@ -6167,10 +7184,9 @@ ) + mode="md" + match="img" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> ![ ] diff --git a/json/convert/oscal_profile_xml-to-json-converter.xsl b/json/convert/oscal_profile_xml-to-json-converter.xsl index 14278bd99..4e377c5ab 100644 --- a/json/convert/oscal_profile_xml-to-json-converter.xsl +++ b/json/convert/oscal_profile_xml-to-json-converter.xsl @@ -1,11 +1,11 @@ + xmlns:m="http://csrc.nist.gov/ns/oscal/metaschema/1.0" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="3.0" + exclude-result-prefixes="#all" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + select="$file ! document(.,$source-xml)"> { $err:description } @@ -60,7 +60,7 @@ + select="xml-to-json($new-json-xml, $write-options)"> { $err:description } @@ -76,12 +76,12 @@ - + + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -105,7 +105,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -166,11 +166,18 @@ + + + + + + + + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -178,67 +185,28 @@ + + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - + + + + @@ -261,21 +229,14 @@ - + - + + - - - - - - - - - + @@ -290,65 +251,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -358,7 +262,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -380,19 +284,19 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + name="include-all" + key="include-all" + gi="include-all"> include-all + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -405,7 +309,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -456,7 +360,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -504,7 +408,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -518,21 +422,21 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + group-by="true()"> + in-xml="UNWRAPPED" + collapsible="no" + as-type="markup-multiline" + name="prose" + key="prose"> + as-type="markup-multiline" + _metaschema-xml-id="/assembly/oscal-control-common/parameter-guideline/prose/PROSE" + _metaschema-json-id="/assembly/oscal-control-common/parameter-guideline/prose/PROSE"> @@ -540,7 +444,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -557,7 +461,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -573,17 +477,17 @@ + group-by="true()"> + in-xml="UNWRAPPED" + collapsible="no" + as-type="markup-multiline" + name="prose" + key="prose"> + as-type="markup-multiline" + _metaschema-xml-id="/assembly/oscal-control-common/part/prose/PROSE" + _metaschema-json-id="/assembly/oscal-control-common/part/prose/PROSE"> @@ -605,7 +509,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -627,7 +531,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -649,76 +553,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -734,67 +570,67 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="remarks" + key="remarks" + gi="remarks" + in-json="SCALAR"> remarks + group-by="true()"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="location-uuid" + gi="location-uuid" + in-json="SCALAR"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="party-uuid" + gi="party-uuid" + in-json="SCALAR"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="parameter-value" + gi="value" + in-json="SCALAR"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -804,536 +640,613 @@ + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="name" + key="name" + gi="name"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="value" + key="value" + gi="value"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + + + + + as-type="token" + name="group" + key="group" + gi="group"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="rel" + key="rel" + gi="rel"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + + + + + as-type="string" + name="resource-fragment" + key="resource-fragment" + gi="resource-fragment"> + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri" + name="scheme" + key="scheme" + gi="scheme"> - + - + + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="location-type" + key="type" + gi="type"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="type" + key="type" + gi="type"> - + + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - + + as-type="string" + name="type" + key="type" + gi="type"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri" + name="scheme" + key="scheme" + gi="scheme"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + + + + + + + + + + + + + + + + + + + + as-type="uri" + name="system" + key="system" + gi="system"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="with-child-controls" + key="with-child-controls" + gi="with-child-controls"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="pattern" + key="pattern" + gi="pattern"> + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="method" + key="method" + gi="method"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="class" + key="class" + gi="class"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="class" + key="class" + gi="class"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="depends-on" + key="depends-on" + deprecated="1.0.1" + gi="depends-on"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="how-many" + key="how-many" + gi="how-many"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="name" + key="name" + gi="name"> - + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="class" + key="class" + gi="class"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="order" + key="order" + gi="order"> + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="param-id" + key="param-id" + gi="param-id"> + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="class" + key="class" + gi="class"> + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="depends-on" + key="depends-on" + deprecated="1.0.1" + gi="depends-on"> - + + as-type="token" + name="control-id" + key="control-id" + gi="control-id"> - + + as-type="token" + name="by-name" + key="by-name" + gi="by-name"> - + + as-type="token" + name="by-class" + key="by-class" + gi="by-class"> - + + as-type="token" + name="by-id" + key="by-id" + gi="by-id"> - + + as-type="token" + name="by-item-name" + key="by-item-name" + gi="by-item-name"> - + + as-type="token" + name="by-ns" + key="by-ns" + gi="by-ns"> - + + as-type="token" + name="position" + key="position" + default="ending" + gi="position"> - + + as-type="token" + name="by-id" + key="by-id" + gi="by-id"> + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="media-type" + key="media-type" + gi="media-type"> + priority="3" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="algorithm" + key="algorithm" + gi="algorithm"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="filename" + key="filename" + gi="filename"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="media-type" + key="media-type" + gi="media-type"> + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -1343,15 +1256,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> published @@ -1361,15 +1274,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> last-modified @@ -1379,15 +1292,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> version @@ -1397,15 +1310,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> oscal-version @@ -1415,8 +1328,8 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1442,14 +1355,14 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + gi="revisions" + group-json="ARRAY" + name="revision" + key="revisions"> revisions @@ -1457,15 +1370,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -1475,15 +1388,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> published @@ -1493,15 +1406,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> last-modified @@ -1511,15 +1424,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> version @@ -1529,15 +1442,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> oscal-version @@ -1547,15 +1460,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1565,13 +1478,13 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="document-id" + gi="document-id"> @@ -1579,15 +1492,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1596,16 +1509,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -1615,15 +1554,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -1633,37 +1572,37 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1672,16 +1611,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -1691,8 +1676,8 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1713,29 +1698,29 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> city @@ -1745,15 +1730,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> state @@ -1763,15 +1748,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> postal-code @@ -1781,15 +1766,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> country @@ -1799,27 +1784,27 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="telephone-number" + gi="telephone-number"> @@ -1827,29 +1812,30 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri" + name="url" + deprecated="1.1.0" + gi="url" + in-json="SCALAR"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1858,16 +1844,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="name" + key="name" + gi="name" + in-json="SCALAR"> name @@ -1877,15 +1931,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -1895,13 +1949,13 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="external-id" + gi="external-id"> @@ -1909,15 +1963,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1927,27 +1981,27 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="telephone-number" + gi="telephone-number"> @@ -1955,8 +2009,8 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1974,29 +2028,29 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> city @@ -2006,15 +2060,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> state @@ -2024,15 +2078,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> postal-code @@ -2042,15 +2096,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> country @@ -2060,29 +2114,65 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="member-of-organization" + gi="member-of-organization" + in-json="SCALAR"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + + + text + + + + + + + + + + + text + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2092,8 +2182,8 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2114,30 +2204,30 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="with-id" + gi="with-id" + in-json="SCALAR"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2158,30 +2248,30 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="with-id" + gi="with-id" + in-json="SCALAR"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2191,8 +2281,8 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2201,15 +2291,15 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="boolean" + name="as-is" + key="as-is" + gi="as-is" + in-json="SCALAR"> as-is @@ -2219,8 +2309,8 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2243,15 +2333,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2261,15 +2351,15 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2279,15 +2369,15 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="label" + key="label" + gi="label" + in-json="SCALAR"> label @@ -2297,52 +2387,52 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="usage" + key="usage" + gi="usage" + in-json="SCALAR"> usage + group-by="true()"> + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2350,15 +2440,15 @@ + priority="14" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="expression" + key="expression" + gi="expression" + in-json="SCALAR"> expression @@ -2368,29 +2458,29 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="parameter-choice" + gi="choice" + in-json="SCALAR"> + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2400,15 +2490,15 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2418,15 +2508,15 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2436,8 +2526,8 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2458,30 +2548,30 @@ + priority="15" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="with-id" + gi="with-id" + in-json="SCALAR"> + priority="15" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2502,30 +2592,30 @@ + priority="14" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="with-id" + gi="with-id" + in-json="SCALAR"> + priority="14" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2546,30 +2636,30 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="with-id" + gi="with-id" + in-json="SCALAR"> + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2590,30 +2680,30 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="with-id" + gi="with-id" + in-json="SCALAR"> + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2660,15 +2750,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2678,15 +2768,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="label" + key="label" + gi="label" + in-json="SCALAR"> label @@ -2696,52 +2786,52 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="usage" + key="usage" + gi="usage" + in-json="SCALAR"> usage + group-by="true()"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2749,15 +2839,15 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="expression" + key="expression" + gi="expression" + in-json="SCALAR"> expression @@ -2767,29 +2857,101 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="parameter-choice" + gi="choice" + in-json="SCALAR"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2799,15 +2961,15 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2817,15 +2979,15 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="label" + key="label" + gi="label" + in-json="SCALAR"> label @@ -2835,52 +2997,52 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="usage" + key="usage" + gi="usage" + in-json="SCALAR"> usage + group-by="true()"> + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2888,15 +3050,15 @@ + priority="14" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="expression" + key="expression" + gi="expression" + in-json="SCALAR"> expression @@ -2906,29 +3068,29 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="parameter-choice" + gi="choice" + in-json="SCALAR"> + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2938,15 +3100,15 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2956,15 +3118,15 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2974,8 +3136,8 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -3008,15 +3170,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -3026,35 +3188,35 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="document-id" + gi="document-id"> @@ -3062,8 +3224,8 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -3087,15 +3249,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3105,15 +3267,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3123,8 +3285,8 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -3139,14 +3301,14 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="base64Binary" + name="base64" + key="base64" + gi="base64"> base64 @@ -3158,10 +3320,10 @@ + mode="cast-prose" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -3169,49 +3331,43 @@ + name="ns" + select="/*/@namespace"/> + match="group" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="group[@in-json='BY_KEY']" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="flag[@key=../@json-key-flag]" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"/> + match="group[@in-json='SINGLETON_OR_ARRAY'][count(*)=1]" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + priority="2" + match="group/assembly | group/field" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -3229,11 +3385,10 @@ + priority="3" + match="group/field[@in-json='SCALAR']" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -3242,37 +3397,33 @@ + match="/assembly" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="assembly" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="field" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="field[@in-json='SCALAR']" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="flag[@key=../value/@key-flag]" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"/> + match="flag" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + namespace="http://www.w3.org/2005/xpath-functions"> + priority="2" + match="field[exists(@json-key-flag)]/value" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -3310,70 +3458,66 @@ + match="value" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> - - - - - - + namespace="http://www.w3.org/2005/xpath-functions"> + + + + + + + + + + match="*" + mode="cast-data" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="value[@as-type='markup-line']" + mode="cast-data" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="value[@as-type='markup-multiline']" + mode="cast-data" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + name="conditional-lf" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="text()[empty(ancestor::pre)]" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="text()" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -3382,20 +3526,18 @@ + mode="md" + match="p" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="h1 | h2 | h3 | h4 | h5 | h6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -3403,48 +3545,40 @@ # + mode="mark" + match="h1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"># ## + mode="mark" + match="h2" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel">## ### + mode="mark" + match="h3" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel">### #### + mode="mark" + match="h4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel">#### ##### + mode="mark" + match="h5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel">##### ###### + mode="mark" + match="h6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel">###### + mode="md" + match="table" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="tr" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -3458,21 +3592,19 @@ + mode="md" + match="th | td" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> | | + mode="md" + priority="1" + match="pre" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> ``` @@ -3481,27 +3613,24 @@ ``` + mode="md" + priority="1" + match="ul | ol" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="ul//ul | ol//ol | ol//ul | ul//ol" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="li" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -3511,10 +3640,9 @@ + mode="md" + match="ol/li" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -3524,55 +3652,49 @@ + mode="md" + match="code | span[contains(@class, 'code')]" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> ` ` + mode="md" + match="em | i" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> * * + mode="md" + match="strong | b" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> ** ** + mode="md" + match="q" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> " " + mode="md" + match="insert" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> {{ insert: }} + mode="md" + match="a" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> [ ] @@ -3581,10 +3703,9 @@ ) + mode="md" + match="img" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> ![ ] diff --git a/json/convert/oscal_ssp_xml-to-json-converter.xsl b/json/convert/oscal_ssp_xml-to-json-converter.xsl index 0bcec4cd5..10273d981 100644 --- a/json/convert/oscal_ssp_xml-to-json-converter.xsl +++ b/json/convert/oscal_ssp_xml-to-json-converter.xsl @@ -1,11 +1,11 @@ + xmlns:m="http://csrc.nist.gov/ns/oscal/metaschema/1.0" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="3.0" + exclude-result-prefixes="#all" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + select="$file ! document(.,$source-xml)"> { $err:description } @@ -60,7 +60,7 @@ + select="xml-to-json($new-json-xml, $write-options)"> { $err:description } @@ -76,16 +76,16 @@ - + + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="system-security-plan" + gi="system-security-plan"> system-security-plan @@ -102,7 +102,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -163,11 +163,18 @@ + + + + + + + + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -175,67 +182,28 @@ + + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - + + + + @@ -258,21 +226,14 @@ - + - + + - - - - - - - - - + @@ -287,65 +248,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -355,7 +259,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -366,11 +270,11 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="system-characteristics" + gi="system-characteristics"> system-characteristics @@ -417,11 +321,11 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="system-information" + gi="system-information"> system-information @@ -448,12 +352,92 @@ + + + + + confidentiality-impact + + + + + + + + + + + + + + + + + + + + + + + + + integrity-impact + + + + + + + + + + + + + + + + + + + + + + + + + availability-impact + + + + + + + + + + + + + + + + + + + + + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="security-impact-level" + gi="security-impact-level"> security-impact-level @@ -463,11 +447,11 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="authorization-boundary" + gi="authorization-boundary"> authorization-boundary @@ -497,7 +481,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -521,11 +505,11 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="network-architecture" + gi="network-architecture"> network-architecture @@ -555,7 +539,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -587,11 +571,11 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="system-implementation" + gi="system-implementation"> system-implementation @@ -641,7 +625,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -680,7 +664,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -695,7 +679,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -736,7 +720,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -765,7 +749,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -781,7 +765,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -790,7 +774,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -827,7 +811,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -842,7 +826,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -896,11 +880,11 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="implementation-status" + gi="implementation-status"> implementation-status @@ -909,7 +893,7 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -925,59 +909,59 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="remarks" + key="remarks" + gi="remarks" + in-json="SCALAR"> remarks + group-by="true()"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="location-uuid" + gi="location-uuid" + in-json="SCALAR"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="party-uuid" + gi="party-uuid" + in-json="SCALAR"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="system-id" + gi="system-id"> @@ -985,33 +969,33 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="role-id" + gi="role-id" + in-json="SCALAR"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="function-performed" + gi="function-performed" + in-json="SCALAR"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1021,634 +1005,705 @@ + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="name" + key="name" + gi="name"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="value" + key="value" + gi="value"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="class" + key="class" + gi="class"> - + + as-type="token" + name="group" + key="group" + gi="group"> - + + as-type="uri-reference" + name="href" + key="href" + gi="href"> + + + + + + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + + + + + as-type="string" + name="resource-fragment" + key="resource-fragment" + gi="resource-fragment"> + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri" + name="scheme" + key="scheme" + gi="scheme"> - + - + + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="location-type" + key="type" + gi="type"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="type" + key="type" + gi="type"> - + + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - + + as-type="string" + name="type" + key="type" + gi="type"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri" + name="scheme" + key="scheme" + gi="scheme"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="role-id" + key="role-id" + gi="role-id"> + + + + + + + + + + + + + + + + + + + + + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri" + name="identifier-type" + key="identifier-type" + gi="identifier-type"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri" + name="system" + key="system" + gi="system"> + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="state" + key="state" + gi="state"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="system-component-type" + key="type" + gi="type"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="state" + key="state" + gi="state"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="role-id" + key="role-id" + gi="role-id"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="name" + key="name" + gi="name"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="nonNegativeInteger" + name="start" + key="start" + gi="start"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="nonNegativeInteger" + name="end" + key="end" + gi="end"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="transport" + key="transport" + gi="transport"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="component-uuid" + key="component-uuid" + gi="component-uuid"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="param-id" + key="param-id" + gi="param-id"> + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="control-id" + key="control-id" + gi="control-id"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="statement-id" + key="statement-id" + gi="statement-id"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="component-uuid" + key="component-uuid" + gi="component-uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="state" + key="state" + gi="state"> + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="provided-uuid" + key="provided-uuid" + gi="provided-uuid"> + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="provided-uuid" + key="provided-uuid" + gi="provided-uuid"> + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="responsibility-uuid" + key="responsibility-uuid" + gi="responsibility-uuid"> + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="media-type" + key="media-type" + gi="media-type"> + priority="3" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="algorithm" + key="algorithm" + gi="algorithm"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="token" + name="filename" + key="filename" + gi="filename"> + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="media-type" + key="media-type" + gi="media-type"> + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -1658,15 +1713,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> published @@ -1676,15 +1731,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> last-modified @@ -1694,15 +1749,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> version @@ -1712,15 +1767,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> oscal-version @@ -1730,8 +1785,8 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -1757,14 +1812,14 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + gi="revisions" + group-json="ARRAY" + name="revision" + key="revisions"> revisions @@ -1772,15 +1827,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -1790,15 +1845,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> published @@ -1808,15 +1863,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> last-modified @@ -1826,15 +1881,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> version @@ -1844,15 +1899,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> oscal-version @@ -1862,15 +1917,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1880,13 +1935,13 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="document-id" + gi="document-id"> @@ -1894,15 +1949,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1911,16 +1966,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -1930,15 +2011,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -1948,37 +2029,37 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1987,16 +2068,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2006,8 +2133,8 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2028,29 +2155,29 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> city @@ -2060,15 +2187,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> state @@ -2078,15 +2205,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> postal-code @@ -2096,15 +2223,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> country @@ -2114,27 +2241,27 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="telephone-number" + gi="telephone-number"> @@ -2142,29 +2269,30 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uri" + name="url" + deprecated="1.1.0" + gi="url" + in-json="SCALAR"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2173,16 +2301,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="name" + key="name" + gi="name" + in-json="SCALAR"> name @@ -2192,15 +2388,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -2210,13 +2406,13 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="external-id" + gi="external-id"> @@ -2224,15 +2420,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2242,27 +2438,27 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="telephone-number" + gi="telephone-number"> @@ -2270,8 +2466,8 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2289,29 +2485,29 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> city @@ -2321,15 +2517,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> - + state @@ -2339,15 +2535,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> postal-code @@ -2357,15 +2553,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> country @@ -2375,29 +2571,65 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="member-of-organization" + gi="member-of-organization" + in-json="SCALAR"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + + + + text + + + + + + + + + + + text + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2407,15 +2639,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="system-name" + key="system-name" + gi="system-name" + in-json="SCALAR"> system-name @@ -2425,15 +2657,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="system-name-short" + key="system-name-short" + gi="system-name-short" + in-json="SCALAR"> system-name-short @@ -2443,37 +2675,37 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2483,15 +2715,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="date" + name="date-authorized" + key="date-authorized" + gi="date-authorized" + in-json="SCALAR"> date-authorized @@ -2501,15 +2733,15 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="security-sensitivity-level" + key="security-sensitivity-level" + gi="security-sensitivity-level" + in-json="SCALAR"> security-sensitivity-level @@ -2519,15 +2751,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2537,8 +2769,8 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2571,15 +2803,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2589,30 +2821,30 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -2626,29 +2858,29 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="information-type-id" + gi="information-type-id" + in-json="SCALAR"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2657,45 +2889,16 @@ - - - - - confidentiality-impact - - - - - - - - - - - - - - - - - - - - + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2705,15 +2908,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="base" + key="base" + gi="base" + in-json="SCALAR"> base @@ -2723,15 +2926,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="selected" + key="selected" + gi="selected" + in-json="SCALAR"> selected @@ -2741,66 +2944,37 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="adjustment-justification" + key="adjustment-justification" + gi="adjustment-justification" + in-json="SCALAR"> adjustment-justification + group-by="true()"> - - - - - integrity-impact - - - - - - - - - - - - - - - - - - - - + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2810,15 +2984,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="base" + key="base" + gi="base" + in-json="SCALAR"> base @@ -2828,15 +3002,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="selected" + key="selected" + gi="selected" + in-json="SCALAR"> selected @@ -2846,66 +3020,37 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="adjustment-justification" + key="adjustment-justification" + gi="adjustment-justification" + in-json="SCALAR"> adjustment-justification + group-by="true()"> - - - - - availability-impact - - - - - - - - - - - - - - - - - - - - + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2915,15 +3060,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="base" + key="base" + gi="base" + in-json="SCALAR"> base @@ -2933,15 +3078,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="selected" + key="selected" + gi="selected" + in-json="SCALAR"> selected @@ -2951,37 +3096,37 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="adjustment-justification" + key="adjustment-justification" + gi="adjustment-justification" + in-json="SCALAR"> adjustment-justification + group-by="true()"> + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="security-objective-confidentiality" + key="security-objective-confidentiality" + gi="security-objective-confidentiality" + in-json="SCALAR"> security-objective-confidentiality @@ -2991,15 +3136,15 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="security-objective-integrity" + key="security-objective-integrity" + gi="security-objective-integrity" + in-json="SCALAR"> security-objective-integrity @@ -3009,15 +3154,15 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="security-objective-availability" + key="security-objective-availability" + gi="security-objective-availability" + in-json="SCALAR"> security-objective-availability @@ -3027,8 +3172,8 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -3039,37 +3184,37 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3079,37 +3224,37 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3119,15 +3264,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="caption" + key="caption" + gi="caption" + in-json="SCALAR"> caption @@ -3137,37 +3282,37 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3177,37 +3322,37 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3217,15 +3362,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="caption" + key="caption" + gi="caption" + in-json="SCALAR"> caption @@ -3235,37 +3380,37 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3275,37 +3420,37 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3315,15 +3460,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="caption" + key="caption" + gi="caption" + in-json="SCALAR"> caption @@ -3333,15 +3478,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3351,15 +3496,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3369,8 +3514,8 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -3395,15 +3540,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -3413,15 +3558,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3431,15 +3576,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="uuid" + name="party-uuid" + key="party-uuid" + gi="party-uuid" + in-json="SCALAR"> party-uuid @@ -3449,15 +3594,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="date" + name="date-authorized" + key="date-authorized" + gi="date-authorized" + in-json="SCALAR"> date-authorized @@ -3467,15 +3612,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -3485,15 +3630,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -3503,37 +3648,37 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3543,15 +3688,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -3561,37 +3706,37 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -3601,37 +3746,37 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="purpose" + key="purpose" + gi="purpose" + in-json="SCALAR"> purpose @@ -3641,15 +3786,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3659,8 +3804,8 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -3671,15 +3816,15 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3689,15 +3834,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -3707,37 +3852,37 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3747,15 +3892,15 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3765,8 +3910,8 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -3795,15 +3940,15 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3813,15 +3958,15 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3831,12 +3976,12 @@ + priority="3" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + key="control-implementation" + gi="control-implementation"> control-implementation @@ -3858,44 +4003,44 @@ + priority="4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="parameter-value" + gi="value" + in-json="SCALAR"> + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -3946,15 +4091,15 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3964,29 +4109,29 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="parameter-value" + gi="value" + in-json="SCALAR"> + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3996,8 +4141,8 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -4034,15 +4179,15 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4052,15 +4197,15 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4070,37 +4215,37 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4110,22 +4255,22 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="parameter-value" + gi="value" + in-json="SCALAR"> + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -4164,37 +4309,37 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4204,8 +4349,8 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -4235,37 +4380,37 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="15" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4275,15 +4420,15 @@ + priority="17" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4293,8 +4438,8 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -4325,37 +4470,37 @@ + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="15" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4365,15 +4510,15 @@ + priority="17" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4383,8 +4528,8 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -4414,37 +4559,37 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="14" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4454,15 +4599,15 @@ + priority="16" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4472,8 +4617,8 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -4504,37 +4649,37 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="14" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4544,15 +4689,15 @@ + priority="16" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4562,15 +4707,15 @@ + priority="14" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4580,37 +4725,37 @@ + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4620,22 +4765,22 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="parameter-value" + gi="value" + in-json="SCALAR"> + priority="8" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -4674,37 +4819,37 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4714,8 +4859,8 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -4745,37 +4890,37 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4785,15 +4930,15 @@ + priority="15" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4803,8 +4948,8 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -4835,37 +4980,37 @@ + priority="11" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="13" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4875,15 +5020,15 @@ + priority="15" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4893,8 +5038,8 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -4924,37 +5069,37 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4964,15 +5109,15 @@ + priority="14" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4982,8 +5127,8 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -5014,37 +5159,37 @@ + priority="10" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5054,15 +5199,15 @@ + priority="14" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5072,15 +5217,15 @@ + priority="12" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5090,8 +5235,8 @@ + priority="5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -5124,15 +5269,15 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -5142,35 +5287,35 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description + group-by="true()"> + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="string" + name="document-id" + gi="document-id"> @@ -5178,8 +5323,8 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -5203,15 +5348,15 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5221,15 +5366,15 @@ + priority="9" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5239,8 +5384,8 @@ + priority="7" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> @@ -5255,14 +5400,14 @@ + priority="6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + as-type="base64Binary" + name="base64" + key="base64" + gi="base64"> base64 @@ -5274,10 +5419,10 @@ + mode="cast-prose" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/1.0"> + namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -5285,49 +5430,43 @@ + name="ns" + select="/*/@namespace"/> + match="group" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="group[@in-json='BY_KEY']" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="flag[@key=../@json-key-flag]" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"/> + match="group[@in-json='SINGLETON_OR_ARRAY'][count(*)=1]" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + priority="2" + match="group/assembly | group/field" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -5345,11 +5484,10 @@ + priority="3" + match="group/field[@in-json='SCALAR']" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -5358,37 +5496,33 @@ + match="/assembly" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="assembly" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="field" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="field[@in-json='SCALAR']" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="flag[@key=../value/@key-flag]" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"/> + match="flag" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + namespace="http://www.w3.org/2005/xpath-functions"> + priority="2" + match="field[exists(@json-key-flag)]/value" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -5426,70 +5557,66 @@ + match="value" + mode="write-json" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> - - - - - - + namespace="http://www.w3.org/2005/xpath-functions"> + + + + + + + + + + match="*" + mode="cast-data" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="value[@as-type='markup-line']" + mode="cast-data" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + match="value[@as-type='markup-multiline']" + mode="cast-data" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + name="conditional-lf" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="text()[empty(ancestor::pre)]" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="text()" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -5498,20 +5625,18 @@ + mode="md" + match="p" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="h1 | h2 | h3 | h4 | h5 | h6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -5519,48 +5644,40 @@ # + mode="mark" + match="h1" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"># ## + mode="mark" + match="h2" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel">## ### + mode="mark" + match="h3" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel">### #### + mode="mark" + match="h4" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel">#### ##### + mode="mark" + match="h5" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel">##### ###### + mode="mark" + match="h6" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel">###### + mode="md" + match="table" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="tr" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -5574,21 +5691,19 @@ + mode="md" + match="th | td" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> | | + mode="md" + priority="1" + match="pre" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> ``` @@ -5597,27 +5712,24 @@ ``` + mode="md" + priority="1" + match="ul | ol" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="ul//ul | ol//ol | ol//ul | ul//ol" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + mode="md" + match="li" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -5627,10 +5739,9 @@ + mode="md" + match="ol/li" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -5640,55 +5751,49 @@ + mode="md" + match="code | span[contains(@class, 'code')]" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> ` ` + mode="md" + match="em | i" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> * * + mode="md" + match="strong | b" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> ** ** + mode="md" + match="q" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> " " + mode="md" + match="insert" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> {{ insert: }} + mode="md" + match="a" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> [ ] @@ -5697,10 +5802,9 @@ ) + mode="md" + match="img" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> ![ ] diff --git a/json/schema/oscal_assessment-plan_schema.json b/json/schema/oscal_assessment-plan_schema.json index d29edeac8..95218836b 100644 --- a/json/schema/oscal_assessment-plan_schema.json +++ b/json/schema/oscal_assessment-plan_schema.json @@ -1,2786 +1,2818 @@ - { "$schema" : "http://json-schema.org/draft-07/schema#", - "$id" : "http://csrc.nist.gov/ns/oscal/1.0.4/oscal-ap-schema.json", - "$comment" : "OSCAL Assessment Plan Model: JSON Schema", + { "$schema" : "http://json-schema.org/draft-07/schema#", + "$id" : "http://csrc.nist.gov/ns/oscal/1.0.4/oscal-ap-schema.json", + "$comment" : "OSCAL Assessment Plan Model: JSON Schema", + "type" : "object", + "definitions" : + { "oscal-ap-oscal-ap:assessment-plan" : + { "title" : "Security Assessment Plan (SAP)", + "description" : "An assessment plan, such as those provided by a FedRAMP assessor.", + "$id" : "#assembly_oscal-ap_assessment-plan", "type" : "object", - "definitions" : - { "oscal-ap-oscal-ap:assessment-plan" : - { "title" : "Security Assessment Plan (SAP)", - "description" : "An assessment plan, such as those provided by a FedRAMP assessor.", - "$id" : "#assembly_oscal-ap_assessment-plan", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Assessment Plan Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment plan in this or other OSCAL instances. The locally defined UUID of the assessment plan can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "metadata" : - { "$ref" : "#assembly_oscal-metadata_metadata" }, - "import-ssp" : - { "$ref" : "#assembly_oscal-assessment-common_import-ssp" }, - "local-definitions" : - { "title" : "Local Definitions", - "description" : "Used to define data objects that are used in the assessment plan, that do not appear in the referenced SSP.", - "type" : "object", - "properties" : - { "components" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_system-component" } }, - "inventory-items" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_inventory-item" } }, - "users" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_system-user" } }, - "objectives-and-methods" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_local-objective" } }, - "activities" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_activity" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "additionalProperties" : false }, - "terms-and-conditions" : - { "title" : "Assessment Plan Terms and Conditions", - "description" : "Used to define various terms and conditions under which an assessment, described by the plan, can be performed. Each child part defines a different type of term or condition.", - "type" : "object", - "properties" : - { "parts" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_assessment-part" } } }, - "additionalProperties" : false }, - "reviewed-controls" : - { "$ref" : "#assembly_oscal-assessment-common_reviewed-controls" }, - "assessment-subjects" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_assessment-subject" } }, - "assessment-assets" : - { "$ref" : "#assembly_oscal-assessment-common_assessment-assets" }, - "tasks" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_task" } }, - "back-matter" : - { "$ref" : "#assembly_oscal-metadata_back-matter" } }, - "required" : - [ "uuid", - "metadata", - "import-ssp", - "reviewed-controls" ], - "additionalProperties" : false }, - "oscal-ap-oscal-metadata:metadata" : - { "title" : "Publication metadata", - "description" : "Provides information about the publication and availability of the containing document.", - "$id" : "#assembly_oscal-metadata_metadata", - "type" : "object", - "properties" : - { "title" : - { "title" : "Document Title", - "description" : "A name given to the document, which may be used by a tool for display and navigation.", - "type" : "string" }, - "published" : - { "$ref" : "#field_oscal-metadata_published" }, - "last-modified" : - { "$ref" : "#field_oscal-metadata_last-modified" }, - "version" : - { "$ref" : "#field_oscal-metadata_version" }, - "oscal-version" : - { "$ref" : "#field_oscal-metadata_oscal-version" }, - "revisions" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_revision" } }, - "document-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_document-id" } }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_role" } }, - "locations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_location" } }, - "parties" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_party" } }, - "responsible-parties" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "title", - "last-modified", - "version", - "oscal-version" ], - "additionalProperties" : false }, - "oscal-ap-oscal-metadata:revision" : - { "title" : "Revision History Entry", - "description" : "An entry in a sequential list of revisions to the containing document in reverse chronological order (i.e., most recent previous revision first).", - "$id" : "#assembly_oscal-metadata_revision", - "type" : "object", - "properties" : - { "title" : - { "title" : "Document Title", - "description" : "A name given to the document revision, which may be used by a tool for display and navigation.", - "type" : "string" }, - "published" : - { "$ref" : "#field_oscal-metadata_published" }, - "last-modified" : - { "$ref" : "#field_oscal-metadata_last-modified" }, - "version" : - { "$ref" : "#field_oscal-metadata_version" }, - "oscal-version" : - { "$ref" : "#field_oscal-metadata_oscal-version" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "version" ], - "additionalProperties" : false }, - "oscal-ap-oscal-metadata:location" : - { "title" : "Location", - "description" : "A location, with associated metadata that can be referenced.", - "$id" : "#assembly_oscal-metadata_location", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Location Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined location elsewhere in this or other OSCAL instances. The locally defined UUID of the location can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Location Title", - "description" : "A name given to the location, which may be used by a tool for display and navigation.", - "type" : "string" }, - "address" : - { "$ref" : "#assembly_oscal-metadata_address" }, - "email-addresses" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_email-address" } }, - "telephone-numbers" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_telephone-number" } }, - "urls" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Location URL", - "description" : "The uniform resource locator (URL) for a web site or Internet presence associated with the location.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" } }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "address" ], - "additionalProperties" : false }, - "oscal-ap-oscal-metadata:location-uuid" : - { "title" : "Location Reference", - "description" : "A machine-oriented identifier reference to a location defined in the metadata section of this or another OSCAL instance. The UUID of the location in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).", - "$id" : "#field_oscal-metadata_location-uuid", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "oscal-ap-oscal-metadata:party" : - { "title" : "Party (organization or person)", - "description" : "A responsible entity which is either a person or an organization.", - "$id" : "#assembly_oscal-metadata_party", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Party Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined party elsewhere in this or other OSCAL instances. The locally defined UUID of the party can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "type" : - { "title" : "Party Type", - "description" : "A category describing the kind of party the object describes.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$", - "enum" : - [ "person", - "organization" ] }, - "name" : - { "title" : "Party Name", - "description" : "The full name of the party. This is typically the legal name associated with the party.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "short-name" : - { "title" : "Party Short Name", - "description" : "A short common name, abbreviation, or acronym for the party.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "external-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Party External Identifier", - "description" : "An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID)", - "type" : "object", - "properties" : - { "scheme" : - { "title" : "External Identifier Schema", - "description" : "Indicates the type of external identifier.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "id" : - { "type" : "string" } }, - "required" : - [ "id", - "scheme" ], - "additionalProperties" : false } }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "email-addresses" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_email-address" } }, - "telephone-numbers" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_telephone-number" } }, - "addresses" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_address" } }, - "location-uuids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_location-uuid" } }, - "member-of-organizations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Organizational Affiliation", - "description" : "A machine-oriented identifier reference to another party (person or organization) that this subject is associated with. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "type" ], - "additionalProperties" : false }, - "oscal-ap-oscal-metadata:party-uuid" : - { "title" : "Party Reference", - "description" : "A machine-oriented identifier reference to another party defined in metadata. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).", - "$id" : "#field_oscal-metadata_party-uuid", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "oscal-ap-oscal-metadata:role" : - { "title" : "Role", - "description" : "Defines a function assumed or expected to be assumed by a party in a specific situation.", - "$id" : "#assembly_oscal-metadata_role", - "type" : "object", - "properties" : - { "id" : - { "title" : "Role Identifier", - "description" : "A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined role elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, the locally defined ID of the Role from the imported OSCAL instance must be referenced in the context of the containing resource (e.g., import, import-component-definition, import-profile, import-ssp or import-ap). This ID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "title" : - { "title" : "Role Title", - "description" : "A name given to the role, which may be used by a tool for display and navigation.", - "type" : "string" }, - "short-name" : - { "title" : "Role Short Name", - "description" : "A short common name, abbreviation, or acronym for the role.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "description" : - { "title" : "Role Description", - "description" : "A summary of the role's purpose and associated responsibilities.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "id", - "title" ], - "additionalProperties" : false }, - "oscal-ap-oscal-metadata:role-id" : - { "title" : "Role Identifier Reference", - "description" : "A human-oriented identifier reference to roles served by the user.", - "$id" : "#field_oscal-metadata_role-id", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "oscal-ap-oscal-metadata:back-matter" : - { "title" : "Back matter", - "description" : "A collection of resources, which may be included directly or by reference.", - "$id" : "#assembly_oscal-metadata_back-matter", - "type" : "object", - "properties" : - { "resources" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Resource", - "description" : "A resource associated with content in the containing document. A resource may be directly included in the document base64 encoded or may point to one or more equivalent internet resources.", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Resource Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined resource elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Resource Title", - "description" : "A name given to the resource, which may be used by a tool for display and navigation.", - "type" : "string" }, - "description" : - { "title" : "Resource Description", - "description" : "A short summary of the resource used to indicate the purpose of the resource.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "document-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_document-id" } }, - "citation" : - { "title" : "Citation", - "description" : "A citation consisting of end note text and optional structured bibliographic data.", - "type" : "object", - "properties" : - { "text" : - { "title" : "Citation Text", - "description" : "A line of citation text.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } } }, - "required" : - [ "text" ], - "additionalProperties" : false }, - "rlinks" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Resource link", - "description" : "A pointer to an external resource with an optional hash for verification and change detection.", - "type" : "object", - "properties" : - { "href" : - { "title" : "Hypertext Reference", - "description" : "A resolvable URI reference to a resource.", - "type" : "string", - "format" : "uri-reference" }, - "media-type" : - { "title" : "Media Type", - "description" : "Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "hashes" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_hash" } } }, - "required" : - [ "href" ], - "additionalProperties" : false } }, - "base64" : - { "title" : "Base64", - "description" : "The Base64 alphabet in RFC 2045 - aligned with XSD.", - "type" : "object", - "properties" : - { "filename" : - { "title" : "File Name", - "description" : "Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded.", - "type" : "string", - "format" : "uri-reference" }, - "media-type" : - { "title" : "Media Type", - "description" : "Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "value" : - { "type" : "string" } }, - "required" : - [ "value" ], - "additionalProperties" : false }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid" ], - "additionalProperties" : false } } }, - "additionalProperties" : false }, - "oscal-ap-oscal-metadata:property" : - { "title" : "Property", - "description" : "An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.", - "$id" : "#assembly_oscal-metadata_property", - "type" : "object", - "properties" : - { "name" : - { "title" : "Property Name", - "description" : "A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "uuid" : - { "title" : "Property Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "ns" : - { "title" : "Property Namespace", - "description" : "A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "value" : - { "title" : "Property Value", - "description" : "Indicates the value of the attribute, characteristic, or quality.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "class" : - { "title" : "Property Class", - "description" : "A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "name", - "value" ], - "additionalProperties" : false }, - "oscal-ap-oscal-metadata:link" : - { "title" : "Link", - "description" : "A reference to a local or remote resource", - "$id" : "#assembly_oscal-metadata_link", - "type" : "object", - "properties" : - { "href" : - { "title" : "Hypertext Reference", - "description" : "A resolvable URL reference to a resource.", - "type" : "string", - "format" : "uri-reference" }, - "rel" : - { "title" : "Relation", - "description" : "Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "media-type" : - { "title" : "Media Type", - "description" : "Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "text" : - { "title" : "Link Text", - "description" : "A textual label to associate with the link, which may be used for presentation in a tool.", - "type" : "string" } }, - "required" : - [ "href" ], - "additionalProperties" : false }, - "oscal-ap-oscal-metadata:responsible-party" : - { "title" : "Responsible Party", - "description" : "A reference to a set of organizations or persons that have responsibility for performing a referenced role in the context of the containing object.", - "$id" : "#assembly_oscal-metadata_responsible-party", - "type" : "object", - "properties" : - { "role-id" : - { "title" : "Responsible Role", - "description" : "A human-oriented identifier reference to roles served by the user.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "party-uuids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_party-uuid" } }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "role-id", - "party-uuids" ], - "additionalProperties" : false }, - "oscal-ap-oscal-metadata:responsible-role" : - { "title" : "Responsible Role", - "description" : "A reference to one or more roles with responsibility for performing a function relative to the containing object.", - "$id" : "#assembly_oscal-metadata_responsible-role", - "type" : "object", - "properties" : - { "role-id" : - { "title" : "Responsible Role ID", - "description" : "A human-oriented identifier reference to roles responsible for the business function.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "party-uuids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_party-uuid" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "role-id" ], - "additionalProperties" : false }, - "oscal-ap-oscal-metadata:hash" : - { "title" : "Hash", - "description" : "A representation of a cryptographic digest generated over a resource using a specified hash algorithm.", - "$id" : "#field_oscal-metadata_hash", - "type" : "object", - "properties" : - { "algorithm" : - { "title" : "Hash algorithm", - "description" : "Method by which a hash is derived", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "value" : - { "type" : "string" } }, - "required" : - [ "value", - "algorithm" ], - "additionalProperties" : false }, - "oscal-ap-oscal-metadata:remarks" : - { "title" : "Remarks", - "description" : "Additional commentary on the containing object.", - "$id" : "#field_oscal-metadata_remarks", - "type" : "string" }, - "oscal-ap-oscal-metadata:published" : - { "title" : "Publication Timestamp", - "description" : "The date and time the document was published. The date-time value must be formatted according to RFC 3339 with full time and time zone included.", - "$id" : "#field_oscal-metadata_published", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "oscal-ap-oscal-metadata:last-modified" : - { "title" : "Last Modified Timestamp", - "description" : "The date and time the document was last modified. The date-time value must be formatted according to RFC 3339 with full time and time zone included.", - "$id" : "#field_oscal-metadata_last-modified", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "oscal-ap-oscal-metadata:version" : - { "title" : "Document Version", - "description" : "A string used to distinguish the current version of the document from other previous (and future) versions.", - "$id" : "#field_oscal-metadata_version", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "oscal-ap-oscal-metadata:oscal-version" : - { "title" : "OSCAL version", - "description" : "The OSCAL model version the document was authored against.", - "$id" : "#field_oscal-metadata_oscal-version", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "oscal-ap-oscal-metadata:email-address" : - { "title" : "Email Address", - "description" : "An email address as defined by RFC 5322 Section 3.4.1.", - "$id" : "#field_oscal-metadata_email-address", - "type" : "string", - "format" : "email", - "pattern" : "^.+@.+$" }, - "oscal-ap-oscal-metadata:telephone-number" : - { "title" : "Telephone Number", - "description" : "Contact number by telephone.", - "$id" : "#field_oscal-metadata_telephone-number", - "type" : "object", - "properties" : - { "type" : - { "title" : "type flag", - "description" : "Indicates the type of phone number.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "number" : - { "type" : "string" } }, - "required" : - [ "number" ], - "additionalProperties" : false }, - "oscal-ap-oscal-metadata:address" : - { "title" : "Address", - "description" : "A postal address for the location.", - "$id" : "#assembly_oscal-metadata_address", - "type" : "object", - "properties" : - { "type" : - { "title" : "Address Type", - "description" : "Indicates the type of address.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "addr-lines" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_addr-line" } }, - "city" : - { "title" : "City", - "description" : "City, town or geographical region for the mailing address.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "state" : - { "title" : "State", - "description" : "State, province or analogous geographical region for mailing address", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "postal-code" : - { "title" : "Postal Code", - "description" : "Postal or ZIP code for mailing address", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "country" : - { "title" : "Country Code", - "description" : "The ISO 3166-1 alpha-2 country code for the mailing address.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" } }, - "additionalProperties" : false }, - "oscal-ap-oscal-metadata:addr-line" : - { "title" : "Address line", - "description" : "A single line of an address.", - "$id" : "#field_oscal-metadata_addr-line", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "oscal-ap-oscal-metadata:document-id" : - { "title" : "Document Identifier", - "description" : "A document identifier qualified by an identifier scheme. A document identifier provides a globally unique identifier with a cross-instance scope that is used for a group of documents that are to be treated as different versions of the same document. If this element does not appear, or if the value of this element is empty, the value of \"document-id\" is equal to the value of the \"uuid\" flag of the top-level root element.", - "$id" : "#field_oscal-metadata_document-id", - "type" : "object", - "properties" : - { "scheme" : - { "title" : "Document Identification Scheme", - "description" : "Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "identifier" : - { "type" : "string" } }, - "required" : - [ "identifier" ], - "additionalProperties" : false }, - "oscal-ap-oscal-assessment-common:import-ssp" : - { "title" : "Import System Security Plan", - "description" : "Used by the assessment plan and POA&M to import information about the system.", - "$id" : "#assembly_oscal-assessment-common_import-ssp", - "type" : "object", - "properties" : - { "href" : - { "title" : "System Security Plan Reference", - "description" : "A resolvable URL reference to the system security plan for the system being assessed.", - "type" : "string", - "format" : "uri-reference" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "href" ], - "additionalProperties" : false }, - "oscal-ap-oscal-assessment-common:local-objective" : - { "title" : "Assessment-Specific Control Objective", - "description" : "A local definition of a control objective for this assessment. Uses catalog syntax for control objective and assessment actions.", - "$id" : "#assembly_oscal-assessment-common_local-objective", - "type" : "object", - "properties" : - { "control-id" : - { "title" : "Control Identifier Reference", - "description" : "A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference).", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "description" : - { "title" : "Objective Description", - "description" : "A human-readable description of this control objective.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "parts" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_part" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "control-id", - "parts" ], - "additionalProperties" : false }, - "oscal-ap-oscal-assessment-common:assessment-method" : - { "title" : "Assessment Method", - "description" : "A local definition of a control objective. Uses catalog syntax for control objective and assessment activities.", - "$id" : "#assembly_oscal-assessment-common_assessment-method", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Assessment Method Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment method elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment method can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "description" : - { "title" : "Assessment Method Description", - "description" : "A human-readable description of this assessment method.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "part" : - { "$ref" : "#assembly_oscal-assessment-common_assessment-part" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "part" ], - "additionalProperties" : false }, - "oscal-ap-oscal-assessment-common:activity" : - { "title" : "Activity", - "description" : "Identifies an assessment or related process that can be performed. In the assessment plan, this is an intended activity which may be associated with an assessment task. In the assessment results, this an activity that was actually performed as part of an assessment.", - "$id" : "#assembly_oscal-assessment-common_activity", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Assessment Activity Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment activity elsewhere in this or other OSCAL instances. The locally defined UUID of the activity can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Included Activity Title", - "description" : "The title for this included activity.", - "type" : "string" }, - "description" : - { "title" : "Included Activity Description", - "description" : "A human-readable description of this included activity.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "steps" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Step", - "description" : "Identifies an individual step in a series of steps related to an activity, such as an assessment test or examination procedure.", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Step Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this step elsewhere in this or other OSCAL instances. The locally defined UUID of the step (in a series of steps) can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Step Title", - "description" : "The title for this step.", - "type" : "string" }, - "description" : - { "title" : "Step Description", - "description" : "A human-readable description of this step.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "reviewed-controls" : - { "$ref" : "#assembly_oscal-assessment-common_reviewed-controls" }, - "responsible-roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "description" ], - "additionalProperties" : false } }, - "related-controls" : - { "$ref" : "#assembly_oscal-assessment-common_reviewed-controls" }, - "responsible-roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "description" ], - "additionalProperties" : false }, - "oscal-ap-oscal-assessment-common:task" : - { "title" : "Task", - "description" : "Represents a scheduled event or milestone, which may be associated with a series of assessment actions.", - "$id" : "#assembly_oscal-assessment-common_task", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Task Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this task elsewhere in this or other OSCAL instances. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "type" : - { "title" : "Task Type", - "description" : "The type of task.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "title" : - { "title" : "Task Title", - "description" : "The title for this task.", - "type" : "string" }, - "description" : - { "title" : "Task Description", - "description" : "A human-readable description of this task.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "timing" : - { "title" : "Event Timing", - "description" : "The timing under which the task is intended to occur.", - "type" : "object", - "properties" : - { "on-date" : - { "title" : "On Date Condition", - "description" : "The task is intended to occur on the specified date.", - "type" : "object", - "properties" : - { "date" : - { "title" : "On Date Condition", - "description" : "The task must occur on the specified date.", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" } }, - "required" : - [ "date" ], - "additionalProperties" : false }, - "within-date-range" : - { "title" : "On Date Range Condition", - "description" : "The task is intended to occur within the specified date range.", - "type" : "object", - "properties" : - { "start" : - { "title" : "Start Date Condition", - "description" : "The task must occur on or after the specified date.", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "end" : - { "title" : "End Date Condition", - "description" : "The task must occur on or before the specified date.", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" } }, - "required" : - [ "start", - "end" ], - "additionalProperties" : false }, - "at-frequency" : - { "title" : "Frequency Condition", - "description" : "The task is intended to occur at the specified frequency.", - "type" : "object", - "properties" : - { "period" : - { "title" : "Period", - "description" : "The task must occur after the specified period has elapsed.", - "type" : "integer", - "multipleOf" : 1, - "minimum" : 1 }, - "unit" : - { "title" : "Time Unit", - "description" : "The unit of time for the period.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$", - "enum" : - [ "seconds", - "minutes", - "hours", - "days", - "months", - "years" ] } }, - "required" : - [ "period", - "unit" ], - "additionalProperties" : false } }, - "additionalProperties" : false }, - "dependencies" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Task Dependency", - "description" : "Used to indicate that a task is dependent on another task.", - "type" : "object", - "properties" : - { "task-uuid" : - { "title" : "Task Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to a unique task.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "task-uuid" ], - "additionalProperties" : false } }, - "tasks" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_task" } }, - "associated-activities" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Associated Activity", - "description" : "Identifies an individual activity to be performed as part of a task.", - "type" : "object", - "properties" : - { "activity-uuid" : - { "title" : "Activity Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to an activity defined in the list of activities.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "responsible-roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, - "subjects" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_assessment-subject" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "activity-uuid", - "subjects" ], - "additionalProperties" : false } }, - "subjects" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_assessment-subject" } }, - "responsible-roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "type", - "title" ], - "additionalProperties" : false }, - "oscal-ap-oscal-assessment-common:reviewed-controls" : - { "title" : "Reviewed Controls and Control Objectives", - "description" : "Identifies the controls being assessed and their control objectives.", - "$id" : "#assembly_oscal-assessment-common_reviewed-controls", - "type" : "object", - "properties" : - { "description" : - { "title" : "Control Objective Description", - "description" : "A human-readable description of control objectives.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "control-selections" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Assessed Controls", - "description" : "Identifies the controls being assessed. In the assessment plan, these are the planned controls. In the assessment results, these are the actual controls, and reflects any changes from the plan.", - "type" : "object", - "properties" : - { "description" : - { "title" : "Assessed Controls Description", - "description" : "A human-readable description of in-scope controls specified for assessment.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "include-all" : - { "$ref" : "#assembly_oscal-catalog-common_include-all" }, - "include-controls" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_select-control-by-id" } }, - "exclude-controls" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_select-control-by-id" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "additionalProperties" : false } }, - "control-objective-selections" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Referenced Control Objectives", - "description" : "Identifies the control objectives of the assessment. In the assessment plan, these are the planned objectives. In the assessment results, these are the assessed objectives, and reflects any changes from the plan.", - "type" : "object", - "properties" : - { "description" : - { "title" : "Control Objectives Description", - "description" : "A human-readable description of this collection of control objectives.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "include-all" : - { "$ref" : "#assembly_oscal-catalog-common_include-all" }, - "include-objectives" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_select-objective-by-id" } }, - "exclude-objectives" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_select-objective-by-id" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "additionalProperties" : false } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "control-selections" ], - "additionalProperties" : false }, - "oscal-ap-oscal-assessment-common:select-control-by-id" : - { "title" : "Select Control", - "description" : "Used to select a control for inclusion/exclusion based on one or more control identifiers. A set of statement identifiers can be used to target the inclusion/exclusion to only specific control statements providing more granularity over the specific statements that are within the asessment scope.", - "$id" : "#assembly_oscal-assessment-common_select-control-by-id", - "type" : "object", - "properties" : - { "control-id" : - { "title" : "Control Identifier Reference", - "description" : "A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference).", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "statement-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Include Specific Statements", - "description" : "Used to constrain the selection to only specificity identified statements.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" } } }, - "required" : - [ "control-id" ], - "additionalProperties" : false }, - "oscal-ap-oscal-assessment-common:select-objective-by-id" : - { "title" : "Select Objective", - "description" : "Used to select a control objective for inclusion/exclusion based on the control objective's identifier.", - "$id" : "#assembly_oscal-assessment-common_select-objective-by-id", - "type" : "object", - "properties" : - { "objective-id" : - { "title" : "Objective ID", - "description" : "Points to an assessment objective.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" } }, - "required" : - [ "objective-id" ], - "additionalProperties" : false }, - "oscal-ap-oscal-assessment-common:assessment-subject-placeholder" : - { "title" : "Assessment Subject Placeholder", - "description" : "Used when the assessment subjects will be determined as part of one or more other assessment activities. These assessment subjects will be recorded in the assessment results in the assessment log.", - "$id" : "#assembly_oscal-assessment-common_assessment-subject-placeholder", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Assessment Subject Placeholder Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier for a set of assessment subjects that will be identified by a task or an activity that is part of a task. The locally defined UUID of the assessment subject placeholder can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "description" : - { "title" : "Assessment Subject Placeholder Description", - "description" : "A human-readable description of intent of this assessment subject placeholder.", - "type" : "string" }, - "sources" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Assessment Subject Source", - "description" : "Assessment subjects will be identified while conducting the referenced activity-instance.", - "type" : "object", - "properties" : - { "task-uuid" : - { "title" : "Task Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference (in this or other OSCAL instances) an assessment activity to be performed as part of the event. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" } }, - "required" : - [ "task-uuid" ], - "additionalProperties" : false } }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "sources" ], - "additionalProperties" : false }, - "oscal-ap-oscal-assessment-common:assessment-subject" : - { "title" : "Subject of Assessment", - "description" : "Identifies system elements being assessed, such as components, inventory items, and locations. In the assessment plan, this identifies a planned assessment subject. In the assessment results this is an actual assessment subject, and reflects any changes from the plan. exactly what will be the focus of this assessment. Any subjects not identified in this way are out-of-scope.", - "$id" : "#assembly_oscal-assessment-common_assessment-subject", - "type" : "object", - "properties" : - { "type" : - { "title" : "Subject Type", - "description" : "Indicates the type of assessment subject, such as a component, inventory, item, location, or party represented by this selection statement.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "description" : - { "title" : "Include Subjects Description", - "description" : "A human-readable description of the collection of subjects being included in this assessment.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "include-all" : - { "$ref" : "#assembly_oscal-catalog-common_include-all" }, - "include-subjects" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_select-subject-by-id" } }, - "exclude-subjects" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_select-subject-by-id" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "type" ], - "additionalProperties" : false }, - "oscal-ap-oscal-assessment-common:select-subject-by-id" : - { "title" : "Select Assessment Subject", - "description" : "Identifies a set of assessment subjects to include/exclude by UUID.", - "$id" : "#assembly_oscal-assessment-common_select-subject-by-id", - "type" : "object", - "properties" : - { "subject-uuid" : - { "title" : "Subject Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "type" : - { "title" : "Subject Universally Unique Identifier Reference Type", - "description" : "Used to indicate the type of object pointed to by the uuid-ref within a subject.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "subject-uuid", - "type" ], - "additionalProperties" : false }, - "oscal-ap-oscal-assessment-common:subject-reference" : - { "title" : "Identifies the Subject", - "description" : "A human-oriented identifier reference to a resource. Use type to indicate whether the identified resource is a component, inventory item, location, user, or something else.", - "$id" : "#assembly_oscal-assessment-common_subject-reference", - "type" : "object", - "properties" : - { "subject-uuid" : - { "title" : "Subject Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "type" : - { "title" : "Subject Universally Unique Identifier Reference Type", - "description" : "Used to indicate the type of object pointed to by the uuid-ref within a subject.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "title" : - { "title" : "Subject Reference Title", - "description" : "The title or name for the referenced subject.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "subject-uuid", - "type" ], - "additionalProperties" : false }, - "oscal-ap-oscal-assessment-common:assessment-assets" : - { "title" : "Assessment Assets", - "description" : "Identifies the assets used to perform this assessment, such as the assessment team, scanning tools, and assumptions.", - "$id" : "#assembly_oscal-assessment-common_assessment-assets", - "type" : "object", - "properties" : - { "components" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_system-component" } }, - "assessment-platforms" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Assessment Platform", - "description" : "Used to represent the toolset used to perform aspects of the assessment.", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Assessment Platform Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment platform elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment platform can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Assessment Platform Title", - "description" : "The title or name for the assessment platform.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "uses-components" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Uses Component", - "description" : "The set of components that are used by the assessment platform.", - "type" : "object", - "properties" : - { "component-uuid" : - { "title" : "Component Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to a component that is implemented as part of an inventory item.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "responsible-parties" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "component-uuid" ], - "additionalProperties" : false } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid" ], - "additionalProperties" : false } } }, - "required" : - [ "assessment-platforms" ], - "additionalProperties" : false }, - "oscal-ap-oscal-assessment-common:finding-target" : - { "title" : "Objective Status", - "description" : "Captures an assessor's conclusions regarding the degree to which an objective is satisfied.", - "$id" : "#assembly_oscal-assessment-common_finding-target", - "type" : "object", - "properties" : - { "type" : - { "title" : "Finding Target Type", - "description" : "Identifies the type of the target.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$", - "enum" : - [ "statement-id", - "objective-id" ] }, - "target-id" : - { "title" : "Finding Target Identifier Reference", - "description" : "A machine-oriented identifier reference for a specific target qualified by the type.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "title" : - { "title" : "Objective Status Title", - "description" : "The title for this objective status.", - "type" : "string" }, - "description" : - { "title" : "Objective Status Description", - "description" : "A human-readable description of the assessor's conclusions regarding the degree to which an objective is satisfied.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "status" : - { "title" : "Objective Status", - "description" : "A determination of if the objective is satisfied or not within a given system.", - "type" : "object", - "properties" : - { "state" : - { "title" : "Objective Status State", - "description" : "An indication as to whether the objective is satisfied or not.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$", - "enum" : - [ "satisfied", - "not-satisfied" ] }, - "reason" : - { "title" : "Objective Status Reason", - "description" : "The reason the objective was given it's status.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "state" ], - "additionalProperties" : false }, - "implementation-status" : - { "$ref" : "#assembly_oscal-implementation-common_implementation-status" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "type", - "target-id", - "status" ], - "additionalProperties" : false }, - "oscal-ap-oscal-assessment-common:observation" : - { "title" : "Observation", - "description" : "Describes an individual observation.", - "$id" : "#assembly_oscal-assessment-common_observation", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Observation Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this observation elsewhere in this or other OSCAL instances. The locally defined UUID of the observation can be used to reference the data item locally or globally (e.g., in an imorted OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Observation Title", - "description" : "The title for this observation.", - "type" : "string" }, - "description" : - { "title" : "Observation Description", - "description" : "A human-readable description of this assessment observation.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "methods" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Observation Method", - "description" : "Identifies how the observation was made.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" } }, - "types" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Observation Type", - "description" : "Identifies the nature of the observation. More than one may be used to further qualify and enable filtering.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" } }, - "origins" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_origin" } }, - "subjects" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_subject-reference" } }, - "relevant-evidence" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Relevant Evidence", - "description" : "Links this observation to relevant evidence.", - "type" : "object", - "properties" : - { "href" : - { "title" : "Relevant Evidence Reference", - "description" : "A resolvable URL reference to relevant evidence.", - "type" : "string", - "format" : "uri-reference" }, - "description" : - { "title" : "Relevant Evidence Description", - "description" : "A human-readable description of this evidence.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "description" ], - "additionalProperties" : false } }, - "collected" : - { "title" : "Collected Field", - "description" : "Date/time stamp identifying when the finding information was collected.", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "expires" : - { "title" : "Expires Field", - "description" : "Date/time identifying when the finding information is out-of-date and no longer valid. Typically used with continuous assessment scenarios.", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "description", - "methods", - "collected" ], - "additionalProperties" : false }, - "oscal-ap-oscal-assessment-common:origin" : - { "title" : "Origin", - "description" : "Identifies the source of the finding, such as a tool, interviewed person, or activity.", - "$id" : "#assembly_oscal-assessment-common_origin", - "type" : "object", - "properties" : - { "actors" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_origin-actor" } }, - "related-tasks" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_related-task" } } }, - "required" : - [ "actors" ], - "additionalProperties" : false }, - "oscal-ap-oscal-assessment-common:origin-actor" : - { "title" : "Originating Actor", - "description" : "The actor that produces an observation, a finding, or a risk. One or more actor type can be used to specify a person that is using a tool.", - "$id" : "#assembly_oscal-assessment-common_origin-actor", - "type" : "object", - "properties" : - { "type" : - { "title" : "Actor Type", - "description" : "The kind of actor.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$", - "enum" : - [ "tool", - "assessment-platform", - "party" ] }, - "actor-uuid" : - { "title" : "Actor Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to the tool or person based on the associated type.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "role-id" : - { "title" : "Actor Role", - "description" : "For a party, this can optionally be used to specify the role the actor was performing.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } } }, - "required" : - [ "type", - "actor-uuid" ], - "additionalProperties" : false }, - "oscal-ap-oscal-assessment-common:related-task" : - { "title" : "Task Reference", - "description" : "Identifies an individual task for which the containing object is a consequence of.", - "$id" : "#assembly_oscal-assessment-common_related-task", - "type" : "object", - "properties" : - { "task-uuid" : - { "title" : "Task Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to a unique task.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "responsible-parties" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, - "subjects" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_assessment-subject" } }, - "identified-subject" : - { "title" : "Identified Subject", - "description" : "Used to detail assessment subjects that were identfied by this task.", - "type" : "object", - "properties" : - { "subject-placeholder-uuid" : - { "title" : "Assessment Subject Placeholder Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to a unique assessment subject placeholder defined by this task.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "subjects" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_assessment-subject" } } }, - "required" : - [ "subject-placeholder-uuid", - "subjects" ], - "additionalProperties" : false }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "task-uuid" ], - "additionalProperties" : false }, - "oscal-ap-oscal-assessment-common:threat-id" : - { "title" : "Threat ID", - "description" : "A pointer, by ID, to an externally-defined threat.", - "$id" : "#field_oscal-assessment-common_threat-id", - "type" : "object", - "properties" : - { "system" : - { "title" : "Threat Type Identification System", - "description" : "Specifies the source of the threat information.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "href" : - { "title" : "Threat Information Resource Reference", - "description" : "An optional location for the threat data, from which this ID originates.", - "type" : "string", - "format" : "uri-reference" }, - "id" : - { "type" : "string" } }, - "required" : - [ "id", - "system" ], - "additionalProperties" : false }, - "oscal-ap-oscal-assessment-common:risk" : - { "title" : "Identified Risk", - "description" : "An identified risk.", - "$id" : "#assembly_oscal-assessment-common_risk", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Risk Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk elsewhere in this or other OSCAL instances. The locally defined UUID of the risk can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Risk Title", - "description" : "The title for this risk.", - "type" : "string" }, - "description" : - { "title" : "Risk Description", - "description" : "A human-readable summary of the identified risk, to include a statement of how the risk impacts the system.", - "type" : "string" }, - "statement" : - { "title" : "Risk Statement", - "description" : "An summary of impact for how the risk affects the system.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "status" : - { "$ref" : "#field_oscal-assessment-common_risk-status" }, - "origins" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_origin" } }, - "threat-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-assessment-common_threat-id" } }, - "characterizations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_characterization" } }, - "mitigating-factors" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Mitigating Factor", - "description" : "Describes an existing mitigating factor that may affect the overall determination of the risk, with an optional link to an implementation statement in the SSP.", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Mitigating Factor Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this mitigating factor elsewhere in this or other OSCAL instances. The locally defined UUID of the mitigating factor can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "implementation-uuid" : - { "title" : "Implementation UUID", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this implementation statement elsewhere in this or other OSCAL instancess. The locally defined UUID of the implementation statement can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "description" : - { "title" : "Mitigating Factor Description", - "description" : "A human-readable description of this mitigating factor.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "subjects" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_subject-reference" } } }, - "required" : - [ "uuid", - "description" ], - "additionalProperties" : false } }, - "deadline" : - { "title" : "Risk Resolution Deadline", - "description" : "The date/time by which the risk must be resolved.", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "remediations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_response" } }, - "risk-log" : - { "title" : "Risk Log", - "description" : "A log of all risk-related tasks taken.", - "type" : "object", - "properties" : - { "entries" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Risk Log Entry", - "description" : "Identifies an individual risk response that occurred as part of managing an identified risk.", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Risk Log Entry Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk log entry elsewhere in this or other OSCAL instances. The locally defined UUID of the risk log entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Title", - "description" : "The title for this risk log entry.", - "type" : "string" }, - "description" : - { "title" : "Risk Task Description", - "description" : "A human-readable description of what was done regarding the risk.", - "type" : "string" }, - "start" : - { "title" : "Start", - "description" : "Identifies the start date and time of the event.", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "end" : - { "title" : "End", - "description" : "Identifies the end date and time of the event. If the event is a point in time, the start and end will be the same date and time.", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "logged-by" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_logged-by" } }, - "status-change" : - { "$ref" : "#field_oscal-assessment-common_risk-status" }, - "related-responses" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Risk Response Reference", - "description" : "Identifies an individual risk response that this log entry is for.", - "type" : "object", - "properties" : - { "response-uuid" : - { "title" : "Response Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to a unique risk response.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "related-tasks" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_related-task" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "response-uuid" ], - "additionalProperties" : false } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "start" ], - "additionalProperties" : false } } }, - "required" : - [ "entries" ], - "additionalProperties" : false }, - "related-observations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Related Observation", - "description" : "Relates the finding to a set of referenced observations that were used to determine the finding.", - "type" : "object", - "properties" : - { "observation-uuid" : - { "title" : "Observation Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to an observation defined in the list of observations.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" } }, - "required" : - [ "observation-uuid" ], - "additionalProperties" : false } } }, - "required" : - [ "uuid", - "title", - "description", - "statement", - "status" ], - "additionalProperties" : false }, - "oscal-ap-oscal-assessment-common:logged-by" : - { "title" : "Logged By", - "description" : "Used to indicate who created a log entry in what role.", - "$id" : "#assembly_oscal-assessment-common_logged-by", - "type" : "object", - "properties" : - { "party-uuid" : - { "title" : "Party UUID Reference", - "description" : "A machine-oriented identifier reference to the party who is making the log entry.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "role-id" : - { "title" : "Actor Role", - "description" : "A point to the role-id of the role in which the party is making the log entry.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" } }, - "required" : - [ "party-uuid" ], - "additionalProperties" : false }, - "oscal-ap-oscal-assessment-common:risk-status" : - { "title" : "Risk Status", - "description" : "Describes the status of the associated risk.", - "$id" : "#field_oscal-assessment-common_risk-status", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "oscal-ap-oscal-assessment-common:characterization" : - { "title" : "Characterization", - "description" : "A collection of descriptive data about the containing object from a specific origin.", - "$id" : "#assembly_oscal-assessment-common_characterization", - "type" : "object", - "properties" : - { "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "origin" : - { "$ref" : "#assembly_oscal-assessment-common_origin" }, - "facets" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Facet", - "description" : "An individual characteristic that is part of a larger set produced by the same actor.", - "type" : "object", - "properties" : - { "name" : - { "title" : "Facet Name", - "description" : "The name of the risk metric within the specified system.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "system" : - { "title" : "Naming System", - "description" : "Specifies the naming system under which this risk metric is organized, which allows for the same names to be used in different systems controlled by different parties. This avoids the potential of a name clash.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "value" : - { "title" : "Facet Value", - "description" : "Indicates the value of the facet.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "name", - "system", - "value" ], - "additionalProperties" : false } } }, - "required" : - [ "origin", - "facets" ], - "additionalProperties" : false }, - "oscal-ap-oscal-assessment-common:response" : - { "title" : "Risk Response", - "description" : "Describes either recommended or an actual plan for addressing the risk.", - "$id" : "#assembly_oscal-assessment-common_response", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Remediation Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this remediation elsewhere in this or other OSCAL instances. The locally defined UUID of the risk response can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "lifecycle" : - { "title" : "Remediation Intent", - "description" : "Identifies whether this is a recommendation, such as from an assessor or tool, or an actual plan accepted by the system owner.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "title" : - { "title" : "Response Title", - "description" : "The title for this response activity.", - "type" : "string" }, - "description" : - { "title" : "Response Description", - "description" : "A human-readable description of this response plan.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "origins" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_origin" } }, - "required-assets" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Required Asset", - "description" : "Identifies an asset required to achieve remediation.", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Required Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this required asset elsewhere in this or other OSCAL instances. The locally defined UUID of the asset can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "subjects" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_subject-reference" } }, - "title" : - { "title" : "Title for Required Asset", - "description" : "The title for this required asset.", - "type" : "string" }, - "description" : - { "title" : "Description of Required Asset", - "description" : "A human-readable description of this required asset.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "description" ], - "additionalProperties" : false } }, - "tasks" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_task" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "lifecycle", - "title", - "description" ], - "additionalProperties" : false }, - "oscal-ap-oscal-assessment-common:assessment-part" : - { "title" : "Assessment Part", - "description" : "A partition of an assessment plan or results or a child of another part.", - "$id" : "#assembly_oscal-assessment-common_assessment-part", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Part Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this part elsewhere in this or other OSCAL instances. The locally defined UUID of the part can be used to reference the data item locally or globally (e.g., in an ported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "name" : - { "title" : "Part Name", - "description" : "A textual label that uniquely identifies the part's semantic type.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "ns" : - { "title" : "Part Namespace", - "description" : "A namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "class" : - { "title" : "Part Class", - "description" : "A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "title" : - { "title" : "Part Title", - "description" : "A name given to the part, which may be used by a tool for display and navigation.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "prose" : - { "title" : "Part Text", - "description" : "Permits multiple paragraphs, lists, tables etc.", - "type" : "string" }, - "parts" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_assessment-part" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } } }, - "required" : - [ "name" ], - "additionalProperties" : false }, - "oscal-ap-oscal-catalog-common:part" : - { "title" : "Part", - "description" : "A partition of a control's definition or a child of another part.", - "$id" : "#assembly_oscal-catalog-common_part", - "type" : "object", - "properties" : - { "id" : - { "title" : "Part Identifier", - "description" : "A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined part elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "name" : - { "title" : "Part Name", - "description" : "A textual label that uniquely identifies the part's semantic type.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "ns" : - { "title" : "Part Namespace", - "description" : "A namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "class" : - { "title" : "Part Class", - "description" : "A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "title" : - { "title" : "Part Title", - "description" : "A name given to the part, which may be used by a tool for display and navigation.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "prose" : - { "title" : "Part Text", - "description" : "Permits multiple paragraphs, lists, tables etc.", - "type" : "string" }, - "parts" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_part" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } } }, - "required" : - [ "name" ], - "additionalProperties" : false }, - "oscal-ap-oscal-catalog-common:parameter" : - { "title" : "Parameter", - "description" : "Parameters provide a mechanism for the dynamic assignment of value(s) in a control.", - "$id" : "#assembly_oscal-catalog-common_parameter", - "type" : "object", - "properties" : - { "id" : - { "title" : "Parameter Identifier", - "description" : "A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined parameter elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "class" : - { "title" : "Parameter Class", - "description" : "A textual label that provides a characterization of the parameter.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "depends-on" : - { "title" : "Depends on", - "description" : "**(deprecated)** Another parameter invoking this one. This construct has been deprecated and should not be used.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "label" : - { "title" : "Parameter Label", - "description" : "A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned.", - "type" : "string" }, - "usage" : - { "title" : "Parameter Usage Description", - "description" : "Describes the purpose and use of a parameter", - "type" : "string" }, - "constraints" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_parameter-constraint" } }, - "guidelines" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_parameter-guideline" } }, - "values" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-catalog-common_parameter-value" } }, - "select" : - { "$ref" : "#assembly_oscal-catalog-common_parameter-selection" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "id" ], - "additionalProperties" : false }, - "oscal-ap-oscal-catalog-common:parameter-constraint" : - { "title" : "Constraint", - "description" : "A formal or informal expression of a constraint or test", - "$id" : "#assembly_oscal-catalog-common_parameter-constraint", - "type" : "object", - "properties" : - { "description" : - { "title" : "Constraint Description", - "description" : "A textual summary of the constraint to be applied.", - "type" : "string" }, - "tests" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Constraint Test", - "description" : "A test expression which is expected to be evaluated by a tool.", - "type" : "object", - "properties" : - { "expression" : - { "title" : "Constraint test", - "description" : "A formal (executable) expression of a constraint", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "expression" ], - "additionalProperties" : false } } }, - "additionalProperties" : false }, - "oscal-ap-oscal-catalog-common:parameter-guideline" : - { "title" : "Guideline", - "description" : "A prose statement that provides a recommendation for the use of a parameter.", - "$id" : "#assembly_oscal-catalog-common_parameter-guideline", - "type" : "object", - "properties" : - { "prose" : - { "title" : "Guideline Text", - "description" : "Prose permits multiple paragraphs, lists, tables etc.", - "type" : "string" } }, - "required" : - [ "prose" ], - "additionalProperties" : false }, - "oscal-ap-oscal-catalog-common:parameter-value" : - { "title" : "Parameter Value", - "description" : "A parameter value or set of values.", - "$id" : "#field_oscal-catalog-common_parameter-value", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "oscal-ap-oscal-catalog-common:parameter-selection" : - { "title" : "Selection", - "description" : "Presenting a choice among alternatives", - "$id" : "#assembly_oscal-catalog-common_parameter-selection", - "type" : "object", - "properties" : - { "how-many" : - { "title" : "Parameter Cardinality", - "description" : "Describes the number of selections that must occur. Without this setting, only one value should be assumed to be permitted.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$", - "enum" : - [ "one", - "one-or-more" ] }, - "choice" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Choice", - "description" : "A value selection among several such options", - "type" : "string" } } }, - "additionalProperties" : false }, - "oscal-ap-oscal-catalog-common:include-all" : - { "title" : "Include All", - "description" : "Include all controls from the imported catalog or profile resources.", - "$id" : "#assembly_oscal-catalog-common_include-all", - "type" : "object", - "additionalProperties" : false }, - "oscal-ap-oscal-implementation-common:system-component" : - { "title" : "Component", - "description" : "A defined component that can be part of an implemented system.", - "$id" : "#assembly_oscal-implementation-common_system-component", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Component Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component elsewhere in this or other OSCAL instances. The locally defined UUID of the component can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "type" : - { "title" : "Component Type", - "description" : "A category describing the purpose of the component.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "title" : - { "title" : "Component Title", - "description" : "A human readable name for the system component.", - "type" : "string" }, - "description" : - { "title" : "Component Description", - "description" : "A description of the component, including information about its function.", - "type" : "string" }, - "purpose" : - { "title" : "Purpose", - "description" : "A summary of the technological or business purpose of the component.", - "type" : "string" }, + "properties" : + { "uuid" : + { "title" : "Assessment Plan Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment plan in this or other OSCAL instances. The locally defined UUID of the assessment plan can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "metadata" : + { "$ref" : "#assembly_oscal-metadata_metadata" }, + "import-ssp" : + { "$ref" : "#assembly_oscal-assessment-common_import-ssp" }, + "local-definitions" : + { "title" : "Local Definitions", + "description" : "Used to define data objects that are used in the assessment plan, that do not appear in the referenced SSP.", + "type" : "object", + "properties" : + { "components" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_system-component" } }, + "inventory-items" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_inventory-item" } }, + "users" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_system-user" } }, + "objectives-and-methods" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_local-objective" } }, + "activities" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_activity" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "additionalProperties" : false }, + "terms-and-conditions" : + { "title" : "Assessment Plan Terms and Conditions", + "description" : "Used to define various terms and conditions under which an assessment, described by the plan, can be performed. Each child part defines a different type of term or condition.", + "type" : "object", + "properties" : + { "parts" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_assessment-part" } } }, + "additionalProperties" : false }, + "reviewed-controls" : + { "$ref" : "#assembly_oscal-assessment-common_reviewed-controls" }, + "assessment-subjects" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_assessment-subject" } }, + "assessment-assets" : + { "$ref" : "#assembly_oscal-assessment-common_assessment-assets" }, + "tasks" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_task" } }, + "back-matter" : + { "$ref" : "#assembly_oscal-metadata_back-matter" } }, + "required" : + [ "uuid", + "metadata", + "import-ssp", + "reviewed-controls" ], + "additionalProperties" : false }, + "oscal-ap-oscal-metadata:metadata" : + { "title" : "Document Metadata", + "description" : "Provides information about the containing document, and defines concepts that are shared across the document.", + "$id" : "#assembly_oscal-metadata_metadata", + "type" : "object", + "properties" : + { "title" : + { "title" : "Document Title", + "description" : "A name given to the document, which may be used by a tool for display and navigation.", + "type" : "string" }, + "published" : + { "$ref" : "#field_oscal-metadata_published" }, + "last-modified" : + { "$ref" : "#field_oscal-metadata_last-modified" }, + "version" : + { "$ref" : "#field_oscal-metadata_version" }, + "oscal-version" : + { "$ref" : "#field_oscal-metadata_oscal-version" }, + "revisions" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Revision History Entry", + "description" : "An entry in a sequential list of revisions to the containing document, expected to be in reverse chronological order (i.e. latest first).", + "type" : "object", + "properties" : + { "title" : + { "title" : "Document Title", + "description" : "A name given to the document revision, which may be used by a tool for display and navigation.", + "type" : "string" }, + "published" : + { "$ref" : "#field_oscal-metadata_published" }, + "last-modified" : + { "$ref" : "#field_oscal-metadata_last-modified" }, + "version" : + { "$ref" : "#field_oscal-metadata_version" }, + "oscal-version" : + { "$ref" : "#field_oscal-metadata_oscal-version" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "version" ], + "additionalProperties" : false } }, + "document-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_document-id" } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "roles" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Role", + "description" : "Defines a function, which might be assigned to a party in a specific situation.", + "type" : "object", + "properties" : + { "id" : + { "title" : "Role Identifier", + "description" : "A unique identifier for the role.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Role Title", + "description" : "A name given to the role, which may be used by a tool for display and navigation.", + "type" : "string" }, + "short-name" : + { "title" : "Role Short Name", + "description" : "A short common name, abbreviation, or acronym for the role.", + "$ref" : "#/definitions/StringDatatype" }, + "description" : + { "title" : "Role Description", + "description" : "A summary of the role's purpose and associated responsibilities.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "id", + "title" ], + "additionalProperties" : false } }, + "locations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Location", + "description" : "A physical point of presence, which may be associated with people, organizations, or other concepts within the current or linked OSCAL document.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Location Universally Unique Identifier", + "description" : "A unique ID for the location, for reference.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Location Title", + "description" : "A name given to the location, which may be used by a tool for display and navigation.", + "type" : "string" }, + "address" : + { "$ref" : "#assembly_oscal-metadata_address" }, + "email-addresses" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_email-address" } }, + "telephone-numbers" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_telephone-number" } }, + "urls" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Location URL", + "description" : "The uniform resource locator (URL) for a web site or other resource associated with the location.", + "$ref" : "#/definitions/URIDatatype" } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid" ], + "additionalProperties" : false } }, + "parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Party", + "description" : "An organization or person, which may be associated with roles or other concepts within the current or linked OSCAL document.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Party Universally Unique Identifier", + "description" : "A unique identifier for the party.", + "$ref" : "#/definitions/UUIDDatatype" }, + "type" : + { "title" : "Party Type", + "description" : "A category describing the kind of party the object describes.", + "allOf" : + [ + { "$ref" : "#/definitions/StringDatatype" }, + + { "enum" : + [ "person", + "organization" ] } ] }, + "name" : + { "title" : "Party Name", + "description" : "The full name of the party. This is typically the legal name associated with the party.", + "$ref" : "#/definitions/StringDatatype" }, + "short-name" : + { "title" : "Party Short Name", + "description" : "A short common name, abbreviation, or acronym for the party.", + "$ref" : "#/definitions/StringDatatype" }, + "external-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Party External Identifier", + "description" : "An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID).", + "type" : "object", + "properties" : + { "scheme" : + { "title" : "External Identifier Schema", + "description" : "Indicates the type of external identifier.", + "$ref" : "#/definitions/URIDatatype" }, + "id" : + { "type" : "string" } }, + "required" : + [ "id", + "scheme" ], + "additionalProperties" : false } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "email-addresses" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_email-address" } }, + "telephone-numbers" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_telephone-number" } }, + "addresses" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_address" } }, + "location-uuids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_location-uuid" } }, + "member-of-organizations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Organizational Affiliation", + "description" : "A reference to another party by UUID, typically an organization, that this subject is associated with.", + "$ref" : "#/definitions/UUIDDatatype" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "type" ], + "additionalProperties" : false } }, + "responsible-parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, + "actions" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_action" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "title", + "last-modified", + "version", + "oscal-version" ], + "additionalProperties" : false }, + "oscal-ap-oscal-metadata:location-uuid" : + { "title" : "Location Universally Unique Identifier Reference", + "description" : "Reference to a location by UUID.", + "$id" : "#field_oscal-metadata_location-uuid", + "$ref" : "#/definitions/UUIDDatatype" }, + "oscal-ap-oscal-metadata:party-uuid" : + { "title" : "Party Universally Unique Identifier Reference", + "description" : "Reference to a party by UUID.", + "$id" : "#field_oscal-metadata_party-uuid", + "$ref" : "#/definitions/UUIDDatatype" }, + "oscal-ap-oscal-metadata:role-id" : + { "title" : "Role Identifier Reference", + "description" : "Reference to a role by UUID.", + "$id" : "#field_oscal-metadata_role-id", + "$ref" : "#/definitions/TokenDatatype" }, + "oscal-ap-oscal-metadata:back-matter" : + { "title" : "Back matter", + "description" : "A collection of resources that may be referenced from within the OSCAL document instance.", + "$id" : "#assembly_oscal-metadata_back-matter", + "type" : "object", + "properties" : + { "resources" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Resource", + "description" : "A resource associated with content in the containing document instance. A resource may be directly included in the document using base64 encoding or may point to one or more equivalent internet resources.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Resource Universally Unique Identifier", + "description" : "A unique identifier for a resource.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Resource Title", + "description" : "An optional name given to the resource, which may be used by a tool for display and navigation.", + "type" : "string" }, + "description" : + { "title" : "Resource Description", + "description" : "An optional short summary of the resource used to indicate the purpose of the resource.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "document-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_document-id" } }, + "citation" : + { "title" : "Citation", + "description" : "An optional citation consisting of end note text using structured markup.", + "type" : "object", + "properties" : + { "text" : + { "title" : "Citation Text", + "description" : "A line of citation text.", + "type" : "string" }, "props" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, "links" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "status" : - { "title" : "Status", - "description" : "Describes the operational status of the system component.", - "type" : "object", - "properties" : - { "state" : - { "title" : "State", - "description" : "The operational status.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$", - "enum" : - [ "under-development", - "operational", - "disposition", - "other" ] }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "state" ], - "additionalProperties" : false }, - "responsible-roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, - "protocols" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_protocol" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "type", - "title", - "description", - "status" ], - "additionalProperties" : false }, - "oscal-ap-oscal-implementation-common:protocol" : - { "title" : "Service Protocol Information", - "description" : "Information about the protocol used to provide a service.", - "$id" : "#assembly_oscal-implementation-common_protocol", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } } }, + "required" : + [ "text" ], + "additionalProperties" : false }, + "rlinks" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Resource link", + "description" : "A URL-based pointer to an external resource with an optional hash for verification and change detection.", + "type" : "object", + "properties" : + { "href" : + { "title" : "Hypertext Reference", + "description" : "A resolvable URL pointing to the referenced resource.", + "$ref" : "#/definitions/URIReferenceDatatype" }, + "media-type" : + { "title" : "Media Type", + "description" : "A label that indicates the nature of a resource, as a data serialization or format.", + "$ref" : "#/definitions/StringDatatype" }, + "hashes" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_hash" } } }, + "required" : + [ "href" ], + "additionalProperties" : false } }, + "base64" : + { "title" : "Base64", + "description" : "A resource encoded using the Base64 alphabet defined by RFC 2045.", + "type" : "object", + "properties" : + { "filename" : + { "title" : "File Name", + "description" : "Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded.", + "$ref" : "#/definitions/TokenDatatype" }, + "media-type" : + { "title" : "Media Type", + "description" : "A label that indicates the nature of a resource, as a data serialization or format.", + "$ref" : "#/definitions/StringDatatype" }, + "value" : + { "type" : "string" } }, + "required" : + [ "value" ], + "additionalProperties" : false }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid" ], + "additionalProperties" : false } } }, + "additionalProperties" : false }, + "oscal-ap-oscal-metadata:property" : + { "title" : "Property", + "description" : "An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair.", + "$id" : "#assembly_oscal-metadata_property", + "type" : "object", + "properties" : + { "name" : + { "title" : "Property Name", + "description" : "A textual label, within a namespace, that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.", + "$ref" : "#/definitions/TokenDatatype" }, + "uuid" : + { "title" : "Property Universally Unique Identifier", + "description" : "A unique identifier for a property.", + "$ref" : "#/definitions/UUIDDatatype" }, + "ns" : + { "title" : "Property Namespace", + "description" : "A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.", + "$ref" : "#/definitions/URIDatatype" }, + "value" : + { "title" : "Property Value", + "description" : "Indicates the value of the attribute, characteristic, or quality.", + "$ref" : "#/definitions/StringDatatype" }, + "class" : + { "title" : "Property Class", + "description" : "A textual label that provides a sub-type or characterization of the property's name.", + "$ref" : "#/definitions/TokenDatatype" }, + "group" : + { "title" : "Property Group", + "description" : "An identifier for relating distinct sets of properties.", + "$ref" : "#/definitions/TokenDatatype" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "name", + "value" ], + "additionalProperties" : false }, + "oscal-ap-oscal-metadata:link" : + { "title" : "Link", + "description" : "A reference to a local or remote resource, that has a specific relation to the containing object.", + "$id" : "#assembly_oscal-metadata_link", + "type" : "object", + "properties" : + { "href" : + { "title" : "Hypertext Reference", + "description" : "A resolvable URL reference to a resource.", + "$ref" : "#/definitions/URIReferenceDatatype" }, + "rel" : + { "title" : "Link Relation Type", + "description" : "Describes the type of relationship provided by the link's hypertext reference. This can be an indicator of the link's purpose.", + "$ref" : "#/definitions/TokenDatatype" }, + "media-type" : + { "title" : "Media Type", + "description" : "A label that indicates the nature of a resource, as a data serialization or format.", + "$ref" : "#/definitions/StringDatatype" }, + "resource-fragment" : + { "title" : "Resource Fragment", + "description" : "In case where the href points to a back-matter/resource, this value will indicate the URI fragment to append to any rlink associated with the resource. This value MUST be URI encoded.", + "$ref" : "#/definitions/StringDatatype" }, + "text" : + { "title" : "Link Text", + "description" : "A textual label to associate with the link, which may be used for presentation in a tool.", + "type" : "string" } }, + "required" : + [ "href" ], + "additionalProperties" : false }, + "oscal-ap-oscal-metadata:responsible-party" : + { "title" : "Responsible Party", + "description" : "A reference to a set of persons and/or organizations that have responsibility for performing the referenced role in the context of the containing object.", + "$id" : "#assembly_oscal-metadata_responsible-party", + "type" : "object", + "properties" : + { "role-id" : + { "title" : "Responsible Role", + "description" : "A reference to a role performed by a party.", + "$ref" : "#/definitions/TokenDatatype" }, + "party-uuids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_party-uuid" } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "role-id", + "party-uuids" ], + "additionalProperties" : false }, + "oscal-ap-oscal-metadata:action" : + { "title" : "Action", + "description" : "An action applied by a role within a given party to the content.", + "$id" : "#assembly_oscal-metadata_action", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Action Universally Unique Identifier", + "description" : "A unique identifier that can be used to reference this defined action elsewhere in an OSCAL document. A UUID should be consistently used for a given location across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "date" : + { "title" : "Action Occurrence Date", + "description" : "The date and time when the action occurred.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "type" : + { "title" : "Action Type", + "description" : "The type of action documented by the assembly, such as an approval.", + "$ref" : "#/definitions/TokenDatatype" }, + "system" : + { "title" : "Action Type System", + "description" : "Specifies the action type system used.", + "$ref" : "#/definitions/URIDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "responsible-parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "type", + "system" ], + "additionalProperties" : false }, + "oscal-ap-oscal-metadata:responsible-role" : + { "title" : "Responsible Role", + "description" : "A reference to a role with responsibility for performing a function relative to the containing object, optionally associated with a set of persons and/or organizations that perform that role.", + "$id" : "#assembly_oscal-metadata_responsible-role", + "type" : "object", + "properties" : + { "role-id" : + { "title" : "Responsible Role ID", + "description" : "A human-oriented identifier reference to a role performed.", + "$ref" : "#/definitions/TokenDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "party-uuids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_party-uuid" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "role-id" ], + "additionalProperties" : false }, + "oscal-ap-oscal-metadata:hash" : + { "title" : "Hash", + "description" : "A representation of a cryptographic digest generated over a resource using a specified hash algorithm.", + "$id" : "#field_oscal-metadata_hash", + "type" : "object", + "properties" : + { "algorithm" : + { "title" : "Hash algorithm", + "description" : "The digest method by which a hash is derived.", + "$ref" : "#/definitions/StringDatatype" }, + "value" : + { "type" : "string" } }, + "required" : + [ "value", + "algorithm" ], + "additionalProperties" : false }, + "oscal-ap-oscal-metadata:remarks" : + { "title" : "Remarks", + "description" : "Additional commentary about the containing object.", + "$id" : "#field_oscal-metadata_remarks", + "type" : "string" }, + "oscal-ap-oscal-metadata:published" : + { "title" : "Publication Timestamp", + "description" : "The date and time the document was last made available.", + "$id" : "#field_oscal-metadata_published", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "oscal-ap-oscal-metadata:last-modified" : + { "title" : "Last Modified Timestamp", + "description" : "The date and time the document was last stored for later retrieval.", + "$id" : "#field_oscal-metadata_last-modified", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "oscal-ap-oscal-metadata:version" : + { "title" : "Document Version", + "description" : "Used to distinguish a specific revision of an OSCAL document from other previous and future versions.", + "$id" : "#field_oscal-metadata_version", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-ap-oscal-metadata:oscal-version" : + { "title" : "OSCAL Version", + "description" : "The OSCAL model version the document was authored against and will conform to as valid.", + "$id" : "#field_oscal-metadata_oscal-version", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-ap-oscal-metadata:email-address" : + { "title" : "Email Address", + "description" : "An email address as defined by RFC 5322 Section 3.4.1.", + "$id" : "#field_oscal-metadata_email-address", + "$ref" : "#/definitions/EmailAddressDatatype" }, + "oscal-ap-oscal-metadata:telephone-number" : + { "title" : "Telephone Number", + "description" : "A telephone service number as defined by ITU-T E.164.", + "$id" : "#field_oscal-metadata_telephone-number", + "type" : "object", + "properties" : + { "type" : + { "title" : "type flag", + "description" : "Indicates the type of phone number.", + "$ref" : "#/definitions/StringDatatype" }, + "number" : + { "type" : "string" } }, + "required" : + [ "number" ], + "additionalProperties" : false }, + "oscal-ap-oscal-metadata:address" : + { "title" : "Address", + "description" : "A postal address for the location.", + "$id" : "#assembly_oscal-metadata_address", + "type" : "object", + "properties" : + { "type" : + { "title" : "Address Type", + "description" : "Indicates the type of address.", + "$ref" : "#/definitions/TokenDatatype" }, + "addr-lines" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_addr-line" } }, + "city" : + { "title" : "City", + "description" : "City, town or geographical region for the mailing address.", + "$ref" : "#/definitions/StringDatatype" }, + "state" : + { "title" : "State", + "description" : "State, province or analogous geographical region for a mailing address.", + "$ref" : "#/definitions/StringDatatype" }, + "postal-code" : + { "title" : "Postal Code", + "description" : "Postal or ZIP code for mailing address.", + "$ref" : "#/definitions/StringDatatype" }, + "country" : + { "title" : "Country Code", + "description" : "The ISO 3166-1 alpha-2 country code for the mailing address.", + "$ref" : "#/definitions/StringDatatype" } }, + "additionalProperties" : false }, + "oscal-ap-oscal-metadata:addr-line" : + { "title" : "Address line", + "description" : "A single line of an address.", + "$id" : "#field_oscal-metadata_addr-line", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-ap-oscal-metadata:document-id" : + { "title" : "Document Identifier", + "description" : "A document identifier qualified by an identifier scheme.", + "$id" : "#field_oscal-metadata_document-id", + "type" : "object", + "properties" : + { "scheme" : + { "title" : "Document Identification Scheme", + "description" : "Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters.", + "$ref" : "#/definitions/URIDatatype" }, + "identifier" : + { "type" : "string" } }, + "required" : + [ "identifier" ], + "additionalProperties" : false }, + "oscal-ap-oscal-assessment-common:import-ssp" : + { "title" : "Import System Security Plan", + "description" : "Used by the assessment plan and POA&M to import information about the system.", + "$id" : "#assembly_oscal-assessment-common_import-ssp", + "type" : "object", + "properties" : + { "href" : + { "title" : "System Security Plan Reference", + "description" : "A resolvable URL reference to the system security plan for the system being assessed.", + "$ref" : "#/definitions/URIReferenceDatatype" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "href" ], + "additionalProperties" : false }, + "oscal-ap-oscal-assessment-common:local-objective" : + { "title" : "Assessment-Specific Control Objective", + "description" : "A local definition of a control objective for this assessment. Uses catalog syntax for control objective and assessment actions.", + "$id" : "#assembly_oscal-assessment-common_local-objective", + "type" : "object", + "properties" : + { "control-id" : + { "title" : "Control Identifier Reference", + "description" : "A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference).", + "$ref" : "#/definitions/TokenDatatype" }, + "description" : + { "title" : "Objective Description", + "description" : "A human-readable description of this control objective.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "parts" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_part" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "control-id", + "parts" ], + "additionalProperties" : false }, + "oscal-ap-oscal-assessment-common:assessment-method" : + { "title" : "Assessment Method", + "description" : "A local definition of a control objective. Uses catalog syntax for control objective and assessment activities.", + "$id" : "#assembly_oscal-assessment-common_assessment-method", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Assessment Method Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment method elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment method can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "description" : + { "title" : "Assessment Method Description", + "description" : "A human-readable description of this assessment method.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "part" : + { "$ref" : "#assembly_oscal-assessment-common_assessment-part" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "part" ], + "additionalProperties" : false }, + "oscal-ap-oscal-assessment-common:activity" : + { "title" : "Activity", + "description" : "Identifies an assessment or related process that can be performed. In the assessment plan, this is an intended activity which may be associated with an assessment task. In the assessment results, this an activity that was actually performed as part of an assessment.", + "$id" : "#assembly_oscal-assessment-common_activity", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Assessment Activity Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment activity elsewhere in this or other OSCAL instances. The locally defined UUID of the activity can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Included Activity Title", + "description" : "The title for this included activity.", + "type" : "string" }, + "description" : + { "title" : "Included Activity Description", + "description" : "A human-readable description of this included activity.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "steps" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Step", + "description" : "Identifies an individual step in a series of steps related to an activity, such as an assessment test or examination procedure.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Step Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this step elsewhere in this or other OSCAL instances. The locally defined UUID of the step (in a series of steps) can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Step Title", + "description" : "The title for this step.", + "type" : "string" }, + "description" : + { "title" : "Step Description", + "description" : "A human-readable description of this step.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "reviewed-controls" : + { "$ref" : "#assembly_oscal-assessment-common_reviewed-controls" }, + "responsible-roles" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "description" ], + "additionalProperties" : false } }, + "related-controls" : + { "$ref" : "#assembly_oscal-assessment-common_reviewed-controls" }, + "responsible-roles" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "description" ], + "additionalProperties" : false }, + "oscal-ap-oscal-assessment-common:task" : + { "title" : "Task", + "description" : "Represents a scheduled event or milestone, which may be associated with a series of assessment actions.", + "$id" : "#assembly_oscal-assessment-common_task", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Task Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this task elsewhere in this or other OSCAL instances. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "type" : + { "title" : "Task Type", + "description" : "The type of task.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Task Title", + "description" : "The title for this task.", + "type" : "string" }, + "description" : + { "title" : "Task Description", + "description" : "A human-readable description of this task.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "timing" : + { "title" : "Event Timing", + "description" : "The timing under which the task is intended to occur.", + "type" : "object", + "properties" : + { "on-date" : + { "title" : "On Date Condition", + "description" : "The task is intended to occur on the specified date.", "type" : "object", "properties" : - { "uuid" : - { "title" : "Service Protocol Information Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this service protocol information elsewhere in this or other OSCAL instances. The locally defined UUID of the service protocol can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "name" : - { "title" : "Protocol Name", - "description" : "The common name of the protocol, which should be the appropriate \"service name\" from the IANA Service Name and Transport Protocol Port Number Registry.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "title" : - { "title" : "Protocol Title", - "description" : "A human readable name for the protocol (e.g., Transport Layer Security).", - "type" : "string" }, - "port-ranges" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_port-range" } } }, + { "date" : + { "title" : "On Date Condition", + "description" : "The task must occur on the specified date.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" } }, "required" : - [ "name" ], + [ "date" ], "additionalProperties" : false }, - "oscal-ap-oscal-implementation-common:port-range" : - { "title" : "Port Range", - "description" : "Where applicable this is the IPv4 port range on which the service operates.", - "$id" : "#assembly_oscal-implementation-common_port-range", + "within-date-range" : + { "title" : "On Date Range Condition", + "description" : "The task is intended to occur within the specified date range.", "type" : "object", "properties" : { "start" : - { "title" : "Start", - "description" : "Indicates the starting port number in a port range", - "type" : "integer", - "multipleOf" : 1, - "minimum" : 0 }, - "end" : - { "title" : "End", - "description" : "Indicates the ending port number in a port range", - "type" : "integer", - "multipleOf" : 1, - "minimum" : 0 }, - "transport" : - { "title" : "Transport", - "description" : "Indicates the transport type.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$", - "enum" : - [ "TCP", - "UDP" ] } }, - "additionalProperties" : false }, - "oscal-ap-oscal-implementation-common:implementation-status" : - { "title" : "Implementation Status", - "description" : "Indicates the degree to which the a given control is implemented.", - "$id" : "#assembly_oscal-implementation-common_implementation-status", - "type" : "object", - "properties" : - { "state" : - { "title" : "Implementation State", - "description" : "Identifies the implementation status of the control or control objective.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, + { "title" : "Start Date Condition", + "description" : "The task must occur on or after the specified date.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "end" : + { "title" : "End Date Condition", + "description" : "The task must occur on or before the specified date.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" } }, "required" : - [ "state" ], + [ "start", + "end" ], "additionalProperties" : false }, - "oscal-ap-oscal-implementation-common:system-user" : - { "title" : "System User", - "description" : "A type of user that interacts with the system based on an associated role.", - "$id" : "#assembly_oscal-implementation-common_system-user", + "at-frequency" : + { "title" : "Frequency Condition", + "description" : "The task is intended to occur at the specified frequency.", "type" : "object", "properties" : - { "uuid" : - { "title" : "User Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this user class elsewhere in this or other OSCAL instances. The locally defined UUID of the system user can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "User Title", - "description" : "A name given to the user, which may be used by a tool for display and navigation.", - "type" : "string" }, - "short-name" : - { "title" : "User Short Name", - "description" : "A short common name, abbreviation, or acronym for the user.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "description" : - { "title" : "User Description", - "description" : "A summary of the user's purpose within the system.", - "type" : "string" }, - "props" : - { "type" : "array", + { "period" : + { "title" : "Period", + "description" : "The task must occur after the specified period has elapsed.", + "$ref" : "#/definitions/PositiveIntegerDatatype" }, + "unit" : + { "title" : "Time Unit", + "description" : "The unit of time for the period.", + "allOf" : + [ + { "$ref" : "#/definitions/StringDatatype" }, + + { "enum" : + [ "seconds", + "minutes", + "hours", + "days", + "months", + "years" ] } ] } }, + "required" : + [ "period", + "unit" ], + "additionalProperties" : false } }, + "additionalProperties" : false }, + "dependencies" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Task Dependency", + "description" : "Used to indicate that a task is dependent on another task.", + "type" : "object", + "properties" : + { "task-uuid" : + { "title" : "Task Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to a unique task.", + "$ref" : "#/definitions/UUIDDatatype" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "task-uuid" ], + "additionalProperties" : false } }, + "tasks" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_task" } }, + "associated-activities" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Associated Activity", + "description" : "Identifies an individual activity to be performed as part of a task.", + "type" : "object", + "properties" : + { "activity-uuid" : + { "title" : "Activity Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to an activity defined in the list of activities.", + "$ref" : "#/definitions/UUIDDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "responsible-roles" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, + "subjects" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_assessment-subject" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "activity-uuid", + "subjects" ], + "additionalProperties" : false } }, + "subjects" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_assessment-subject" } }, + "responsible-roles" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "type", + "title" ], + "additionalProperties" : false }, + "oscal-ap-oscal-assessment-common:reviewed-controls" : + { "title" : "Reviewed Controls and Control Objectives", + "description" : "Identifies the controls being assessed and their control objectives.", + "$id" : "#assembly_oscal-assessment-common_reviewed-controls", + "type" : "object", + "properties" : + { "description" : + { "title" : "Control Objective Description", + "description" : "A human-readable description of control objectives.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "control-selections" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Assessed Controls", + "description" : "Identifies the controls being assessed. In the assessment plan, these are the planned controls. In the assessment results, these are the actual controls, and reflects any changes from the plan.", + "type" : "object", + "properties" : + { "description" : + { "title" : "Assessed Controls Description", + "description" : "A human-readable description of in-scope controls specified for assessment.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "include-all" : + { "$ref" : "#assembly_oscal-control-common_include-all" }, + "include-controls" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_select-control-by-id" } }, + "exclude-controls" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_select-control-by-id" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "additionalProperties" : false } }, + "control-objective-selections" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Referenced Control Objectives", + "description" : "Identifies the control objectives of the assessment. In the assessment plan, these are the planned objectives. In the assessment results, these are the assessed objectives, and reflects any changes from the plan.", + "type" : "object", + "properties" : + { "description" : + { "title" : "Control Objectives Description", + "description" : "A human-readable description of this collection of control objectives.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "include-all" : + { "$ref" : "#assembly_oscal-control-common_include-all" }, + "include-objectives" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_select-objective-by-id" } }, + "exclude-objectives" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_select-objective-by-id" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "additionalProperties" : false } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "control-selections" ], + "additionalProperties" : false }, + "oscal-ap-oscal-assessment-common:select-control-by-id" : + { "title" : "Select Control", + "description" : "Used to select a control for inclusion/exclusion based on one or more control identifiers. A set of statement identifiers can be used to target the inclusion/exclusion to only specific control statements providing more granularity over the specific statements that are within the asessment scope.", + "$id" : "#assembly_oscal-assessment-common_select-control-by-id", + "type" : "object", + "properties" : + { "control-id" : + { "title" : "Control Identifier Reference", + "description" : "A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference).", + "$ref" : "#/definitions/TokenDatatype" }, + "statement-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Include Specific Statements", + "description" : "Used to constrain the selection to only specificity identified statements.", + "$ref" : "#/definitions/TokenDatatype" } } }, + "required" : + [ "control-id" ], + "additionalProperties" : false }, + "oscal-ap-oscal-assessment-common:select-objective-by-id" : + { "title" : "Select Objective", + "description" : "Used to select a control objective for inclusion/exclusion based on the control objective's identifier.", + "$id" : "#assembly_oscal-assessment-common_select-objective-by-id", + "type" : "object", + "properties" : + { "objective-id" : + { "title" : "Objective ID", + "description" : "Points to an assessment objective.", + "$ref" : "#/definitions/TokenDatatype" } }, + "required" : + [ "objective-id" ], + "additionalProperties" : false }, + "oscal-ap-oscal-assessment-common:assessment-subject-placeholder" : + { "title" : "Assessment Subject Placeholder", + "description" : "Used when the assessment subjects will be determined as part of one or more other assessment activities. These assessment subjects will be recorded in the assessment results in the assessment log.", + "$id" : "#assembly_oscal-assessment-common_assessment-subject-placeholder", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Assessment Subject Placeholder Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier for a set of assessment subjects that will be identified by a task or an activity that is part of a task. The locally defined UUID of the assessment subject placeholder can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "description" : + { "title" : "Assessment Subject Placeholder Description", + "description" : "A human-readable description of intent of this assessment subject placeholder.", + "type" : "string" }, + "sources" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Assessment Subject Source", + "description" : "Assessment subjects will be identified while conducting the referenced activity-instance.", + "type" : "object", + "properties" : + { "task-uuid" : + { "title" : "Task Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference (in this or other OSCAL instances) an assessment activity to be performed as part of the event. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" } }, + "required" : + [ "task-uuid" ], + "additionalProperties" : false } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "sources" ], + "additionalProperties" : false }, + "oscal-ap-oscal-assessment-common:assessment-subject" : + { "title" : "Subject of Assessment", + "description" : "Identifies system elements being assessed, such as components, inventory items, and locations. In the assessment plan, this identifies a planned assessment subject. In the assessment results this is an actual assessment subject, and reflects any changes from the plan. exactly what will be the focus of this assessment. Any subjects not identified in this way are out-of-scope.", + "$id" : "#assembly_oscal-assessment-common_assessment-subject", + "type" : "object", + "properties" : + { "type" : + { "title" : "Subject Type", + "description" : "Indicates the type of assessment subject, such as a component, inventory, item, location, or party represented by this selection statement.", + "$ref" : "#/definitions/TokenDatatype" }, + "description" : + { "title" : "Include Subjects Description", + "description" : "A human-readable description of the collection of subjects being included in this assessment.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "include-all" : + { "$ref" : "#assembly_oscal-control-common_include-all" }, + "include-subjects" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_select-subject-by-id" } }, + "exclude-subjects" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_select-subject-by-id" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "type" ], + "additionalProperties" : false }, + "oscal-ap-oscal-assessment-common:select-subject-by-id" : + { "title" : "Select Assessment Subject", + "description" : "Identifies a set of assessment subjects to include/exclude by UUID.", + "$id" : "#assembly_oscal-assessment-common_select-subject-by-id", + "type" : "object", + "properties" : + { "subject-uuid" : + { "title" : "Subject Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID.", + "$ref" : "#/definitions/UUIDDatatype" }, + "type" : + { "title" : "Subject Universally Unique Identifier Reference Type", + "description" : "Used to indicate the type of object pointed to by the uuid-ref within a subject.", + "$ref" : "#/definitions/TokenDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "subject-uuid", + "type" ], + "additionalProperties" : false }, + "oscal-ap-oscal-assessment-common:subject-reference" : + { "title" : "Identifies the Subject", + "description" : "A human-oriented identifier reference to a resource. Use type to indicate whether the identified resource is a component, inventory item, location, user, or something else.", + "$id" : "#assembly_oscal-assessment-common_subject-reference", + "type" : "object", + "properties" : + { "subject-uuid" : + { "title" : "Subject Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID.", + "$ref" : "#/definitions/UUIDDatatype" }, + "type" : + { "title" : "Subject Universally Unique Identifier Reference Type", + "description" : "Used to indicate the type of object pointed to by the uuid-ref within a subject.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Subject Reference Title", + "description" : "The title or name for the referenced subject.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "subject-uuid", + "type" ], + "additionalProperties" : false }, + "oscal-ap-oscal-assessment-common:assessment-assets" : + { "title" : "Assessment Assets", + "description" : "Identifies the assets used to perform this assessment, such as the assessment team, scanning tools, and assumptions.", + "$id" : "#assembly_oscal-assessment-common_assessment-assets", + "type" : "object", + "properties" : + { "components" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_system-component" } }, + "assessment-platforms" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Assessment Platform", + "description" : "Used to represent the toolset used to perform aspects of the assessment.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Assessment Platform Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment platform elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment platform can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Assessment Platform Title", + "description" : "The title or name for the assessment platform.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "uses-components" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Uses Component", + "description" : "The set of components that are used by the assessment platform.", + "type" : "object", + "properties" : + { "component-uuid" : + { "title" : "Component Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to a component that is implemented as part of an inventory item.", + "$ref" : "#/definitions/UUIDDatatype" }, + "props" : + { "type" : "array", "minItems" : 1, "items" : { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", + "links" : + { "type" : "array", "minItems" : 1, "items" : { "$ref" : "#assembly_oscal-metadata_link" } }, - "role-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_role-id" } }, - "authorized-privileges" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_authorized-privilege" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid" ], - "additionalProperties" : false }, - "oscal-ap-oscal-implementation-common:authorized-privilege" : - { "title" : "Privilege", - "description" : "Identifies a specific system privilege held by the user, along with an associated description and/or rationale for the privilege.", - "$id" : "#assembly_oscal-implementation-common_authorized-privilege", - "type" : "object", - "properties" : - { "title" : - { "title" : "Privilege Title", - "description" : "A human readable name for the privilege.", - "type" : "string" }, - "description" : - { "title" : "Privilege Description", - "description" : "A summary of the privilege's purpose within the system.", - "type" : "string" }, - "functions-performed" : - { "type" : "array", + "responsible-parties" : + { "type" : "array", "minItems" : 1, "items" : - { "$ref" : "#field_oscal-implementation-common_function-performed" } } }, - "required" : - [ "title", - "functions-performed" ], - "additionalProperties" : false }, - "oscal-ap-oscal-implementation-common:function-performed" : - { "title" : "Functions Performed", - "description" : "Describes a function performed for a given authorized privilege by this user class.", - "$id" : "#field_oscal-implementation-common_function-performed", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "oscal-ap-oscal-implementation-common:inventory-item" : - { "title" : "Inventory Item", - "description" : "A single managed inventory item within the system.", - "$id" : "#assembly_oscal-implementation-common_inventory-item", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Inventory Item Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inventory item elsewhere in this or other OSCAL instances. The locally defined UUID of the inventory item can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, + { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "component-uuid" ], + "additionalProperties" : false } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid" ], + "additionalProperties" : false } } }, + "required" : + [ "assessment-platforms" ], + "additionalProperties" : false }, + "oscal-ap-oscal-assessment-common:finding-target" : + { "title" : "Objective Status", + "description" : "Captures an assessor's conclusions regarding the degree to which an objective is satisfied.", + "$id" : "#assembly_oscal-assessment-common_finding-target", + "type" : "object", + "properties" : + { "type" : + { "title" : "Finding Target Type", + "description" : "Identifies the type of the target.", + "allOf" : + [ + { "$ref" : "#/definitions/StringDatatype" }, + + { "enum" : + [ "statement-id", + "objective-id" ] } ] }, + "target-id" : + { "title" : "Finding Target Identifier Reference", + "description" : "A machine-oriented identifier reference for a specific target qualified by the type.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Objective Status Title", + "description" : "The title for this objective status.", + "type" : "string" }, + "description" : + { "title" : "Objective Status Description", + "description" : "A human-readable description of the assessor's conclusions regarding the degree to which an objective is satisfied.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "status" : + { "title" : "Objective Status", + "description" : "A determination of if the objective is satisfied or not within a given system.", + "type" : "object", + "properties" : + { "state" : + { "title" : "Objective Status State", + "description" : "An indication as to whether the objective is satisfied or not.", + "allOf" : + [ + { "$ref" : "#/definitions/TokenDatatype" }, + + { "enum" : + [ "satisfied", + "not-satisfied" ] } ] }, + "reason" : + { "title" : "Objective Status Reason", + "description" : "The reason the objective was given it's status.", + "$ref" : "#/definitions/TokenDatatype" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "state" ], + "additionalProperties" : false }, + "implementation-status" : + { "$ref" : "#assembly_oscal-implementation-common_implementation-status" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "type", + "target-id", + "status" ], + "additionalProperties" : false }, + "oscal-ap-oscal-assessment-common:finding" : + { "title" : "Finding", + "description" : "Describes an individual finding.", + "$id" : "#assembly_oscal-assessment-common_finding", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Finding Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this finding in this or other OSCAL instances. The locally defined UUID of the finding can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Finding Title", + "description" : "The title for this finding.", + "type" : "string" }, + "description" : + { "title" : "Finding Description", + "description" : "A human-readable description of this finding.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "origins" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_origin" } }, + "target" : + { "$ref" : "#assembly_oscal-assessment-common_finding-target" }, + "implementation-statement-uuid" : + { "title" : "Implementation Statement UUID", + "description" : "A machine-oriented identifier reference to the implementation statement in the SSP to which this finding is related.", + "$ref" : "#/definitions/UUIDDatatype" }, + "related-observations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Related Observation", + "description" : "Relates the finding to a set of referenced observations that were used to determine the finding.", + "type" : "object", + "properties" : + { "observation-uuid" : + { "title" : "Observation Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to an observation defined in the list of observations.", + "$ref" : "#/definitions/UUIDDatatype" } }, + "required" : + [ "observation-uuid" ], + "additionalProperties" : false } }, + "related-risks" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Associated Risk", + "description" : "Relates the finding to a set of referenced risks that were used to determine the finding.", + "type" : "object", + "properties" : + { "risk-uuid" : + { "title" : "Risk Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to a risk defined in the list of risks.", + "$ref" : "#/definitions/UUIDDatatype" } }, + "required" : + [ "risk-uuid" ], + "additionalProperties" : false } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "title", + "description", + "target" ], + "additionalProperties" : false }, + "oscal-ap-oscal-assessment-common:observation" : + { "title" : "Observation", + "description" : "Describes an individual observation.", + "$id" : "#assembly_oscal-assessment-common_observation", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Observation Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this observation elsewhere in this or other OSCAL instances. The locally defined UUID of the observation can be used to reference the data item locally or globally (e.g., in an imorted OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Observation Title", + "description" : "The title for this observation.", + "type" : "string" }, + "description" : + { "title" : "Observation Description", + "description" : "A human-readable description of this assessment observation.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "methods" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Observation Method", + "description" : "Identifies how the observation was made.", + "$ref" : "#/definitions/StringDatatype" } }, + "types" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Observation Type", + "description" : "Identifies the nature of the observation. More than one may be used to further qualify and enable filtering.", + "$ref" : "#/definitions/TokenDatatype" } }, + "origins" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_origin" } }, + "subjects" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_subject-reference" } }, + "relevant-evidence" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Relevant Evidence", + "description" : "Links this observation to relevant evidence.", + "type" : "object", + "properties" : + { "href" : + { "title" : "Relevant Evidence Reference", + "description" : "A resolvable URL reference to relevant evidence.", + "$ref" : "#/definitions/URIReferenceDatatype" }, + "description" : + { "title" : "Relevant Evidence Description", + "description" : "A human-readable description of this evidence.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "description" ], + "additionalProperties" : false } }, + "collected" : + { "title" : "Collected Field", + "description" : "Date/time stamp identifying when the finding information was collected.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "expires" : + { "title" : "Expires Field", + "description" : "Date/time identifying when the finding information is out-of-date and no longer valid. Typically used with continuous assessment scenarios.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "description", + "methods", + "collected" ], + "additionalProperties" : false }, + "oscal-ap-oscal-assessment-common:origin" : + { "title" : "Origin", + "description" : "Identifies the source of the finding, such as a tool, interviewed person, or activity.", + "$id" : "#assembly_oscal-assessment-common_origin", + "type" : "object", + "properties" : + { "actors" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_origin-actor" } }, + "related-tasks" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_related-task" } } }, + "required" : + [ "actors" ], + "additionalProperties" : false }, + "oscal-ap-oscal-assessment-common:origin-actor" : + { "title" : "Originating Actor", + "description" : "The actor that produces an observation, a finding, or a risk. One or more actor type can be used to specify a person that is using a tool.", + "$id" : "#assembly_oscal-assessment-common_origin-actor", + "type" : "object", + "properties" : + { "type" : + { "title" : "Actor Type", + "description" : "The kind of actor.", + "allOf" : + [ + { "$ref" : "#/definitions/TokenDatatype" }, + + { "enum" : + [ "tool", + "assessment-platform", + "party" ] } ] }, + "actor-uuid" : + { "title" : "Actor Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to the tool or person based on the associated type.", + "$ref" : "#/definitions/UUIDDatatype" }, + "role-id" : + { "title" : "Actor Role", + "description" : "For a party, this can optionally be used to specify the role the actor was performing.", + "$ref" : "#/definitions/TokenDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } } }, + "required" : + [ "type", + "actor-uuid" ], + "additionalProperties" : false }, + "oscal-ap-oscal-assessment-common:related-task" : + { "title" : "Task Reference", + "description" : "Identifies an individual task for which the containing object is a consequence of.", + "$id" : "#assembly_oscal-assessment-common_related-task", + "type" : "object", + "properties" : + { "task-uuid" : + { "title" : "Task Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to a unique task.", + "$ref" : "#/definitions/UUIDDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "responsible-parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, + "subjects" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_assessment-subject" } }, + "identified-subject" : + { "title" : "Identified Subject", + "description" : "Used to detail assessment subjects that were identfied by this task.", + "type" : "object", + "properties" : + { "subject-placeholder-uuid" : + { "title" : "Assessment Subject Placeholder Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to a unique assessment subject placeholder defined by this task.", + "$ref" : "#/definitions/UUIDDatatype" }, + "subjects" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_assessment-subject" } } }, + "required" : + [ "subject-placeholder-uuid", + "subjects" ], + "additionalProperties" : false }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "task-uuid" ], + "additionalProperties" : false }, + "oscal-ap-oscal-assessment-common:threat-id" : + { "title" : "Threat ID", + "description" : "A pointer, by ID, to an externally-defined threat.", + "$id" : "#field_oscal-assessment-common_threat-id", + "type" : "object", + "properties" : + { "system" : + { "title" : "Threat Type Identification System", + "description" : "Specifies the source of the threat information.", + "$ref" : "#/definitions/URIDatatype" }, + "href" : + { "title" : "Threat Information Resource Reference", + "description" : "An optional location for the threat data, from which this ID originates.", + "$ref" : "#/definitions/URIReferenceDatatype" }, + "id" : + { "type" : "string" } }, + "required" : + [ "id", + "system" ], + "additionalProperties" : false }, + "oscal-ap-oscal-assessment-common:risk" : + { "title" : "Identified Risk", + "description" : "An identified risk.", + "$id" : "#assembly_oscal-assessment-common_risk", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Risk Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk elsewhere in this or other OSCAL instances. The locally defined UUID of the risk can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Risk Title", + "description" : "The title for this risk.", + "type" : "string" }, + "description" : + { "title" : "Risk Description", + "description" : "A human-readable summary of the identified risk, to include a statement of how the risk impacts the system.", + "type" : "string" }, + "statement" : + { "title" : "Risk Statement", + "description" : "An summary of impact for how the risk affects the system.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "status" : + { "$ref" : "#field_oscal-assessment-common_risk-status" }, + "origins" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_origin" } }, + "threat-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-assessment-common_threat-id" } }, + "characterizations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_characterization" } }, + "mitigating-factors" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Mitigating Factor", + "description" : "Describes an existing mitigating factor that may affect the overall determination of the risk, with an optional link to an implementation statement in the SSP.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Mitigating Factor Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this mitigating factor elsewhere in this or other OSCAL instances. The locally defined UUID of the mitigating factor can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "implementation-uuid" : + { "title" : "Implementation UUID", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this implementation statement elsewhere in this or other OSCAL instancess. The locally defined UUID of the implementation statement can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "description" : + { "title" : "Mitigating Factor Description", + "description" : "A human-readable description of this mitigating factor.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "subjects" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_subject-reference" } } }, + "required" : + [ "uuid", + "description" ], + "additionalProperties" : false } }, + "deadline" : + { "title" : "Risk Resolution Deadline", + "description" : "The date/time by which the risk must be resolved.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "remediations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_response" } }, + "risk-log" : + { "title" : "Risk Log", + "description" : "A log of all risk-related tasks taken.", + "type" : "object", + "properties" : + { "entries" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Risk Log Entry", + "description" : "Identifies an individual risk response that occurred as part of managing an identified risk.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Risk Log Entry Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk log entry elsewhere in this or other OSCAL instances. The locally defined UUID of the risk log entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Title", + "description" : "The title for this risk log entry.", + "type" : "string" }, "description" : - { "title" : "Inventory Item Description", - "description" : "A summary of the inventory item stating its purpose within the system.", - "type" : "string" }, + { "title" : "Risk Task Description", + "description" : "A human-readable description of what was done regarding the risk.", + "type" : "string" }, + "start" : + { "title" : "Start", + "description" : "Identifies the start date and time of the event.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "end" : + { "title" : "End", + "description" : "Identifies the end date and time of the event. If the event is a point in time, the start and end will be the same date and time.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, "props" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, "links" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "responsible-parties" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, - "implemented-components" : + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "logged-by" : { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Implemented Component", - "description" : "The set of components that are implemented in a given system inventory item.", - "type" : "object", - "properties" : - { "component-uuid" : - { "title" : "Component Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to a component that is implemented as part of an inventory item.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "responsible-parties" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "component-uuid" ], - "additionalProperties" : false } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "description" ], - "additionalProperties" : false }, - "oscal-ap-oscal-implementation-common:set-parameter" : - { "title" : "Set Parameter Value", - "description" : "Identifies the parameter that will be set by the enclosed value.", - "$id" : "#assembly_oscal-implementation-common_set-parameter", - "type" : "object", - "properties" : - { "param-id" : - { "title" : "Parameter ID", - "description" : "A human-oriented reference to a parameter within a control, who's catalog has been imported into the current implementation context.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "values" : + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_logged-by" } }, + "status-change" : + { "$ref" : "#field_oscal-assessment-common_risk-status" }, + "related-responses" : { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Parameter Value", - "description" : "A parameter value or set of values.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" } }, + "minItems" : 1, + "items" : + { "title" : "Risk Response Reference", + "description" : "Identifies an individual risk response that this log entry is for.", + "type" : "object", + "properties" : + { "response-uuid" : + { "title" : "Response Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to a unique risk response.", + "$ref" : "#/definitions/UUIDDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "related-tasks" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_related-task" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "response-uuid" ], + "additionalProperties" : false } }, "remarks" : { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "param-id", - "values" ], - "additionalProperties" : false }, - "oscal-ap-oscal-implementation-common:system-id" : - { "title" : "System Identification", - "description" : "A human-oriented, globally unique identifier with cross-instance scope that can be used to reference this system identification property elsewhere in this or other OSCAL instances. When referencing an externally defined system identification, the system identification must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). This string should be assigned per-subject, which means it should be consistently used to identify the same system across revisions of the document.", - "$id" : "#field_oscal-implementation-common_system-id", - "type" : "object", - "properties" : - { "identifier-type" : - { "title" : "Identification System Type", - "description" : "Identifies the identification system from which the provided identifier was assigned.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "id" : - { "type" : "string" } }, - "required" : - [ "id" ], - "additionalProperties" : false } }, + "required" : + [ "uuid", + "start" ], + "additionalProperties" : false } } }, + "required" : + [ "entries" ], + "additionalProperties" : false }, + "related-observations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Related Observation", + "description" : "Relates the finding to a set of referenced observations that were used to determine the finding.", + "type" : "object", + "properties" : + { "observation-uuid" : + { "title" : "Observation Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to an observation defined in the list of observations.", + "$ref" : "#/definitions/UUIDDatatype" } }, + "required" : + [ "observation-uuid" ], + "additionalProperties" : false } } }, + "required" : + [ "uuid", + "title", + "description", + "statement", + "status" ], + "additionalProperties" : false }, + "oscal-ap-oscal-assessment-common:logged-by" : + { "title" : "Logged By", + "description" : "Used to indicate who created a log entry in what role.", + "$id" : "#assembly_oscal-assessment-common_logged-by", + "type" : "object", + "properties" : + { "party-uuid" : + { "title" : "Party UUID Reference", + "description" : "A machine-oriented identifier reference to the party who is making the log entry.", + "$ref" : "#/definitions/UUIDDatatype" }, + "role-id" : + { "title" : "Actor Role", + "description" : "A point to the role-id of the role in which the party is making the log entry.", + "$ref" : "#/definitions/TokenDatatype" } }, + "required" : + [ "party-uuid" ], + "additionalProperties" : false }, + "oscal-ap-oscal-assessment-common:risk-status" : + { "title" : "Risk Status", + "description" : "Describes the status of the associated risk.", + "$id" : "#field_oscal-assessment-common_risk-status", + "$ref" : "#/definitions/TokenDatatype" }, + "oscal-ap-oscal-assessment-common:characterization" : + { "title" : "Characterization", + "description" : "A collection of descriptive data about the containing object from a specific origin.", + "$id" : "#assembly_oscal-assessment-common_characterization", + "type" : "object", + "properties" : + { "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "origin" : + { "$ref" : "#assembly_oscal-assessment-common_origin" }, + "facets" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Facet", + "description" : "An individual characteristic that is part of a larger set produced by the same actor.", + "type" : "object", + "properties" : + { "name" : + { "title" : "Facet Name", + "description" : "The name of the risk metric within the specified system.", + "$ref" : "#/definitions/TokenDatatype" }, + "system" : + { "title" : "Naming System", + "description" : "Specifies the naming system under which this risk metric is organized, which allows for the same names to be used in different systems controlled by different parties. This avoids the potential of a name clash.", + "$ref" : "#/definitions/URIDatatype" }, + "value" : + { "title" : "Facet Value", + "description" : "Indicates the value of the facet.", + "$ref" : "#/definitions/StringDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "name", + "system", + "value" ], + "additionalProperties" : false } } }, + "required" : + [ "origin", + "facets" ], + "additionalProperties" : false }, + "oscal-ap-oscal-assessment-common:response" : + { "title" : "Risk Response", + "description" : "Describes either recommended or an actual plan for addressing the risk.", + "$id" : "#assembly_oscal-assessment-common_response", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Remediation Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this remediation elsewhere in this or other OSCAL instances. The locally defined UUID of the risk response can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "lifecycle" : + { "title" : "Remediation Intent", + "description" : "Identifies whether this is a recommendation, such as from an assessor or tool, or an actual plan accepted by the system owner.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Response Title", + "description" : "The title for this response activity.", + "type" : "string" }, + "description" : + { "title" : "Response Description", + "description" : "A human-readable description of this response plan.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "origins" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_origin" } }, + "required-assets" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Required Asset", + "description" : "Identifies an asset required to achieve remediation.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Required Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this required asset elsewhere in this or other OSCAL instances. The locally defined UUID of the asset can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "subjects" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_subject-reference" } }, + "title" : + { "title" : "Title for Required Asset", + "description" : "The title for this required asset.", + "type" : "string" }, + "description" : + { "title" : "Description of Required Asset", + "description" : "A human-readable description of this required asset.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "description" ], + "additionalProperties" : false } }, + "tasks" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_task" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "lifecycle", + "title", + "description" ], + "additionalProperties" : false }, + "oscal-ap-oscal-assessment-common:assessment-part" : + { "title" : "Assessment Part", + "description" : "A partition of an assessment plan or results or a child of another part.", + "$id" : "#assembly_oscal-assessment-common_assessment-part", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Part Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this part elsewhere in this or other OSCAL instances. The locally defined UUID of the part can be used to reference the data item locally or globally (e.g., in an ported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "name" : + { "title" : "Part Name", + "description" : "A textual label that uniquely identifies the part's semantic type.", + "$ref" : "#/definitions/TokenDatatype" }, + "ns" : + { "title" : "Part Namespace", + "description" : "A namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name.", + "$ref" : "#/definitions/URIDatatype" }, + "class" : + { "title" : "Part Class", + "description" : "A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Part Title", + "description" : "A name given to the part, which may be used by a tool for display and navigation.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "prose" : + { "title" : "Part Text", + "description" : "Permits multiple paragraphs, lists, tables etc.", + "type" : "string" }, + "parts" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_assessment-part" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } } }, + "required" : + [ "name" ], + "additionalProperties" : false }, + "oscal-ap-oscal-control-common:part" : + { "title" : "Part", + "description" : "An annotated, markup-based textual element of a control's or catalog group's definition, or a child of another part.", + "$id" : "#assembly_oscal-control-common_part", + "type" : "object", + "properties" : + { "id" : + { "title" : "Part Identifier", + "description" : "A unique identifier for the part.", + "$ref" : "#/definitions/TokenDatatype" }, + "name" : + { "title" : "Part Name", + "description" : "A textual label that uniquely identifies the part's semantic type, which exists in a value space qualified by the ns.", + "$ref" : "#/definitions/TokenDatatype" }, + "ns" : + { "title" : "Part Namespace", + "description" : "An optional namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name.", + "$ref" : "#/definitions/URIDatatype" }, + "class" : + { "title" : "Part Class", + "description" : "An optional textual providing a sub-type or characterization of the part's name, or a category to which the part belongs.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Part Title", + "description" : "An optional name given to the part, which may be used by a tool for display and navigation.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "prose" : + { "title" : "Part Text", + "description" : "Permits multiple paragraphs, lists, tables etc.", + "type" : "string" }, + "parts" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_part" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } } }, + "required" : + [ "name" ], + "additionalProperties" : false }, + "oscal-ap-oscal-control-common:parameter" : + { "title" : "Parameter", + "description" : "Parameters provide a mechanism for the dynamic assignment of value(s) in a control.", + "$id" : "#assembly_oscal-control-common_parameter", + "type" : "object", + "properties" : + { "id" : + { "title" : "Parameter Identifier", + "description" : "A unique identifier for the parameter.", + "$ref" : "#/definitions/TokenDatatype" }, + "class" : + { "title" : "Parameter Class", + "description" : "A textual label that provides a characterization of the type, purpose, use or scope of the parameter.", + "$ref" : "#/definitions/TokenDatatype" }, + "depends-on" : + { "title" : "Depends on", + "description" : "(deprecated) Another parameter invoking this one. This construct has been deprecated and should not be used.", + "$ref" : "#/definitions/TokenDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "label" : + { "title" : "Parameter Label", + "description" : "A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned.", + "type" : "string" }, + "usage" : + { "title" : "Parameter Usage Description", + "description" : "Describes the purpose and use of a parameter.", + "type" : "string" }, + "constraints" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_parameter-constraint" } }, + "guidelines" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_parameter-guideline" } }, + "values" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-control-common_parameter-value" } }, + "select" : + { "$ref" : "#assembly_oscal-control-common_parameter-selection" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "id" ], + "additionalProperties" : false }, + "oscal-ap-oscal-control-common:parameter-constraint" : + { "title" : "Constraint", + "description" : "A formal or informal expression of a constraint or test.", + "$id" : "#assembly_oscal-control-common_parameter-constraint", + "type" : "object", + "properties" : + { "description" : + { "title" : "Constraint Description", + "description" : "A textual summary of the constraint to be applied.", + "type" : "string" }, + "tests" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Constraint Test", + "description" : "A test expression which is expected to be evaluated by a tool.", + "type" : "object", + "properties" : + { "expression" : + { "title" : "Constraint test", + "description" : "A formal (executable) expression of a constraint.", + "$ref" : "#/definitions/StringDatatype" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "expression" ], + "additionalProperties" : false } } }, + "additionalProperties" : false }, + "oscal-ap-oscal-control-common:parameter-guideline" : + { "title" : "Guideline", + "description" : "A prose statement that provides a recommendation for the use of a parameter.", + "$id" : "#assembly_oscal-control-common_parameter-guideline", + "type" : "object", + "properties" : + { "prose" : + { "title" : "Guideline Text", + "description" : "Prose permits multiple paragraphs, lists, tables etc.", + "type" : "string" } }, + "required" : + [ "prose" ], + "additionalProperties" : false }, + "oscal-ap-oscal-control-common:parameter-value" : + { "title" : "Parameter Value", + "description" : "A parameter value or set of values.", + "$id" : "#field_oscal-control-common_parameter-value", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-ap-oscal-control-common:parameter-selection" : + { "title" : "Selection", + "description" : "Presenting a choice among alternatives.", + "$id" : "#assembly_oscal-control-common_parameter-selection", + "type" : "object", + "properties" : + { "how-many" : + { "title" : "Parameter Cardinality", + "description" : "Describes the number of selections that must occur. Without this setting, only one value should be assumed to be permitted.", + "allOf" : + [ + { "$ref" : "#/definitions/TokenDatatype" }, + + { "enum" : + [ "one", + "one-or-more" ] } ] }, + "choice" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Choice", + "description" : "A value selection among several such options.", + "type" : "string" } } }, + "additionalProperties" : false }, + "oscal-ap-oscal-control-common:include-all" : + { "title" : "Include All", + "description" : "Include all controls from the imported catalog or profile resources.", + "$id" : "#assembly_oscal-control-common_include-all", + "type" : "object", + "additionalProperties" : false }, + "oscal-ap-oscal-implementation-common:system-component" : + { "title" : "Component", + "description" : "A defined component that can be part of an implemented system.", + "$id" : "#assembly_oscal-implementation-common_system-component", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Component Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component elsewhere in this or other OSCAL instances. The locally defined UUID of the component can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "type" : + { "title" : "Component Type", + "description" : "A category describing the purpose of the component.", + "$ref" : "#/definitions/StringDatatype" }, + "title" : + { "title" : "Component Title", + "description" : "A human readable name for the system component.", + "type" : "string" }, + "description" : + { "title" : "Component Description", + "description" : "A description of the component, including information about its function.", + "type" : "string" }, + "purpose" : + { "title" : "Purpose", + "description" : "A summary of the technological or business purpose of the component.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "status" : + { "title" : "Status", + "description" : "Describes the operational status of the system component.", + "type" : "object", + "properties" : + { "state" : + { "title" : "State", + "description" : "The operational status.", + "allOf" : + [ + { "$ref" : "#/definitions/TokenDatatype" }, + + { "enum" : + [ "under-development", + "operational", + "disposition", + "other" ] } ] }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "state" ], + "additionalProperties" : false }, + "responsible-roles" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, + "protocols" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_protocol" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "type", + "title", + "description", + "status" ], + "additionalProperties" : false }, + "oscal-ap-oscal-implementation-common:protocol" : + { "title" : "Service Protocol Information", + "description" : "Information about the protocol used to provide a service.", + "$id" : "#assembly_oscal-implementation-common_protocol", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Service Protocol Information Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this service protocol information elsewhere in this or other OSCAL instances. The locally defined UUID of the service protocol can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "name" : + { "title" : "Protocol Name", + "description" : "The common name of the protocol, which should be the appropriate \"service name\" from the IANA Service Name and Transport Protocol Port Number Registry.", + "$ref" : "#/definitions/StringDatatype" }, + "title" : + { "title" : "Protocol Title", + "description" : "A human readable name for the protocol (e.g., Transport Layer Security).", + "type" : "string" }, + "port-ranges" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_port-range" } } }, + "required" : + [ "name" ], + "additionalProperties" : false }, + "oscal-ap-oscal-implementation-common:port-range" : + { "title" : "Port Range", + "description" : "Where applicable this is the IPv4 port range on which the service operates.", + "$id" : "#assembly_oscal-implementation-common_port-range", + "type" : "object", + "properties" : + { "start" : + { "title" : "Start", + "description" : "Indicates the starting port number in a port range", + "$ref" : "#/definitions/NonNegativeIntegerDatatype" }, + "end" : + { "title" : "End", + "description" : "Indicates the ending port number in a port range", + "$ref" : "#/definitions/NonNegativeIntegerDatatype" }, + "transport" : + { "title" : "Transport", + "description" : "Indicates the transport type.", + "allOf" : + [ + { "$ref" : "#/definitions/TokenDatatype" }, + + { "enum" : + [ "TCP", + "UDP" ] } ] } }, + "additionalProperties" : false }, + "oscal-ap-oscal-implementation-common:implementation-status" : + { "title" : "Implementation Status", + "description" : "Indicates the degree to which the a given control is implemented.", + "$id" : "#assembly_oscal-implementation-common_implementation-status", + "type" : "object", + "properties" : + { "state" : + { "title" : "Implementation State", + "description" : "Identifies the implementation status of the control or control objective.", + "$ref" : "#/definitions/TokenDatatype" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "state" ], + "additionalProperties" : false }, + "oscal-ap-oscal-implementation-common:system-user" : + { "title" : "System User", + "description" : "A type of user that interacts with the system based on an associated role.", + "$id" : "#assembly_oscal-implementation-common_system-user", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "User Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this user class elsewhere in this or other OSCAL instances. The locally defined UUID of the system user can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "User Title", + "description" : "A name given to the user, which may be used by a tool for display and navigation.", + "type" : "string" }, + "short-name" : + { "title" : "User Short Name", + "description" : "A short common name, abbreviation, or acronym for the user.", + "$ref" : "#/definitions/StringDatatype" }, + "description" : + { "title" : "User Description", + "description" : "A summary of the user's purpose within the system.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "role-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_role-id" } }, + "authorized-privileges" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_authorized-privilege" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid" ], + "additionalProperties" : false }, + "oscal-ap-oscal-implementation-common:authorized-privilege" : + { "title" : "Privilege", + "description" : "Identifies a specific system privilege held by the user, along with an associated description and/or rationale for the privilege.", + "$id" : "#assembly_oscal-implementation-common_authorized-privilege", + "type" : "object", + "properties" : + { "title" : + { "title" : "Privilege Title", + "description" : "A human readable name for the privilege.", + "type" : "string" }, + "description" : + { "title" : "Privilege Description", + "description" : "A summary of the privilege's purpose within the system.", + "type" : "string" }, + "functions-performed" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-implementation-common_function-performed" } } }, + "required" : + [ "title", + "functions-performed" ], + "additionalProperties" : false }, + "oscal-ap-oscal-implementation-common:function-performed" : + { "title" : "Functions Performed", + "description" : "Describes a function performed for a given authorized privilege by this user class.", + "$id" : "#field_oscal-implementation-common_function-performed", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-ap-oscal-implementation-common:inventory-item" : + { "title" : "Inventory Item", + "description" : "A single managed inventory item within the system.", + "$id" : "#assembly_oscal-implementation-common_inventory-item", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Inventory Item Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inventory item elsewhere in this or other OSCAL instances. The locally defined UUID of the inventory item can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "description" : + { "title" : "Inventory Item Description", + "description" : "A summary of the inventory item stating its purpose within the system.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "responsible-parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, + "implemented-components" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Implemented Component", + "description" : "The set of components that are implemented in a given system inventory item.", + "type" : "object", + "properties" : + { "component-uuid" : + { "title" : "Component Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to a component that is implemented as part of an inventory item.", + "$ref" : "#/definitions/UUIDDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "responsible-parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "component-uuid" ], + "additionalProperties" : false } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "description" ], + "additionalProperties" : false }, + "oscal-ap-oscal-implementation-common:set-parameter" : + { "title" : "Set Parameter Value", + "description" : "Identifies the parameter that will be set by the enclosed value.", + "$id" : "#assembly_oscal-implementation-common_set-parameter", + "type" : "object", + "properties" : + { "param-id" : + { "title" : "Parameter ID", + "description" : "A human-oriented reference to a parameter within a control, who's catalog has been imported into the current implementation context.", + "$ref" : "#/definitions/TokenDatatype" }, + "values" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Parameter Value", + "description" : "A parameter value or set of values.", + "$ref" : "#/definitions/StringDatatype" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "param-id", + "values" ], + "additionalProperties" : false }, + "oscal-ap-oscal-implementation-common:system-id" : + { "title" : "System Identification", + "description" : "A human-oriented, globally unique identifier with cross-instance scope that can be used to reference this system identification property elsewhere in this or other OSCAL instances. When referencing an externally defined system identification, the system identification must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). This string should be assigned per-subject, which means it should be consistently used to identify the same system across revisions of the document.", + "$id" : "#field_oscal-implementation-common_system-id", + "type" : "object", "properties" : - { "assessment-plan" : - { "$ref" : "#assembly_oscal-ap_assessment-plan" } }, + { "identifier-type" : + { "title" : "Identification System Type", + "description" : "Identifies the identification system from which the provided identifier was assigned.", + "$ref" : "#/definitions/URIDatatype" }, + "id" : + { "type" : "string" } }, "required" : - [ "assessment-plan" ], - "additionalProperties" : false, - "maxProperties" : 1 } \ No newline at end of file + [ "id" ], + "additionalProperties" : false }, + "Base64Datatype" : + { "type" : "string", + "pattern" : "^[0-9A-Fa-f]+$", + "contentEncoding" : "base64" }, + "DateTimeWithTimezoneDatatype" : + { "type" : "string", + "format" : "date-time", + "pattern" : "^(((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30)))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]*[1-9])?(Z|(-((0[0-9]|1[0-2]):00|0[39]:30)|\\+((0[0-9]|1[0-4]):00|(0[34569]|10):30|(0[58]|12):45)))$" }, + "EmailAddressDatatype" : + { "type" : "string", + "format" : "email", + "pattern" : "^.+@.+$" }, + "IntegerDatatype" : + { "type" : "integer" }, + "NonNegativeIntegerDatatype" : + { "allOf" : + [ + { "$ref" : "#/definitions/IntegerDatatype" }, + + { "minimum" : 0, + "type" : "number" } ] }, + "PositiveIntegerDatatype" : + { "allOf" : + [ + { "$ref" : "#/definitions/IntegerDatatype" }, + + { "minimum" : 1, + "type" : "number" } ] }, + "StringDatatype" : + { "type" : "string", + "pattern" : "^\\S(.*\\S)?$" }, + "TokenDatatype" : + { "type" : "string", + "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, + "URIDatatype" : + { "type" : "string", + "format" : "uri", + "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, + "URIReferenceDatatype" : + { "type" : "string", + "format" : "uri-reference" }, + "UUIDDatatype" : + { "type" : "string", + "description" : "A type 4 ('random' or 'pseudorandom') or type 5 UUID per RFC 4122.", + "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" } }, + "properties" : + { "assessment-plan" : + { "$ref" : "#assembly_oscal-ap_assessment-plan" } }, + "required" : + [ "assessment-plan" ], + "additionalProperties" : false, + "maxProperties" : 1 } \ No newline at end of file diff --git a/json/schema/oscal_assessment-results_schema.json b/json/schema/oscal_assessment-results_schema.json index 3de238ca1..4e42d5e9c 100644 --- a/json/schema/oscal_assessment-results_schema.json +++ b/json/schema/oscal_assessment-results_schema.json @@ -1,3031 +1,2971 @@ - { "$schema" : "http://json-schema.org/draft-07/schema#", - "$id" : "http://csrc.nist.gov/ns/oscal/1.0.4/oscal-ar-schema.json", - "$comment" : "OSCAL Assessment Results Model: JSON Schema", + { "$schema" : "http://json-schema.org/draft-07/schema#", + "$id" : "http://csrc.nist.gov/ns/oscal/1.0.4/oscal-ar-schema.json", + "$comment" : "OSCAL Assessment Results Model: JSON Schema", + "type" : "object", + "definitions" : + { "oscal-ar-oscal-ar:assessment-results" : + { "title" : "Security Assessment Results (SAR)", + "description" : "Security assessment results, such as those provided by a FedRAMP assessor in the FedRAMP Security Assessment Report.", + "$id" : "#assembly_oscal-ar_assessment-results", "type" : "object", - "definitions" : - { "oscal-ar-oscal-ar:assessment-results" : - { "title" : "Security Assessment Results (SAR)", - "description" : "Security assessment results, such as those provided by a FedRAMP assessor in the FedRAMP Security Assessment Report.", - "$id" : "#assembly_oscal-ar_assessment-results", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Assessment Results Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment results instance in this or other OSCAL instances. The locally defined UUID of the assessment result can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "metadata" : - { "$ref" : "#assembly_oscal-metadata_metadata" }, - "import-ap" : - { "$ref" : "#assembly_oscal-ar_import-ap" }, - "local-definitions" : - { "title" : "Local Definitions", - "description" : "Used to define data objects that are used in the assessment plan, that do not appear in the referenced SSP.", - "type" : "object", - "properties" : - { "objectives-and-methods" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_local-objective" } }, - "activities" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_activity" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "additionalProperties" : false }, - "results" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-ar_result" } }, - "back-matter" : - { "$ref" : "#assembly_oscal-metadata_back-matter" } }, - "required" : - [ "uuid", - "metadata", - "import-ap", - "results" ], - "additionalProperties" : false }, - "oscal-ar-oscal-ar:result" : - { "title" : "Assessment Result", - "description" : "Used by the assessment results and POA&M. In the assessment results, this identifies all of the assessment observations and findings, initial and residual risks, deviations, and disposition. In the POA&M, this identifies initial and residual risks, deviations, and disposition.", - "$id" : "#assembly_oscal-ar_result", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Results Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this set of results in this or other OSCAL instances. The locally defined UUID of the assessment result can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, + "properties" : + { "uuid" : + { "title" : "Assessment Results Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment results instance in this or other OSCAL instances. The locally defined UUID of the assessment result can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "metadata" : + { "$ref" : "#assembly_oscal-metadata_metadata" }, + "import-ap" : + { "$ref" : "#assembly_oscal-ar_import-ap" }, + "local-definitions" : + { "title" : "Local Definitions", + "description" : "Used to define data objects that are used in the assessment plan, that do not appear in the referenced SSP.", + "type" : "object", + "properties" : + { "objectives-and-methods" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_local-objective" } }, + "activities" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_activity" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "additionalProperties" : false }, + "results" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-ar_result" } }, + "back-matter" : + { "$ref" : "#assembly_oscal-metadata_back-matter" } }, + "required" : + [ "uuid", + "metadata", + "import-ap", + "results" ], + "additionalProperties" : false }, + "oscal-ar-oscal-ar:result" : + { "title" : "Assessment Result", + "description" : "Used by the assessment results and POA&M. In the assessment results, this identifies all of the assessment observations and findings, initial and residual risks, deviations, and disposition. In the POA&M, this identifies initial and residual risks, deviations, and disposition.", + "$id" : "#assembly_oscal-ar_result", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Results Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this set of results in this or other OSCAL instances. The locally defined UUID of the assessment result can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Results Title", + "description" : "The title for this set of results.", + "type" : "string" }, + "description" : + { "title" : "Results Description", + "description" : "A human-readable description of this set of test results.", + "type" : "string" }, + "start" : + { "title" : "start field", + "description" : "Date/time stamp identifying the start of the evidence collection reflected in these results.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "end" : + { "title" : "end field", + "description" : "Date/time stamp identifying the end of the evidence collection reflected in these results. In a continuous motoring scenario, this may contain the same value as start if appropriate.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "local-definitions" : + { "title" : "Local Definitions", + "description" : "Used to define data objects that are used in the assessment plan, that do not appear in the referenced SSP.", + "type" : "object", + "properties" : + { "components" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_system-component" } }, + "inventory-items" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_inventory-item" } }, + "users" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_system-user" } }, + "assessment-assets" : + { "$ref" : "#assembly_oscal-assessment-common_assessment-assets" }, + "tasks" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_task" } } }, + "additionalProperties" : false }, + "reviewed-controls" : + { "$ref" : "#assembly_oscal-assessment-common_reviewed-controls" }, + "attestations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Attestation Statements", + "description" : "A set of textual statements, typically written by the assessor.", + "type" : "object", + "properties" : + { "responsible-parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, + "parts" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_assessment-part" } } }, + "required" : + [ "parts" ], + "additionalProperties" : false } }, + "assessment-log" : + { "title" : "Assessment Log", + "description" : "A log of all assessment-related actions taken.", + "type" : "object", + "properties" : + { "entries" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Assessment Log Entry", + "description" : "Identifies the result of an action and/or task that occurred as part of executing an assessment plan or an assessment event that occurred in producing the assessment results.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Assessment Log Entry Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference an assessment event in this or other OSCAL instances. The locally defined UUID of the assessment log entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, "title" : - { "title" : "Results Title", - "description" : "The title for this set of results.", - "type" : "string" }, + { "title" : "Action Title", + "description" : "The title for this event.", + "type" : "string" }, "description" : - { "title" : "Results Description", - "description" : "A human-readable description of this set of test results.", - "type" : "string" }, + { "title" : "Action Description", + "description" : "A human-readable description of this event.", + "type" : "string" }, "start" : - { "title" : "start field", - "description" : "Date/time stamp identifying the start of the evidence collection reflected in these results.", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, + { "title" : "Start", + "description" : "Identifies the start date and time of an event.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, "end" : - { "title" : "end field", - "description" : "Date/time stamp identifying the end of the evidence collection reflected in these results. In a continuous motoring scenario, this may contain the same value as start if appropriate.", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, + { "title" : "End", + "description" : "Identifies the end date and time of an event. If the event is a point in time, the start and end will be the same date and time.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, "props" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, "links" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "local-definitions" : - { "title" : "Local Definitions", - "description" : "Used to define data objects that are used in the assessment plan, that do not appear in the referenced SSP.", - "type" : "object", - "properties" : - { "components" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_system-component" } }, - "inventory-items" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_inventory-item" } }, - "users" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_system-user" } }, - "assessment-assets" : - { "$ref" : "#assembly_oscal-assessment-common_assessment-assets" }, - "tasks" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_task" } } }, - "additionalProperties" : false }, - "reviewed-controls" : - { "$ref" : "#assembly_oscal-assessment-common_reviewed-controls" }, - "attestations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Attestation Statements", - "description" : "A set of textual statements, typically written by the assessor.", - "type" : "object", - "properties" : - { "responsible-parties" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, - "parts" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_assessment-part" } } }, - "required" : - [ "parts" ], - "additionalProperties" : false } }, - "assessment-log" : - { "title" : "Assessment Log", - "description" : "A log of all assessment-related actions taken.", - "type" : "object", - "properties" : - { "entries" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Assessment Log Entry", - "description" : "Identifies the result of an action and/or task that occurred as part of executing an assessment plan or an assessment event that occurred in producing the assessment results.", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Assessment Log Entry Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference an assessment event in this or other OSCAL instances. The locally defined UUID of the assessment log entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Action Title", - "description" : "The title for this event.", - "type" : "string" }, - "description" : - { "title" : "Action Description", - "description" : "A human-readable description of this event.", - "type" : "string" }, - "start" : - { "title" : "Start", - "description" : "Identifies the start date and time of an event.", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "end" : - { "title" : "End", - "description" : "Identifies the end date and time of an event. If the event is a point in time, the start and end will be the same date and time.", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "logged-by" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_logged-by" } }, - "related-tasks" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_related-task" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "start" ], - "additionalProperties" : false } } }, - "required" : - [ "entries" ], - "additionalProperties" : false }, - "observations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_observation" } }, - "risks" : + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "logged-by" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_risk" } }, - "findings" : + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_logged-by" } }, + "related-tasks" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-ar_finding" } }, + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_related-task" } }, "remarks" : { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "title", - "description", - "start", - "reviewed-controls" ], - "additionalProperties" : false }, - "oscal-ar-oscal-ar:finding" : - { "title" : "Finding", - "description" : "Describes an individual finding.", - "$id" : "#assembly_oscal-ar_finding", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Finding Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this finding in this or other OSCAL instances. The locally defined UUID of the finding can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Finding Title", - "description" : "The title for this finding.", - "type" : "string" }, - "description" : - { "title" : "Finding Description", - "description" : "A human-readable description of this finding.", - "type" : "string" }, + "required" : + [ "uuid", + "start" ], + "additionalProperties" : false } } }, + "required" : + [ "entries" ], + "additionalProperties" : false }, + "observations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_observation" } }, + "risks" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_risk" } }, + "findings" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_finding" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "title", + "description", + "start", + "reviewed-controls" ], + "additionalProperties" : false }, + "oscal-ar-oscal-ar:import-ap" : + { "title" : "Import Assessment Plan", + "description" : "Used by assessment-results to import information about the original plan for assessing the system.", + "$id" : "#assembly_oscal-ar_import-ap", + "type" : "object", + "properties" : + { "href" : + { "title" : "Assessment Plan Reference", + "description" : "A resolvable URL reference to the assessment plan governing the assessment activities.", + "$ref" : "#/definitions/URIReferenceDatatype" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "href" ], + "additionalProperties" : false }, + "oscal-ar-oscal-metadata:metadata" : + { "title" : "Document Metadata", + "description" : "Provides information about the containing document, and defines concepts that are shared across the document.", + "$id" : "#assembly_oscal-metadata_metadata", + "type" : "object", + "properties" : + { "title" : + { "title" : "Document Title", + "description" : "A name given to the document, which may be used by a tool for display and navigation.", + "type" : "string" }, + "published" : + { "$ref" : "#field_oscal-metadata_published" }, + "last-modified" : + { "$ref" : "#field_oscal-metadata_last-modified" }, + "version" : + { "$ref" : "#field_oscal-metadata_version" }, + "oscal-version" : + { "$ref" : "#field_oscal-metadata_oscal-version" }, + "revisions" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Revision History Entry", + "description" : "An entry in a sequential list of revisions to the containing document, expected to be in reverse chronological order (i.e. latest first).", + "type" : "object", + "properties" : + { "title" : + { "title" : "Document Title", + "description" : "A name given to the document revision, which may be used by a tool for display and navigation.", + "type" : "string" }, + "published" : + { "$ref" : "#field_oscal-metadata_published" }, + "last-modified" : + { "$ref" : "#field_oscal-metadata_last-modified" }, + "version" : + { "$ref" : "#field_oscal-metadata_version" }, + "oscal-version" : + { "$ref" : "#field_oscal-metadata_oscal-version" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "version" ], + "additionalProperties" : false } }, + "document-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_document-id" } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "roles" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Role", + "description" : "Defines a function, which might be assigned to a party in a specific situation.", + "type" : "object", + "properties" : + { "id" : + { "title" : "Role Identifier", + "description" : "A unique identifier for the role.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Role Title", + "description" : "A name given to the role, which may be used by a tool for display and navigation.", + "type" : "string" }, + "short-name" : + { "title" : "Role Short Name", + "description" : "A short common name, abbreviation, or acronym for the role.", + "$ref" : "#/definitions/StringDatatype" }, + "description" : + { "title" : "Role Description", + "description" : "A summary of the role's purpose and associated responsibilities.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "id", + "title" ], + "additionalProperties" : false } }, + "locations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Location", + "description" : "A physical point of presence, which may be associated with people, organizations, or other concepts within the current or linked OSCAL document.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Location Universally Unique Identifier", + "description" : "A unique ID for the location, for reference.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Location Title", + "description" : "A name given to the location, which may be used by a tool for display and navigation.", + "type" : "string" }, + "address" : + { "$ref" : "#assembly_oscal-metadata_address" }, + "email-addresses" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_email-address" } }, + "telephone-numbers" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_telephone-number" } }, + "urls" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Location URL", + "description" : "The uniform resource locator (URL) for a web site or other resource associated with the location.", + "$ref" : "#/definitions/URIDatatype" } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid" ], + "additionalProperties" : false } }, + "parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Party", + "description" : "An organization or person, which may be associated with roles or other concepts within the current or linked OSCAL document.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Party Universally Unique Identifier", + "description" : "A unique identifier for the party.", + "$ref" : "#/definitions/UUIDDatatype" }, + "type" : + { "title" : "Party Type", + "description" : "A category describing the kind of party the object describes.", + "allOf" : + [ + { "$ref" : "#/definitions/StringDatatype" }, + + { "enum" : + [ "person", + "organization" ] } ] }, + "name" : + { "title" : "Party Name", + "description" : "The full name of the party. This is typically the legal name associated with the party.", + "$ref" : "#/definitions/StringDatatype" }, + "short-name" : + { "title" : "Party Short Name", + "description" : "A short common name, abbreviation, or acronym for the party.", + "$ref" : "#/definitions/StringDatatype" }, + "external-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Party External Identifier", + "description" : "An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID).", + "type" : "object", + "properties" : + { "scheme" : + { "title" : "External Identifier Schema", + "description" : "Indicates the type of external identifier.", + "$ref" : "#/definitions/URIDatatype" }, + "id" : + { "type" : "string" } }, + "required" : + [ "id", + "scheme" ], + "additionalProperties" : false } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "email-addresses" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_email-address" } }, + "telephone-numbers" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_telephone-number" } }, + "addresses" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_address" } }, + "location-uuids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_location-uuid" } }, + "member-of-organizations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Organizational Affiliation", + "description" : "A reference to another party by UUID, typically an organization, that this subject is associated with.", + "$ref" : "#/definitions/UUIDDatatype" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "type" ], + "additionalProperties" : false } }, + "responsible-parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, + "actions" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_action" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "title", + "last-modified", + "version", + "oscal-version" ], + "additionalProperties" : false }, + "oscal-ar-oscal-metadata:location-uuid" : + { "title" : "Location Universally Unique Identifier Reference", + "description" : "Reference to a location by UUID.", + "$id" : "#field_oscal-metadata_location-uuid", + "$ref" : "#/definitions/UUIDDatatype" }, + "oscal-ar-oscal-metadata:party-uuid" : + { "title" : "Party Universally Unique Identifier Reference", + "description" : "Reference to a party by UUID.", + "$id" : "#field_oscal-metadata_party-uuid", + "$ref" : "#/definitions/UUIDDatatype" }, + "oscal-ar-oscal-metadata:role-id" : + { "title" : "Role Identifier Reference", + "description" : "Reference to a role by UUID.", + "$id" : "#field_oscal-metadata_role-id", + "$ref" : "#/definitions/TokenDatatype" }, + "oscal-ar-oscal-metadata:back-matter" : + { "title" : "Back matter", + "description" : "A collection of resources that may be referenced from within the OSCAL document instance.", + "$id" : "#assembly_oscal-metadata_back-matter", + "type" : "object", + "properties" : + { "resources" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Resource", + "description" : "A resource associated with content in the containing document instance. A resource may be directly included in the document using base64 encoding or may point to one or more equivalent internet resources.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Resource Universally Unique Identifier", + "description" : "A unique identifier for a resource.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Resource Title", + "description" : "An optional name given to the resource, which may be used by a tool for display and navigation.", + "type" : "string" }, + "description" : + { "title" : "Resource Description", + "description" : "An optional short summary of the resource used to indicate the purpose of the resource.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "document-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_document-id" } }, + "citation" : + { "title" : "Citation", + "description" : "An optional citation consisting of end note text using structured markup.", + "type" : "object", + "properties" : + { "text" : + { "title" : "Citation Text", + "description" : "A line of citation text.", + "type" : "string" }, "props" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, "links" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "origins" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_origin" } }, - "target" : - { "$ref" : "#assembly_oscal-assessment-common_finding-target" }, - "implementation-statement-uuid" : - { "title" : "Implementation Statement UUID", - "description" : "A machine-oriented identifier reference to the implementation statement in the SSP to which this finding is related.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "related-observations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Related Observation", - "description" : "Relates the finding to a set of referenced observations that were used to determine the finding.", - "type" : "object", - "properties" : - { "observation-uuid" : - { "title" : "Observation Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to an observation defined in the list of observations.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" } }, - "required" : - [ "observation-uuid" ], - "additionalProperties" : false } }, - "related-risks" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Associated Risk", - "description" : "Relates the finding to a set of referenced risks that were used to determine the finding.", - "type" : "object", - "properties" : - { "risk-uuid" : - { "title" : "Risk Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to a risk defined in the list of risks.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" } }, - "required" : - [ "risk-uuid" ], - "additionalProperties" : false } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } } }, + "required" : + [ "text" ], + "additionalProperties" : false }, + "rlinks" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Resource link", + "description" : "A URL-based pointer to an external resource with an optional hash for verification and change detection.", + "type" : "object", + "properties" : + { "href" : + { "title" : "Hypertext Reference", + "description" : "A resolvable URL pointing to the referenced resource.", + "$ref" : "#/definitions/URIReferenceDatatype" }, + "media-type" : + { "title" : "Media Type", + "description" : "A label that indicates the nature of a resource, as a data serialization or format.", + "$ref" : "#/definitions/StringDatatype" }, + "hashes" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_hash" } } }, + "required" : + [ "href" ], + "additionalProperties" : false } }, + "base64" : + { "title" : "Base64", + "description" : "A resource encoded using the Base64 alphabet defined by RFC 2045.", + "type" : "object", + "properties" : + { "filename" : + { "title" : "File Name", + "description" : "Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded.", + "$ref" : "#/definitions/TokenDatatype" }, + "media-type" : + { "title" : "Media Type", + "description" : "A label that indicates the nature of a resource, as a data serialization or format.", + "$ref" : "#/definitions/StringDatatype" }, + "value" : + { "type" : "string" } }, + "required" : + [ "value" ], + "additionalProperties" : false }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid" ], + "additionalProperties" : false } } }, + "additionalProperties" : false }, + "oscal-ar-oscal-metadata:property" : + { "title" : "Property", + "description" : "An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair.", + "$id" : "#assembly_oscal-metadata_property", + "type" : "object", + "properties" : + { "name" : + { "title" : "Property Name", + "description" : "A textual label, within a namespace, that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.", + "$ref" : "#/definitions/TokenDatatype" }, + "uuid" : + { "title" : "Property Universally Unique Identifier", + "description" : "A unique identifier for a property.", + "$ref" : "#/definitions/UUIDDatatype" }, + "ns" : + { "title" : "Property Namespace", + "description" : "A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.", + "$ref" : "#/definitions/URIDatatype" }, + "value" : + { "title" : "Property Value", + "description" : "Indicates the value of the attribute, characteristic, or quality.", + "$ref" : "#/definitions/StringDatatype" }, + "class" : + { "title" : "Property Class", + "description" : "A textual label that provides a sub-type or characterization of the property's name.", + "$ref" : "#/definitions/TokenDatatype" }, + "group" : + { "title" : "Property Group", + "description" : "An identifier for relating distinct sets of properties.", + "$ref" : "#/definitions/TokenDatatype" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "name", + "value" ], + "additionalProperties" : false }, + "oscal-ar-oscal-metadata:link" : + { "title" : "Link", + "description" : "A reference to a local or remote resource, that has a specific relation to the containing object.", + "$id" : "#assembly_oscal-metadata_link", + "type" : "object", + "properties" : + { "href" : + { "title" : "Hypertext Reference", + "description" : "A resolvable URL reference to a resource.", + "$ref" : "#/definitions/URIReferenceDatatype" }, + "rel" : + { "title" : "Link Relation Type", + "description" : "Describes the type of relationship provided by the link's hypertext reference. This can be an indicator of the link's purpose.", + "$ref" : "#/definitions/TokenDatatype" }, + "media-type" : + { "title" : "Media Type", + "description" : "A label that indicates the nature of a resource, as a data serialization or format.", + "$ref" : "#/definitions/StringDatatype" }, + "resource-fragment" : + { "title" : "Resource Fragment", + "description" : "In case where the href points to a back-matter/resource, this value will indicate the URI fragment to append to any rlink associated with the resource. This value MUST be URI encoded.", + "$ref" : "#/definitions/StringDatatype" }, + "text" : + { "title" : "Link Text", + "description" : "A textual label to associate with the link, which may be used for presentation in a tool.", + "type" : "string" } }, + "required" : + [ "href" ], + "additionalProperties" : false }, + "oscal-ar-oscal-metadata:responsible-party" : + { "title" : "Responsible Party", + "description" : "A reference to a set of persons and/or organizations that have responsibility for performing the referenced role in the context of the containing object.", + "$id" : "#assembly_oscal-metadata_responsible-party", + "type" : "object", + "properties" : + { "role-id" : + { "title" : "Responsible Role", + "description" : "A reference to a role performed by a party.", + "$ref" : "#/definitions/TokenDatatype" }, + "party-uuids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_party-uuid" } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "role-id", + "party-uuids" ], + "additionalProperties" : false }, + "oscal-ar-oscal-metadata:action" : + { "title" : "Action", + "description" : "An action applied by a role within a given party to the content.", + "$id" : "#assembly_oscal-metadata_action", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Action Universally Unique Identifier", + "description" : "A unique identifier that can be used to reference this defined action elsewhere in an OSCAL document. A UUID should be consistently used for a given location across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "date" : + { "title" : "Action Occurrence Date", + "description" : "The date and time when the action occurred.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "type" : + { "title" : "Action Type", + "description" : "The type of action documented by the assembly, such as an approval.", + "$ref" : "#/definitions/TokenDatatype" }, + "system" : + { "title" : "Action Type System", + "description" : "Specifies the action type system used.", + "$ref" : "#/definitions/URIDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "responsible-parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "type", + "system" ], + "additionalProperties" : false }, + "oscal-ar-oscal-metadata:responsible-role" : + { "title" : "Responsible Role", + "description" : "A reference to a role with responsibility for performing a function relative to the containing object, optionally associated with a set of persons and/or organizations that perform that role.", + "$id" : "#assembly_oscal-metadata_responsible-role", + "type" : "object", + "properties" : + { "role-id" : + { "title" : "Responsible Role ID", + "description" : "A human-oriented identifier reference to a role performed.", + "$ref" : "#/definitions/TokenDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "party-uuids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_party-uuid" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "role-id" ], + "additionalProperties" : false }, + "oscal-ar-oscal-metadata:hash" : + { "title" : "Hash", + "description" : "A representation of a cryptographic digest generated over a resource using a specified hash algorithm.", + "$id" : "#field_oscal-metadata_hash", + "type" : "object", + "properties" : + { "algorithm" : + { "title" : "Hash algorithm", + "description" : "The digest method by which a hash is derived.", + "$ref" : "#/definitions/StringDatatype" }, + "value" : + { "type" : "string" } }, + "required" : + [ "value", + "algorithm" ], + "additionalProperties" : false }, + "oscal-ar-oscal-metadata:remarks" : + { "title" : "Remarks", + "description" : "Additional commentary about the containing object.", + "$id" : "#field_oscal-metadata_remarks", + "type" : "string" }, + "oscal-ar-oscal-metadata:published" : + { "title" : "Publication Timestamp", + "description" : "The date and time the document was last made available.", + "$id" : "#field_oscal-metadata_published", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "oscal-ar-oscal-metadata:last-modified" : + { "title" : "Last Modified Timestamp", + "description" : "The date and time the document was last stored for later retrieval.", + "$id" : "#field_oscal-metadata_last-modified", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "oscal-ar-oscal-metadata:version" : + { "title" : "Document Version", + "description" : "Used to distinguish a specific revision of an OSCAL document from other previous and future versions.", + "$id" : "#field_oscal-metadata_version", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-ar-oscal-metadata:oscal-version" : + { "title" : "OSCAL Version", + "description" : "The OSCAL model version the document was authored against and will conform to as valid.", + "$id" : "#field_oscal-metadata_oscal-version", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-ar-oscal-metadata:email-address" : + { "title" : "Email Address", + "description" : "An email address as defined by RFC 5322 Section 3.4.1.", + "$id" : "#field_oscal-metadata_email-address", + "$ref" : "#/definitions/EmailAddressDatatype" }, + "oscal-ar-oscal-metadata:telephone-number" : + { "title" : "Telephone Number", + "description" : "A telephone service number as defined by ITU-T E.164.", + "$id" : "#field_oscal-metadata_telephone-number", + "type" : "object", + "properties" : + { "type" : + { "title" : "type flag", + "description" : "Indicates the type of phone number.", + "$ref" : "#/definitions/StringDatatype" }, + "number" : + { "type" : "string" } }, + "required" : + [ "number" ], + "additionalProperties" : false }, + "oscal-ar-oscal-metadata:address" : + { "title" : "Address", + "description" : "A postal address for the location.", + "$id" : "#assembly_oscal-metadata_address", + "type" : "object", + "properties" : + { "type" : + { "title" : "Address Type", + "description" : "Indicates the type of address.", + "$ref" : "#/definitions/TokenDatatype" }, + "addr-lines" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_addr-line" } }, + "city" : + { "title" : "City", + "description" : "City, town or geographical region for the mailing address.", + "$ref" : "#/definitions/StringDatatype" }, + "state" : + { "title" : "State", + "description" : "State, province or analogous geographical region for a mailing address.", + "$ref" : "#/definitions/StringDatatype" }, + "postal-code" : + { "title" : "Postal Code", + "description" : "Postal or ZIP code for mailing address.", + "$ref" : "#/definitions/StringDatatype" }, + "country" : + { "title" : "Country Code", + "description" : "The ISO 3166-1 alpha-2 country code for the mailing address.", + "$ref" : "#/definitions/StringDatatype" } }, + "additionalProperties" : false }, + "oscal-ar-oscal-metadata:addr-line" : + { "title" : "Address line", + "description" : "A single line of an address.", + "$id" : "#field_oscal-metadata_addr-line", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-ar-oscal-metadata:document-id" : + { "title" : "Document Identifier", + "description" : "A document identifier qualified by an identifier scheme.", + "$id" : "#field_oscal-metadata_document-id", + "type" : "object", + "properties" : + { "scheme" : + { "title" : "Document Identification Scheme", + "description" : "Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters.", + "$ref" : "#/definitions/URIDatatype" }, + "identifier" : + { "type" : "string" } }, + "required" : + [ "identifier" ], + "additionalProperties" : false }, + "oscal-ar-oscal-assessment-common:import-ssp" : + { "title" : "Import System Security Plan", + "description" : "Used by the assessment plan and POA&M to import information about the system.", + "$id" : "#assembly_oscal-assessment-common_import-ssp", + "type" : "object", + "properties" : + { "href" : + { "title" : "System Security Plan Reference", + "description" : "A resolvable URL reference to the system security plan for the system being assessed.", + "$ref" : "#/definitions/URIReferenceDatatype" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "href" ], + "additionalProperties" : false }, + "oscal-ar-oscal-assessment-common:local-objective" : + { "title" : "Assessment-Specific Control Objective", + "description" : "A local definition of a control objective for this assessment. Uses catalog syntax for control objective and assessment actions.", + "$id" : "#assembly_oscal-assessment-common_local-objective", + "type" : "object", + "properties" : + { "control-id" : + { "title" : "Control Identifier Reference", + "description" : "A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference).", + "$ref" : "#/definitions/TokenDatatype" }, + "description" : + { "title" : "Objective Description", + "description" : "A human-readable description of this control objective.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "parts" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_part" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "control-id", + "parts" ], + "additionalProperties" : false }, + "oscal-ar-oscal-assessment-common:assessment-method" : + { "title" : "Assessment Method", + "description" : "A local definition of a control objective. Uses catalog syntax for control objective and assessment activities.", + "$id" : "#assembly_oscal-assessment-common_assessment-method", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Assessment Method Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment method elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment method can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "description" : + { "title" : "Assessment Method Description", + "description" : "A human-readable description of this assessment method.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "part" : + { "$ref" : "#assembly_oscal-assessment-common_assessment-part" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "part" ], + "additionalProperties" : false }, + "oscal-ar-oscal-assessment-common:activity" : + { "title" : "Activity", + "description" : "Identifies an assessment or related process that can be performed. In the assessment plan, this is an intended activity which may be associated with an assessment task. In the assessment results, this an activity that was actually performed as part of an assessment.", + "$id" : "#assembly_oscal-assessment-common_activity", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Assessment Activity Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment activity elsewhere in this or other OSCAL instances. The locally defined UUID of the activity can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Included Activity Title", + "description" : "The title for this included activity.", + "type" : "string" }, + "description" : + { "title" : "Included Activity Description", + "description" : "A human-readable description of this included activity.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "steps" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Step", + "description" : "Identifies an individual step in a series of steps related to an activity, such as an assessment test or examination procedure.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Step Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this step elsewhere in this or other OSCAL instances. The locally defined UUID of the step (in a series of steps) can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Step Title", + "description" : "The title for this step.", + "type" : "string" }, + "description" : + { "title" : "Step Description", + "description" : "A human-readable description of this step.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "reviewed-controls" : + { "$ref" : "#assembly_oscal-assessment-common_reviewed-controls" }, + "responsible-roles" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "description" ], + "additionalProperties" : false } }, + "related-controls" : + { "$ref" : "#assembly_oscal-assessment-common_reviewed-controls" }, + "responsible-roles" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "description" ], + "additionalProperties" : false }, + "oscal-ar-oscal-assessment-common:task" : + { "title" : "Task", + "description" : "Represents a scheduled event or milestone, which may be associated with a series of assessment actions.", + "$id" : "#assembly_oscal-assessment-common_task", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Task Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this task elsewhere in this or other OSCAL instances. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "type" : + { "title" : "Task Type", + "description" : "The type of task.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Task Title", + "description" : "The title for this task.", + "type" : "string" }, + "description" : + { "title" : "Task Description", + "description" : "A human-readable description of this task.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "timing" : + { "title" : "Event Timing", + "description" : "The timing under which the task is intended to occur.", + "type" : "object", + "properties" : + { "on-date" : + { "title" : "On Date Condition", + "description" : "The task is intended to occur on the specified date.", + "type" : "object", + "properties" : + { "date" : + { "title" : "On Date Condition", + "description" : "The task must occur on the specified date.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" } }, "required" : - [ "uuid", - "title", - "description", - "target" ], + [ "date" ], "additionalProperties" : false }, - "oscal-ar-oscal-ar:import-ap" : - { "title" : "Import Assessment Plan", - "description" : "Used by assessment-results to import information about the original plan for assessing the system.", - "$id" : "#assembly_oscal-ar_import-ap", + "within-date-range" : + { "title" : "On Date Range Condition", + "description" : "The task is intended to occur within the specified date range.", "type" : "object", "properties" : - { "href" : - { "title" : "Assessment Plan Reference", - "description" : "A resolvable URL reference to the assessment plan governing the assessment activities.", - "type" : "string", - "format" : "uri-reference" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, + { "start" : + { "title" : "Start Date Condition", + "description" : "The task must occur on or after the specified date.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "end" : + { "title" : "End Date Condition", + "description" : "The task must occur on or before the specified date.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" } }, "required" : - [ "href" ], + [ "start", + "end" ], "additionalProperties" : false }, - "oscal-ar-oscal-metadata:metadata" : - { "title" : "Publication metadata", - "description" : "Provides information about the publication and availability of the containing document.", - "$id" : "#assembly_oscal-metadata_metadata", + "at-frequency" : + { "title" : "Frequency Condition", + "description" : "The task is intended to occur at the specified frequency.", "type" : "object", "properties" : - { "title" : - { "title" : "Document Title", - "description" : "A name given to the document, which may be used by a tool for display and navigation.", - "type" : "string" }, - "published" : - { "$ref" : "#field_oscal-metadata_published" }, - "last-modified" : - { "$ref" : "#field_oscal-metadata_last-modified" }, - "version" : - { "$ref" : "#field_oscal-metadata_version" }, - "oscal-version" : - { "$ref" : "#field_oscal-metadata_oscal-version" }, - "revisions" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_revision" } }, - "document-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_document-id" } }, - "props" : - { "type" : "array", + { "period" : + { "title" : "Period", + "description" : "The task must occur after the specified period has elapsed.", + "$ref" : "#/definitions/PositiveIntegerDatatype" }, + "unit" : + { "title" : "Time Unit", + "description" : "The unit of time for the period.", + "allOf" : + [ + { "$ref" : "#/definitions/StringDatatype" }, + + { "enum" : + [ "seconds", + "minutes", + "hours", + "days", + "months", + "years" ] } ] } }, + "required" : + [ "period", + "unit" ], + "additionalProperties" : false } }, + "additionalProperties" : false }, + "dependencies" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Task Dependency", + "description" : "Used to indicate that a task is dependent on another task.", + "type" : "object", + "properties" : + { "task-uuid" : + { "title" : "Task Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to a unique task.", + "$ref" : "#/definitions/UUIDDatatype" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "task-uuid" ], + "additionalProperties" : false } }, + "tasks" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_task" } }, + "associated-activities" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Associated Activity", + "description" : "Identifies an individual activity to be performed as part of a task.", + "type" : "object", + "properties" : + { "activity-uuid" : + { "title" : "Activity Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to an activity defined in the list of activities.", + "$ref" : "#/definitions/UUIDDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "responsible-roles" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, + "subjects" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_assessment-subject" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "activity-uuid", + "subjects" ], + "additionalProperties" : false } }, + "subjects" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_assessment-subject" } }, + "responsible-roles" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "type", + "title" ], + "additionalProperties" : false }, + "oscal-ar-oscal-assessment-common:reviewed-controls" : + { "title" : "Reviewed Controls and Control Objectives", + "description" : "Identifies the controls being assessed and their control objectives.", + "$id" : "#assembly_oscal-assessment-common_reviewed-controls", + "type" : "object", + "properties" : + { "description" : + { "title" : "Control Objective Description", + "description" : "A human-readable description of control objectives.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "control-selections" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Assessed Controls", + "description" : "Identifies the controls being assessed. In the assessment plan, these are the planned controls. In the assessment results, these are the actual controls, and reflects any changes from the plan.", + "type" : "object", + "properties" : + { "description" : + { "title" : "Assessed Controls Description", + "description" : "A human-readable description of in-scope controls specified for assessment.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "include-all" : + { "$ref" : "#assembly_oscal-control-common_include-all" }, + "include-controls" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_select-control-by-id" } }, + "exclude-controls" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_select-control-by-id" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "additionalProperties" : false } }, + "control-objective-selections" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Referenced Control Objectives", + "description" : "Identifies the control objectives of the assessment. In the assessment plan, these are the planned objectives. In the assessment results, these are the assessed objectives, and reflects any changes from the plan.", + "type" : "object", + "properties" : + { "description" : + { "title" : "Control Objectives Description", + "description" : "A human-readable description of this collection of control objectives.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "include-all" : + { "$ref" : "#assembly_oscal-control-common_include-all" }, + "include-objectives" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_select-objective-by-id" } }, + "exclude-objectives" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_select-objective-by-id" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "additionalProperties" : false } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "control-selections" ], + "additionalProperties" : false }, + "oscal-ar-oscal-assessment-common:select-control-by-id" : + { "title" : "Select Control", + "description" : "Used to select a control for inclusion/exclusion based on one or more control identifiers. A set of statement identifiers can be used to target the inclusion/exclusion to only specific control statements providing more granularity over the specific statements that are within the asessment scope.", + "$id" : "#assembly_oscal-assessment-common_select-control-by-id", + "type" : "object", + "properties" : + { "control-id" : + { "title" : "Control Identifier Reference", + "description" : "A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference).", + "$ref" : "#/definitions/TokenDatatype" }, + "statement-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Include Specific Statements", + "description" : "Used to constrain the selection to only specificity identified statements.", + "$ref" : "#/definitions/TokenDatatype" } } }, + "required" : + [ "control-id" ], + "additionalProperties" : false }, + "oscal-ar-oscal-assessment-common:select-objective-by-id" : + { "title" : "Select Objective", + "description" : "Used to select a control objective for inclusion/exclusion based on the control objective's identifier.", + "$id" : "#assembly_oscal-assessment-common_select-objective-by-id", + "type" : "object", + "properties" : + { "objective-id" : + { "title" : "Objective ID", + "description" : "Points to an assessment objective.", + "$ref" : "#/definitions/TokenDatatype" } }, + "required" : + [ "objective-id" ], + "additionalProperties" : false }, + "oscal-ar-oscal-assessment-common:assessment-subject-placeholder" : + { "title" : "Assessment Subject Placeholder", + "description" : "Used when the assessment subjects will be determined as part of one or more other assessment activities. These assessment subjects will be recorded in the assessment results in the assessment log.", + "$id" : "#assembly_oscal-assessment-common_assessment-subject-placeholder", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Assessment Subject Placeholder Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier for a set of assessment subjects that will be identified by a task or an activity that is part of a task. The locally defined UUID of the assessment subject placeholder can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "description" : + { "title" : "Assessment Subject Placeholder Description", + "description" : "A human-readable description of intent of this assessment subject placeholder.", + "type" : "string" }, + "sources" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Assessment Subject Source", + "description" : "Assessment subjects will be identified while conducting the referenced activity-instance.", + "type" : "object", + "properties" : + { "task-uuid" : + { "title" : "Task Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference (in this or other OSCAL instances) an assessment activity to be performed as part of the event. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" } }, + "required" : + [ "task-uuid" ], + "additionalProperties" : false } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "sources" ], + "additionalProperties" : false }, + "oscal-ar-oscal-assessment-common:assessment-subject" : + { "title" : "Subject of Assessment", + "description" : "Identifies system elements being assessed, such as components, inventory items, and locations. In the assessment plan, this identifies a planned assessment subject. In the assessment results this is an actual assessment subject, and reflects any changes from the plan. exactly what will be the focus of this assessment. Any subjects not identified in this way are out-of-scope.", + "$id" : "#assembly_oscal-assessment-common_assessment-subject", + "type" : "object", + "properties" : + { "type" : + { "title" : "Subject Type", + "description" : "Indicates the type of assessment subject, such as a component, inventory, item, location, or party represented by this selection statement.", + "$ref" : "#/definitions/TokenDatatype" }, + "description" : + { "title" : "Include Subjects Description", + "description" : "A human-readable description of the collection of subjects being included in this assessment.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "include-all" : + { "$ref" : "#assembly_oscal-control-common_include-all" }, + "include-subjects" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_select-subject-by-id" } }, + "exclude-subjects" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_select-subject-by-id" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "type" ], + "additionalProperties" : false }, + "oscal-ar-oscal-assessment-common:select-subject-by-id" : + { "title" : "Select Assessment Subject", + "description" : "Identifies a set of assessment subjects to include/exclude by UUID.", + "$id" : "#assembly_oscal-assessment-common_select-subject-by-id", + "type" : "object", + "properties" : + { "subject-uuid" : + { "title" : "Subject Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID.", + "$ref" : "#/definitions/UUIDDatatype" }, + "type" : + { "title" : "Subject Universally Unique Identifier Reference Type", + "description" : "Used to indicate the type of object pointed to by the uuid-ref within a subject.", + "$ref" : "#/definitions/TokenDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "subject-uuid", + "type" ], + "additionalProperties" : false }, + "oscal-ar-oscal-assessment-common:subject-reference" : + { "title" : "Identifies the Subject", + "description" : "A human-oriented identifier reference to a resource. Use type to indicate whether the identified resource is a component, inventory item, location, user, or something else.", + "$id" : "#assembly_oscal-assessment-common_subject-reference", + "type" : "object", + "properties" : + { "subject-uuid" : + { "title" : "Subject Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID.", + "$ref" : "#/definitions/UUIDDatatype" }, + "type" : + { "title" : "Subject Universally Unique Identifier Reference Type", + "description" : "Used to indicate the type of object pointed to by the uuid-ref within a subject.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Subject Reference Title", + "description" : "The title or name for the referenced subject.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "subject-uuid", + "type" ], + "additionalProperties" : false }, + "oscal-ar-oscal-assessment-common:assessment-assets" : + { "title" : "Assessment Assets", + "description" : "Identifies the assets used to perform this assessment, such as the assessment team, scanning tools, and assumptions.", + "$id" : "#assembly_oscal-assessment-common_assessment-assets", + "type" : "object", + "properties" : + { "components" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_system-component" } }, + "assessment-platforms" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Assessment Platform", + "description" : "Used to represent the toolset used to perform aspects of the assessment.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Assessment Platform Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment platform elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment platform can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Assessment Platform Title", + "description" : "The title or name for the assessment platform.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "uses-components" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Uses Component", + "description" : "The set of components that are used by the assessment platform.", + "type" : "object", + "properties" : + { "component-uuid" : + { "title" : "Component Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to a component that is implemented as part of an inventory item.", + "$ref" : "#/definitions/UUIDDatatype" }, + "props" : + { "type" : "array", "minItems" : 1, "items" : { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", + "links" : + { "type" : "array", "minItems" : 1, "items" : { "$ref" : "#assembly_oscal-metadata_link" } }, - "roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_role" } }, - "locations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_location" } }, - "parties" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_party" } }, - "responsible-parties" : - { "type" : "array", + "responsible-parties" : + { "type" : "array", "minItems" : 1, "items" : { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "title", - "last-modified", - "version", - "oscal-version" ], - "additionalProperties" : false }, - "oscal-ar-oscal-metadata:revision" : - { "title" : "Revision History Entry", - "description" : "An entry in a sequential list of revisions to the containing document in reverse chronological order (i.e., most recent previous revision first).", - "$id" : "#assembly_oscal-metadata_revision", - "type" : "object", - "properties" : - { "title" : - { "title" : "Document Title", - "description" : "A name given to the document revision, which may be used by a tool for display and navigation.", - "type" : "string" }, - "published" : - { "$ref" : "#field_oscal-metadata_published" }, - "last-modified" : - { "$ref" : "#field_oscal-metadata_last-modified" }, - "version" : - { "$ref" : "#field_oscal-metadata_version" }, - "oscal-version" : - { "$ref" : "#field_oscal-metadata_oscal-version" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "component-uuid" ], + "additionalProperties" : false } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid" ], + "additionalProperties" : false } } }, + "required" : + [ "assessment-platforms" ], + "additionalProperties" : false }, + "oscal-ar-oscal-assessment-common:finding-target" : + { "title" : "Objective Status", + "description" : "Captures an assessor's conclusions regarding the degree to which an objective is satisfied.", + "$id" : "#assembly_oscal-assessment-common_finding-target", + "type" : "object", + "properties" : + { "type" : + { "title" : "Finding Target Type", + "description" : "Identifies the type of the target.", + "allOf" : + [ + { "$ref" : "#/definitions/StringDatatype" }, + + { "enum" : + [ "statement-id", + "objective-id" ] } ] }, + "target-id" : + { "title" : "Finding Target Identifier Reference", + "description" : "A machine-oriented identifier reference for a specific target qualified by the type.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Objective Status Title", + "description" : "The title for this objective status.", + "type" : "string" }, + "description" : + { "title" : "Objective Status Description", + "description" : "A human-readable description of the assessor's conclusions regarding the degree to which an objective is satisfied.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "status" : + { "title" : "Objective Status", + "description" : "A determination of if the objective is satisfied or not within a given system.", + "type" : "object", + "properties" : + { "state" : + { "title" : "Objective Status State", + "description" : "An indication as to whether the objective is satisfied or not.", + "allOf" : + [ + { "$ref" : "#/definitions/TokenDatatype" }, + + { "enum" : + [ "satisfied", + "not-satisfied" ] } ] }, + "reason" : + { "title" : "Objective Status Reason", + "description" : "The reason the objective was given it's status.", + "$ref" : "#/definitions/TokenDatatype" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "state" ], + "additionalProperties" : false }, + "implementation-status" : + { "$ref" : "#assembly_oscal-implementation-common_implementation-status" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "type", + "target-id", + "status" ], + "additionalProperties" : false }, + "oscal-ar-oscal-assessment-common:finding" : + { "title" : "Finding", + "description" : "Describes an individual finding.", + "$id" : "#assembly_oscal-assessment-common_finding", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Finding Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this finding in this or other OSCAL instances. The locally defined UUID of the finding can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Finding Title", + "description" : "The title for this finding.", + "type" : "string" }, + "description" : + { "title" : "Finding Description", + "description" : "A human-readable description of this finding.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "origins" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_origin" } }, + "target" : + { "$ref" : "#assembly_oscal-assessment-common_finding-target" }, + "implementation-statement-uuid" : + { "title" : "Implementation Statement UUID", + "description" : "A machine-oriented identifier reference to the implementation statement in the SSP to which this finding is related.", + "$ref" : "#/definitions/UUIDDatatype" }, + "related-observations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Related Observation", + "description" : "Relates the finding to a set of referenced observations that were used to determine the finding.", + "type" : "object", + "properties" : + { "observation-uuid" : + { "title" : "Observation Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to an observation defined in the list of observations.", + "$ref" : "#/definitions/UUIDDatatype" } }, + "required" : + [ "observation-uuid" ], + "additionalProperties" : false } }, + "related-risks" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Associated Risk", + "description" : "Relates the finding to a set of referenced risks that were used to determine the finding.", + "type" : "object", + "properties" : + { "risk-uuid" : + { "title" : "Risk Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to a risk defined in the list of risks.", + "$ref" : "#/definitions/UUIDDatatype" } }, + "required" : + [ "risk-uuid" ], + "additionalProperties" : false } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "title", + "description", + "target" ], + "additionalProperties" : false }, + "oscal-ar-oscal-assessment-common:observation" : + { "title" : "Observation", + "description" : "Describes an individual observation.", + "$id" : "#assembly_oscal-assessment-common_observation", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Observation Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this observation elsewhere in this or other OSCAL instances. The locally defined UUID of the observation can be used to reference the data item locally or globally (e.g., in an imorted OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Observation Title", + "description" : "The title for this observation.", + "type" : "string" }, + "description" : + { "title" : "Observation Description", + "description" : "A human-readable description of this assessment observation.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "methods" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Observation Method", + "description" : "Identifies how the observation was made.", + "$ref" : "#/definitions/StringDatatype" } }, + "types" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Observation Type", + "description" : "Identifies the nature of the observation. More than one may be used to further qualify and enable filtering.", + "$ref" : "#/definitions/TokenDatatype" } }, + "origins" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_origin" } }, + "subjects" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_subject-reference" } }, + "relevant-evidence" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Relevant Evidence", + "description" : "Links this observation to relevant evidence.", + "type" : "object", + "properties" : + { "href" : + { "title" : "Relevant Evidence Reference", + "description" : "A resolvable URL reference to relevant evidence.", + "$ref" : "#/definitions/URIReferenceDatatype" }, + "description" : + { "title" : "Relevant Evidence Description", + "description" : "A human-readable description of this evidence.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "description" ], + "additionalProperties" : false } }, + "collected" : + { "title" : "Collected Field", + "description" : "Date/time stamp identifying when the finding information was collected.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "expires" : + { "title" : "Expires Field", + "description" : "Date/time identifying when the finding information is out-of-date and no longer valid. Typically used with continuous assessment scenarios.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "description", + "methods", + "collected" ], + "additionalProperties" : false }, + "oscal-ar-oscal-assessment-common:origin" : + { "title" : "Origin", + "description" : "Identifies the source of the finding, such as a tool, interviewed person, or activity.", + "$id" : "#assembly_oscal-assessment-common_origin", + "type" : "object", + "properties" : + { "actors" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_origin-actor" } }, + "related-tasks" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_related-task" } } }, + "required" : + [ "actors" ], + "additionalProperties" : false }, + "oscal-ar-oscal-assessment-common:origin-actor" : + { "title" : "Originating Actor", + "description" : "The actor that produces an observation, a finding, or a risk. One or more actor type can be used to specify a person that is using a tool.", + "$id" : "#assembly_oscal-assessment-common_origin-actor", + "type" : "object", + "properties" : + { "type" : + { "title" : "Actor Type", + "description" : "The kind of actor.", + "allOf" : + [ + { "$ref" : "#/definitions/TokenDatatype" }, + + { "enum" : + [ "tool", + "assessment-platform", + "party" ] } ] }, + "actor-uuid" : + { "title" : "Actor Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to the tool or person based on the associated type.", + "$ref" : "#/definitions/UUIDDatatype" }, + "role-id" : + { "title" : "Actor Role", + "description" : "For a party, this can optionally be used to specify the role the actor was performing.", + "$ref" : "#/definitions/TokenDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } } }, + "required" : + [ "type", + "actor-uuid" ], + "additionalProperties" : false }, + "oscal-ar-oscal-assessment-common:related-task" : + { "title" : "Task Reference", + "description" : "Identifies an individual task for which the containing object is a consequence of.", + "$id" : "#assembly_oscal-assessment-common_related-task", + "type" : "object", + "properties" : + { "task-uuid" : + { "title" : "Task Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to a unique task.", + "$ref" : "#/definitions/UUIDDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "responsible-parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, + "subjects" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_assessment-subject" } }, + "identified-subject" : + { "title" : "Identified Subject", + "description" : "Used to detail assessment subjects that were identfied by this task.", + "type" : "object", + "properties" : + { "subject-placeholder-uuid" : + { "title" : "Assessment Subject Placeholder Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to a unique assessment subject placeholder defined by this task.", + "$ref" : "#/definitions/UUIDDatatype" }, + "subjects" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_assessment-subject" } } }, + "required" : + [ "subject-placeholder-uuid", + "subjects" ], + "additionalProperties" : false }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "task-uuid" ], + "additionalProperties" : false }, + "oscal-ar-oscal-assessment-common:threat-id" : + { "title" : "Threat ID", + "description" : "A pointer, by ID, to an externally-defined threat.", + "$id" : "#field_oscal-assessment-common_threat-id", + "type" : "object", + "properties" : + { "system" : + { "title" : "Threat Type Identification System", + "description" : "Specifies the source of the threat information.", + "$ref" : "#/definitions/URIDatatype" }, + "href" : + { "title" : "Threat Information Resource Reference", + "description" : "An optional location for the threat data, from which this ID originates.", + "$ref" : "#/definitions/URIReferenceDatatype" }, + "id" : + { "type" : "string" } }, + "required" : + [ "id", + "system" ], + "additionalProperties" : false }, + "oscal-ar-oscal-assessment-common:risk" : + { "title" : "Identified Risk", + "description" : "An identified risk.", + "$id" : "#assembly_oscal-assessment-common_risk", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Risk Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk elsewhere in this or other OSCAL instances. The locally defined UUID of the risk can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Risk Title", + "description" : "The title for this risk.", + "type" : "string" }, + "description" : + { "title" : "Risk Description", + "description" : "A human-readable summary of the identified risk, to include a statement of how the risk impacts the system.", + "type" : "string" }, + "statement" : + { "title" : "Risk Statement", + "description" : "An summary of impact for how the risk affects the system.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "status" : + { "$ref" : "#field_oscal-assessment-common_risk-status" }, + "origins" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_origin" } }, + "threat-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-assessment-common_threat-id" } }, + "characterizations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_characterization" } }, + "mitigating-factors" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Mitigating Factor", + "description" : "Describes an existing mitigating factor that may affect the overall determination of the risk, with an optional link to an implementation statement in the SSP.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Mitigating Factor Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this mitigating factor elsewhere in this or other OSCAL instances. The locally defined UUID of the mitigating factor can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "implementation-uuid" : + { "title" : "Implementation UUID", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this implementation statement elsewhere in this or other OSCAL instancess. The locally defined UUID of the implementation statement can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "description" : + { "title" : "Mitigating Factor Description", + "description" : "A human-readable description of this mitigating factor.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "subjects" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_subject-reference" } } }, + "required" : + [ "uuid", + "description" ], + "additionalProperties" : false } }, + "deadline" : + { "title" : "Risk Resolution Deadline", + "description" : "The date/time by which the risk must be resolved.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "remediations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_response" } }, + "risk-log" : + { "title" : "Risk Log", + "description" : "A log of all risk-related tasks taken.", + "type" : "object", + "properties" : + { "entries" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Risk Log Entry", + "description" : "Identifies an individual risk response that occurred as part of managing an identified risk.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Risk Log Entry Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk log entry elsewhere in this or other OSCAL instances. The locally defined UUID of the risk log entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Title", + "description" : "The title for this risk log entry.", + "type" : "string" }, + "description" : + { "title" : "Risk Task Description", + "description" : "A human-readable description of what was done regarding the risk.", + "type" : "string" }, + "start" : + { "title" : "Start", + "description" : "Identifies the start date and time of the event.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "end" : + { "title" : "End", + "description" : "Identifies the end date and time of the event. If the event is a point in time, the start and end will be the same date and time.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, "props" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, "links" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "version" ], - "additionalProperties" : false }, - "oscal-ar-oscal-metadata:location" : - { "title" : "Location", - "description" : "A location, with associated metadata that can be referenced.", - "$id" : "#assembly_oscal-metadata_location", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Location Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined location elsewhere in this or other OSCAL instances. The locally defined UUID of the location can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Location Title", - "description" : "A name given to the location, which may be used by a tool for display and navigation.", - "type" : "string" }, - "address" : - { "$ref" : "#assembly_oscal-metadata_address" }, - "email-addresses" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_email-address" } }, - "telephone-numbers" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_telephone-number" } }, - "urls" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Location URL", - "description" : "The uniform resource locator (URL) for a web site or Internet presence associated with the location.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" } }, - "props" : + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "logged-by" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_logged-by" } }, + "status-change" : + { "$ref" : "#field_oscal-assessment-common_risk-status" }, + "related-responses" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, + "minItems" : 1, + "items" : + { "title" : "Risk Response Reference", + "description" : "Identifies an individual risk response that this log entry is for.", + "type" : "object", + "properties" : + { "response-uuid" : + { "title" : "Response Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to a unique risk response.", + "$ref" : "#/definitions/UUIDDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "related-tasks" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_related-task" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "response-uuid" ], + "additionalProperties" : false } }, "remarks" : { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "address" ], - "additionalProperties" : false }, - "oscal-ar-oscal-metadata:location-uuid" : - { "title" : "Location Reference", - "description" : "A machine-oriented identifier reference to a location defined in the metadata section of this or another OSCAL instance. The UUID of the location in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).", - "$id" : "#field_oscal-metadata_location-uuid", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "oscal-ar-oscal-metadata:party" : - { "title" : "Party (organization or person)", - "description" : "A responsible entity which is either a person or an organization.", - "$id" : "#assembly_oscal-metadata_party", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Party Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined party elsewhere in this or other OSCAL instances. The locally defined UUID of the party can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "type" : - { "title" : "Party Type", - "description" : "A category describing the kind of party the object describes.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$", - "enum" : - [ "person", - "organization" ] }, - "name" : - { "title" : "Party Name", - "description" : "The full name of the party. This is typically the legal name associated with the party.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "short-name" : - { "title" : "Party Short Name", - "description" : "A short common name, abbreviation, or acronym for the party.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "external-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Party External Identifier", - "description" : "An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID)", - "type" : "object", - "properties" : - { "scheme" : - { "title" : "External Identifier Schema", - "description" : "Indicates the type of external identifier.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "id" : - { "type" : "string" } }, - "required" : - [ "id", - "scheme" ], - "additionalProperties" : false } }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "email-addresses" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_email-address" } }, - "telephone-numbers" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_telephone-number" } }, - "addresses" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_address" } }, - "location-uuids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_location-uuid" } }, - "member-of-organizations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Organizational Affiliation", - "description" : "A machine-oriented identifier reference to another party (person or organization) that this subject is associated with. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "type" ], - "additionalProperties" : false }, - "oscal-ar-oscal-metadata:party-uuid" : - { "title" : "Party Reference", - "description" : "A machine-oriented identifier reference to another party defined in metadata. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).", - "$id" : "#field_oscal-metadata_party-uuid", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "oscal-ar-oscal-metadata:role" : - { "title" : "Role", - "description" : "Defines a function assumed or expected to be assumed by a party in a specific situation.", - "$id" : "#assembly_oscal-metadata_role", - "type" : "object", - "properties" : - { "id" : - { "title" : "Role Identifier", - "description" : "A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined role elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, the locally defined ID of the Role from the imported OSCAL instance must be referenced in the context of the containing resource (e.g., import, import-component-definition, import-profile, import-ssp or import-ap). This ID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "title" : - { "title" : "Role Title", - "description" : "A name given to the role, which may be used by a tool for display and navigation.", - "type" : "string" }, - "short-name" : - { "title" : "Role Short Name", - "description" : "A short common name, abbreviation, or acronym for the role.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "description" : - { "title" : "Role Description", - "description" : "A summary of the role's purpose and associated responsibilities.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "id", - "title" ], - "additionalProperties" : false }, - "oscal-ar-oscal-metadata:role-id" : - { "title" : "Role Identifier Reference", - "description" : "A human-oriented identifier reference to roles served by the user.", - "$id" : "#field_oscal-metadata_role-id", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "oscal-ar-oscal-metadata:back-matter" : - { "title" : "Back matter", - "description" : "A collection of resources, which may be included directly or by reference.", - "$id" : "#assembly_oscal-metadata_back-matter", - "type" : "object", - "properties" : - { "resources" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Resource", - "description" : "A resource associated with content in the containing document. A resource may be directly included in the document base64 encoded or may point to one or more equivalent internet resources.", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Resource Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined resource elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Resource Title", - "description" : "A name given to the resource, which may be used by a tool for display and navigation.", - "type" : "string" }, - "description" : - { "title" : "Resource Description", - "description" : "A short summary of the resource used to indicate the purpose of the resource.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "document-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_document-id" } }, - "citation" : - { "title" : "Citation", - "description" : "A citation consisting of end note text and optional structured bibliographic data.", - "type" : "object", - "properties" : - { "text" : - { "title" : "Citation Text", - "description" : "A line of citation text.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } } }, - "required" : - [ "text" ], - "additionalProperties" : false }, - "rlinks" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Resource link", - "description" : "A pointer to an external resource with an optional hash for verification and change detection.", - "type" : "object", - "properties" : - { "href" : - { "title" : "Hypertext Reference", - "description" : "A resolvable URI reference to a resource.", - "type" : "string", - "format" : "uri-reference" }, - "media-type" : - { "title" : "Media Type", - "description" : "Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "hashes" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_hash" } } }, - "required" : - [ "href" ], - "additionalProperties" : false } }, - "base64" : - { "title" : "Base64", - "description" : "The Base64 alphabet in RFC 2045 - aligned with XSD.", - "type" : "object", - "properties" : - { "filename" : - { "title" : "File Name", - "description" : "Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded.", - "type" : "string", - "format" : "uri-reference" }, - "media-type" : - { "title" : "Media Type", - "description" : "Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "value" : - { "type" : "string" } }, - "required" : - [ "value" ], - "additionalProperties" : false }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid" ], - "additionalProperties" : false } } }, - "additionalProperties" : false }, - "oscal-ar-oscal-metadata:property" : - { "title" : "Property", - "description" : "An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.", - "$id" : "#assembly_oscal-metadata_property", - "type" : "object", - "properties" : - { "name" : - { "title" : "Property Name", - "description" : "A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "uuid" : - { "title" : "Property Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "ns" : - { "title" : "Property Namespace", - "description" : "A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "value" : - { "title" : "Property Value", - "description" : "Indicates the value of the attribute, characteristic, or quality.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "class" : - { "title" : "Property Class", - "description" : "A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "name", - "value" ], - "additionalProperties" : false }, - "oscal-ar-oscal-metadata:link" : - { "title" : "Link", - "description" : "A reference to a local or remote resource", - "$id" : "#assembly_oscal-metadata_link", - "type" : "object", - "properties" : - { "href" : - { "title" : "Hypertext Reference", - "description" : "A resolvable URL reference to a resource.", - "type" : "string", - "format" : "uri-reference" }, - "rel" : - { "title" : "Relation", - "description" : "Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "media-type" : - { "title" : "Media Type", - "description" : "Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "text" : - { "title" : "Link Text", - "description" : "A textual label to associate with the link, which may be used for presentation in a tool.", - "type" : "string" } }, - "required" : - [ "href" ], - "additionalProperties" : false }, - "oscal-ar-oscal-metadata:responsible-party" : - { "title" : "Responsible Party", - "description" : "A reference to a set of organizations or persons that have responsibility for performing a referenced role in the context of the containing object.", - "$id" : "#assembly_oscal-metadata_responsible-party", - "type" : "object", - "properties" : - { "role-id" : - { "title" : "Responsible Role", - "description" : "A human-oriented identifier reference to roles served by the user.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "party-uuids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_party-uuid" } }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "role-id", - "party-uuids" ], - "additionalProperties" : false }, - "oscal-ar-oscal-metadata:responsible-role" : - { "title" : "Responsible Role", - "description" : "A reference to one or more roles with responsibility for performing a function relative to the containing object.", - "$id" : "#assembly_oscal-metadata_responsible-role", - "type" : "object", - "properties" : - { "role-id" : - { "title" : "Responsible Role ID", - "description" : "A human-oriented identifier reference to roles responsible for the business function.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "party-uuids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_party-uuid" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "role-id" ], - "additionalProperties" : false }, - "oscal-ar-oscal-metadata:hash" : - { "title" : "Hash", - "description" : "A representation of a cryptographic digest generated over a resource using a specified hash algorithm.", - "$id" : "#field_oscal-metadata_hash", - "type" : "object", - "properties" : - { "algorithm" : - { "title" : "Hash algorithm", - "description" : "Method by which a hash is derived", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "value" : - { "type" : "string" } }, - "required" : - [ "value", - "algorithm" ], - "additionalProperties" : false }, - "oscal-ar-oscal-metadata:remarks" : - { "title" : "Remarks", - "description" : "Additional commentary on the containing object.", - "$id" : "#field_oscal-metadata_remarks", - "type" : "string" }, - "oscal-ar-oscal-metadata:published" : - { "title" : "Publication Timestamp", - "description" : "The date and time the document was published. The date-time value must be formatted according to RFC 3339 with full time and time zone included.", - "$id" : "#field_oscal-metadata_published", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "oscal-ar-oscal-metadata:last-modified" : - { "title" : "Last Modified Timestamp", - "description" : "The date and time the document was last modified. The date-time value must be formatted according to RFC 3339 with full time and time zone included.", - "$id" : "#field_oscal-metadata_last-modified", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "oscal-ar-oscal-metadata:version" : - { "title" : "Document Version", - "description" : "A string used to distinguish the current version of the document from other previous (and future) versions.", - "$id" : "#field_oscal-metadata_version", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "oscal-ar-oscal-metadata:oscal-version" : - { "title" : "OSCAL version", - "description" : "The OSCAL model version the document was authored against.", - "$id" : "#field_oscal-metadata_oscal-version", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "oscal-ar-oscal-metadata:email-address" : - { "title" : "Email Address", - "description" : "An email address as defined by RFC 5322 Section 3.4.1.", - "$id" : "#field_oscal-metadata_email-address", - "type" : "string", - "format" : "email", - "pattern" : "^.+@.+$" }, - "oscal-ar-oscal-metadata:telephone-number" : - { "title" : "Telephone Number", - "description" : "Contact number by telephone.", - "$id" : "#field_oscal-metadata_telephone-number", - "type" : "object", - "properties" : - { "type" : - { "title" : "type flag", - "description" : "Indicates the type of phone number.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "number" : - { "type" : "string" } }, - "required" : - [ "number" ], - "additionalProperties" : false }, - "oscal-ar-oscal-metadata:address" : - { "title" : "Address", - "description" : "A postal address for the location.", - "$id" : "#assembly_oscal-metadata_address", - "type" : "object", - "properties" : - { "type" : - { "title" : "Address Type", - "description" : "Indicates the type of address.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "addr-lines" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_addr-line" } }, - "city" : - { "title" : "City", - "description" : "City, town or geographical region for the mailing address.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "state" : - { "title" : "State", - "description" : "State, province or analogous geographical region for mailing address", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "postal-code" : - { "title" : "Postal Code", - "description" : "Postal or ZIP code for mailing address", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "country" : - { "title" : "Country Code", - "description" : "The ISO 3166-1 alpha-2 country code for the mailing address.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" } }, - "additionalProperties" : false }, - "oscal-ar-oscal-metadata:addr-line" : - { "title" : "Address line", - "description" : "A single line of an address.", - "$id" : "#field_oscal-metadata_addr-line", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "oscal-ar-oscal-metadata:document-id" : - { "title" : "Document Identifier", - "description" : "A document identifier qualified by an identifier scheme. A document identifier provides a globally unique identifier with a cross-instance scope that is used for a group of documents that are to be treated as different versions of the same document. If this element does not appear, or if the value of this element is empty, the value of \"document-id\" is equal to the value of the \"uuid\" flag of the top-level root element.", - "$id" : "#field_oscal-metadata_document-id", - "type" : "object", - "properties" : - { "scheme" : - { "title" : "Document Identification Scheme", - "description" : "Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "identifier" : - { "type" : "string" } }, - "required" : - [ "identifier" ], - "additionalProperties" : false }, - "oscal-ar-oscal-assessment-common:import-ssp" : - { "title" : "Import System Security Plan", - "description" : "Used by the assessment plan and POA&M to import information about the system.", - "$id" : "#assembly_oscal-assessment-common_import-ssp", - "type" : "object", - "properties" : - { "href" : - { "title" : "System Security Plan Reference", - "description" : "A resolvable URL reference to the system security plan for the system being assessed.", - "type" : "string", - "format" : "uri-reference" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "href" ], - "additionalProperties" : false }, - "oscal-ar-oscal-assessment-common:local-objective" : - { "title" : "Assessment-Specific Control Objective", - "description" : "A local definition of a control objective for this assessment. Uses catalog syntax for control objective and assessment actions.", - "$id" : "#assembly_oscal-assessment-common_local-objective", - "type" : "object", - "properties" : - { "control-id" : - { "title" : "Control Identifier Reference", - "description" : "A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference).", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "description" : - { "title" : "Objective Description", - "description" : "A human-readable description of this control objective.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "parts" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_part" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "control-id", - "parts" ], - "additionalProperties" : false }, - "oscal-ar-oscal-assessment-common:assessment-method" : - { "title" : "Assessment Method", - "description" : "A local definition of a control objective. Uses catalog syntax for control objective and assessment activities.", - "$id" : "#assembly_oscal-assessment-common_assessment-method", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Assessment Method Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment method elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment method can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "description" : - { "title" : "Assessment Method Description", - "description" : "A human-readable description of this assessment method.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "part" : - { "$ref" : "#assembly_oscal-assessment-common_assessment-part" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "part" ], - "additionalProperties" : false }, - "oscal-ar-oscal-assessment-common:activity" : - { "title" : "Activity", - "description" : "Identifies an assessment or related process that can be performed. In the assessment plan, this is an intended activity which may be associated with an assessment task. In the assessment results, this an activity that was actually performed as part of an assessment.", - "$id" : "#assembly_oscal-assessment-common_activity", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Assessment Activity Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment activity elsewhere in this or other OSCAL instances. The locally defined UUID of the activity can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Included Activity Title", - "description" : "The title for this included activity.", - "type" : "string" }, - "description" : - { "title" : "Included Activity Description", - "description" : "A human-readable description of this included activity.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "steps" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Step", - "description" : "Identifies an individual step in a series of steps related to an activity, such as an assessment test or examination procedure.", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Step Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this step elsewhere in this or other OSCAL instances. The locally defined UUID of the step (in a series of steps) can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Step Title", - "description" : "The title for this step.", - "type" : "string" }, - "description" : - { "title" : "Step Description", - "description" : "A human-readable description of this step.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "reviewed-controls" : - { "$ref" : "#assembly_oscal-assessment-common_reviewed-controls" }, - "responsible-roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "description" ], - "additionalProperties" : false } }, - "related-controls" : - { "$ref" : "#assembly_oscal-assessment-common_reviewed-controls" }, - "responsible-roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "description" ], - "additionalProperties" : false }, - "oscal-ar-oscal-assessment-common:task" : - { "title" : "Task", - "description" : "Represents a scheduled event or milestone, which may be associated with a series of assessment actions.", - "$id" : "#assembly_oscal-assessment-common_task", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Task Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this task elsewhere in this or other OSCAL instances. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "type" : - { "title" : "Task Type", - "description" : "The type of task.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "title" : - { "title" : "Task Title", - "description" : "The title for this task.", - "type" : "string" }, - "description" : - { "title" : "Task Description", - "description" : "A human-readable description of this task.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "timing" : - { "title" : "Event Timing", - "description" : "The timing under which the task is intended to occur.", - "type" : "object", - "properties" : - { "on-date" : - { "title" : "On Date Condition", - "description" : "The task is intended to occur on the specified date.", - "type" : "object", - "properties" : - { "date" : - { "title" : "On Date Condition", - "description" : "The task must occur on the specified date.", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" } }, - "required" : - [ "date" ], - "additionalProperties" : false }, - "within-date-range" : - { "title" : "On Date Range Condition", - "description" : "The task is intended to occur within the specified date range.", - "type" : "object", - "properties" : - { "start" : - { "title" : "Start Date Condition", - "description" : "The task must occur on or after the specified date.", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "end" : - { "title" : "End Date Condition", - "description" : "The task must occur on or before the specified date.", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" } }, - "required" : - [ "start", - "end" ], - "additionalProperties" : false }, - "at-frequency" : - { "title" : "Frequency Condition", - "description" : "The task is intended to occur at the specified frequency.", - "type" : "object", - "properties" : - { "period" : - { "title" : "Period", - "description" : "The task must occur after the specified period has elapsed.", - "type" : "integer", - "multipleOf" : 1, - "minimum" : 1 }, - "unit" : - { "title" : "Time Unit", - "description" : "The unit of time for the period.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$", - "enum" : - [ "seconds", - "minutes", - "hours", - "days", - "months", - "years" ] } }, - "required" : - [ "period", - "unit" ], - "additionalProperties" : false } }, - "additionalProperties" : false }, - "dependencies" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Task Dependency", - "description" : "Used to indicate that a task is dependent on another task.", - "type" : "object", - "properties" : - { "task-uuid" : - { "title" : "Task Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to a unique task.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "task-uuid" ], - "additionalProperties" : false } }, - "tasks" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_task" } }, - "associated-activities" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Associated Activity", - "description" : "Identifies an individual activity to be performed as part of a task.", - "type" : "object", - "properties" : - { "activity-uuid" : - { "title" : "Activity Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to an activity defined in the list of activities.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "responsible-roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, - "subjects" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_assessment-subject" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "activity-uuid", - "subjects" ], - "additionalProperties" : false } }, - "subjects" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_assessment-subject" } }, - "responsible-roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "type", - "title" ], - "additionalProperties" : false }, - "oscal-ar-oscal-assessment-common:reviewed-controls" : - { "title" : "Reviewed Controls and Control Objectives", - "description" : "Identifies the controls being assessed and their control objectives.", - "$id" : "#assembly_oscal-assessment-common_reviewed-controls", - "type" : "object", - "properties" : - { "description" : - { "title" : "Control Objective Description", - "description" : "A human-readable description of control objectives.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "control-selections" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Assessed Controls", - "description" : "Identifies the controls being assessed. In the assessment plan, these are the planned controls. In the assessment results, these are the actual controls, and reflects any changes from the plan.", - "type" : "object", - "properties" : - { "description" : - { "title" : "Assessed Controls Description", - "description" : "A human-readable description of in-scope controls specified for assessment.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "include-all" : - { "$ref" : "#assembly_oscal-catalog-common_include-all" }, - "include-controls" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_select-control-by-id" } }, - "exclude-controls" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_select-control-by-id" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "additionalProperties" : false } }, - "control-objective-selections" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Referenced Control Objectives", - "description" : "Identifies the control objectives of the assessment. In the assessment plan, these are the planned objectives. In the assessment results, these are the assessed objectives, and reflects any changes from the plan.", - "type" : "object", - "properties" : - { "description" : - { "title" : "Control Objectives Description", - "description" : "A human-readable description of this collection of control objectives.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "include-all" : - { "$ref" : "#assembly_oscal-catalog-common_include-all" }, - "include-objectives" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_select-objective-by-id" } }, - "exclude-objectives" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_select-objective-by-id" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "additionalProperties" : false } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "control-selections" ], - "additionalProperties" : false }, - "oscal-ar-oscal-assessment-common:select-control-by-id" : - { "title" : "Select Control", - "description" : "Used to select a control for inclusion/exclusion based on one or more control identifiers. A set of statement identifiers can be used to target the inclusion/exclusion to only specific control statements providing more granularity over the specific statements that are within the asessment scope.", - "$id" : "#assembly_oscal-assessment-common_select-control-by-id", - "type" : "object", - "properties" : - { "control-id" : - { "title" : "Control Identifier Reference", - "description" : "A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference).", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "statement-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Include Specific Statements", - "description" : "Used to constrain the selection to only specificity identified statements.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" } } }, - "required" : - [ "control-id" ], - "additionalProperties" : false }, - "oscal-ar-oscal-assessment-common:select-objective-by-id" : - { "title" : "Select Objective", - "description" : "Used to select a control objective for inclusion/exclusion based on the control objective's identifier.", - "$id" : "#assembly_oscal-assessment-common_select-objective-by-id", - "type" : "object", - "properties" : - { "objective-id" : - { "title" : "Objective ID", - "description" : "Points to an assessment objective.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" } }, - "required" : - [ "objective-id" ], - "additionalProperties" : false }, - "oscal-ar-oscal-assessment-common:assessment-subject-placeholder" : - { "title" : "Assessment Subject Placeholder", - "description" : "Used when the assessment subjects will be determined as part of one or more other assessment activities. These assessment subjects will be recorded in the assessment results in the assessment log.", - "$id" : "#assembly_oscal-assessment-common_assessment-subject-placeholder", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Assessment Subject Placeholder Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier for a set of assessment subjects that will be identified by a task or an activity that is part of a task. The locally defined UUID of the assessment subject placeholder can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "description" : - { "title" : "Assessment Subject Placeholder Description", - "description" : "A human-readable description of intent of this assessment subject placeholder.", - "type" : "string" }, - "sources" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Assessment Subject Source", - "description" : "Assessment subjects will be identified while conducting the referenced activity-instance.", - "type" : "object", - "properties" : - { "task-uuid" : - { "title" : "Task Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference (in this or other OSCAL instances) an assessment activity to be performed as part of the event. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" } }, - "required" : - [ "task-uuid" ], - "additionalProperties" : false } }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "sources" ], - "additionalProperties" : false }, - "oscal-ar-oscal-assessment-common:assessment-subject" : - { "title" : "Subject of Assessment", - "description" : "Identifies system elements being assessed, such as components, inventory items, and locations. In the assessment plan, this identifies a planned assessment subject. In the assessment results this is an actual assessment subject, and reflects any changes from the plan. exactly what will be the focus of this assessment. Any subjects not identified in this way are out-of-scope.", - "$id" : "#assembly_oscal-assessment-common_assessment-subject", - "type" : "object", - "properties" : - { "type" : - { "title" : "Subject Type", - "description" : "Indicates the type of assessment subject, such as a component, inventory, item, location, or party represented by this selection statement.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "description" : - { "title" : "Include Subjects Description", - "description" : "A human-readable description of the collection of subjects being included in this assessment.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "include-all" : - { "$ref" : "#assembly_oscal-catalog-common_include-all" }, - "include-subjects" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_select-subject-by-id" } }, - "exclude-subjects" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_select-subject-by-id" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "type" ], - "additionalProperties" : false }, - "oscal-ar-oscal-assessment-common:select-subject-by-id" : - { "title" : "Select Assessment Subject", - "description" : "Identifies a set of assessment subjects to include/exclude by UUID.", - "$id" : "#assembly_oscal-assessment-common_select-subject-by-id", - "type" : "object", - "properties" : - { "subject-uuid" : - { "title" : "Subject Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "type" : - { "title" : "Subject Universally Unique Identifier Reference Type", - "description" : "Used to indicate the type of object pointed to by the uuid-ref within a subject.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "subject-uuid", - "type" ], - "additionalProperties" : false }, - "oscal-ar-oscal-assessment-common:subject-reference" : - { "title" : "Identifies the Subject", - "description" : "A human-oriented identifier reference to a resource. Use type to indicate whether the identified resource is a component, inventory item, location, user, or something else.", - "$id" : "#assembly_oscal-assessment-common_subject-reference", - "type" : "object", - "properties" : - { "subject-uuid" : - { "title" : "Subject Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "type" : - { "title" : "Subject Universally Unique Identifier Reference Type", - "description" : "Used to indicate the type of object pointed to by the uuid-ref within a subject.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "title" : - { "title" : "Subject Reference Title", - "description" : "The title or name for the referenced subject.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "subject-uuid", - "type" ], - "additionalProperties" : false }, - "oscal-ar-oscal-assessment-common:assessment-assets" : - { "title" : "Assessment Assets", - "description" : "Identifies the assets used to perform this assessment, such as the assessment team, scanning tools, and assumptions.", - "$id" : "#assembly_oscal-assessment-common_assessment-assets", - "type" : "object", - "properties" : - { "components" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_system-component" } }, - "assessment-platforms" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Assessment Platform", - "description" : "Used to represent the toolset used to perform aspects of the assessment.", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Assessment Platform Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment platform elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment platform can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Assessment Platform Title", - "description" : "The title or name for the assessment platform.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "uses-components" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Uses Component", - "description" : "The set of components that are used by the assessment platform.", - "type" : "object", - "properties" : - { "component-uuid" : - { "title" : "Component Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to a component that is implemented as part of an inventory item.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "responsible-parties" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "component-uuid" ], - "additionalProperties" : false } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid" ], - "additionalProperties" : false } } }, - "required" : - [ "assessment-platforms" ], - "additionalProperties" : false }, - "oscal-ar-oscal-assessment-common:finding-target" : - { "title" : "Objective Status", - "description" : "Captures an assessor's conclusions regarding the degree to which an objective is satisfied.", - "$id" : "#assembly_oscal-assessment-common_finding-target", - "type" : "object", - "properties" : - { "type" : - { "title" : "Finding Target Type", - "description" : "Identifies the type of the target.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$", - "enum" : - [ "statement-id", - "objective-id" ] }, - "target-id" : - { "title" : "Finding Target Identifier Reference", - "description" : "A machine-oriented identifier reference for a specific target qualified by the type.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "title" : - { "title" : "Objective Status Title", - "description" : "The title for this objective status.", - "type" : "string" }, - "description" : - { "title" : "Objective Status Description", - "description" : "A human-readable description of the assessor's conclusions regarding the degree to which an objective is satisfied.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "status" : - { "title" : "Objective Status", - "description" : "A determination of if the objective is satisfied or not within a given system.", - "type" : "object", - "properties" : - { "state" : - { "title" : "Objective Status State", - "description" : "An indication as to whether the objective is satisfied or not.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$", - "enum" : - [ "satisfied", - "not-satisfied" ] }, - "reason" : - { "title" : "Objective Status Reason", - "description" : "The reason the objective was given it's status.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "state" ], - "additionalProperties" : false }, - "implementation-status" : - { "$ref" : "#assembly_oscal-implementation-common_implementation-status" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "type", - "target-id", - "status" ], - "additionalProperties" : false }, - "oscal-ar-oscal-assessment-common:observation" : - { "title" : "Observation", - "description" : "Describes an individual observation.", - "$id" : "#assembly_oscal-assessment-common_observation", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Observation Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this observation elsewhere in this or other OSCAL instances. The locally defined UUID of the observation can be used to reference the data item locally or globally (e.g., in an imorted OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Observation Title", - "description" : "The title for this observation.", - "type" : "string" }, - "description" : - { "title" : "Observation Description", - "description" : "A human-readable description of this assessment observation.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "methods" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Observation Method", - "description" : "Identifies how the observation was made.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" } }, - "types" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Observation Type", - "description" : "Identifies the nature of the observation. More than one may be used to further qualify and enable filtering.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" } }, - "origins" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_origin" } }, - "subjects" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_subject-reference" } }, - "relevant-evidence" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Relevant Evidence", - "description" : "Links this observation to relevant evidence.", - "type" : "object", - "properties" : - { "href" : - { "title" : "Relevant Evidence Reference", - "description" : "A resolvable URL reference to relevant evidence.", - "type" : "string", - "format" : "uri-reference" }, - "description" : - { "title" : "Relevant Evidence Description", - "description" : "A human-readable description of this evidence.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "description" ], - "additionalProperties" : false } }, - "collected" : - { "title" : "Collected Field", - "description" : "Date/time stamp identifying when the finding information was collected.", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "expires" : - { "title" : "Expires Field", - "description" : "Date/time identifying when the finding information is out-of-date and no longer valid. Typically used with continuous assessment scenarios.", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "description", - "methods", - "collected" ], - "additionalProperties" : false }, - "oscal-ar-oscal-assessment-common:origin" : - { "title" : "Origin", - "description" : "Identifies the source of the finding, such as a tool, interviewed person, or activity.", - "$id" : "#assembly_oscal-assessment-common_origin", - "type" : "object", - "properties" : - { "actors" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_origin-actor" } }, - "related-tasks" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_related-task" } } }, - "required" : - [ "actors" ], - "additionalProperties" : false }, - "oscal-ar-oscal-assessment-common:origin-actor" : - { "title" : "Originating Actor", - "description" : "The actor that produces an observation, a finding, or a risk. One or more actor type can be used to specify a person that is using a tool.", - "$id" : "#assembly_oscal-assessment-common_origin-actor", - "type" : "object", - "properties" : - { "type" : - { "title" : "Actor Type", - "description" : "The kind of actor.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$", - "enum" : - [ "tool", - "assessment-platform", - "party" ] }, - "actor-uuid" : - { "title" : "Actor Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to the tool or person based on the associated type.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "role-id" : - { "title" : "Actor Role", - "description" : "For a party, this can optionally be used to specify the role the actor was performing.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } } }, - "required" : - [ "type", - "actor-uuid" ], - "additionalProperties" : false }, - "oscal-ar-oscal-assessment-common:related-task" : - { "title" : "Task Reference", - "description" : "Identifies an individual task for which the containing object is a consequence of.", - "$id" : "#assembly_oscal-assessment-common_related-task", - "type" : "object", - "properties" : - { "task-uuid" : - { "title" : "Task Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to a unique task.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "responsible-parties" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, - "subjects" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_assessment-subject" } }, - "identified-subject" : - { "title" : "Identified Subject", - "description" : "Used to detail assessment subjects that were identfied by this task.", - "type" : "object", - "properties" : - { "subject-placeholder-uuid" : - { "title" : "Assessment Subject Placeholder Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to a unique assessment subject placeholder defined by this task.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "subjects" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_assessment-subject" } } }, - "required" : - [ "subject-placeholder-uuid", - "subjects" ], - "additionalProperties" : false }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "task-uuid" ], - "additionalProperties" : false }, - "oscal-ar-oscal-assessment-common:threat-id" : - { "title" : "Threat ID", - "description" : "A pointer, by ID, to an externally-defined threat.", - "$id" : "#field_oscal-assessment-common_threat-id", - "type" : "object", - "properties" : - { "system" : - { "title" : "Threat Type Identification System", - "description" : "Specifies the source of the threat information.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "href" : - { "title" : "Threat Information Resource Reference", - "description" : "An optional location for the threat data, from which this ID originates.", - "type" : "string", - "format" : "uri-reference" }, - "id" : - { "type" : "string" } }, - "required" : - [ "id", - "system" ], - "additionalProperties" : false }, - "oscal-ar-oscal-assessment-common:risk" : - { "title" : "Identified Risk", - "description" : "An identified risk.", - "$id" : "#assembly_oscal-assessment-common_risk", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Risk Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk elsewhere in this or other OSCAL instances. The locally defined UUID of the risk can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Risk Title", - "description" : "The title for this risk.", - "type" : "string" }, - "description" : - { "title" : "Risk Description", - "description" : "A human-readable summary of the identified risk, to include a statement of how the risk impacts the system.", - "type" : "string" }, - "statement" : - { "title" : "Risk Statement", - "description" : "An summary of impact for how the risk affects the system.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "status" : - { "$ref" : "#field_oscal-assessment-common_risk-status" }, - "origins" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_origin" } }, - "threat-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-assessment-common_threat-id" } }, - "characterizations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_characterization" } }, - "mitigating-factors" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Mitigating Factor", - "description" : "Describes an existing mitigating factor that may affect the overall determination of the risk, with an optional link to an implementation statement in the SSP.", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Mitigating Factor Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this mitigating factor elsewhere in this or other OSCAL instances. The locally defined UUID of the mitigating factor can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "implementation-uuid" : - { "title" : "Implementation UUID", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this implementation statement elsewhere in this or other OSCAL instancess. The locally defined UUID of the implementation statement can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "description" : - { "title" : "Mitigating Factor Description", - "description" : "A human-readable description of this mitigating factor.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "subjects" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_subject-reference" } } }, - "required" : - [ "uuid", - "description" ], - "additionalProperties" : false } }, - "deadline" : - { "title" : "Risk Resolution Deadline", - "description" : "The date/time by which the risk must be resolved.", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "remediations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_response" } }, - "risk-log" : - { "title" : "Risk Log", - "description" : "A log of all risk-related tasks taken.", - "type" : "object", - "properties" : - { "entries" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Risk Log Entry", - "description" : "Identifies an individual risk response that occurred as part of managing an identified risk.", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Risk Log Entry Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk log entry elsewhere in this or other OSCAL instances. The locally defined UUID of the risk log entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Title", - "description" : "The title for this risk log entry.", - "type" : "string" }, - "description" : - { "title" : "Risk Task Description", - "description" : "A human-readable description of what was done regarding the risk.", - "type" : "string" }, - "start" : - { "title" : "Start", - "description" : "Identifies the start date and time of the event.", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "end" : - { "title" : "End", - "description" : "Identifies the end date and time of the event. If the event is a point in time, the start and end will be the same date and time.", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "logged-by" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_logged-by" } }, - "status-change" : - { "$ref" : "#field_oscal-assessment-common_risk-status" }, - "related-responses" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Risk Response Reference", - "description" : "Identifies an individual risk response that this log entry is for.", - "type" : "object", - "properties" : - { "response-uuid" : - { "title" : "Response Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to a unique risk response.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "related-tasks" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_related-task" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "response-uuid" ], - "additionalProperties" : false } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "start" ], - "additionalProperties" : false } } }, - "required" : - [ "entries" ], - "additionalProperties" : false }, - "related-observations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Related Observation", - "description" : "Relates the finding to a set of referenced observations that were used to determine the finding.", - "type" : "object", - "properties" : - { "observation-uuid" : - { "title" : "Observation Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to an observation defined in the list of observations.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" } }, - "required" : - [ "observation-uuid" ], - "additionalProperties" : false } } }, - "required" : - [ "uuid", - "title", - "description", - "statement", - "status" ], - "additionalProperties" : false }, - "oscal-ar-oscal-assessment-common:logged-by" : - { "title" : "Logged By", - "description" : "Used to indicate who created a log entry in what role.", - "$id" : "#assembly_oscal-assessment-common_logged-by", - "type" : "object", - "properties" : - { "party-uuid" : - { "title" : "Party UUID Reference", - "description" : "A machine-oriented identifier reference to the party who is making the log entry.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "role-id" : - { "title" : "Actor Role", - "description" : "A point to the role-id of the role in which the party is making the log entry.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" } }, - "required" : - [ "party-uuid" ], - "additionalProperties" : false }, - "oscal-ar-oscal-assessment-common:risk-status" : - { "title" : "Risk Status", - "description" : "Describes the status of the associated risk.", - "$id" : "#field_oscal-assessment-common_risk-status", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "oscal-ar-oscal-assessment-common:characterization" : - { "title" : "Characterization", - "description" : "A collection of descriptive data about the containing object from a specific origin.", - "$id" : "#assembly_oscal-assessment-common_characterization", - "type" : "object", - "properties" : - { "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "origin" : - { "$ref" : "#assembly_oscal-assessment-common_origin" }, - "facets" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Facet", - "description" : "An individual characteristic that is part of a larger set produced by the same actor.", - "type" : "object", - "properties" : - { "name" : - { "title" : "Facet Name", - "description" : "The name of the risk metric within the specified system.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "system" : - { "title" : "Naming System", - "description" : "Specifies the naming system under which this risk metric is organized, which allows for the same names to be used in different systems controlled by different parties. This avoids the potential of a name clash.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "value" : - { "title" : "Facet Value", - "description" : "Indicates the value of the facet.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "name", - "system", - "value" ], - "additionalProperties" : false } } }, - "required" : - [ "origin", - "facets" ], - "additionalProperties" : false }, - "oscal-ar-oscal-assessment-common:response" : - { "title" : "Risk Response", - "description" : "Describes either recommended or an actual plan for addressing the risk.", - "$id" : "#assembly_oscal-assessment-common_response", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Remediation Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this remediation elsewhere in this or other OSCAL instances. The locally defined UUID of the risk response can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "lifecycle" : - { "title" : "Remediation Intent", - "description" : "Identifies whether this is a recommendation, such as from an assessor or tool, or an actual plan accepted by the system owner.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "title" : - { "title" : "Response Title", - "description" : "The title for this response activity.", - "type" : "string" }, - "description" : - { "title" : "Response Description", - "description" : "A human-readable description of this response plan.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "origins" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_origin" } }, - "required-assets" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Required Asset", - "description" : "Identifies an asset required to achieve remediation.", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Required Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this required asset elsewhere in this or other OSCAL instances. The locally defined UUID of the asset can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "subjects" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_subject-reference" } }, - "title" : - { "title" : "Title for Required Asset", - "description" : "The title for this required asset.", - "type" : "string" }, - "description" : - { "title" : "Description of Required Asset", - "description" : "A human-readable description of this required asset.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "description" ], - "additionalProperties" : false } }, - "tasks" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_task" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "lifecycle", - "title", - "description" ], - "additionalProperties" : false }, - "oscal-ar-oscal-assessment-common:assessment-part" : - { "title" : "Assessment Part", - "description" : "A partition of an assessment plan or results or a child of another part.", - "$id" : "#assembly_oscal-assessment-common_assessment-part", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Part Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this part elsewhere in this or other OSCAL instances. The locally defined UUID of the part can be used to reference the data item locally or globally (e.g., in an ported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "name" : - { "title" : "Part Name", - "description" : "A textual label that uniquely identifies the part's semantic type.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "ns" : - { "title" : "Part Namespace", - "description" : "A namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "class" : - { "title" : "Part Class", - "description" : "A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "title" : - { "title" : "Part Title", - "description" : "A name given to the part, which may be used by a tool for display and navigation.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "prose" : - { "title" : "Part Text", - "description" : "Permits multiple paragraphs, lists, tables etc.", - "type" : "string" }, - "parts" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_assessment-part" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } } }, - "required" : - [ "name" ], - "additionalProperties" : false }, - "oscal-ar-oscal-catalog-common:part" : - { "title" : "Part", - "description" : "A partition of a control's definition or a child of another part.", - "$id" : "#assembly_oscal-catalog-common_part", - "type" : "object", - "properties" : - { "id" : - { "title" : "Part Identifier", - "description" : "A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined part elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "name" : - { "title" : "Part Name", - "description" : "A textual label that uniquely identifies the part's semantic type.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "ns" : - { "title" : "Part Namespace", - "description" : "A namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "class" : - { "title" : "Part Class", - "description" : "A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "title" : - { "title" : "Part Title", - "description" : "A name given to the part, which may be used by a tool for display and navigation.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "prose" : - { "title" : "Part Text", - "description" : "Permits multiple paragraphs, lists, tables etc.", - "type" : "string" }, - "parts" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_part" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } } }, - "required" : - [ "name" ], - "additionalProperties" : false }, - "oscal-ar-oscal-catalog-common:parameter" : - { "title" : "Parameter", - "description" : "Parameters provide a mechanism for the dynamic assignment of value(s) in a control.", - "$id" : "#assembly_oscal-catalog-common_parameter", - "type" : "object", - "properties" : - { "id" : - { "title" : "Parameter Identifier", - "description" : "A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined parameter elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "class" : - { "title" : "Parameter Class", - "description" : "A textual label that provides a characterization of the parameter.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "depends-on" : - { "title" : "Depends on", - "description" : "**(deprecated)** Another parameter invoking this one. This construct has been deprecated and should not be used.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "label" : - { "title" : "Parameter Label", - "description" : "A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned.", - "type" : "string" }, - "usage" : - { "title" : "Parameter Usage Description", - "description" : "Describes the purpose and use of a parameter", - "type" : "string" }, - "constraints" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_parameter-constraint" } }, - "guidelines" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_parameter-guideline" } }, - "values" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-catalog-common_parameter-value" } }, - "select" : - { "$ref" : "#assembly_oscal-catalog-common_parameter-selection" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "id" ], - "additionalProperties" : false }, - "oscal-ar-oscal-catalog-common:parameter-constraint" : - { "title" : "Constraint", - "description" : "A formal or informal expression of a constraint or test", - "$id" : "#assembly_oscal-catalog-common_parameter-constraint", - "type" : "object", - "properties" : - { "description" : - { "title" : "Constraint Description", - "description" : "A textual summary of the constraint to be applied.", - "type" : "string" }, - "tests" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Constraint Test", - "description" : "A test expression which is expected to be evaluated by a tool.", - "type" : "object", - "properties" : - { "expression" : - { "title" : "Constraint test", - "description" : "A formal (executable) expression of a constraint", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "expression" ], - "additionalProperties" : false } } }, - "additionalProperties" : false }, - "oscal-ar-oscal-catalog-common:parameter-guideline" : - { "title" : "Guideline", - "description" : "A prose statement that provides a recommendation for the use of a parameter.", - "$id" : "#assembly_oscal-catalog-common_parameter-guideline", - "type" : "object", - "properties" : - { "prose" : - { "title" : "Guideline Text", - "description" : "Prose permits multiple paragraphs, lists, tables etc.", - "type" : "string" } }, - "required" : - [ "prose" ], - "additionalProperties" : false }, - "oscal-ar-oscal-catalog-common:parameter-value" : + "required" : + [ "uuid", + "start" ], + "additionalProperties" : false } } }, + "required" : + [ "entries" ], + "additionalProperties" : false }, + "related-observations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Related Observation", + "description" : "Relates the finding to a set of referenced observations that were used to determine the finding.", + "type" : "object", + "properties" : + { "observation-uuid" : + { "title" : "Observation Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to an observation defined in the list of observations.", + "$ref" : "#/definitions/UUIDDatatype" } }, + "required" : + [ "observation-uuid" ], + "additionalProperties" : false } } }, + "required" : + [ "uuid", + "title", + "description", + "statement", + "status" ], + "additionalProperties" : false }, + "oscal-ar-oscal-assessment-common:logged-by" : + { "title" : "Logged By", + "description" : "Used to indicate who created a log entry in what role.", + "$id" : "#assembly_oscal-assessment-common_logged-by", + "type" : "object", + "properties" : + { "party-uuid" : + { "title" : "Party UUID Reference", + "description" : "A machine-oriented identifier reference to the party who is making the log entry.", + "$ref" : "#/definitions/UUIDDatatype" }, + "role-id" : + { "title" : "Actor Role", + "description" : "A point to the role-id of the role in which the party is making the log entry.", + "$ref" : "#/definitions/TokenDatatype" } }, + "required" : + [ "party-uuid" ], + "additionalProperties" : false }, + "oscal-ar-oscal-assessment-common:risk-status" : + { "title" : "Risk Status", + "description" : "Describes the status of the associated risk.", + "$id" : "#field_oscal-assessment-common_risk-status", + "$ref" : "#/definitions/TokenDatatype" }, + "oscal-ar-oscal-assessment-common:characterization" : + { "title" : "Characterization", + "description" : "A collection of descriptive data about the containing object from a specific origin.", + "$id" : "#assembly_oscal-assessment-common_characterization", + "type" : "object", + "properties" : + { "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "origin" : + { "$ref" : "#assembly_oscal-assessment-common_origin" }, + "facets" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Facet", + "description" : "An individual characteristic that is part of a larger set produced by the same actor.", + "type" : "object", + "properties" : + { "name" : + { "title" : "Facet Name", + "description" : "The name of the risk metric within the specified system.", + "$ref" : "#/definitions/TokenDatatype" }, + "system" : + { "title" : "Naming System", + "description" : "Specifies the naming system under which this risk metric is organized, which allows for the same names to be used in different systems controlled by different parties. This avoids the potential of a name clash.", + "$ref" : "#/definitions/URIDatatype" }, + "value" : + { "title" : "Facet Value", + "description" : "Indicates the value of the facet.", + "$ref" : "#/definitions/StringDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "name", + "system", + "value" ], + "additionalProperties" : false } } }, + "required" : + [ "origin", + "facets" ], + "additionalProperties" : false }, + "oscal-ar-oscal-assessment-common:response" : + { "title" : "Risk Response", + "description" : "Describes either recommended or an actual plan for addressing the risk.", + "$id" : "#assembly_oscal-assessment-common_response", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Remediation Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this remediation elsewhere in this or other OSCAL instances. The locally defined UUID of the risk response can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "lifecycle" : + { "title" : "Remediation Intent", + "description" : "Identifies whether this is a recommendation, such as from an assessor or tool, or an actual plan accepted by the system owner.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Response Title", + "description" : "The title for this response activity.", + "type" : "string" }, + "description" : + { "title" : "Response Description", + "description" : "A human-readable description of this response plan.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "origins" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_origin" } }, + "required-assets" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Required Asset", + "description" : "Identifies an asset required to achieve remediation.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Required Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this required asset elsewhere in this or other OSCAL instances. The locally defined UUID of the asset can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "subjects" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_subject-reference" } }, + "title" : + { "title" : "Title for Required Asset", + "description" : "The title for this required asset.", + "type" : "string" }, + "description" : + { "title" : "Description of Required Asset", + "description" : "A human-readable description of this required asset.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "description" ], + "additionalProperties" : false } }, + "tasks" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_task" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "lifecycle", + "title", + "description" ], + "additionalProperties" : false }, + "oscal-ar-oscal-assessment-common:assessment-part" : + { "title" : "Assessment Part", + "description" : "A partition of an assessment plan or results or a child of another part.", + "$id" : "#assembly_oscal-assessment-common_assessment-part", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Part Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this part elsewhere in this or other OSCAL instances. The locally defined UUID of the part can be used to reference the data item locally or globally (e.g., in an ported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "name" : + { "title" : "Part Name", + "description" : "A textual label that uniquely identifies the part's semantic type.", + "$ref" : "#/definitions/TokenDatatype" }, + "ns" : + { "title" : "Part Namespace", + "description" : "A namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name.", + "$ref" : "#/definitions/URIDatatype" }, + "class" : + { "title" : "Part Class", + "description" : "A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Part Title", + "description" : "A name given to the part, which may be used by a tool for display and navigation.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "prose" : + { "title" : "Part Text", + "description" : "Permits multiple paragraphs, lists, tables etc.", + "type" : "string" }, + "parts" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_assessment-part" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } } }, + "required" : + [ "name" ], + "additionalProperties" : false }, + "oscal-ar-oscal-control-common:part" : + { "title" : "Part", + "description" : "An annotated, markup-based textual element of a control's or catalog group's definition, or a child of another part.", + "$id" : "#assembly_oscal-control-common_part", + "type" : "object", + "properties" : + { "id" : + { "title" : "Part Identifier", + "description" : "A unique identifier for the part.", + "$ref" : "#/definitions/TokenDatatype" }, + "name" : + { "title" : "Part Name", + "description" : "A textual label that uniquely identifies the part's semantic type, which exists in a value space qualified by the ns.", + "$ref" : "#/definitions/TokenDatatype" }, + "ns" : + { "title" : "Part Namespace", + "description" : "An optional namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name.", + "$ref" : "#/definitions/URIDatatype" }, + "class" : + { "title" : "Part Class", + "description" : "An optional textual providing a sub-type or characterization of the part's name, or a category to which the part belongs.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Part Title", + "description" : "An optional name given to the part, which may be used by a tool for display and navigation.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "prose" : + { "title" : "Part Text", + "description" : "Permits multiple paragraphs, lists, tables etc.", + "type" : "string" }, + "parts" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_part" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } } }, + "required" : + [ "name" ], + "additionalProperties" : false }, + "oscal-ar-oscal-control-common:parameter" : + { "title" : "Parameter", + "description" : "Parameters provide a mechanism for the dynamic assignment of value(s) in a control.", + "$id" : "#assembly_oscal-control-common_parameter", + "type" : "object", + "properties" : + { "id" : + { "title" : "Parameter Identifier", + "description" : "A unique identifier for the parameter.", + "$ref" : "#/definitions/TokenDatatype" }, + "class" : + { "title" : "Parameter Class", + "description" : "A textual label that provides a characterization of the type, purpose, use or scope of the parameter.", + "$ref" : "#/definitions/TokenDatatype" }, + "depends-on" : + { "title" : "Depends on", + "description" : "(deprecated) Another parameter invoking this one. This construct has been deprecated and should not be used.", + "$ref" : "#/definitions/TokenDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "label" : + { "title" : "Parameter Label", + "description" : "A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned.", + "type" : "string" }, + "usage" : + { "title" : "Parameter Usage Description", + "description" : "Describes the purpose and use of a parameter.", + "type" : "string" }, + "constraints" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_parameter-constraint" } }, + "guidelines" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_parameter-guideline" } }, + "values" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-control-common_parameter-value" } }, + "select" : + { "$ref" : "#assembly_oscal-control-common_parameter-selection" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "id" ], + "additionalProperties" : false }, + "oscal-ar-oscal-control-common:parameter-constraint" : + { "title" : "Constraint", + "description" : "A formal or informal expression of a constraint or test.", + "$id" : "#assembly_oscal-control-common_parameter-constraint", + "type" : "object", + "properties" : + { "description" : + { "title" : "Constraint Description", + "description" : "A textual summary of the constraint to be applied.", + "type" : "string" }, + "tests" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Constraint Test", + "description" : "A test expression which is expected to be evaluated by a tool.", + "type" : "object", + "properties" : + { "expression" : + { "title" : "Constraint test", + "description" : "A formal (executable) expression of a constraint.", + "$ref" : "#/definitions/StringDatatype" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "expression" ], + "additionalProperties" : false } } }, + "additionalProperties" : false }, + "oscal-ar-oscal-control-common:parameter-guideline" : + { "title" : "Guideline", + "description" : "A prose statement that provides a recommendation for the use of a parameter.", + "$id" : "#assembly_oscal-control-common_parameter-guideline", + "type" : "object", + "properties" : + { "prose" : + { "title" : "Guideline Text", + "description" : "Prose permits multiple paragraphs, lists, tables etc.", + "type" : "string" } }, + "required" : + [ "prose" ], + "additionalProperties" : false }, + "oscal-ar-oscal-control-common:parameter-value" : + { "title" : "Parameter Value", + "description" : "A parameter value or set of values.", + "$id" : "#field_oscal-control-common_parameter-value", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-ar-oscal-control-common:parameter-selection" : + { "title" : "Selection", + "description" : "Presenting a choice among alternatives.", + "$id" : "#assembly_oscal-control-common_parameter-selection", + "type" : "object", + "properties" : + { "how-many" : + { "title" : "Parameter Cardinality", + "description" : "Describes the number of selections that must occur. Without this setting, only one value should be assumed to be permitted.", + "allOf" : + [ + { "$ref" : "#/definitions/TokenDatatype" }, + + { "enum" : + [ "one", + "one-or-more" ] } ] }, + "choice" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Choice", + "description" : "A value selection among several such options.", + "type" : "string" } } }, + "additionalProperties" : false }, + "oscal-ar-oscal-control-common:include-all" : + { "title" : "Include All", + "description" : "Include all controls from the imported catalog or profile resources.", + "$id" : "#assembly_oscal-control-common_include-all", + "type" : "object", + "additionalProperties" : false }, + "oscal-ar-oscal-implementation-common:system-component" : + { "title" : "Component", + "description" : "A defined component that can be part of an implemented system.", + "$id" : "#assembly_oscal-implementation-common_system-component", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Component Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component elsewhere in this or other OSCAL instances. The locally defined UUID of the component can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "type" : + { "title" : "Component Type", + "description" : "A category describing the purpose of the component.", + "$ref" : "#/definitions/StringDatatype" }, + "title" : + { "title" : "Component Title", + "description" : "A human readable name for the system component.", + "type" : "string" }, + "description" : + { "title" : "Component Description", + "description" : "A description of the component, including information about its function.", + "type" : "string" }, + "purpose" : + { "title" : "Purpose", + "description" : "A summary of the technological or business purpose of the component.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "status" : + { "title" : "Status", + "description" : "Describes the operational status of the system component.", + "type" : "object", + "properties" : + { "state" : + { "title" : "State", + "description" : "The operational status.", + "allOf" : + [ + { "$ref" : "#/definitions/TokenDatatype" }, + + { "enum" : + [ "under-development", + "operational", + "disposition", + "other" ] } ] }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "state" ], + "additionalProperties" : false }, + "responsible-roles" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, + "protocols" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_protocol" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "type", + "title", + "description", + "status" ], + "additionalProperties" : false }, + "oscal-ar-oscal-implementation-common:protocol" : + { "title" : "Service Protocol Information", + "description" : "Information about the protocol used to provide a service.", + "$id" : "#assembly_oscal-implementation-common_protocol", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Service Protocol Information Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this service protocol information elsewhere in this or other OSCAL instances. The locally defined UUID of the service protocol can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "name" : + { "title" : "Protocol Name", + "description" : "The common name of the protocol, which should be the appropriate \"service name\" from the IANA Service Name and Transport Protocol Port Number Registry.", + "$ref" : "#/definitions/StringDatatype" }, + "title" : + { "title" : "Protocol Title", + "description" : "A human readable name for the protocol (e.g., Transport Layer Security).", + "type" : "string" }, + "port-ranges" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_port-range" } } }, + "required" : + [ "name" ], + "additionalProperties" : false }, + "oscal-ar-oscal-implementation-common:port-range" : + { "title" : "Port Range", + "description" : "Where applicable this is the IPv4 port range on which the service operates.", + "$id" : "#assembly_oscal-implementation-common_port-range", + "type" : "object", + "properties" : + { "start" : + { "title" : "Start", + "description" : "Indicates the starting port number in a port range", + "$ref" : "#/definitions/NonNegativeIntegerDatatype" }, + "end" : + { "title" : "End", + "description" : "Indicates the ending port number in a port range", + "$ref" : "#/definitions/NonNegativeIntegerDatatype" }, + "transport" : + { "title" : "Transport", + "description" : "Indicates the transport type.", + "allOf" : + [ + { "$ref" : "#/definitions/TokenDatatype" }, + + { "enum" : + [ "TCP", + "UDP" ] } ] } }, + "additionalProperties" : false }, + "oscal-ar-oscal-implementation-common:implementation-status" : + { "title" : "Implementation Status", + "description" : "Indicates the degree to which the a given control is implemented.", + "$id" : "#assembly_oscal-implementation-common_implementation-status", + "type" : "object", + "properties" : + { "state" : + { "title" : "Implementation State", + "description" : "Identifies the implementation status of the control or control objective.", + "$ref" : "#/definitions/TokenDatatype" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "state" ], + "additionalProperties" : false }, + "oscal-ar-oscal-implementation-common:system-user" : + { "title" : "System User", + "description" : "A type of user that interacts with the system based on an associated role.", + "$id" : "#assembly_oscal-implementation-common_system-user", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "User Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this user class elsewhere in this or other OSCAL instances. The locally defined UUID of the system user can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "User Title", + "description" : "A name given to the user, which may be used by a tool for display and navigation.", + "type" : "string" }, + "short-name" : + { "title" : "User Short Name", + "description" : "A short common name, abbreviation, or acronym for the user.", + "$ref" : "#/definitions/StringDatatype" }, + "description" : + { "title" : "User Description", + "description" : "A summary of the user's purpose within the system.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "role-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_role-id" } }, + "authorized-privileges" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_authorized-privilege" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid" ], + "additionalProperties" : false }, + "oscal-ar-oscal-implementation-common:authorized-privilege" : + { "title" : "Privilege", + "description" : "Identifies a specific system privilege held by the user, along with an associated description and/or rationale for the privilege.", + "$id" : "#assembly_oscal-implementation-common_authorized-privilege", + "type" : "object", + "properties" : + { "title" : + { "title" : "Privilege Title", + "description" : "A human readable name for the privilege.", + "type" : "string" }, + "description" : + { "title" : "Privilege Description", + "description" : "A summary of the privilege's purpose within the system.", + "type" : "string" }, + "functions-performed" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-implementation-common_function-performed" } } }, + "required" : + [ "title", + "functions-performed" ], + "additionalProperties" : false }, + "oscal-ar-oscal-implementation-common:function-performed" : + { "title" : "Functions Performed", + "description" : "Describes a function performed for a given authorized privilege by this user class.", + "$id" : "#field_oscal-implementation-common_function-performed", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-ar-oscal-implementation-common:inventory-item" : + { "title" : "Inventory Item", + "description" : "A single managed inventory item within the system.", + "$id" : "#assembly_oscal-implementation-common_inventory-item", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Inventory Item Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inventory item elsewhere in this or other OSCAL instances. The locally defined UUID of the inventory item can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "description" : + { "title" : "Inventory Item Description", + "description" : "A summary of the inventory item stating its purpose within the system.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "responsible-parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, + "implemented-components" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Implemented Component", + "description" : "The set of components that are implemented in a given system inventory item.", + "type" : "object", + "properties" : + { "component-uuid" : + { "title" : "Component Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to a component that is implemented as part of an inventory item.", + "$ref" : "#/definitions/UUIDDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "responsible-parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "component-uuid" ], + "additionalProperties" : false } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "description" ], + "additionalProperties" : false }, + "oscal-ar-oscal-implementation-common:set-parameter" : + { "title" : "Set Parameter Value", + "description" : "Identifies the parameter that will be set by the enclosed value.", + "$id" : "#assembly_oscal-implementation-common_set-parameter", + "type" : "object", + "properties" : + { "param-id" : + { "title" : "Parameter ID", + "description" : "A human-oriented reference to a parameter within a control, who's catalog has been imported into the current implementation context.", + "$ref" : "#/definitions/TokenDatatype" }, + "values" : + { "type" : "array", + "minItems" : 1, + "items" : { "title" : "Parameter Value", - "description" : "A parameter value or set of values.", - "$id" : "#field_oscal-catalog-common_parameter-value", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "oscal-ar-oscal-catalog-common:parameter-selection" : - { "title" : "Selection", - "description" : "Presenting a choice among alternatives", - "$id" : "#assembly_oscal-catalog-common_parameter-selection", - "type" : "object", - "properties" : - { "how-many" : - { "title" : "Parameter Cardinality", - "description" : "Describes the number of selections that must occur. Without this setting, only one value should be assumed to be permitted.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$", - "enum" : - [ "one", - "one-or-more" ] }, - "choice" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Choice", - "description" : "A value selection among several such options", - "type" : "string" } } }, - "additionalProperties" : false }, - "oscal-ar-oscal-catalog-common:include-all" : - { "title" : "Include All", - "description" : "Include all controls from the imported catalog or profile resources.", - "$id" : "#assembly_oscal-catalog-common_include-all", - "type" : "object", - "additionalProperties" : false }, - "oscal-ar-oscal-implementation-common:system-component" : - { "title" : "Component", - "description" : "A defined component that can be part of an implemented system.", - "$id" : "#assembly_oscal-implementation-common_system-component", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Component Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component elsewhere in this or other OSCAL instances. The locally defined UUID of the component can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "type" : - { "title" : "Component Type", - "description" : "A category describing the purpose of the component.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "title" : - { "title" : "Component Title", - "description" : "A human readable name for the system component.", - "type" : "string" }, - "description" : - { "title" : "Component Description", - "description" : "A description of the component, including information about its function.", - "type" : "string" }, - "purpose" : - { "title" : "Purpose", - "description" : "A summary of the technological or business purpose of the component.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "status" : - { "title" : "Status", - "description" : "Describes the operational status of the system component.", - "type" : "object", - "properties" : - { "state" : - { "title" : "State", - "description" : "The operational status.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$", - "enum" : - [ "under-development", - "operational", - "disposition", - "other" ] }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "state" ], - "additionalProperties" : false }, - "responsible-roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, - "protocols" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_protocol" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "type", - "title", - "description", - "status" ], - "additionalProperties" : false }, - "oscal-ar-oscal-implementation-common:protocol" : - { "title" : "Service Protocol Information", - "description" : "Information about the protocol used to provide a service.", - "$id" : "#assembly_oscal-implementation-common_protocol", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Service Protocol Information Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this service protocol information elsewhere in this or other OSCAL instances. The locally defined UUID of the service protocol can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "name" : - { "title" : "Protocol Name", - "description" : "The common name of the protocol, which should be the appropriate \"service name\" from the IANA Service Name and Transport Protocol Port Number Registry.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "title" : - { "title" : "Protocol Title", - "description" : "A human readable name for the protocol (e.g., Transport Layer Security).", - "type" : "string" }, - "port-ranges" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_port-range" } } }, - "required" : - [ "name" ], - "additionalProperties" : false }, - "oscal-ar-oscal-implementation-common:port-range" : - { "title" : "Port Range", - "description" : "Where applicable this is the IPv4 port range on which the service operates.", - "$id" : "#assembly_oscal-implementation-common_port-range", - "type" : "object", - "properties" : - { "start" : - { "title" : "Start", - "description" : "Indicates the starting port number in a port range", - "type" : "integer", - "multipleOf" : 1, - "minimum" : 0 }, - "end" : - { "title" : "End", - "description" : "Indicates the ending port number in a port range", - "type" : "integer", - "multipleOf" : 1, - "minimum" : 0 }, - "transport" : - { "title" : "Transport", - "description" : "Indicates the transport type.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$", - "enum" : - [ "TCP", - "UDP" ] } }, - "additionalProperties" : false }, - "oscal-ar-oscal-implementation-common:implementation-status" : - { "title" : "Implementation Status", - "description" : "Indicates the degree to which the a given control is implemented.", - "$id" : "#assembly_oscal-implementation-common_implementation-status", - "type" : "object", - "properties" : - { "state" : - { "title" : "Implementation State", - "description" : "Identifies the implementation status of the control or control objective.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "state" ], - "additionalProperties" : false }, - "oscal-ar-oscal-implementation-common:system-user" : - { "title" : "System User", - "description" : "A type of user that interacts with the system based on an associated role.", - "$id" : "#assembly_oscal-implementation-common_system-user", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "User Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this user class elsewhere in this or other OSCAL instances. The locally defined UUID of the system user can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "User Title", - "description" : "A name given to the user, which may be used by a tool for display and navigation.", - "type" : "string" }, - "short-name" : - { "title" : "User Short Name", - "description" : "A short common name, abbreviation, or acronym for the user.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "description" : - { "title" : "User Description", - "description" : "A summary of the user's purpose within the system.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "role-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_role-id" } }, - "authorized-privileges" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_authorized-privilege" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid" ], - "additionalProperties" : false }, - "oscal-ar-oscal-implementation-common:authorized-privilege" : - { "title" : "Privilege", - "description" : "Identifies a specific system privilege held by the user, along with an associated description and/or rationale for the privilege.", - "$id" : "#assembly_oscal-implementation-common_authorized-privilege", - "type" : "object", - "properties" : - { "title" : - { "title" : "Privilege Title", - "description" : "A human readable name for the privilege.", - "type" : "string" }, - "description" : - { "title" : "Privilege Description", - "description" : "A summary of the privilege's purpose within the system.", - "type" : "string" }, - "functions-performed" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-implementation-common_function-performed" } } }, - "required" : - [ "title", - "functions-performed" ], - "additionalProperties" : false }, - "oscal-ar-oscal-implementation-common:function-performed" : - { "title" : "Functions Performed", - "description" : "Describes a function performed for a given authorized privilege by this user class.", - "$id" : "#field_oscal-implementation-common_function-performed", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "oscal-ar-oscal-implementation-common:inventory-item" : - { "title" : "Inventory Item", - "description" : "A single managed inventory item within the system.", - "$id" : "#assembly_oscal-implementation-common_inventory-item", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Inventory Item Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inventory item elsewhere in this or other OSCAL instances. The locally defined UUID of the inventory item can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "description" : - { "title" : "Inventory Item Description", - "description" : "A summary of the inventory item stating its purpose within the system.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "responsible-parties" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, - "implemented-components" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Implemented Component", - "description" : "The set of components that are implemented in a given system inventory item.", - "type" : "object", - "properties" : - { "component-uuid" : - { "title" : "Component Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to a component that is implemented as part of an inventory item.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "responsible-parties" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "component-uuid" ], - "additionalProperties" : false } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "description" ], - "additionalProperties" : false }, - "oscal-ar-oscal-implementation-common:set-parameter" : - { "title" : "Set Parameter Value", - "description" : "Identifies the parameter that will be set by the enclosed value.", - "$id" : "#assembly_oscal-implementation-common_set-parameter", - "type" : "object", - "properties" : - { "param-id" : - { "title" : "Parameter ID", - "description" : "A human-oriented reference to a parameter within a control, who's catalog has been imported into the current implementation context.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "values" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Parameter Value", - "description" : "A parameter value or set of values.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "param-id", - "values" ], - "additionalProperties" : false }, - "oscal-ar-oscal-implementation-common:system-id" : - { "title" : "System Identification", - "description" : "A human-oriented, globally unique identifier with cross-instance scope that can be used to reference this system identification property elsewhere in this or other OSCAL instances. When referencing an externally defined system identification, the system identification must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). This string should be assigned per-subject, which means it should be consistently used to identify the same system across revisions of the document.", - "$id" : "#field_oscal-implementation-common_system-id", - "type" : "object", - "properties" : - { "identifier-type" : - { "title" : "Identification System Type", - "description" : "Identifies the identification system from which the provided identifier was assigned.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "id" : - { "type" : "string" } }, - "required" : - [ "id" ], - "additionalProperties" : false } }, + "description" : "A parameter value or set of values.", + "$ref" : "#/definitions/StringDatatype" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "param-id", + "values" ], + "additionalProperties" : false }, + "oscal-ar-oscal-implementation-common:system-id" : + { "title" : "System Identification", + "description" : "A human-oriented, globally unique identifier with cross-instance scope that can be used to reference this system identification property elsewhere in this or other OSCAL instances. When referencing an externally defined system identification, the system identification must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). This string should be assigned per-subject, which means it should be consistently used to identify the same system across revisions of the document.", + "$id" : "#field_oscal-implementation-common_system-id", + "type" : "object", "properties" : - { "assessment-results" : - { "$ref" : "#assembly_oscal-ar_assessment-results" } }, + { "identifier-type" : + { "title" : "Identification System Type", + "description" : "Identifies the identification system from which the provided identifier was assigned.", + "$ref" : "#/definitions/URIDatatype" }, + "id" : + { "type" : "string" } }, "required" : - [ "assessment-results" ], - "additionalProperties" : false, - "maxProperties" : 1 } \ No newline at end of file + [ "id" ], + "additionalProperties" : false }, + "Base64Datatype" : + { "type" : "string", + "pattern" : "^[0-9A-Fa-f]+$", + "contentEncoding" : "base64" }, + "DateTimeWithTimezoneDatatype" : + { "type" : "string", + "format" : "date-time", + "pattern" : "^(((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30)))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]*[1-9])?(Z|(-((0[0-9]|1[0-2]):00|0[39]:30)|\\+((0[0-9]|1[0-4]):00|(0[34569]|10):30|(0[58]|12):45)))$" }, + "EmailAddressDatatype" : + { "type" : "string", + "format" : "email", + "pattern" : "^.+@.+$" }, + "IntegerDatatype" : + { "type" : "integer" }, + "NonNegativeIntegerDatatype" : + { "allOf" : + [ + { "$ref" : "#/definitions/IntegerDatatype" }, + + { "minimum" : 0, + "type" : "number" } ] }, + "PositiveIntegerDatatype" : + { "allOf" : + [ + { "$ref" : "#/definitions/IntegerDatatype" }, + + { "minimum" : 1, + "type" : "number" } ] }, + "StringDatatype" : + { "type" : "string", + "pattern" : "^\\S(.*\\S)?$" }, + "TokenDatatype" : + { "type" : "string", + "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, + "URIDatatype" : + { "type" : "string", + "format" : "uri", + "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, + "URIReferenceDatatype" : + { "type" : "string", + "format" : "uri-reference" }, + "UUIDDatatype" : + { "type" : "string", + "description" : "A type 4 ('random' or 'pseudorandom') or type 5 UUID per RFC 4122.", + "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" } }, + "properties" : + { "assessment-results" : + { "$ref" : "#assembly_oscal-ar_assessment-results" } }, + "required" : + [ "assessment-results" ], + "additionalProperties" : false, + "maxProperties" : 1 } \ No newline at end of file diff --git a/json/schema/oscal_catalog_schema.json b/json/schema/oscal_catalog_schema.json index d8f414547..b3c4b6d91 100644 --- a/json/schema/oscal_catalog_schema.json +++ b/json/schema/oscal_catalog_schema.json @@ -1,1012 +1,1176 @@ - { "$schema" : "http://json-schema.org/draft-07/schema#", - "$id" : "http://csrc.nist.gov/ns/oscal/1.0.4/oscal-catalog-schema.json", - "$comment" : "OSCAL Control Catalog Model: JSON Schema", + { "$schema" : "http://json-schema.org/draft-07/schema#", + "$id" : "http://csrc.nist.gov/ns/oscal/1.0.4/oscal-catalog-schema.json", + "$comment" : "OSCAL Control Catalog Model: JSON Schema", + "type" : "object", + "definitions" : + { "oscal-catalog-oscal-catalog:catalog" : + { "title" : "Catalog", + "description" : "A structured, organized collection of control information.", + "$id" : "#assembly_oscal-catalog_catalog", "type" : "object", - "definitions" : - { "oscal-catalog-oscal-catalog:catalog" : - { "title" : "Catalog", - "description" : "A collection of controls.", - "$id" : "#assembly_oscal-catalog_catalog", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Catalog Universally Unique Identifier", - "description" : "A globally unique identifier with cross-instance scope for this catalog instance. This UUID should be changed when this document is revised.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "metadata" : - { "$ref" : "#assembly_oscal-metadata_metadata" }, - "params" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_parameter" } }, - "controls" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog_control" } }, - "groups" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog_group" } }, - "back-matter" : - { "$ref" : "#assembly_oscal-metadata_back-matter" } }, - "required" : - [ "uuid", - "metadata" ], - "additionalProperties" : false }, - "oscal-catalog-oscal-catalog:group" : - { "title" : "Control Group", - "description" : "A group of controls, or of groups of controls.", - "$id" : "#assembly_oscal-catalog_group", - "type" : "object", - "properties" : - { "id" : - { "title" : "Group Identifier", - "description" : "A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined group elsewhere in in this and other OSCAL instances (e.g., profiles). This id should be assigned per-subject, which means it should be consistently used to identify the same group across revisions of the document.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "class" : - { "title" : "Group Class", - "description" : "A textual label that provides a sub-type or characterization of the group.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "title" : - { "title" : "Group Title", - "description" : "A name given to the group, which may be used by a tool for display and navigation.", - "type" : "string" }, - "params" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_parameter" } }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "parts" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_part" } }, - "groups" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog_group" } }, - "controls" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog_control" } } }, - "required" : - [ "title" ], - "additionalProperties" : false }, - "oscal-catalog-oscal-catalog:control" : - { "title" : "Control", - "description" : "A structured information object representing a security or privacy control. Each security or privacy control within the Catalog is defined by a distinct control instance.", - "$id" : "#assembly_oscal-catalog_control", - "type" : "object", - "properties" : - { "id" : - { "title" : "Control Identifier", - "description" : "A human-oriented, locally unique identifier with instance scope that can be used to reference this control elsewhere in this and other OSCAL instances (e.g., profiles). This id should be assigned per-subject, which means it should be consistently used to identify the same control across revisions of the document.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "class" : - { "title" : "Control Class", - "description" : "A textual label that provides a sub-type or characterization of the control.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "title" : - { "title" : "Control Title", - "description" : "A name given to the control, which may be used by a tool for display and navigation.", - "type" : "string" }, - "params" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_parameter" } }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "parts" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_part" } }, - "controls" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog_control" } } }, - "required" : - [ "id", - "title" ], - "additionalProperties" : false }, - "oscal-catalog-oscal-catalog-common:part" : - { "title" : "Part", - "description" : "A partition of a control's definition or a child of another part.", - "$id" : "#assembly_oscal-catalog-common_part", - "type" : "object", - "properties" : - { "id" : - { "title" : "Part Identifier", - "description" : "A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined part elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "name" : - { "title" : "Part Name", - "description" : "A textual label that uniquely identifies the part's semantic type.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "ns" : - { "title" : "Part Namespace", - "description" : "A namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "class" : - { "title" : "Part Class", - "description" : "A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "title" : - { "title" : "Part Title", - "description" : "A name given to the part, which may be used by a tool for display and navigation.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "prose" : - { "title" : "Part Text", - "description" : "Permits multiple paragraphs, lists, tables etc.", - "type" : "string" }, - "parts" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_part" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } } }, - "required" : - [ "name" ], - "additionalProperties" : false }, - "oscal-catalog-oscal-catalog-common:parameter" : - { "title" : "Parameter", - "description" : "Parameters provide a mechanism for the dynamic assignment of value(s) in a control.", - "$id" : "#assembly_oscal-catalog-common_parameter", - "type" : "object", - "properties" : - { "id" : - { "title" : "Parameter Identifier", - "description" : "A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined parameter elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "class" : - { "title" : "Parameter Class", - "description" : "A textual label that provides a characterization of the parameter.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "depends-on" : - { "title" : "Depends on", - "description" : "**(deprecated)** Another parameter invoking this one. This construct has been deprecated and should not be used.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "label" : - { "title" : "Parameter Label", - "description" : "A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned.", - "type" : "string" }, - "usage" : - { "title" : "Parameter Usage Description", - "description" : "Describes the purpose and use of a parameter", - "type" : "string" }, - "constraints" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_parameter-constraint" } }, - "guidelines" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_parameter-guideline" } }, - "values" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-catalog-common_parameter-value" } }, - "select" : - { "$ref" : "#assembly_oscal-catalog-common_parameter-selection" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "id" ], - "additionalProperties" : false }, - "oscal-catalog-oscal-catalog-common:parameter-constraint" : - { "title" : "Constraint", - "description" : "A formal or informal expression of a constraint or test", - "$id" : "#assembly_oscal-catalog-common_parameter-constraint", - "type" : "object", - "properties" : - { "description" : - { "title" : "Constraint Description", - "description" : "A textual summary of the constraint to be applied.", - "type" : "string" }, - "tests" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Constraint Test", - "description" : "A test expression which is expected to be evaluated by a tool.", - "type" : "object", - "properties" : - { "expression" : - { "title" : "Constraint test", - "description" : "A formal (executable) expression of a constraint", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "expression" ], - "additionalProperties" : false } } }, - "additionalProperties" : false }, - "oscal-catalog-oscal-catalog-common:parameter-guideline" : - { "title" : "Guideline", - "description" : "A prose statement that provides a recommendation for the use of a parameter.", - "$id" : "#assembly_oscal-catalog-common_parameter-guideline", - "type" : "object", - "properties" : - { "prose" : - { "title" : "Guideline Text", - "description" : "Prose permits multiple paragraphs, lists, tables etc.", - "type" : "string" } }, - "required" : - [ "prose" ], - "additionalProperties" : false }, - "oscal-catalog-oscal-catalog-common:parameter-value" : - { "title" : "Parameter Value", - "description" : "A parameter value or set of values.", - "$id" : "#field_oscal-catalog-common_parameter-value", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "oscal-catalog-oscal-catalog-common:parameter-selection" : - { "title" : "Selection", - "description" : "Presenting a choice among alternatives", - "$id" : "#assembly_oscal-catalog-common_parameter-selection", - "type" : "object", - "properties" : - { "how-many" : - { "title" : "Parameter Cardinality", - "description" : "Describes the number of selections that must occur. Without this setting, only one value should be assumed to be permitted.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$", - "enum" : - [ "one", - "one-or-more" ] }, - "choice" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Choice", - "description" : "A value selection among several such options", - "type" : "string" } } }, - "additionalProperties" : false }, - "oscal-catalog-oscal-catalog-common:include-all" : - { "title" : "Include All", - "description" : "Include all controls from the imported catalog or profile resources.", - "$id" : "#assembly_oscal-catalog-common_include-all", - "type" : "object", - "additionalProperties" : false }, - "oscal-catalog-oscal-metadata:metadata" : - { "title" : "Publication metadata", - "description" : "Provides information about the publication and availability of the containing document.", - "$id" : "#assembly_oscal-metadata_metadata", - "type" : "object", - "properties" : - { "title" : - { "title" : "Document Title", - "description" : "A name given to the document, which may be used by a tool for display and navigation.", - "type" : "string" }, - "published" : - { "$ref" : "#field_oscal-metadata_published" }, - "last-modified" : - { "$ref" : "#field_oscal-metadata_last-modified" }, - "version" : - { "$ref" : "#field_oscal-metadata_version" }, - "oscal-version" : - { "$ref" : "#field_oscal-metadata_oscal-version" }, - "revisions" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_revision" } }, - "document-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_document-id" } }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_role" } }, - "locations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_location" } }, - "parties" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_party" } }, - "responsible-parties" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "title", - "last-modified", - "version", - "oscal-version" ], - "additionalProperties" : false }, - "oscal-catalog-oscal-metadata:revision" : + "properties" : + { "uuid" : + { "title" : "Catalog Universally Unique Identifier", + "description" : "Provides a globally unique means to identify a given catalog instance.", + "$ref" : "#/definitions/UUIDDatatype" }, + "metadata" : + { "$ref" : "#assembly_oscal-metadata_metadata" }, + "params" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_parameter" } }, + "controls" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-catalog_control" } }, + "groups" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-catalog_group" } }, + "back-matter" : + { "$ref" : "#assembly_oscal-metadata_back-matter" } }, + "required" : + [ "uuid", + "metadata" ], + "additionalProperties" : false }, + "oscal-catalog-oscal-catalog:group" : + { "title" : "Control Group", + "description" : "A group of controls, or of groups of controls.", + "$id" : "#assembly_oscal-catalog_group", + "type" : "object", + "properties" : + { "id" : + { "title" : "Group Identifier", + "description" : "Identifies the group for the purpose of cross-linking within the defining instance or from other instances that reference the catalog.", + "$ref" : "#/definitions/TokenDatatype" }, + "class" : + { "title" : "Group Class", + "description" : "A textual label that provides a sub-type or characterization of the group.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Group Title", + "description" : "A name given to the group, which may be used by a tool for display and navigation.", + "type" : "string" }, + "params" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_parameter" } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "parts" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_part" } }, + "groups" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-catalog_group" } }, + "controls" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-catalog_control" } } }, + "required" : + [ "title" ], + "additionalProperties" : false }, + "oscal-catalog-oscal-catalog:control" : + { "title" : "Control", + "description" : "A structured object representing a requirement or guideline, which when implemented will reduce an aspect of risk related to an information system and its information.", + "$id" : "#assembly_oscal-catalog_control", + "type" : "object", + "properties" : + { "id" : + { "title" : "Control Identifier", + "description" : "Identifies a control such that it can be referenced in the defining catalog and other OSCAL instances (e.g., profiles).", + "$ref" : "#/definitions/TokenDatatype" }, + "class" : + { "title" : "Control Class", + "description" : "A textual label that provides a sub-type or characterization of the control.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Control Title", + "description" : "A name given to the control, which may be used by a tool for display and navigation.", + "type" : "string" }, + "params" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_parameter" } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "parts" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_part" } }, + "mapping" : + { "title" : "Mapping", + "description" : "A mapping between the containing control and another resource.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Mapping Identifier", + "description" : "The unique identifier for the mapping.", + "$ref" : "#/definitions/UUIDDatatype" }, + "target-resource" : + { "$ref" : "#assembly_oscal-mapping-common_mapping-resource-reference" }, + "maps" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-mapping-common_map" } } }, + "required" : + [ "uuid", + "target-resource", + "maps" ], + "additionalProperties" : false }, + "controls" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-catalog_control" } } }, + "required" : + [ "id", + "title" ], + "additionalProperties" : false }, + "oscal-catalog-oscal-control-common:part" : + { "title" : "Part", + "description" : "An annotated, markup-based textual element of a control's or catalog group's definition, or a child of another part.", + "$id" : "#assembly_oscal-control-common_part", + "type" : "object", + "properties" : + { "id" : + { "title" : "Part Identifier", + "description" : "A unique identifier for the part.", + "$ref" : "#/definitions/TokenDatatype" }, + "name" : + { "title" : "Part Name", + "description" : "A textual label that uniquely identifies the part's semantic type, which exists in a value space qualified by the ns.", + "$ref" : "#/definitions/TokenDatatype" }, + "ns" : + { "title" : "Part Namespace", + "description" : "An optional namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name.", + "$ref" : "#/definitions/URIDatatype" }, + "class" : + { "title" : "Part Class", + "description" : "An optional textual providing a sub-type or characterization of the part's name, or a category to which the part belongs.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Part Title", + "description" : "An optional name given to the part, which may be used by a tool for display and navigation.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "prose" : + { "title" : "Part Text", + "description" : "Permits multiple paragraphs, lists, tables etc.", + "type" : "string" }, + "parts" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_part" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } } }, + "required" : + [ "name" ], + "additionalProperties" : false }, + "oscal-catalog-oscal-control-common:parameter" : + { "title" : "Parameter", + "description" : "Parameters provide a mechanism for the dynamic assignment of value(s) in a control.", + "$id" : "#assembly_oscal-control-common_parameter", + "type" : "object", + "properties" : + { "id" : + { "title" : "Parameter Identifier", + "description" : "A unique identifier for the parameter.", + "$ref" : "#/definitions/TokenDatatype" }, + "class" : + { "title" : "Parameter Class", + "description" : "A textual label that provides a characterization of the type, purpose, use or scope of the parameter.", + "$ref" : "#/definitions/TokenDatatype" }, + "depends-on" : + { "title" : "Depends on", + "description" : "(deprecated) Another parameter invoking this one. This construct has been deprecated and should not be used.", + "$ref" : "#/definitions/TokenDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "label" : + { "title" : "Parameter Label", + "description" : "A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned.", + "type" : "string" }, + "usage" : + { "title" : "Parameter Usage Description", + "description" : "Describes the purpose and use of a parameter.", + "type" : "string" }, + "constraints" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_parameter-constraint" } }, + "guidelines" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_parameter-guideline" } }, + "values" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-control-common_parameter-value" } }, + "select" : + { "$ref" : "#assembly_oscal-control-common_parameter-selection" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "id" ], + "additionalProperties" : false }, + "oscal-catalog-oscal-control-common:parameter-constraint" : + { "title" : "Constraint", + "description" : "A formal or informal expression of a constraint or test.", + "$id" : "#assembly_oscal-control-common_parameter-constraint", + "type" : "object", + "properties" : + { "description" : + { "title" : "Constraint Description", + "description" : "A textual summary of the constraint to be applied.", + "type" : "string" }, + "tests" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Constraint Test", + "description" : "A test expression which is expected to be evaluated by a tool.", + "type" : "object", + "properties" : + { "expression" : + { "title" : "Constraint test", + "description" : "A formal (executable) expression of a constraint.", + "$ref" : "#/definitions/StringDatatype" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "expression" ], + "additionalProperties" : false } } }, + "additionalProperties" : false }, + "oscal-catalog-oscal-control-common:parameter-guideline" : + { "title" : "Guideline", + "description" : "A prose statement that provides a recommendation for the use of a parameter.", + "$id" : "#assembly_oscal-control-common_parameter-guideline", + "type" : "object", + "properties" : + { "prose" : + { "title" : "Guideline Text", + "description" : "Prose permits multiple paragraphs, lists, tables etc.", + "type" : "string" } }, + "required" : + [ "prose" ], + "additionalProperties" : false }, + "oscal-catalog-oscal-control-common:parameter-value" : + { "title" : "Parameter Value", + "description" : "A parameter value or set of values.", + "$id" : "#field_oscal-control-common_parameter-value", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-catalog-oscal-control-common:parameter-selection" : + { "title" : "Selection", + "description" : "Presenting a choice among alternatives.", + "$id" : "#assembly_oscal-control-common_parameter-selection", + "type" : "object", + "properties" : + { "how-many" : + { "title" : "Parameter Cardinality", + "description" : "Describes the number of selections that must occur. Without this setting, only one value should be assumed to be permitted.", + "allOf" : + [ + { "$ref" : "#/definitions/TokenDatatype" }, + + { "enum" : + [ "one", + "one-or-more" ] } ] }, + "choice" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Choice", + "description" : "A value selection among several such options.", + "type" : "string" } } }, + "additionalProperties" : false }, + "oscal-catalog-oscal-control-common:include-all" : + { "title" : "Include All", + "description" : "Include all controls from the imported catalog or profile resources.", + "$id" : "#assembly_oscal-control-common_include-all", + "type" : "object", + "additionalProperties" : false }, + "oscal-catalog-oscal-metadata:metadata" : + { "title" : "Document Metadata", + "description" : "Provides information about the containing document, and defines concepts that are shared across the document.", + "$id" : "#assembly_oscal-metadata_metadata", + "type" : "object", + "properties" : + { "title" : + { "title" : "Document Title", + "description" : "A name given to the document, which may be used by a tool for display and navigation.", + "type" : "string" }, + "published" : + { "$ref" : "#field_oscal-metadata_published" }, + "last-modified" : + { "$ref" : "#field_oscal-metadata_last-modified" }, + "version" : + { "$ref" : "#field_oscal-metadata_version" }, + "oscal-version" : + { "$ref" : "#field_oscal-metadata_oscal-version" }, + "revisions" : + { "type" : "array", + "minItems" : 1, + "items" : { "title" : "Revision History Entry", - "description" : "An entry in a sequential list of revisions to the containing document in reverse chronological order (i.e., most recent previous revision first).", - "$id" : "#assembly_oscal-metadata_revision", - "type" : "object", - "properties" : - { "title" : - { "title" : "Document Title", - "description" : "A name given to the document revision, which may be used by a tool for display and navigation.", - "type" : "string" }, - "published" : - { "$ref" : "#field_oscal-metadata_published" }, - "last-modified" : - { "$ref" : "#field_oscal-metadata_last-modified" }, - "version" : - { "$ref" : "#field_oscal-metadata_version" }, - "oscal-version" : - { "$ref" : "#field_oscal-metadata_oscal-version" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "version" ], - "additionalProperties" : false }, - "oscal-catalog-oscal-metadata:location" : - { "title" : "Location", - "description" : "A location, with associated metadata that can be referenced.", - "$id" : "#assembly_oscal-metadata_location", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Location Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined location elsewhere in this or other OSCAL instances. The locally defined UUID of the location can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Location Title", - "description" : "A name given to the location, which may be used by a tool for display and navigation.", - "type" : "string" }, - "address" : - { "$ref" : "#assembly_oscal-metadata_address" }, - "email-addresses" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_email-address" } }, - "telephone-numbers" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_telephone-number" } }, - "urls" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Location URL", - "description" : "The uniform resource locator (URL) for a web site or Internet presence associated with the location.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" } }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "address" ], - "additionalProperties" : false }, - "oscal-catalog-oscal-metadata:location-uuid" : - { "title" : "Location Reference", - "description" : "A machine-oriented identifier reference to a location defined in the metadata section of this or another OSCAL instance. The UUID of the location in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).", - "$id" : "#field_oscal-metadata_location-uuid", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "oscal-catalog-oscal-metadata:party" : - { "title" : "Party (organization or person)", - "description" : "A responsible entity which is either a person or an organization.", - "$id" : "#assembly_oscal-metadata_party", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Party Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined party elsewhere in this or other OSCAL instances. The locally defined UUID of the party can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "type" : - { "title" : "Party Type", - "description" : "A category describing the kind of party the object describes.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$", - "enum" : - [ "person", - "organization" ] }, - "name" : - { "title" : "Party Name", - "description" : "The full name of the party. This is typically the legal name associated with the party.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "short-name" : - { "title" : "Party Short Name", - "description" : "A short common name, abbreviation, or acronym for the party.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "external-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Party External Identifier", - "description" : "An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID)", - "type" : "object", - "properties" : - { "scheme" : - { "title" : "External Identifier Schema", - "description" : "Indicates the type of external identifier.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "id" : - { "type" : "string" } }, - "required" : - [ "id", - "scheme" ], - "additionalProperties" : false } }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "email-addresses" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_email-address" } }, - "telephone-numbers" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_telephone-number" } }, - "addresses" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_address" } }, - "location-uuids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_location-uuid" } }, - "member-of-organizations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Organizational Affiliation", - "description" : "A machine-oriented identifier reference to another party (person or organization) that this subject is associated with. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "type" ], - "additionalProperties" : false }, - "oscal-catalog-oscal-metadata:party-uuid" : - { "title" : "Party Reference", - "description" : "A machine-oriented identifier reference to another party defined in metadata. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).", - "$id" : "#field_oscal-metadata_party-uuid", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "oscal-catalog-oscal-metadata:role" : + "description" : "An entry in a sequential list of revisions to the containing document, expected to be in reverse chronological order (i.e. latest first).", + "type" : "object", + "properties" : + { "title" : + { "title" : "Document Title", + "description" : "A name given to the document revision, which may be used by a tool for display and navigation.", + "type" : "string" }, + "published" : + { "$ref" : "#field_oscal-metadata_published" }, + "last-modified" : + { "$ref" : "#field_oscal-metadata_last-modified" }, + "version" : + { "$ref" : "#field_oscal-metadata_version" }, + "oscal-version" : + { "$ref" : "#field_oscal-metadata_oscal-version" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "version" ], + "additionalProperties" : false } }, + "document-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_document-id" } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "roles" : + { "type" : "array", + "minItems" : 1, + "items" : { "title" : "Role", - "description" : "Defines a function assumed or expected to be assumed by a party in a specific situation.", - "$id" : "#assembly_oscal-metadata_role", - "type" : "object", - "properties" : - { "id" : - { "title" : "Role Identifier", - "description" : "A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined role elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, the locally defined ID of the Role from the imported OSCAL instance must be referenced in the context of the containing resource (e.g., import, import-component-definition, import-profile, import-ssp or import-ap). This ID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "title" : - { "title" : "Role Title", - "description" : "A name given to the role, which may be used by a tool for display and navigation.", - "type" : "string" }, - "short-name" : - { "title" : "Role Short Name", - "description" : "A short common name, abbreviation, or acronym for the role.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "description" : - { "title" : "Role Description", - "description" : "A summary of the role's purpose and associated responsibilities.", - "type" : "string" }, + "description" : "Defines a function, which might be assigned to a party in a specific situation.", + "type" : "object", + "properties" : + { "id" : + { "title" : "Role Identifier", + "description" : "A unique identifier for the role.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Role Title", + "description" : "A name given to the role, which may be used by a tool for display and navigation.", + "type" : "string" }, + "short-name" : + { "title" : "Role Short Name", + "description" : "A short common name, abbreviation, or acronym for the role.", + "$ref" : "#/definitions/StringDatatype" }, + "description" : + { "title" : "Role Description", + "description" : "A summary of the role's purpose and associated responsibilities.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "id", + "title" ], + "additionalProperties" : false } }, + "locations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Location", + "description" : "A physical point of presence, which may be associated with people, organizations, or other concepts within the current or linked OSCAL document.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Location Universally Unique Identifier", + "description" : "A unique ID for the location, for reference.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Location Title", + "description" : "A name given to the location, which may be used by a tool for display and navigation.", + "type" : "string" }, + "address" : + { "$ref" : "#assembly_oscal-metadata_address" }, + "email-addresses" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_email-address" } }, + "telephone-numbers" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_telephone-number" } }, + "urls" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Location URL", + "description" : "The uniform resource locator (URL) for a web site or other resource associated with the location.", + "$ref" : "#/definitions/URIDatatype" } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid" ], + "additionalProperties" : false } }, + "parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Party", + "description" : "An organization or person, which may be associated with roles or other concepts within the current or linked OSCAL document.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Party Universally Unique Identifier", + "description" : "A unique identifier for the party.", + "$ref" : "#/definitions/UUIDDatatype" }, + "type" : + { "title" : "Party Type", + "description" : "A category describing the kind of party the object describes.", + "allOf" : + [ + { "$ref" : "#/definitions/StringDatatype" }, + + { "enum" : + [ "person", + "organization" ] } ] }, + "name" : + { "title" : "Party Name", + "description" : "The full name of the party. This is typically the legal name associated with the party.", + "$ref" : "#/definitions/StringDatatype" }, + "short-name" : + { "title" : "Party Short Name", + "description" : "A short common name, abbreviation, or acronym for the party.", + "$ref" : "#/definitions/StringDatatype" }, + "external-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Party External Identifier", + "description" : "An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID).", + "type" : "object", + "properties" : + { "scheme" : + { "title" : "External Identifier Schema", + "description" : "Indicates the type of external identifier.", + "$ref" : "#/definitions/URIDatatype" }, + "id" : + { "type" : "string" } }, + "required" : + [ "id", + "scheme" ], + "additionalProperties" : false } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "email-addresses" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_email-address" } }, + "telephone-numbers" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_telephone-number" } }, + "addresses" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_address" } }, + "location-uuids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_location-uuid" } }, + "member-of-organizations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Organizational Affiliation", + "description" : "A reference to another party by UUID, typically an organization, that this subject is associated with.", + "$ref" : "#/definitions/UUIDDatatype" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "type" ], + "additionalProperties" : false } }, + "responsible-parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, + "actions" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_action" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "title", + "last-modified", + "version", + "oscal-version" ], + "additionalProperties" : false }, + "oscal-catalog-oscal-metadata:location-uuid" : + { "title" : "Location Universally Unique Identifier Reference", + "description" : "Reference to a location by UUID.", + "$id" : "#field_oscal-metadata_location-uuid", + "$ref" : "#/definitions/UUIDDatatype" }, + "oscal-catalog-oscal-metadata:party-uuid" : + { "title" : "Party Universally Unique Identifier Reference", + "description" : "Reference to a party by UUID.", + "$id" : "#field_oscal-metadata_party-uuid", + "$ref" : "#/definitions/UUIDDatatype" }, + "oscal-catalog-oscal-metadata:role-id" : + { "title" : "Role Identifier Reference", + "description" : "Reference to a role by UUID.", + "$id" : "#field_oscal-metadata_role-id", + "$ref" : "#/definitions/TokenDatatype" }, + "oscal-catalog-oscal-metadata:back-matter" : + { "title" : "Back matter", + "description" : "A collection of resources that may be referenced from within the OSCAL document instance.", + "$id" : "#assembly_oscal-metadata_back-matter", + "type" : "object", + "properties" : + { "resources" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Resource", + "description" : "A resource associated with content in the containing document instance. A resource may be directly included in the document using base64 encoding or may point to one or more equivalent internet resources.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Resource Universally Unique Identifier", + "description" : "A unique identifier for a resource.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Resource Title", + "description" : "An optional name given to the resource, which may be used by a tool for display and navigation.", + "type" : "string" }, + "description" : + { "title" : "Resource Description", + "description" : "An optional short summary of the resource used to indicate the purpose of the resource.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "document-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_document-id" } }, + "citation" : + { "title" : "Citation", + "description" : "An optional citation consisting of end note text using structured markup.", + "type" : "object", + "properties" : + { "text" : + { "title" : "Citation Text", + "description" : "A line of citation text.", + "type" : "string" }, "props" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, "links" : { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } } }, + "required" : + [ "text" ], + "additionalProperties" : false }, + "rlinks" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Resource link", + "description" : "A URL-based pointer to an external resource with an optional hash for verification and change detection.", + "type" : "object", + "properties" : + { "href" : + { "title" : "Hypertext Reference", + "description" : "A resolvable URL pointing to the referenced resource.", + "$ref" : "#/definitions/URIReferenceDatatype" }, + "media-type" : + { "title" : "Media Type", + "description" : "A label that indicates the nature of a resource, as a data serialization or format.", + "$ref" : "#/definitions/StringDatatype" }, + "hashes" : + { "type" : "array", "minItems" : 1, "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "id", - "title" ], - "additionalProperties" : false }, - "oscal-catalog-oscal-metadata:role-id" : - { "title" : "Role Identifier Reference", - "description" : "A human-oriented identifier reference to roles served by the user.", - "$id" : "#field_oscal-metadata_role-id", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "oscal-catalog-oscal-metadata:back-matter" : - { "title" : "Back matter", - "description" : "A collection of resources, which may be included directly or by reference.", - "$id" : "#assembly_oscal-metadata_back-matter", - "type" : "object", - "properties" : - { "resources" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Resource", - "description" : "A resource associated with content in the containing document. A resource may be directly included in the document base64 encoded or may point to one or more equivalent internet resources.", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Resource Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined resource elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Resource Title", - "description" : "A name given to the resource, which may be used by a tool for display and navigation.", - "type" : "string" }, - "description" : - { "title" : "Resource Description", - "description" : "A short summary of the resource used to indicate the purpose of the resource.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "document-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_document-id" } }, - "citation" : - { "title" : "Citation", - "description" : "A citation consisting of end note text and optional structured bibliographic data.", - "type" : "object", - "properties" : - { "text" : - { "title" : "Citation Text", - "description" : "A line of citation text.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } } }, - "required" : - [ "text" ], - "additionalProperties" : false }, - "rlinks" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Resource link", - "description" : "A pointer to an external resource with an optional hash for verification and change detection.", - "type" : "object", - "properties" : - { "href" : - { "title" : "Hypertext Reference", - "description" : "A resolvable URI reference to a resource.", - "type" : "string", - "format" : "uri-reference" }, - "media-type" : - { "title" : "Media Type", - "description" : "Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "hashes" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_hash" } } }, - "required" : - [ "href" ], - "additionalProperties" : false } }, - "base64" : - { "title" : "Base64", - "description" : "The Base64 alphabet in RFC 2045 - aligned with XSD.", - "type" : "object", - "properties" : - { "filename" : - { "title" : "File Name", - "description" : "Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded.", - "type" : "string", - "format" : "uri-reference" }, - "media-type" : - { "title" : "Media Type", - "description" : "Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "value" : - { "type" : "string" } }, - "required" : - [ "value" ], - "additionalProperties" : false }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid" ], - "additionalProperties" : false } } }, - "additionalProperties" : false }, - "oscal-catalog-oscal-metadata:property" : - { "title" : "Property", - "description" : "An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.", - "$id" : "#assembly_oscal-metadata_property", - "type" : "object", - "properties" : - { "name" : - { "title" : "Property Name", - "description" : "A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "uuid" : - { "title" : "Property Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "ns" : - { "title" : "Property Namespace", - "description" : "A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "value" : - { "title" : "Property Value", - "description" : "Indicates the value of the attribute, characteristic, or quality.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "class" : - { "title" : "Property Class", - "description" : "A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "name", - "value" ], - "additionalProperties" : false }, - "oscal-catalog-oscal-metadata:link" : - { "title" : "Link", - "description" : "A reference to a local or remote resource", - "$id" : "#assembly_oscal-metadata_link", - "type" : "object", - "properties" : - { "href" : - { "title" : "Hypertext Reference", - "description" : "A resolvable URL reference to a resource.", - "type" : "string", - "format" : "uri-reference" }, - "rel" : - { "title" : "Relation", - "description" : "Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, + { "$ref" : "#field_oscal-metadata_hash" } } }, + "required" : + [ "href" ], + "additionalProperties" : false } }, + "base64" : + { "title" : "Base64", + "description" : "A resource encoded using the Base64 alphabet defined by RFC 2045.", + "type" : "object", + "properties" : + { "filename" : + { "title" : "File Name", + "description" : "Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded.", + "$ref" : "#/definitions/TokenDatatype" }, "media-type" : { "title" : "Media Type", - "description" : "Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "text" : - { "title" : "Link Text", - "description" : "A textual label to associate with the link, which may be used for presentation in a tool.", - "type" : "string" } }, - "required" : - [ "href" ], - "additionalProperties" : false }, - "oscal-catalog-oscal-metadata:responsible-party" : - { "title" : "Responsible Party", - "description" : "A reference to a set of organizations or persons that have responsibility for performing a referenced role in the context of the containing object.", - "$id" : "#assembly_oscal-metadata_responsible-party", - "type" : "object", - "properties" : - { "role-id" : - { "title" : "Responsible Role", - "description" : "A human-oriented identifier reference to roles served by the user.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "party-uuids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_party-uuid" } }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "role-id", - "party-uuids" ], - "additionalProperties" : false }, - "oscal-catalog-oscal-metadata:responsible-role" : - { "title" : "Responsible Role", - "description" : "A reference to one or more roles with responsibility for performing a function relative to the containing object.", - "$id" : "#assembly_oscal-metadata_responsible-role", - "type" : "object", - "properties" : - { "role-id" : - { "title" : "Responsible Role ID", - "description" : "A human-oriented identifier reference to roles responsible for the business function.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "party-uuids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_party-uuid" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "role-id" ], - "additionalProperties" : false }, - "oscal-catalog-oscal-metadata:hash" : - { "title" : "Hash", - "description" : "A representation of a cryptographic digest generated over a resource using a specified hash algorithm.", - "$id" : "#field_oscal-metadata_hash", - "type" : "object", - "properties" : - { "algorithm" : - { "title" : "Hash algorithm", - "description" : "Method by which a hash is derived", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, + "description" : "A label that indicates the nature of a resource, as a data serialization or format.", + "$ref" : "#/definitions/StringDatatype" }, "value" : { "type" : "string" } }, - "required" : - [ "value", - "algorithm" ], - "additionalProperties" : false }, - "oscal-catalog-oscal-metadata:remarks" : - { "title" : "Remarks", - "description" : "Additional commentary on the containing object.", - "$id" : "#field_oscal-metadata_remarks", - "type" : "string" }, - "oscal-catalog-oscal-metadata:published" : - { "title" : "Publication Timestamp", - "description" : "The date and time the document was published. The date-time value must be formatted according to RFC 3339 with full time and time zone included.", - "$id" : "#field_oscal-metadata_published", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "oscal-catalog-oscal-metadata:last-modified" : - { "title" : "Last Modified Timestamp", - "description" : "The date and time the document was last modified. The date-time value must be formatted according to RFC 3339 with full time and time zone included.", - "$id" : "#field_oscal-metadata_last-modified", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "oscal-catalog-oscal-metadata:version" : - { "title" : "Document Version", - "description" : "A string used to distinguish the current version of the document from other previous (and future) versions.", - "$id" : "#field_oscal-metadata_version", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "oscal-catalog-oscal-metadata:oscal-version" : - { "title" : "OSCAL version", - "description" : "The OSCAL model version the document was authored against.", - "$id" : "#field_oscal-metadata_oscal-version", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "oscal-catalog-oscal-metadata:email-address" : - { "title" : "Email Address", - "description" : "An email address as defined by RFC 5322 Section 3.4.1.", - "$id" : "#field_oscal-metadata_email-address", - "type" : "string", - "format" : "email", - "pattern" : "^.+@.+$" }, - "oscal-catalog-oscal-metadata:telephone-number" : - { "title" : "Telephone Number", - "description" : "Contact number by telephone.", - "$id" : "#field_oscal-metadata_telephone-number", - "type" : "object", - "properties" : - { "type" : - { "title" : "type flag", - "description" : "Indicates the type of phone number.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "number" : - { "type" : "string" } }, - "required" : - [ "number" ], - "additionalProperties" : false }, - "oscal-catalog-oscal-metadata:address" : - { "title" : "Address", - "description" : "A postal address for the location.", - "$id" : "#assembly_oscal-metadata_address", - "type" : "object", - "properties" : - { "type" : - { "title" : "Address Type", - "description" : "Indicates the type of address.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "addr-lines" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_addr-line" } }, - "city" : - { "title" : "City", - "description" : "City, town or geographical region for the mailing address.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "state" : - { "title" : "State", - "description" : "State, province or analogous geographical region for mailing address", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "postal-code" : - { "title" : "Postal Code", - "description" : "Postal or ZIP code for mailing address", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "country" : - { "title" : "Country Code", - "description" : "The ISO 3166-1 alpha-2 country code for the mailing address.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" } }, - "additionalProperties" : false }, - "oscal-catalog-oscal-metadata:addr-line" : - { "title" : "Address line", - "description" : "A single line of an address.", - "$id" : "#field_oscal-metadata_addr-line", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "oscal-catalog-oscal-metadata:document-id" : - { "title" : "Document Identifier", - "description" : "A document identifier qualified by an identifier scheme. A document identifier provides a globally unique identifier with a cross-instance scope that is used for a group of documents that are to be treated as different versions of the same document. If this element does not appear, or if the value of this element is empty, the value of \"document-id\" is equal to the value of the \"uuid\" flag of the top-level root element.", - "$id" : "#field_oscal-metadata_document-id", - "type" : "object", - "properties" : - { "scheme" : - { "title" : "Document Identification Scheme", - "description" : "Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "identifier" : - { "type" : "string" } }, - "required" : - [ "identifier" ], - "additionalProperties" : false } }, + "required" : + [ "value" ], + "additionalProperties" : false }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid" ], + "additionalProperties" : false } } }, + "additionalProperties" : false }, + "oscal-catalog-oscal-metadata:property" : + { "title" : "Property", + "description" : "An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair.", + "$id" : "#assembly_oscal-metadata_property", + "type" : "object", + "properties" : + { "name" : + { "title" : "Property Name", + "description" : "A textual label, within a namespace, that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.", + "$ref" : "#/definitions/TokenDatatype" }, + "uuid" : + { "title" : "Property Universally Unique Identifier", + "description" : "A unique identifier for a property.", + "$ref" : "#/definitions/UUIDDatatype" }, + "ns" : + { "title" : "Property Namespace", + "description" : "A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.", + "$ref" : "#/definitions/URIDatatype" }, + "value" : + { "title" : "Property Value", + "description" : "Indicates the value of the attribute, characteristic, or quality.", + "$ref" : "#/definitions/StringDatatype" }, + "class" : + { "title" : "Property Class", + "description" : "A textual label that provides a sub-type or characterization of the property's name.", + "$ref" : "#/definitions/TokenDatatype" }, + "group" : + { "title" : "Property Group", + "description" : "An identifier for relating distinct sets of properties.", + "$ref" : "#/definitions/TokenDatatype" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "name", + "value" ], + "additionalProperties" : false }, + "oscal-catalog-oscal-metadata:link" : + { "title" : "Link", + "description" : "A reference to a local or remote resource, that has a specific relation to the containing object.", + "$id" : "#assembly_oscal-metadata_link", + "type" : "object", + "properties" : + { "href" : + { "title" : "Hypertext Reference", + "description" : "A resolvable URL reference to a resource.", + "$ref" : "#/definitions/URIReferenceDatatype" }, + "rel" : + { "title" : "Link Relation Type", + "description" : "Describes the type of relationship provided by the link's hypertext reference. This can be an indicator of the link's purpose.", + "$ref" : "#/definitions/TokenDatatype" }, + "media-type" : + { "title" : "Media Type", + "description" : "A label that indicates the nature of a resource, as a data serialization or format.", + "$ref" : "#/definitions/StringDatatype" }, + "resource-fragment" : + { "title" : "Resource Fragment", + "description" : "In case where the href points to a back-matter/resource, this value will indicate the URI fragment to append to any rlink associated with the resource. This value MUST be URI encoded.", + "$ref" : "#/definitions/StringDatatype" }, + "text" : + { "title" : "Link Text", + "description" : "A textual label to associate with the link, which may be used for presentation in a tool.", + "type" : "string" } }, + "required" : + [ "href" ], + "additionalProperties" : false }, + "oscal-catalog-oscal-metadata:responsible-party" : + { "title" : "Responsible Party", + "description" : "A reference to a set of persons and/or organizations that have responsibility for performing the referenced role in the context of the containing object.", + "$id" : "#assembly_oscal-metadata_responsible-party", + "type" : "object", + "properties" : + { "role-id" : + { "title" : "Responsible Role", + "description" : "A reference to a role performed by a party.", + "$ref" : "#/definitions/TokenDatatype" }, + "party-uuids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_party-uuid" } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "role-id", + "party-uuids" ], + "additionalProperties" : false }, + "oscal-catalog-oscal-metadata:action" : + { "title" : "Action", + "description" : "An action applied by a role within a given party to the content.", + "$id" : "#assembly_oscal-metadata_action", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Action Universally Unique Identifier", + "description" : "A unique identifier that can be used to reference this defined action elsewhere in an OSCAL document. A UUID should be consistently used for a given location across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "date" : + { "title" : "Action Occurrence Date", + "description" : "The date and time when the action occurred.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "type" : + { "title" : "Action Type", + "description" : "The type of action documented by the assembly, such as an approval.", + "$ref" : "#/definitions/TokenDatatype" }, + "system" : + { "title" : "Action Type System", + "description" : "Specifies the action type system used.", + "$ref" : "#/definitions/URIDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "responsible-parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "type", + "system" ], + "additionalProperties" : false }, + "oscal-catalog-oscal-metadata:responsible-role" : + { "title" : "Responsible Role", + "description" : "A reference to a role with responsibility for performing a function relative to the containing object, optionally associated with a set of persons and/or organizations that perform that role.", + "$id" : "#assembly_oscal-metadata_responsible-role", + "type" : "object", + "properties" : + { "role-id" : + { "title" : "Responsible Role ID", + "description" : "A human-oriented identifier reference to a role performed.", + "$ref" : "#/definitions/TokenDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "party-uuids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_party-uuid" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "role-id" ], + "additionalProperties" : false }, + "oscal-catalog-oscal-metadata:hash" : + { "title" : "Hash", + "description" : "A representation of a cryptographic digest generated over a resource using a specified hash algorithm.", + "$id" : "#field_oscal-metadata_hash", + "type" : "object", + "properties" : + { "algorithm" : + { "title" : "Hash algorithm", + "description" : "The digest method by which a hash is derived.", + "$ref" : "#/definitions/StringDatatype" }, + "value" : + { "type" : "string" } }, + "required" : + [ "value", + "algorithm" ], + "additionalProperties" : false }, + "oscal-catalog-oscal-metadata:remarks" : + { "title" : "Remarks", + "description" : "Additional commentary about the containing object.", + "$id" : "#field_oscal-metadata_remarks", + "type" : "string" }, + "oscal-catalog-oscal-metadata:published" : + { "title" : "Publication Timestamp", + "description" : "The date and time the document was last made available.", + "$id" : "#field_oscal-metadata_published", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "oscal-catalog-oscal-metadata:last-modified" : + { "title" : "Last Modified Timestamp", + "description" : "The date and time the document was last stored for later retrieval.", + "$id" : "#field_oscal-metadata_last-modified", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "oscal-catalog-oscal-metadata:version" : + { "title" : "Document Version", + "description" : "Used to distinguish a specific revision of an OSCAL document from other previous and future versions.", + "$id" : "#field_oscal-metadata_version", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-catalog-oscal-metadata:oscal-version" : + { "title" : "OSCAL Version", + "description" : "The OSCAL model version the document was authored against and will conform to as valid.", + "$id" : "#field_oscal-metadata_oscal-version", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-catalog-oscal-metadata:email-address" : + { "title" : "Email Address", + "description" : "An email address as defined by RFC 5322 Section 3.4.1.", + "$id" : "#field_oscal-metadata_email-address", + "$ref" : "#/definitions/EmailAddressDatatype" }, + "oscal-catalog-oscal-metadata:telephone-number" : + { "title" : "Telephone Number", + "description" : "A telephone service number as defined by ITU-T E.164.", + "$id" : "#field_oscal-metadata_telephone-number", + "type" : "object", + "properties" : + { "type" : + { "title" : "type flag", + "description" : "Indicates the type of phone number.", + "$ref" : "#/definitions/StringDatatype" }, + "number" : + { "type" : "string" } }, + "required" : + [ "number" ], + "additionalProperties" : false }, + "oscal-catalog-oscal-metadata:address" : + { "title" : "Address", + "description" : "A postal address for the location.", + "$id" : "#assembly_oscal-metadata_address", + "type" : "object", + "properties" : + { "type" : + { "title" : "Address Type", + "description" : "Indicates the type of address.", + "$ref" : "#/definitions/TokenDatatype" }, + "addr-lines" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_addr-line" } }, + "city" : + { "title" : "City", + "description" : "City, town or geographical region for the mailing address.", + "$ref" : "#/definitions/StringDatatype" }, + "state" : + { "title" : "State", + "description" : "State, province or analogous geographical region for a mailing address.", + "$ref" : "#/definitions/StringDatatype" }, + "postal-code" : + { "title" : "Postal Code", + "description" : "Postal or ZIP code for mailing address.", + "$ref" : "#/definitions/StringDatatype" }, + "country" : + { "title" : "Country Code", + "description" : "The ISO 3166-1 alpha-2 country code for the mailing address.", + "$ref" : "#/definitions/StringDatatype" } }, + "additionalProperties" : false }, + "oscal-catalog-oscal-metadata:addr-line" : + { "title" : "Address line", + "description" : "A single line of an address.", + "$id" : "#field_oscal-metadata_addr-line", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-catalog-oscal-metadata:document-id" : + { "title" : "Document Identifier", + "description" : "A document identifier qualified by an identifier scheme.", + "$id" : "#field_oscal-metadata_document-id", + "type" : "object", + "properties" : + { "scheme" : + { "title" : "Document Identification Scheme", + "description" : "Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters.", + "$ref" : "#/definitions/URIDatatype" }, + "identifier" : + { "type" : "string" } }, + "required" : + [ "identifier" ], + "additionalProperties" : false }, + "oscal-catalog-oscal-mapping-common:map" : + { "title" : "Mapping Entry", + "description" : "A relationship-based mapping between a source and target set consisting of members (i.e., controls, control statements) from the respective source and target.", + "$id" : "#assembly_oscal-mapping-common_map", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Mapping Entry Identifier", + "description" : "The unique identifier for the mapping entry.", + "$ref" : "#/definitions/UUIDDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "relationship" : + { "title" : "Mapping Entry Relationship", + "description" : "The relationship type for the mapping entry, which describes the relationship between the effective requirements of the specified source and target sets.", + "type" : "object", + "properties" : + { "ns" : + { "title" : "Relationship Value Namespace", + "description" : "A namespace qualifying the relationship's value. This allows different organizations to associate distinct semantics for relationships with the same name.", + "$ref" : "#/definitions/URIDatatype" }, + "type" : + { "type" : "string" } }, + "required" : + [ "type" ], + "additionalProperties" : false, + "enum" : + [ "equivalent-to", + "equal-to", + "subset-of", + "superset-of", + "intersects-with" ] }, + "sources" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-mapping-common_mapping-item" } }, + "targets" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-mapping-common_mapping-item" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "relationship", + "sources", + "targets" ], + "additionalProperties" : false }, + "oscal-catalog-oscal-mapping-common:mapping-item" : + { "title" : "Mapping Entry Item (source or target)", + "description" : "Identifies a specific edge within a source or target that is the subject of a mapping.", + "$id" : "#assembly_oscal-mapping-common_mapping-item", + "type" : "object", + "properties" : + { "type" : + { "title" : "Subject Type", + "description" : "The semantic type of the subject.", + "allOf" : + [ + { "$ref" : "#/definitions/TokenDatatype" }, + + { "enum" : + [ "control", + "statement" ] } ] }, + "id-ref" : + { "title" : "Subject Identifier Reference", + "description" : "A reference to an identified subject that is of the specified type.", + "$ref" : "#/definitions/StringDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "type", + "id-ref" ], + "additionalProperties" : false }, + "oscal-catalog-oscal-mapping-common:mapping-resource-reference" : + { "title" : "Mapped Resource Reference", + "description" : "A reference to a resource that is either the source or target of a mapping.", + "$id" : "#assembly_oscal-mapping-common_mapping-resource-reference", + "type" : "object", "properties" : - { "catalog" : - { "$ref" : "#assembly_oscal-catalog_catalog" } }, + { "type" : + { "title" : "Resource Type", + "description" : "The semantic type of the resource.", + "allOf" : + [ + { "$ref" : "#/definitions/TokenDatatype" }, + + { "enum" : + [ "catalog" ] } ] }, + "href" : + { "title" : "Catalog or Profile Reference", + "description" : "A resolvable URL reference to the base catalog or profile that this profile is tailoring.", + "$ref" : "#/definitions/URIReferenceDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, "required" : - [ "catalog" ], - "additionalProperties" : false, - "maxProperties" : 1 } \ No newline at end of file + [ "type", + "href" ], + "additionalProperties" : false }, + "Base64Datatype" : + { "type" : "string", + "pattern" : "^[0-9A-Fa-f]+$", + "contentEncoding" : "base64" }, + "DateTimeWithTimezoneDatatype" : + { "type" : "string", + "format" : "date-time", + "pattern" : "^(((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30)))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]*[1-9])?(Z|(-((0[0-9]|1[0-2]):00|0[39]:30)|\\+((0[0-9]|1[0-4]):00|(0[34569]|10):30|(0[58]|12):45)))$" }, + "EmailAddressDatatype" : + { "type" : "string", + "format" : "email", + "pattern" : "^.+@.+$" }, + "StringDatatype" : + { "type" : "string", + "pattern" : "^\\S(.*\\S)?$" }, + "TokenDatatype" : + { "type" : "string", + "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, + "URIDatatype" : + { "type" : "string", + "format" : "uri", + "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, + "URIReferenceDatatype" : + { "type" : "string", + "format" : "uri-reference" }, + "UUIDDatatype" : + { "type" : "string", + "description" : "A type 4 ('random' or 'pseudorandom') or type 5 UUID per RFC 4122.", + "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" } }, + "properties" : + { "catalog" : + { "$ref" : "#assembly_oscal-catalog_catalog" } }, + "required" : + [ "catalog" ], + "additionalProperties" : false, + "maxProperties" : 1 } \ No newline at end of file diff --git a/json/schema/oscal_complete_schema.json b/json/schema/oscal_complete_schema.json index a5f15493c..41f81c870 100644 --- a/json/schema/oscal_complete_schema.json +++ b/json/schema/oscal_complete_schema.json @@ -1,5051 +1,5126 @@ - { "$schema" : "http://json-schema.org/draft-07/schema#", - "$id" : "http://csrc.nist.gov/ns/oscal/1.0/1.0.4/oscal-complete-schema.json", - "$comment" : "OSCAL Unified Model of Models: JSON Schema", + { "$schema" : "http://json-schema.org/draft-07/schema#", + "$id" : "http://csrc.nist.gov/ns/oscal/1.0/1.0.4/oscal-complete-schema.json", + "$comment" : "OSCAL Unified Model of Models: JSON Schema", + "type" : "object", + "definitions" : + { "oscal-complete-oscal-catalog:catalog" : + { "title" : "Catalog", + "description" : "A structured, organized collection of control information.", + "$id" : "#assembly_oscal-catalog_catalog", "type" : "object", - "definitions" : - { "oscal-complete-oscal-catalog:catalog" : - { "title" : "Catalog", - "description" : "A collection of controls.", - "$id" : "#assembly_oscal-catalog_catalog", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Catalog Universally Unique Identifier", - "description" : "A globally unique identifier with cross-instance scope for this catalog instance. This UUID should be changed when this document is revised.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "metadata" : - { "$ref" : "#assembly_oscal-metadata_metadata" }, - "params" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_parameter" } }, - "controls" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog_control" } }, - "groups" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog_group" } }, - "back-matter" : - { "$ref" : "#assembly_oscal-metadata_back-matter" } }, - "required" : - [ "uuid", - "metadata" ], - "additionalProperties" : false }, - "oscal-complete-oscal-catalog:group" : - { "title" : "Control Group", - "description" : "A group of controls, or of groups of controls.", - "$id" : "#assembly_oscal-catalog_group", - "type" : "object", - "properties" : - { "id" : - { "title" : "Group Identifier", - "description" : "A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined group elsewhere in in this and other OSCAL instances (e.g., profiles). This id should be assigned per-subject, which means it should be consistently used to identify the same group across revisions of the document.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "class" : - { "title" : "Group Class", - "description" : "A textual label that provides a sub-type or characterization of the group.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "title" : - { "title" : "Group Title", - "description" : "A name given to the group, which may be used by a tool for display and navigation.", - "type" : "string" }, - "params" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_parameter" } }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "parts" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_part" } }, - "groups" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog_group" } }, - "controls" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog_control" } } }, - "required" : - [ "title" ], - "additionalProperties" : false }, - "oscal-complete-oscal-catalog:control" : - { "title" : "Control", - "description" : "A structured information object representing a security or privacy control. Each security or privacy control within the Catalog is defined by a distinct control instance.", - "$id" : "#assembly_oscal-catalog_control", - "type" : "object", - "properties" : - { "id" : - { "title" : "Control Identifier", - "description" : "A human-oriented, locally unique identifier with instance scope that can be used to reference this control elsewhere in this and other OSCAL instances (e.g., profiles). This id should be assigned per-subject, which means it should be consistently used to identify the same control across revisions of the document.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "class" : - { "title" : "Control Class", - "description" : "A textual label that provides a sub-type or characterization of the control.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "title" : - { "title" : "Control Title", - "description" : "A name given to the control, which may be used by a tool for display and navigation.", - "type" : "string" }, - "params" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_parameter" } }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "parts" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_part" } }, - "controls" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog_control" } } }, - "required" : - [ "id", - "title" ], - "additionalProperties" : false }, - "oscal-complete-oscal-catalog-common:part" : - { "title" : "Part", - "description" : "A partition of a control's definition or a child of another part.", - "$id" : "#assembly_oscal-catalog-common_part", - "type" : "object", - "properties" : - { "id" : - { "title" : "Part Identifier", - "description" : "A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined part elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "name" : - { "title" : "Part Name", - "description" : "A textual label that uniquely identifies the part's semantic type.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "ns" : - { "title" : "Part Namespace", - "description" : "A namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "class" : - { "title" : "Part Class", - "description" : "A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "title" : - { "title" : "Part Title", - "description" : "A name given to the part, which may be used by a tool for display and navigation.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "prose" : - { "title" : "Part Text", - "description" : "Permits multiple paragraphs, lists, tables etc.", - "type" : "string" }, - "parts" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_part" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } } }, - "required" : - [ "name" ], - "additionalProperties" : false }, - "oscal-complete-oscal-catalog-common:parameter" : - { "title" : "Parameter", - "description" : "Parameters provide a mechanism for the dynamic assignment of value(s) in a control.", - "$id" : "#assembly_oscal-catalog-common_parameter", - "type" : "object", - "properties" : - { "id" : - { "title" : "Parameter Identifier", - "description" : "A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined parameter elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "class" : - { "title" : "Parameter Class", - "description" : "A textual label that provides a characterization of the parameter.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "depends-on" : - { "title" : "Depends on", - "description" : "**(deprecated)** Another parameter invoking this one. This construct has been deprecated and should not be used.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "label" : - { "title" : "Parameter Label", - "description" : "A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned.", - "type" : "string" }, - "usage" : - { "title" : "Parameter Usage Description", - "description" : "Describes the purpose and use of a parameter", - "type" : "string" }, - "constraints" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_parameter-constraint" } }, - "guidelines" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_parameter-guideline" } }, - "values" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-catalog-common_parameter-value" } }, - "select" : - { "$ref" : "#assembly_oscal-catalog-common_parameter-selection" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "id" ], - "additionalProperties" : false }, - "oscal-complete-oscal-catalog-common:parameter-constraint" : - { "title" : "Constraint", - "description" : "A formal or informal expression of a constraint or test", - "$id" : "#assembly_oscal-catalog-common_parameter-constraint", - "type" : "object", - "properties" : - { "description" : - { "title" : "Constraint Description", - "description" : "A textual summary of the constraint to be applied.", - "type" : "string" }, - "tests" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Constraint Test", - "description" : "A test expression which is expected to be evaluated by a tool.", - "type" : "object", - "properties" : - { "expression" : - { "title" : "Constraint test", - "description" : "A formal (executable) expression of a constraint", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "expression" ], - "additionalProperties" : false } } }, - "additionalProperties" : false }, - "oscal-complete-oscal-catalog-common:parameter-guideline" : - { "title" : "Guideline", - "description" : "A prose statement that provides a recommendation for the use of a parameter.", - "$id" : "#assembly_oscal-catalog-common_parameter-guideline", - "type" : "object", - "properties" : - { "prose" : - { "title" : "Guideline Text", - "description" : "Prose permits multiple paragraphs, lists, tables etc.", - "type" : "string" } }, - "required" : - [ "prose" ], - "additionalProperties" : false }, - "oscal-complete-oscal-catalog-common:parameter-value" : - { "title" : "Parameter Value", - "description" : "A parameter value or set of values.", - "$id" : "#field_oscal-catalog-common_parameter-value", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "oscal-complete-oscal-catalog-common:parameter-selection" : - { "title" : "Selection", - "description" : "Presenting a choice among alternatives", - "$id" : "#assembly_oscal-catalog-common_parameter-selection", - "type" : "object", - "properties" : - { "how-many" : - { "title" : "Parameter Cardinality", - "description" : "Describes the number of selections that must occur. Without this setting, only one value should be assumed to be permitted.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$", - "enum" : - [ "one", - "one-or-more" ] }, - "choice" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Choice", - "description" : "A value selection among several such options", - "type" : "string" } } }, - "additionalProperties" : false }, - "oscal-complete-oscal-catalog-common:include-all" : - { "title" : "Include All", - "description" : "Include all controls from the imported catalog or profile resources.", - "$id" : "#assembly_oscal-catalog-common_include-all", - "type" : "object", - "additionalProperties" : false }, - "oscal-complete-oscal-metadata:metadata" : - { "title" : "Publication metadata", - "description" : "Provides information about the publication and availability of the containing document.", - "$id" : "#assembly_oscal-metadata_metadata", - "type" : "object", - "properties" : - { "title" : - { "title" : "Document Title", - "description" : "A name given to the document, which may be used by a tool for display and navigation.", - "type" : "string" }, - "published" : - { "$ref" : "#field_oscal-metadata_published" }, - "last-modified" : - { "$ref" : "#field_oscal-metadata_last-modified" }, - "version" : - { "$ref" : "#field_oscal-metadata_version" }, - "oscal-version" : - { "$ref" : "#field_oscal-metadata_oscal-version" }, - "revisions" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_revision" } }, - "document-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_document-id" } }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_role" } }, - "locations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_location" } }, - "parties" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_party" } }, - "responsible-parties" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "title", - "last-modified", - "version", - "oscal-version" ], - "additionalProperties" : false }, - "oscal-complete-oscal-metadata:revision" : + "properties" : + { "uuid" : + { "title" : "Catalog Universally Unique Identifier", + "description" : "Provides a globally unique means to identify a given catalog instance.", + "$ref" : "#/definitions/UUIDDatatype" }, + "metadata" : + { "$ref" : "#assembly_oscal-metadata_metadata" }, + "params" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_parameter" } }, + "controls" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-catalog_control" } }, + "groups" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-catalog_group" } }, + "back-matter" : + { "$ref" : "#assembly_oscal-metadata_back-matter" } }, + "required" : + [ "uuid", + "metadata" ], + "additionalProperties" : false }, + "oscal-complete-oscal-catalog:group" : + { "title" : "Control Group", + "description" : "A group of controls, or of groups of controls.", + "$id" : "#assembly_oscal-catalog_group", + "type" : "object", + "properties" : + { "id" : + { "title" : "Group Identifier", + "description" : "Identifies the group for the purpose of cross-linking within the defining instance or from other instances that reference the catalog.", + "$ref" : "#/definitions/TokenDatatype" }, + "class" : + { "title" : "Group Class", + "description" : "A textual label that provides a sub-type or characterization of the group.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Group Title", + "description" : "A name given to the group, which may be used by a tool for display and navigation.", + "type" : "string" }, + "params" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_parameter" } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "parts" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_part" } }, + "groups" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-catalog_group" } }, + "controls" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-catalog_control" } } }, + "required" : + [ "title" ], + "additionalProperties" : false }, + "oscal-complete-oscal-catalog:control" : + { "title" : "Control", + "description" : "A structured object representing a requirement or guideline, which when implemented will reduce an aspect of risk related to an information system and its information.", + "$id" : "#assembly_oscal-catalog_control", + "type" : "object", + "properties" : + { "id" : + { "title" : "Control Identifier", + "description" : "Identifies a control such that it can be referenced in the defining catalog and other OSCAL instances (e.g., profiles).", + "$ref" : "#/definitions/TokenDatatype" }, + "class" : + { "title" : "Control Class", + "description" : "A textual label that provides a sub-type or characterization of the control.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Control Title", + "description" : "A name given to the control, which may be used by a tool for display and navigation.", + "type" : "string" }, + "params" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_parameter" } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "parts" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_part" } }, + "mapping" : + { "title" : "Mapping", + "description" : "A mapping between the containing control and another resource.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Mapping Identifier", + "description" : "The unique identifier for the mapping.", + "$ref" : "#/definitions/UUIDDatatype" }, + "target-resource" : + { "$ref" : "#assembly_oscal-mapping-common_mapping-resource-reference" }, + "maps" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-mapping-common_map" } } }, + "required" : + [ "uuid", + "target-resource", + "maps" ], + "additionalProperties" : false }, + "controls" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-catalog_control" } } }, + "required" : + [ "id", + "title" ], + "additionalProperties" : false }, + "oscal-complete-oscal-control-common:part" : + { "title" : "Part", + "description" : "An annotated, markup-based textual element of a control's or catalog group's definition, or a child of another part.", + "$id" : "#assembly_oscal-control-common_part", + "type" : "object", + "properties" : + { "id" : + { "title" : "Part Identifier", + "description" : "A unique identifier for the part.", + "$ref" : "#/definitions/TokenDatatype" }, + "name" : + { "title" : "Part Name", + "description" : "A textual label that uniquely identifies the part's semantic type, which exists in a value space qualified by the ns.", + "$ref" : "#/definitions/TokenDatatype" }, + "ns" : + { "title" : "Part Namespace", + "description" : "An optional namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name.", + "$ref" : "#/definitions/URIDatatype" }, + "class" : + { "title" : "Part Class", + "description" : "An optional textual providing a sub-type or characterization of the part's name, or a category to which the part belongs.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Part Title", + "description" : "An optional name given to the part, which may be used by a tool for display and navigation.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "prose" : + { "title" : "Part Text", + "description" : "Permits multiple paragraphs, lists, tables etc.", + "type" : "string" }, + "parts" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_part" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } } }, + "required" : + [ "name" ], + "additionalProperties" : false }, + "oscal-complete-oscal-control-common:parameter" : + { "title" : "Parameter", + "description" : "Parameters provide a mechanism for the dynamic assignment of value(s) in a control.", + "$id" : "#assembly_oscal-control-common_parameter", + "type" : "object", + "properties" : + { "id" : + { "title" : "Parameter Identifier", + "description" : "A unique identifier for the parameter.", + "$ref" : "#/definitions/TokenDatatype" }, + "class" : + { "title" : "Parameter Class", + "description" : "A textual label that provides a characterization of the type, purpose, use or scope of the parameter.", + "$ref" : "#/definitions/TokenDatatype" }, + "depends-on" : + { "title" : "Depends on", + "description" : "(deprecated) Another parameter invoking this one. This construct has been deprecated and should not be used.", + "$ref" : "#/definitions/TokenDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "label" : + { "title" : "Parameter Label", + "description" : "A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned.", + "type" : "string" }, + "usage" : + { "title" : "Parameter Usage Description", + "description" : "Describes the purpose and use of a parameter.", + "type" : "string" }, + "constraints" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_parameter-constraint" } }, + "guidelines" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_parameter-guideline" } }, + "values" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-control-common_parameter-value" } }, + "select" : + { "$ref" : "#assembly_oscal-control-common_parameter-selection" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "id" ], + "additionalProperties" : false }, + "oscal-complete-oscal-control-common:parameter-constraint" : + { "title" : "Constraint", + "description" : "A formal or informal expression of a constraint or test.", + "$id" : "#assembly_oscal-control-common_parameter-constraint", + "type" : "object", + "properties" : + { "description" : + { "title" : "Constraint Description", + "description" : "A textual summary of the constraint to be applied.", + "type" : "string" }, + "tests" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Constraint Test", + "description" : "A test expression which is expected to be evaluated by a tool.", + "type" : "object", + "properties" : + { "expression" : + { "title" : "Constraint test", + "description" : "A formal (executable) expression of a constraint.", + "$ref" : "#/definitions/StringDatatype" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "expression" ], + "additionalProperties" : false } } }, + "additionalProperties" : false }, + "oscal-complete-oscal-control-common:parameter-guideline" : + { "title" : "Guideline", + "description" : "A prose statement that provides a recommendation for the use of a parameter.", + "$id" : "#assembly_oscal-control-common_parameter-guideline", + "type" : "object", + "properties" : + { "prose" : + { "title" : "Guideline Text", + "description" : "Prose permits multiple paragraphs, lists, tables etc.", + "type" : "string" } }, + "required" : + [ "prose" ], + "additionalProperties" : false }, + "oscal-complete-oscal-control-common:parameter-value" : + { "title" : "Parameter Value", + "description" : "A parameter value or set of values.", + "$id" : "#field_oscal-control-common_parameter-value", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-complete-oscal-control-common:parameter-selection" : + { "title" : "Selection", + "description" : "Presenting a choice among alternatives.", + "$id" : "#assembly_oscal-control-common_parameter-selection", + "type" : "object", + "properties" : + { "how-many" : + { "title" : "Parameter Cardinality", + "description" : "Describes the number of selections that must occur. Without this setting, only one value should be assumed to be permitted.", + "allOf" : + [ + { "$ref" : "#/definitions/TokenDatatype" }, + + { "enum" : + [ "one", + "one-or-more" ] } ] }, + "choice" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Choice", + "description" : "A value selection among several such options.", + "type" : "string" } } }, + "additionalProperties" : false }, + "oscal-complete-oscal-control-common:include-all" : + { "title" : "Include All", + "description" : "Include all controls from the imported catalog or profile resources.", + "$id" : "#assembly_oscal-control-common_include-all", + "type" : "object", + "additionalProperties" : false }, + "oscal-complete-oscal-metadata:metadata" : + { "title" : "Document Metadata", + "description" : "Provides information about the containing document, and defines concepts that are shared across the document.", + "$id" : "#assembly_oscal-metadata_metadata", + "type" : "object", + "properties" : + { "title" : + { "title" : "Document Title", + "description" : "A name given to the document, which may be used by a tool for display and navigation.", + "type" : "string" }, + "published" : + { "$ref" : "#field_oscal-metadata_published" }, + "last-modified" : + { "$ref" : "#field_oscal-metadata_last-modified" }, + "version" : + { "$ref" : "#field_oscal-metadata_version" }, + "oscal-version" : + { "$ref" : "#field_oscal-metadata_oscal-version" }, + "revisions" : + { "type" : "array", + "minItems" : 1, + "items" : { "title" : "Revision History Entry", - "description" : "An entry in a sequential list of revisions to the containing document in reverse chronological order (i.e., most recent previous revision first).", - "$id" : "#assembly_oscal-metadata_revision", - "type" : "object", - "properties" : - { "title" : - { "title" : "Document Title", - "description" : "A name given to the document revision, which may be used by a tool for display and navigation.", - "type" : "string" }, - "published" : - { "$ref" : "#field_oscal-metadata_published" }, - "last-modified" : - { "$ref" : "#field_oscal-metadata_last-modified" }, - "version" : - { "$ref" : "#field_oscal-metadata_version" }, - "oscal-version" : - { "$ref" : "#field_oscal-metadata_oscal-version" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "version" ], - "additionalProperties" : false }, - "oscal-complete-oscal-metadata:location" : + "description" : "An entry in a sequential list of revisions to the containing document, expected to be in reverse chronological order (i.e. latest first).", + "type" : "object", + "properties" : + { "title" : + { "title" : "Document Title", + "description" : "A name given to the document revision, which may be used by a tool for display and navigation.", + "type" : "string" }, + "published" : + { "$ref" : "#field_oscal-metadata_published" }, + "last-modified" : + { "$ref" : "#field_oscal-metadata_last-modified" }, + "version" : + { "$ref" : "#field_oscal-metadata_version" }, + "oscal-version" : + { "$ref" : "#field_oscal-metadata_oscal-version" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "version" ], + "additionalProperties" : false } }, + "document-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_document-id" } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "roles" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Role", + "description" : "Defines a function, which might be assigned to a party in a specific situation.", + "type" : "object", + "properties" : + { "id" : + { "title" : "Role Identifier", + "description" : "A unique identifier for the role.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Role Title", + "description" : "A name given to the role, which may be used by a tool for display and navigation.", + "type" : "string" }, + "short-name" : + { "title" : "Role Short Name", + "description" : "A short common name, abbreviation, or acronym for the role.", + "$ref" : "#/definitions/StringDatatype" }, + "description" : + { "title" : "Role Description", + "description" : "A summary of the role's purpose and associated responsibilities.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "id", + "title" ], + "additionalProperties" : false } }, + "locations" : + { "type" : "array", + "minItems" : 1, + "items" : { "title" : "Location", - "description" : "A location, with associated metadata that can be referenced.", - "$id" : "#assembly_oscal-metadata_location", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Location Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined location elsewhere in this or other OSCAL instances. The locally defined UUID of the location can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Location Title", - "description" : "A name given to the location, which may be used by a tool for display and navigation.", - "type" : "string" }, - "address" : - { "$ref" : "#assembly_oscal-metadata_address" }, - "email-addresses" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_email-address" } }, - "telephone-numbers" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_telephone-number" } }, - "urls" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Location URL", - "description" : "The uniform resource locator (URL) for a web site or Internet presence associated with the location.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" } }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "address" ], - "additionalProperties" : false }, - "oscal-complete-oscal-metadata:location-uuid" : - { "title" : "Location Reference", - "description" : "A machine-oriented identifier reference to a location defined in the metadata section of this or another OSCAL instance. The UUID of the location in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).", - "$id" : "#field_oscal-metadata_location-uuid", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "oscal-complete-oscal-metadata:party" : - { "title" : "Party (organization or person)", - "description" : "A responsible entity which is either a person or an organization.", - "$id" : "#assembly_oscal-metadata_party", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Party Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined party elsewhere in this or other OSCAL instances. The locally defined UUID of the party can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "type" : - { "title" : "Party Type", - "description" : "A category describing the kind of party the object describes.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$", - "enum" : - [ "person", - "organization" ] }, - "name" : - { "title" : "Party Name", - "description" : "The full name of the party. This is typically the legal name associated with the party.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "short-name" : - { "title" : "Party Short Name", - "description" : "A short common name, abbreviation, or acronym for the party.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "external-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Party External Identifier", - "description" : "An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID)", - "type" : "object", - "properties" : - { "scheme" : - { "title" : "External Identifier Schema", - "description" : "Indicates the type of external identifier.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "id" : - { "type" : "string" } }, - "required" : - [ "id", - "scheme" ], - "additionalProperties" : false } }, + "description" : "A physical point of presence, which may be associated with people, organizations, or other concepts within the current or linked OSCAL document.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Location Universally Unique Identifier", + "description" : "A unique ID for the location, for reference.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Location Title", + "description" : "A name given to the location, which may be used by a tool for display and navigation.", + "type" : "string" }, + "address" : + { "$ref" : "#assembly_oscal-metadata_address" }, + "email-addresses" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_email-address" } }, + "telephone-numbers" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_telephone-number" } }, + "urls" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Location URL", + "description" : "The uniform resource locator (URL) for a web site or other resource associated with the location.", + "$ref" : "#/definitions/URIDatatype" } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid" ], + "additionalProperties" : false } }, + "parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Party", + "description" : "An organization or person, which may be associated with roles or other concepts within the current or linked OSCAL document.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Party Universally Unique Identifier", + "description" : "A unique identifier for the party.", + "$ref" : "#/definitions/UUIDDatatype" }, + "type" : + { "title" : "Party Type", + "description" : "A category describing the kind of party the object describes.", + "allOf" : + [ + { "$ref" : "#/definitions/StringDatatype" }, + + { "enum" : + [ "person", + "organization" ] } ] }, + "name" : + { "title" : "Party Name", + "description" : "The full name of the party. This is typically the legal name associated with the party.", + "$ref" : "#/definitions/StringDatatype" }, + "short-name" : + { "title" : "Party Short Name", + "description" : "A short common name, abbreviation, or acronym for the party.", + "$ref" : "#/definitions/StringDatatype" }, + "external-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Party External Identifier", + "description" : "An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID).", + "type" : "object", + "properties" : + { "scheme" : + { "title" : "External Identifier Schema", + "description" : "Indicates the type of external identifier.", + "$ref" : "#/definitions/URIDatatype" }, + "id" : + { "type" : "string" } }, + "required" : + [ "id", + "scheme" ], + "additionalProperties" : false } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "email-addresses" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_email-address" } }, + "telephone-numbers" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_telephone-number" } }, + "addresses" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_address" } }, + "location-uuids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_location-uuid" } }, + "member-of-organizations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Organizational Affiliation", + "description" : "A reference to another party by UUID, typically an organization, that this subject is associated with.", + "$ref" : "#/definitions/UUIDDatatype" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "type" ], + "additionalProperties" : false } }, + "responsible-parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, + "actions" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_action" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "title", + "last-modified", + "version", + "oscal-version" ], + "additionalProperties" : false }, + "oscal-complete-oscal-metadata:location-uuid" : + { "title" : "Location Universally Unique Identifier Reference", + "description" : "Reference to a location by UUID.", + "$id" : "#field_oscal-metadata_location-uuid", + "$ref" : "#/definitions/UUIDDatatype" }, + "oscal-complete-oscal-metadata:party-uuid" : + { "title" : "Party Universally Unique Identifier Reference", + "description" : "Reference to a party by UUID.", + "$id" : "#field_oscal-metadata_party-uuid", + "$ref" : "#/definitions/UUIDDatatype" }, + "oscal-complete-oscal-metadata:role-id" : + { "title" : "Role Identifier Reference", + "description" : "Reference to a role by UUID.", + "$id" : "#field_oscal-metadata_role-id", + "$ref" : "#/definitions/TokenDatatype" }, + "oscal-complete-oscal-metadata:back-matter" : + { "title" : "Back matter", + "description" : "A collection of resources that may be referenced from within the OSCAL document instance.", + "$id" : "#assembly_oscal-metadata_back-matter", + "type" : "object", + "properties" : + { "resources" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Resource", + "description" : "A resource associated with content in the containing document instance. A resource may be directly included in the document using base64 encoding or may point to one or more equivalent internet resources.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Resource Universally Unique Identifier", + "description" : "A unique identifier for a resource.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Resource Title", + "description" : "An optional name given to the resource, which may be used by a tool for display and navigation.", + "type" : "string" }, + "description" : + { "title" : "Resource Description", + "description" : "An optional short summary of the resource used to indicate the purpose of the resource.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "document-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_document-id" } }, + "citation" : + { "title" : "Citation", + "description" : "An optional citation consisting of end note text using structured markup.", + "type" : "object", + "properties" : + { "text" : + { "title" : "Citation Text", + "description" : "A line of citation text.", + "type" : "string" }, "props" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, "links" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "email-addresses" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_email-address" } }, - "telephone-numbers" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_telephone-number" } }, - "addresses" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_address" } }, - "location-uuids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_location-uuid" } }, - "member-of-organizations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Organizational Affiliation", - "description" : "A machine-oriented identifier reference to another party (person or organization) that this subject is associated with. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "type" ], - "additionalProperties" : false }, - "oscal-complete-oscal-metadata:party-uuid" : - { "title" : "Party Reference", - "description" : "A machine-oriented identifier reference to another party defined in metadata. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).", - "$id" : "#field_oscal-metadata_party-uuid", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "oscal-complete-oscal-metadata:role" : - { "title" : "Role", - "description" : "Defines a function assumed or expected to be assumed by a party in a specific situation.", - "$id" : "#assembly_oscal-metadata_role", - "type" : "object", - "properties" : - { "id" : - { "title" : "Role Identifier", - "description" : "A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined role elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, the locally defined ID of the Role from the imported OSCAL instance must be referenced in the context of the containing resource (e.g., import, import-component-definition, import-profile, import-ssp or import-ap). This ID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "title" : - { "title" : "Role Title", - "description" : "A name given to the role, which may be used by a tool for display and navigation.", - "type" : "string" }, - "short-name" : - { "title" : "Role Short Name", - "description" : "A short common name, abbreviation, or acronym for the role.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "description" : - { "title" : "Role Description", - "description" : "A summary of the role's purpose and associated responsibilities.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "id", - "title" ], - "additionalProperties" : false }, - "oscal-complete-oscal-metadata:role-id" : - { "title" : "Role Identifier Reference", - "description" : "A human-oriented identifier reference to roles served by the user.", - "$id" : "#field_oscal-metadata_role-id", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "oscal-complete-oscal-metadata:back-matter" : - { "title" : "Back matter", - "description" : "A collection of resources, which may be included directly or by reference.", - "$id" : "#assembly_oscal-metadata_back-matter", - "type" : "object", - "properties" : - { "resources" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Resource", - "description" : "A resource associated with content in the containing document. A resource may be directly included in the document base64 encoded or may point to one or more equivalent internet resources.", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Resource Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined resource elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Resource Title", - "description" : "A name given to the resource, which may be used by a tool for display and navigation.", - "type" : "string" }, - "description" : - { "title" : "Resource Description", - "description" : "A short summary of the resource used to indicate the purpose of the resource.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "document-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_document-id" } }, - "citation" : - { "title" : "Citation", - "description" : "A citation consisting of end note text and optional structured bibliographic data.", - "type" : "object", - "properties" : - { "text" : - { "title" : "Citation Text", - "description" : "A line of citation text.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } } }, - "required" : - [ "text" ], - "additionalProperties" : false }, - "rlinks" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Resource link", - "description" : "A pointer to an external resource with an optional hash for verification and change detection.", - "type" : "object", - "properties" : - { "href" : - { "title" : "Hypertext Reference", - "description" : "A resolvable URI reference to a resource.", - "type" : "string", - "format" : "uri-reference" }, - "media-type" : - { "title" : "Media Type", - "description" : "Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "hashes" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_hash" } } }, - "required" : - [ "href" ], - "additionalProperties" : false } }, - "base64" : - { "title" : "Base64", - "description" : "The Base64 alphabet in RFC 2045 - aligned with XSD.", - "type" : "object", - "properties" : - { "filename" : - { "title" : "File Name", - "description" : "Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded.", - "type" : "string", - "format" : "uri-reference" }, - "media-type" : - { "title" : "Media Type", - "description" : "Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "value" : - { "type" : "string" } }, - "required" : - [ "value" ], - "additionalProperties" : false }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid" ], - "additionalProperties" : false } } }, - "additionalProperties" : false }, - "oscal-complete-oscal-metadata:property" : - { "title" : "Property", - "description" : "An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.", - "$id" : "#assembly_oscal-metadata_property", - "type" : "object", - "properties" : - { "name" : - { "title" : "Property Name", - "description" : "A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "uuid" : - { "title" : "Property Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "ns" : - { "title" : "Property Namespace", - "description" : "A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "value" : - { "title" : "Property Value", - "description" : "Indicates the value of the attribute, characteristic, or quality.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "class" : - { "title" : "Property Class", - "description" : "A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "name", - "value" ], - "additionalProperties" : false }, - "oscal-complete-oscal-metadata:link" : - { "title" : "Link", - "description" : "A reference to a local or remote resource", - "$id" : "#assembly_oscal-metadata_link", - "type" : "object", - "properties" : - { "href" : - { "title" : "Hypertext Reference", - "description" : "A resolvable URL reference to a resource.", - "type" : "string", - "format" : "uri-reference" }, - "rel" : - { "title" : "Relation", - "description" : "Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } } }, + "required" : + [ "text" ], + "additionalProperties" : false }, + "rlinks" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Resource link", + "description" : "A URL-based pointer to an external resource with an optional hash for verification and change detection.", + "type" : "object", + "properties" : + { "href" : + { "title" : "Hypertext Reference", + "description" : "A resolvable URL pointing to the referenced resource.", + "$ref" : "#/definitions/URIReferenceDatatype" }, + "media-type" : + { "title" : "Media Type", + "description" : "A label that indicates the nature of a resource, as a data serialization or format.", + "$ref" : "#/definitions/StringDatatype" }, + "hashes" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_hash" } } }, + "required" : + [ "href" ], + "additionalProperties" : false } }, + "base64" : + { "title" : "Base64", + "description" : "A resource encoded using the Base64 alphabet defined by RFC 2045.", + "type" : "object", + "properties" : + { "filename" : + { "title" : "File Name", + "description" : "Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded.", + "$ref" : "#/definitions/TokenDatatype" }, "media-type" : { "title" : "Media Type", - "description" : "Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "text" : - { "title" : "Link Text", - "description" : "A textual label to associate with the link, which may be used for presentation in a tool.", - "type" : "string" } }, - "required" : - [ "href" ], - "additionalProperties" : false }, - "oscal-complete-oscal-metadata:responsible-party" : - { "title" : "Responsible Party", - "description" : "A reference to a set of organizations or persons that have responsibility for performing a referenced role in the context of the containing object.", - "$id" : "#assembly_oscal-metadata_responsible-party", - "type" : "object", - "properties" : - { "role-id" : - { "title" : "Responsible Role", - "description" : "A human-oriented identifier reference to roles served by the user.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "party-uuids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_party-uuid" } }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "role-id", - "party-uuids" ], - "additionalProperties" : false }, - "oscal-complete-oscal-metadata:responsible-role" : - { "title" : "Responsible Role", - "description" : "A reference to one or more roles with responsibility for performing a function relative to the containing object.", - "$id" : "#assembly_oscal-metadata_responsible-role", - "type" : "object", - "properties" : - { "role-id" : - { "title" : "Responsible Role ID", - "description" : "A human-oriented identifier reference to roles responsible for the business function.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "party-uuids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_party-uuid" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "role-id" ], - "additionalProperties" : false }, - "oscal-complete-oscal-metadata:hash" : - { "title" : "Hash", - "description" : "A representation of a cryptographic digest generated over a resource using a specified hash algorithm.", - "$id" : "#field_oscal-metadata_hash", - "type" : "object", - "properties" : - { "algorithm" : - { "title" : "Hash algorithm", - "description" : "Method by which a hash is derived", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, + "description" : "A label that indicates the nature of a resource, as a data serialization or format.", + "$ref" : "#/definitions/StringDatatype" }, "value" : { "type" : "string" } }, - "required" : - [ "value", - "algorithm" ], - "additionalProperties" : false }, - "oscal-complete-oscal-metadata:remarks" : - { "title" : "Remarks", - "description" : "Additional commentary on the containing object.", - "$id" : "#field_oscal-metadata_remarks", - "type" : "string" }, - "oscal-complete-oscal-metadata:published" : - { "title" : "Publication Timestamp", - "description" : "The date and time the document was published. The date-time value must be formatted according to RFC 3339 with full time and time zone included.", - "$id" : "#field_oscal-metadata_published", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "oscal-complete-oscal-metadata:last-modified" : - { "title" : "Last Modified Timestamp", - "description" : "The date and time the document was last modified. The date-time value must be formatted according to RFC 3339 with full time and time zone included.", - "$id" : "#field_oscal-metadata_last-modified", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "oscal-complete-oscal-metadata:version" : - { "title" : "Document Version", - "description" : "A string used to distinguish the current version of the document from other previous (and future) versions.", - "$id" : "#field_oscal-metadata_version", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "oscal-complete-oscal-metadata:oscal-version" : - { "title" : "OSCAL version", - "description" : "The OSCAL model version the document was authored against.", - "$id" : "#field_oscal-metadata_oscal-version", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "oscal-complete-oscal-metadata:email-address" : - { "title" : "Email Address", - "description" : "An email address as defined by RFC 5322 Section 3.4.1.", - "$id" : "#field_oscal-metadata_email-address", - "type" : "string", - "format" : "email", - "pattern" : "^.+@.+$" }, - "oscal-complete-oscal-metadata:telephone-number" : - { "title" : "Telephone Number", - "description" : "Contact number by telephone.", - "$id" : "#field_oscal-metadata_telephone-number", - "type" : "object", - "properties" : - { "type" : - { "title" : "type flag", - "description" : "Indicates the type of phone number.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "number" : - { "type" : "string" } }, - "required" : - [ "number" ], - "additionalProperties" : false }, - "oscal-complete-oscal-metadata:address" : - { "title" : "Address", - "description" : "A postal address for the location.", - "$id" : "#assembly_oscal-metadata_address", - "type" : "object", - "properties" : - { "type" : - { "title" : "Address Type", - "description" : "Indicates the type of address.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "addr-lines" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_addr-line" } }, - "city" : - { "title" : "City", - "description" : "City, town or geographical region for the mailing address.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "state" : - { "title" : "State", - "description" : "State, province or analogous geographical region for mailing address", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "postal-code" : - { "title" : "Postal Code", - "description" : "Postal or ZIP code for mailing address", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "country" : - { "title" : "Country Code", - "description" : "The ISO 3166-1 alpha-2 country code for the mailing address.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" } }, - "additionalProperties" : false }, - "oscal-complete-oscal-metadata:addr-line" : - { "title" : "Address line", - "description" : "A single line of an address.", - "$id" : "#field_oscal-metadata_addr-line", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "oscal-complete-oscal-metadata:document-id" : - { "title" : "Document Identifier", - "description" : "A document identifier qualified by an identifier scheme. A document identifier provides a globally unique identifier with a cross-instance scope that is used for a group of documents that are to be treated as different versions of the same document. If this element does not appear, or if the value of this element is empty, the value of \"document-id\" is equal to the value of the \"uuid\" flag of the top-level root element.", - "$id" : "#field_oscal-metadata_document-id", - "type" : "object", - "properties" : - { "scheme" : - { "title" : "Document Identification Scheme", - "description" : "Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "identifier" : - { "type" : "string" } }, - "required" : - [ "identifier" ], - "additionalProperties" : false }, - "oscal-complete-oscal-profile:profile" : - { "title" : "Profile", - "description" : "Each OSCAL profile is defined by a Profile element", - "$id" : "#assembly_oscal-profile_profile", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Profile Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this profile elsewhere in this or other OSCAL instances. The locally defined UUID of the profile can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance).This identifier should be assigned per-subject, which means it should be consistently used to identify the same profile across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "metadata" : - { "$ref" : "#assembly_oscal-metadata_metadata" }, - "imports" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-profile_import" } }, - "merge" : - { "$ref" : "#assembly_oscal-profile_merge" }, - "modify" : - { "$ref" : "#assembly_oscal-profile_modify" }, - "back-matter" : - { "$ref" : "#assembly_oscal-metadata_back-matter" } }, - "required" : - [ "uuid", - "metadata", - "imports" ], - "additionalProperties" : false }, - "oscal-complete-oscal-profile:import" : - { "title" : "Import resource", - "description" : "The import designates a catalog or profile to be included (referenced and potentially modified) by this profile. The import also identifies which controls to select using the include-all, include-controls, and exclude-controls directives.", - "$id" : "#assembly_oscal-profile_import", - "type" : "object", - "properties" : - { "href" : - { "title" : "Catalog or Profile Reference", - "description" : "A resolvable URL reference to the base catalog or profile that this profile is tailoring.", - "type" : "string", - "format" : "uri-reference" }, - "include-all" : - { "$ref" : "#assembly_oscal-catalog-common_include-all" }, - "include-controls" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-profile_select-control-by-id" } }, - "exclude-controls" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-profile_select-control-by-id" } } }, - "required" : - [ "href" ], - "additionalProperties" : false }, - "oscal-complete-oscal-profile:merge" : - { "title" : "Merge controls", - "description" : "A Merge element provides structuring directives that drive how controls are organized after resolution.", - "$id" : "#assembly_oscal-profile_merge", - "type" : "object", - "properties" : - { "combine" : - { "title" : "Combination rule", - "description" : "A Combine element defines how to combine multiple (competing) versions of the same control.", - "type" : "object", - "properties" : - { "method" : - { "title" : "Combination method", - "description" : "How clashing controls should be handled", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$", - "enum" : - [ "use-first", - "merge", - "keep" ] } }, - "additionalProperties" : false }, - "flat" : - { "title" : "Flat", - "description" : "Use the flat structuring method.", - "type" : "object", - "additionalProperties" : false }, - "as-is" : - { "title" : "As-Is Structuring Directive", - "description" : "An As-is element indicates that the controls should be structured in resolution as they are structured in their source catalogs. It does not contain any elements or attributes.", - "type" : "boolean" }, - "custom" : - { "title" : "Custom grouping", - "description" : "A Custom element frames a structure for embedding represented controls in resolution.", - "type" : "object", - "properties" : - { "groups" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-profile_group" } }, - "insert-controls" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-profile_insert-controls" } } }, - "additionalProperties" : false } }, - "additionalProperties" : false }, - "oscal-complete-oscal-profile:group" : - { "title" : "Control group", - "description" : "A group of (selected) controls or of groups of controls", - "$id" : "#assembly_oscal-profile_group", - "type" : "object", - "properties" : - { "id" : - { "title" : "Group Identifier", - "description" : "A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined group elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same group across revisions of the document.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "class" : - { "title" : "Group Class", - "description" : "A textual label that provides a sub-type or characterization of the group.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "title" : - { "title" : "Group Title", - "description" : "A name given to the group, which may be used by a tool for display and navigation.", - "type" : "string" }, - "params" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_parameter" } }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "parts" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_part" } }, - "groups" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-profile_group" } }, - "insert-controls" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-profile_insert-controls" } } }, - "required" : - [ "title" ], - "additionalProperties" : false }, - "oscal-complete-oscal-profile:modify" : - { "title" : "Modify controls", - "description" : "Set parameters or amend controls in resolution", - "$id" : "#assembly_oscal-profile_modify", - "type" : "object", - "properties" : - { "set-parameters" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Parameter Setting", - "description" : "A parameter setting, to be propagated to points of insertion", - "type" : "object", - "properties" : - { "param-id" : - { "title" : "Parameter ID", - "description" : "A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined parameter elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "class" : - { "title" : "Parameter Class", - "description" : "A textual label that provides a characterization of the parameter.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "depends-on" : - { "title" : "Depends on", - "description" : "**(deprecated)** Another parameter invoking this one. This construct has been deprecated and should not be used.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "label" : - { "title" : "Parameter Label", - "description" : "A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned.", - "type" : "string" }, - "usage" : - { "title" : "Parameter Usage Description", - "description" : "Describes the purpose and use of a parameter", - "type" : "string" }, - "constraints" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_parameter-constraint" } }, - "guidelines" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_parameter-guideline" } }, - "values" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-catalog-common_parameter-value" } }, - "select" : - { "$ref" : "#assembly_oscal-catalog-common_parameter-selection" } }, - "required" : - [ "param-id" ], - "additionalProperties" : false } }, - "alters" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-profile_alter" } } }, - "additionalProperties" : false }, - "oscal-complete-oscal-profile:insert-controls" : - { "title" : "Select controls", - "description" : "Specifies which controls to use in the containing context.", - "$id" : "#assembly_oscal-profile_insert-controls", - "type" : "object", - "properties" : - { "order" : - { "title" : "Order", - "description" : "A designation of how a selection of controls in a profile is to be ordered.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$", - "enum" : - [ "keep", - "ascending", - "descending" ] }, - "include-all" : - { "$ref" : "#assembly_oscal-catalog-common_include-all" }, - "include-controls" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-profile_select-control-by-id" } }, - "exclude-controls" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-profile_select-control-by-id" } } }, - "additionalProperties" : false }, - "oscal-complete-oscal-profile:select-control-by-id" : - { "title" : "Call", - "description" : "Call a control by its ID", - "$id" : "#assembly_oscal-profile_select-control-by-id", - "type" : "object", - "properties" : - { "with-child-controls" : - { "title" : "Include contained controls with control", - "description" : "When a control is included, whether its child (dependent) controls are also included.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$", - "enum" : - [ "yes", - "no" ] }, - "with-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Match Controls by Identifier", - "description" : "", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" } }, - "matching" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Match Controls by Pattern", - "description" : "Select controls by (regular expression) match on ID", - "type" : "object", - "properties" : - { "pattern" : - { "title" : "Pattern", - "description" : "A glob expression matching the IDs of one or more controls to be selected.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" } }, - "additionalProperties" : false } } }, - "additionalProperties" : false }, - "oscal-complete-oscal-profile:alter" : + "required" : + [ "value" ], + "additionalProperties" : false }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid" ], + "additionalProperties" : false } } }, + "additionalProperties" : false }, + "oscal-complete-oscal-metadata:property" : + { "title" : "Property", + "description" : "An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair.", + "$id" : "#assembly_oscal-metadata_property", + "type" : "object", + "properties" : + { "name" : + { "title" : "Property Name", + "description" : "A textual label, within a namespace, that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.", + "$ref" : "#/definitions/TokenDatatype" }, + "uuid" : + { "title" : "Property Universally Unique Identifier", + "description" : "A unique identifier for a property.", + "$ref" : "#/definitions/UUIDDatatype" }, + "ns" : + { "title" : "Property Namespace", + "description" : "A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.", + "$ref" : "#/definitions/URIDatatype" }, + "value" : + { "title" : "Property Value", + "description" : "Indicates the value of the attribute, characteristic, or quality.", + "$ref" : "#/definitions/StringDatatype" }, + "class" : + { "title" : "Property Class", + "description" : "A textual label that provides a sub-type or characterization of the property's name.", + "$ref" : "#/definitions/TokenDatatype" }, + "group" : + { "title" : "Property Group", + "description" : "An identifier for relating distinct sets of properties.", + "$ref" : "#/definitions/TokenDatatype" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "name", + "value" ], + "additionalProperties" : false }, + "oscal-complete-oscal-metadata:link" : + { "title" : "Link", + "description" : "A reference to a local or remote resource, that has a specific relation to the containing object.", + "$id" : "#assembly_oscal-metadata_link", + "type" : "object", + "properties" : + { "href" : + { "title" : "Hypertext Reference", + "description" : "A resolvable URL reference to a resource.", + "$ref" : "#/definitions/URIReferenceDatatype" }, + "rel" : + { "title" : "Link Relation Type", + "description" : "Describes the type of relationship provided by the link's hypertext reference. This can be an indicator of the link's purpose.", + "$ref" : "#/definitions/TokenDatatype" }, + "media-type" : + { "title" : "Media Type", + "description" : "A label that indicates the nature of a resource, as a data serialization or format.", + "$ref" : "#/definitions/StringDatatype" }, + "resource-fragment" : + { "title" : "Resource Fragment", + "description" : "In case where the href points to a back-matter/resource, this value will indicate the URI fragment to append to any rlink associated with the resource. This value MUST be URI encoded.", + "$ref" : "#/definitions/StringDatatype" }, + "text" : + { "title" : "Link Text", + "description" : "A textual label to associate with the link, which may be used for presentation in a tool.", + "type" : "string" } }, + "required" : + [ "href" ], + "additionalProperties" : false }, + "oscal-complete-oscal-metadata:responsible-party" : + { "title" : "Responsible Party", + "description" : "A reference to a set of persons and/or organizations that have responsibility for performing the referenced role in the context of the containing object.", + "$id" : "#assembly_oscal-metadata_responsible-party", + "type" : "object", + "properties" : + { "role-id" : + { "title" : "Responsible Role", + "description" : "A reference to a role performed by a party.", + "$ref" : "#/definitions/TokenDatatype" }, + "party-uuids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_party-uuid" } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "role-id", + "party-uuids" ], + "additionalProperties" : false }, + "oscal-complete-oscal-metadata:action" : + { "title" : "Action", + "description" : "An action applied by a role within a given party to the content.", + "$id" : "#assembly_oscal-metadata_action", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Action Universally Unique Identifier", + "description" : "A unique identifier that can be used to reference this defined action elsewhere in an OSCAL document. A UUID should be consistently used for a given location across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "date" : + { "title" : "Action Occurrence Date", + "description" : "The date and time when the action occurred.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "type" : + { "title" : "Action Type", + "description" : "The type of action documented by the assembly, such as an approval.", + "$ref" : "#/definitions/TokenDatatype" }, + "system" : + { "title" : "Action Type System", + "description" : "Specifies the action type system used.", + "$ref" : "#/definitions/URIDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "responsible-parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "type", + "system" ], + "additionalProperties" : false }, + "oscal-complete-oscal-metadata:responsible-role" : + { "title" : "Responsible Role", + "description" : "A reference to a role with responsibility for performing a function relative to the containing object, optionally associated with a set of persons and/or organizations that perform that role.", + "$id" : "#assembly_oscal-metadata_responsible-role", + "type" : "object", + "properties" : + { "role-id" : + { "title" : "Responsible Role ID", + "description" : "A human-oriented identifier reference to a role performed.", + "$ref" : "#/definitions/TokenDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "party-uuids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_party-uuid" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "role-id" ], + "additionalProperties" : false }, + "oscal-complete-oscal-metadata:hash" : + { "title" : "Hash", + "description" : "A representation of a cryptographic digest generated over a resource using a specified hash algorithm.", + "$id" : "#field_oscal-metadata_hash", + "type" : "object", + "properties" : + { "algorithm" : + { "title" : "Hash algorithm", + "description" : "The digest method by which a hash is derived.", + "$ref" : "#/definitions/StringDatatype" }, + "value" : + { "type" : "string" } }, + "required" : + [ "value", + "algorithm" ], + "additionalProperties" : false }, + "oscal-complete-oscal-metadata:remarks" : + { "title" : "Remarks", + "description" : "Additional commentary about the containing object.", + "$id" : "#field_oscal-metadata_remarks", + "type" : "string" }, + "oscal-complete-oscal-metadata:published" : + { "title" : "Publication Timestamp", + "description" : "The date and time the document was last made available.", + "$id" : "#field_oscal-metadata_published", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "oscal-complete-oscal-metadata:last-modified" : + { "title" : "Last Modified Timestamp", + "description" : "The date and time the document was last stored for later retrieval.", + "$id" : "#field_oscal-metadata_last-modified", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "oscal-complete-oscal-metadata:version" : + { "title" : "Document Version", + "description" : "Used to distinguish a specific revision of an OSCAL document from other previous and future versions.", + "$id" : "#field_oscal-metadata_version", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-complete-oscal-metadata:oscal-version" : + { "title" : "OSCAL Version", + "description" : "The OSCAL model version the document was authored against and will conform to as valid.", + "$id" : "#field_oscal-metadata_oscal-version", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-complete-oscal-metadata:email-address" : + { "title" : "Email Address", + "description" : "An email address as defined by RFC 5322 Section 3.4.1.", + "$id" : "#field_oscal-metadata_email-address", + "$ref" : "#/definitions/EmailAddressDatatype" }, + "oscal-complete-oscal-metadata:telephone-number" : + { "title" : "Telephone Number", + "description" : "A telephone service number as defined by ITU-T E.164.", + "$id" : "#field_oscal-metadata_telephone-number", + "type" : "object", + "properties" : + { "type" : + { "title" : "type flag", + "description" : "Indicates the type of phone number.", + "$ref" : "#/definitions/StringDatatype" }, + "number" : + { "type" : "string" } }, + "required" : + [ "number" ], + "additionalProperties" : false }, + "oscal-complete-oscal-metadata:address" : + { "title" : "Address", + "description" : "A postal address for the location.", + "$id" : "#assembly_oscal-metadata_address", + "type" : "object", + "properties" : + { "type" : + { "title" : "Address Type", + "description" : "Indicates the type of address.", + "$ref" : "#/definitions/TokenDatatype" }, + "addr-lines" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_addr-line" } }, + "city" : + { "title" : "City", + "description" : "City, town or geographical region for the mailing address.", + "$ref" : "#/definitions/StringDatatype" }, + "state" : + { "title" : "State", + "description" : "State, province or analogous geographical region for a mailing address.", + "$ref" : "#/definitions/StringDatatype" }, + "postal-code" : + { "title" : "Postal Code", + "description" : "Postal or ZIP code for mailing address.", + "$ref" : "#/definitions/StringDatatype" }, + "country" : + { "title" : "Country Code", + "description" : "The ISO 3166-1 alpha-2 country code for the mailing address.", + "$ref" : "#/definitions/StringDatatype" } }, + "additionalProperties" : false }, + "oscal-complete-oscal-metadata:addr-line" : + { "title" : "Address line", + "description" : "A single line of an address.", + "$id" : "#field_oscal-metadata_addr-line", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-complete-oscal-metadata:document-id" : + { "title" : "Document Identifier", + "description" : "A document identifier qualified by an identifier scheme.", + "$id" : "#field_oscal-metadata_document-id", + "type" : "object", + "properties" : + { "scheme" : + { "title" : "Document Identification Scheme", + "description" : "Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters.", + "$ref" : "#/definitions/URIDatatype" }, + "identifier" : + { "type" : "string" } }, + "required" : + [ "identifier" ], + "additionalProperties" : false }, + "oscal-complete-oscal-mapping-common:map" : + { "title" : "Mapping Entry", + "description" : "A relationship-based mapping between a source and target set consisting of members (i.e., controls, control statements) from the respective source and target.", + "$id" : "#assembly_oscal-mapping-common_map", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Mapping Entry Identifier", + "description" : "The unique identifier for the mapping entry.", + "$ref" : "#/definitions/UUIDDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "relationship" : + { "title" : "Mapping Entry Relationship", + "description" : "The relationship type for the mapping entry, which describes the relationship between the effective requirements of the specified source and target sets.", + "type" : "object", + "properties" : + { "ns" : + { "title" : "Relationship Value Namespace", + "description" : "A namespace qualifying the relationship's value. This allows different organizations to associate distinct semantics for relationships with the same name.", + "$ref" : "#/definitions/URIDatatype" }, + "type" : + { "type" : "string" } }, + "required" : + [ "type" ], + "additionalProperties" : false, + "enum" : + [ "equivalent-to", + "equal-to", + "subset-of", + "superset-of", + "intersects-with" ] }, + "sources" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-mapping-common_mapping-item" } }, + "targets" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-mapping-common_mapping-item" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "relationship", + "sources", + "targets" ], + "additionalProperties" : false }, + "oscal-complete-oscal-mapping-common:mapping-item" : + { "title" : "Mapping Entry Item (source or target)", + "description" : "Identifies a specific edge within a source or target that is the subject of a mapping.", + "$id" : "#assembly_oscal-mapping-common_mapping-item", + "type" : "object", + "properties" : + { "type" : + { "title" : "Subject Type", + "description" : "The semantic type of the subject.", + "allOf" : + [ + { "$ref" : "#/definitions/TokenDatatype" }, + + { "enum" : + [ "control", + "statement" ] } ] }, + "id-ref" : + { "title" : "Subject Identifier Reference", + "description" : "A reference to an identified subject that is of the specified type.", + "$ref" : "#/definitions/StringDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "type", + "id-ref" ], + "additionalProperties" : false }, + "oscal-complete-oscal-mapping-common:mapping-resource-reference" : + { "title" : "Mapped Resource Reference", + "description" : "A reference to a resource that is either the source or target of a mapping.", + "$id" : "#assembly_oscal-mapping-common_mapping-resource-reference", + "type" : "object", + "properties" : + { "type" : + { "title" : "Resource Type", + "description" : "The semantic type of the resource.", + "allOf" : + [ + { "$ref" : "#/definitions/TokenDatatype" }, + + { "enum" : + [ "catalog" ] } ] }, + "href" : + { "title" : "Catalog or Profile Reference", + "description" : "A resolvable URL reference to the base catalog or profile that this profile is tailoring.", + "$ref" : "#/definitions/URIReferenceDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "type", + "href" ], + "additionalProperties" : false }, + "oscal-complete-oscal-mapping:mapping-collection" : + { "title" : "Mapping Collection", + "description" : "A collection of relationship-based control and/or control statement mappings.", + "$id" : "#assembly_oscal-mapping_mapping-collection", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Mapping Collection Universally Unique Identifier", + "description" : "A globally unique identifier with cross-instance scope for this catalog instance. This UUID should be changed when this document is revised.", + "$ref" : "#/definitions/UUIDDatatype" }, + "metadata" : + { "$ref" : "#assembly_oscal-metadata_metadata" }, + "mappings" : + { "anyOf" : + [ + { "$ref" : "#assembly_oscal-mapping_mapping" }, + + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-mapping_mapping" } } ] }, + "back-matter" : + { "$ref" : "#assembly_oscal-metadata_back-matter" } }, + "required" : + [ "uuid", + "metadata", + "mappings" ], + "additionalProperties" : false }, + "oscal-complete-oscal-mapping:mapping" : + { "title" : "Control Mapping", + "description" : "A mapping between two target resources.", + "$id" : "#assembly_oscal-mapping_mapping", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Mapping Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this mapping definition elsewhere in this or other OSCAL instances. The locally defined UUID of the mapping can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same mapping across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "source-resource" : + { "$ref" : "#assembly_oscal-mapping-common_mapping-resource-reference" }, + "target-resource" : + { "$ref" : "#assembly_oscal-mapping-common_mapping-resource-reference" }, + "maps" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-mapping-common_map" } } }, + "required" : + [ "uuid", + "source-resource", + "target-resource", + "maps" ], + "additionalProperties" : false }, + "oscal-complete-oscal-profile:profile" : + { "title" : "Profile", + "description" : "Each OSCAL profile is defined by a profile element.", + "$id" : "#assembly_oscal-profile_profile", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Profile Universally Unique Identifier", + "description" : "Provides a globally unique means to identify a given profile instance.", + "$ref" : "#/definitions/UUIDDatatype" }, + "metadata" : + { "$ref" : "#assembly_oscal-metadata_metadata" }, + "imports" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-profile_import" } }, + "merge" : + { "$ref" : "#assembly_oscal-profile_merge" }, + "modify" : + { "$ref" : "#assembly_oscal-profile_modify" }, + "back-matter" : + { "$ref" : "#assembly_oscal-metadata_back-matter" } }, + "required" : + [ "uuid", + "metadata", + "imports" ], + "additionalProperties" : false }, + "oscal-complete-oscal-profile:import" : + { "title" : "Import Resource", + "description" : "Designates a referenced source catalog or profile that provides a source of control information for use in creating a new overlay or baseline.", + "$id" : "#assembly_oscal-profile_import", + "type" : "object", + "properties" : + { "href" : + { "title" : "Catalog or Profile Reference", + "description" : "A resolvable URL reference to the base catalog or profile that this profile is tailoring.", + "$ref" : "#/definitions/URIReferenceDatatype" }, + "include-all" : + { "$ref" : "#assembly_oscal-control-common_include-all" }, + "include-controls" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-profile_select-control-by-id" } }, + "exclude-controls" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-profile_select-control-by-id" } } }, + "required" : + [ "href" ], + "additionalProperties" : false }, + "oscal-complete-oscal-profile:merge" : + { "title" : "Merge Controls", + "description" : "Provides structuring directives that instruct how controls are organized after profile resolution.", + "$id" : "#assembly_oscal-profile_merge", + "type" : "object", + "properties" : + { "combine" : + { "title" : "Combination Rule", + "description" : "A Combine element defines how to resolve duplicate instances of the same control (e.g., controls with the same ID).", + "type" : "object", + "properties" : + { "method" : + { "title" : "Combination Method", + "description" : "Declare how clashing controls should be handled.", + "allOf" : + [ + { "$ref" : "#/definitions/StringDatatype" }, + + { "enum" : + [ "use-first", + "merge", + "keep" ] } ] } }, + "additionalProperties" : false }, + "flat" : + { "title" : "Flat Without Grouping", + "description" : "Directs that controls appear without any grouping structure.", + "type" : "object", + "additionalProperties" : false }, + "as-is" : + { "title" : "Group As-Is", + "description" : "Indicates that the controls selected should retain their original grouping as defined in the import source.", + "$ref" : "#/definitions/BooleanDatatype" }, + "custom" : + { "title" : "Custom Grouping", + "description" : "Provides an alternate grouping structure that selected controls will be placed in.", + "type" : "object", + "properties" : + { "groups" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-profile_group" } }, + "insert-controls" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-profile_insert-controls" } } }, + "additionalProperties" : false } }, + "additionalProperties" : false }, + "oscal-complete-oscal-profile:group" : + { "title" : "Control Group", + "description" : "A group of (selected) controls or of groups of controls.", + "$id" : "#assembly_oscal-profile_group", + "type" : "object", + "properties" : + { "id" : + { "title" : "Group Identifier", + "description" : "Identifies the group.", + "$ref" : "#/definitions/TokenDatatype" }, + "class" : + { "title" : "Group Class", + "description" : "A textual label that provides a sub-type or characterization of the group.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Group Title", + "description" : "A name to be given to the group for use in display.", + "type" : "string" }, + "params" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_parameter" } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "parts" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_part" } }, + "groups" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-profile_group" } }, + "insert-controls" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-profile_insert-controls" } } }, + "required" : + [ "title" ], + "additionalProperties" : false }, + "oscal-complete-oscal-profile:modify" : + { "title" : "Modify Controls", + "description" : "Set parameters or amend controls in resolution.", + "$id" : "#assembly_oscal-profile_modify", + "type" : "object", + "properties" : + { "set-parameters" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Parameter Setting", + "description" : "A parameter setting, to be propagated to points of insertion.", + "type" : "object", + "properties" : + { "param-id" : + { "title" : "Parameter ID", + "description" : "An identifier for the parameter.", + "$ref" : "#/definitions/TokenDatatype" }, + "class" : + { "title" : "Parameter Class", + "description" : "A textual label that provides a characterization of the parameter.", + "$ref" : "#/definitions/TokenDatatype" }, + "depends-on" : + { "title" : "Depends On", + "description" : "**(deprecated)** Another parameter invoking this one. This construct has been deprecated and should not be used.", + "$ref" : "#/definitions/TokenDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "label" : + { "title" : "Parameter Label", + "description" : "A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned.", + "type" : "string" }, + "usage" : + { "title" : "Parameter Usage Description", + "description" : "Describes the purpose and use of a parameter.", + "type" : "string" }, + "constraints" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_parameter-constraint" } }, + "guidelines" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_parameter-guideline" } }, + "values" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-control-common_parameter-value" } }, + "select" : + { "$ref" : "#assembly_oscal-control-common_parameter-selection" } }, + "required" : + [ "param-id" ], + "additionalProperties" : false } }, + "alters" : + { "type" : "array", + "minItems" : 1, + "items" : { "title" : "Alteration", - "description" : "An Alter element specifies changes to be made to an included control when a profile is resolved.", - "$id" : "#assembly_oscal-profile_alter", - "type" : "object", - "properties" : - { "control-id" : - { "title" : "Control Identifier Reference", - "description" : "A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference).", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "removes" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-profile_remove" } }, - "adds" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-profile_add" } } }, - "required" : - [ "control-id" ], - "additionalProperties" : false }, - "oscal-complete-oscal-profile:remove" : - { "title" : "Removal", - "description" : "Specifies objects to be removed from a control based on specific aspects of the object that must all match.", - "$id" : "#assembly_oscal-profile_remove", - "type" : "object", - "properties" : - { "by-name" : - { "title" : "Reference by (assigned) name", - "description" : "Identify items to remove by matching their assigned name", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "by-class" : - { "title" : "Reference by class", + "description" : "Specifies changes to be made to an included control when a profile is resolved.", + "type" : "object", + "properties" : + { "control-id" : + { "title" : "Control Identifier Reference", + "description" : "A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference).", + "$ref" : "#/definitions/TokenDatatype" }, + "removes" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Removal", + "description" : "Specifies objects to be removed from a control based on specific aspects of the object that must all match.", + "type" : "object", + "properties" : + { "by-name" : + { "title" : "Reference by (assigned) name", + "description" : "Identify items remove by matching their assigned name.", + "$ref" : "#/definitions/TokenDatatype" }, + "by-class" : + { "title" : "Reference by class", "description" : "Identify items to remove by matching their class.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "by-id" : - { "title" : "Reference by ID", + "$ref" : "#/definitions/TokenDatatype" }, + "by-id" : + { "title" : "Reference by ID", "description" : "Identify items to remove indicated by their id.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "by-item-name" : - { "title" : "Item Name Reference", - "description" : "Identify items to remove by the name of the item's information element name, e.g. title or prop", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "by-ns" : - { "title" : "Item Namespace Reference", - "description" : "Identify items to remove by the item's ns, which is the namespace associated with a part, or prop.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" } }, - "additionalProperties" : false }, - "oscal-complete-oscal-profile:add" : - { "title" : "Addition", - "description" : "Specifies contents to be added into controls, in resolution", - "$id" : "#assembly_oscal-profile_add", - "type" : "object", - "properties" : - { "position" : - { "title" : "Position", - "description" : "Where to add the new content with respect to the targeted element (beside it or inside it)", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$", - "enum" : - [ "before", - "after", - "starting", - "ending" ] }, - "by-id" : - { "title" : "Reference by ID", - "description" : "Target location of the addition.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "title" : - { "title" : "Title Change", - "description" : "A name given to the control, which may be used by a tool for display and navigation.", - "type" : "string" }, - "params" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_parameter" } }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "parts" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_part" } } }, - "additionalProperties" : false }, - "oscal-complete-oscal-component-definition:component-definition" : - { "title" : "Component Definition", - "description" : "A collection of component descriptions, which may optionally be grouped by capability.", - "$id" : "#assembly_oscal-component-definition_component-definition", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Component Definition Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component definition elsewhere in this or other OSCAL instances. The locally defined UUID of the component definition can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "metadata" : - { "$ref" : "#assembly_oscal-metadata_metadata" }, - "import-component-definitions" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-component-definition_import-component-definition" } }, - "components" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-component-definition_defined-component" } }, - "capabilities" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-component-definition_capability" } }, - "back-matter" : - { "$ref" : "#assembly_oscal-metadata_back-matter" } }, - "required" : - [ "uuid", - "metadata" ], - "additionalProperties" : false }, - "oscal-complete-oscal-component-definition:import-component-definition" : - { "title" : "Import Component Definition", - "description" : "Loads a component definition from another resource.", - "$id" : "#assembly_oscal-component-definition_import-component-definition", - "type" : "object", - "properties" : - { "href" : - { "title" : "Hyperlink Reference", - "description" : "A link to a resource that defines a set of components and/or capabilities to import into this collection.", - "type" : "string", - "format" : "uri-reference" } }, - "required" : - [ "href" ], - "additionalProperties" : false }, - "oscal-complete-oscal-component-definition:defined-component" : - { "title" : "Component", - "description" : "A defined component that can be part of an implemented system.", - "$id" : "#assembly_oscal-component-definition_defined-component", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Component Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component elsewhere in this or other OSCAL instances. The locally defined UUID of the component can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "type" : - { "title" : "Component Type", - "description" : "A category describing the purpose of the component.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "title" : - { "title" : "Component Title", - "description" : "A human readable name for the component.", - "type" : "string" }, - "description" : - { "title" : "Component Description", - "description" : "A description of the component, including information about its function.", - "type" : "string" }, - "purpose" : - { "title" : "Purpose", - "description" : "A summary of the technological or business purpose of the component.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "responsible-roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, - "protocols" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_protocol" } }, - "control-implementations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-component-definition_control-implementation" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "type", - "title", - "description" ], - "additionalProperties" : false }, - "oscal-complete-oscal-component-definition:capability" : - { "title" : "Capability", - "description" : "A grouping of other components and/or capabilities.", - "$id" : "#assembly_oscal-component-definition_capability", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Capability Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this capability elsewhere in this or other OSCAL instances. The locally defined UUID of the capability can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance).This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "name" : - { "title" : "Capability Name", - "description" : "The capability's human-readable name.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "description" : - { "title" : "Capability Description", - "description" : "A summary of the capability.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "incorporates-components" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-component-definition_incorporates-component" } }, - "control-implementations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-component-definition_control-implementation" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "name", - "description" ], - "additionalProperties" : false }, - "oscal-complete-oscal-component-definition:incorporates-component" : - { "title" : "Incorporates Component", - "description" : "TBD", - "$id" : "#assembly_oscal-component-definition_incorporates-component", - "type" : "object", - "properties" : - { "component-uuid" : - { "title" : "Component Reference", - "description" : "A machine-oriented identifier reference to a component.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "description" : - { "title" : "Component Description", - "description" : "A description of the component, including information about its function.", - "type" : "string" } }, - "required" : - [ "component-uuid", - "description" ], - "additionalProperties" : false }, - "oscal-complete-oscal-component-definition:control-implementation" : - { "title" : "Control Implementation Set", - "description" : "Defines how the component or capability supports a set of controls.", - "$id" : "#assembly_oscal-component-definition_control-implementation", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Control Implementation Set Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference a set of implemented controls elsewhere in this or other OSCAL instances. The locally defined UUID of the control implementation set can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "source" : - { "title" : "Source Resource Reference", - "description" : "A reference to an OSCAL catalog or profile providing the referenced control or subcontrol definition.", - "type" : "string", - "format" : "uri-reference" }, - "description" : - { "title" : "Control Implementation Description", - "description" : "A description of how the specified set of controls are implemented for the containing component or capability.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "set-parameters" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_set-parameter" } }, - "implemented-requirements" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-component-definition_implemented-requirement" } } }, - "required" : - [ "uuid", - "source", - "description", - "implemented-requirements" ], - "additionalProperties" : false }, - "oscal-complete-oscal-component-definition:implemented-requirement" : - { "title" : "Control Implementation", - "description" : "Describes how the containing component or capability implements an individual control.", - "$id" : "#assembly_oscal-component-definition_implemented-requirement", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Control Implementation Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference a specific control implementation elsewhere in this or other OSCAL instances. The locally defined UUID of the control implementation can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance).This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "control-id" : - { "title" : "Control Identifier Reference", - "description" : "A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference).", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "description" : - { "title" : "Control Implementation Description", - "description" : "A suggestion for how the specified control may be implemented if the containing component or capability is instantiated in a system security plan.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "set-parameters" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_set-parameter" } }, - "responsible-roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, - "statements" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-component-definition_statement" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "control-id", - "description" ], - "additionalProperties" : false }, - "oscal-complete-oscal-component-definition:statement" : - { "title" : "Control Statement Implementation", - "description" : "Identifies which statements within a control are addressed.", - "$id" : "#assembly_oscal-component-definition_statement", - "type" : "object", - "properties" : - { "statement-id" : - { "title" : "Control Statement Reference", - "description" : "A human-oriented identifier reference to a control statement.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "uuid" : - { "title" : "Control Statement Reference Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this control statement elsewhere in this or other OSCAL instances. The UUID of the control statement in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "description" : - { "title" : "Statement Implementation Description", - "description" : "A summary of how the containing control statement is implemented by the component or capability.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "responsible-roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "statement-id", - "uuid", - "description" ], - "additionalProperties" : false }, - "oscal-complete-oscal-implementation-common:system-component" : - { "title" : "Component", - "description" : "A defined component that can be part of an implemented system.", - "$id" : "#assembly_oscal-implementation-common_system-component", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Component Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component elsewhere in this or other OSCAL instances. The locally defined UUID of the component can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "type" : - { "title" : "Component Type", - "description" : "A category describing the purpose of the component.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "title" : - { "title" : "Component Title", - "description" : "A human readable name for the system component.", - "type" : "string" }, - "description" : - { "title" : "Component Description", - "description" : "A description of the component, including information about its function.", - "type" : "string" }, - "purpose" : - { "title" : "Purpose", - "description" : "A summary of the technological or business purpose of the component.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "status" : - { "title" : "Status", - "description" : "Describes the operational status of the system component.", - "type" : "object", - "properties" : - { "state" : - { "title" : "State", - "description" : "The operational status.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$", - "enum" : - [ "under-development", - "operational", - "disposition", - "other" ] }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "state" ], - "additionalProperties" : false }, - "responsible-roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, - "protocols" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_protocol" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "type", - "title", - "description", - "status" ], - "additionalProperties" : false }, - "oscal-complete-oscal-implementation-common:protocol" : - { "title" : "Service Protocol Information", - "description" : "Information about the protocol used to provide a service.", - "$id" : "#assembly_oscal-implementation-common_protocol", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Service Protocol Information Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this service protocol information elsewhere in this or other OSCAL instances. The locally defined UUID of the service protocol can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "name" : - { "title" : "Protocol Name", - "description" : "The common name of the protocol, which should be the appropriate \"service name\" from the IANA Service Name and Transport Protocol Port Number Registry.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "title" : - { "title" : "Protocol Title", - "description" : "A human readable name for the protocol (e.g., Transport Layer Security).", - "type" : "string" }, - "port-ranges" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_port-range" } } }, - "required" : - [ "name" ], - "additionalProperties" : false }, - "oscal-complete-oscal-implementation-common:port-range" : - { "title" : "Port Range", - "description" : "Where applicable this is the IPv4 port range on which the service operates.", - "$id" : "#assembly_oscal-implementation-common_port-range", - "type" : "object", - "properties" : - { "start" : - { "title" : "Start", - "description" : "Indicates the starting port number in a port range", - "type" : "integer", - "multipleOf" : 1, - "minimum" : 0 }, - "end" : - { "title" : "End", - "description" : "Indicates the ending port number in a port range", - "type" : "integer", - "multipleOf" : 1, - "minimum" : 0 }, - "transport" : - { "title" : "Transport", - "description" : "Indicates the transport type.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$", - "enum" : - [ "TCP", - "UDP" ] } }, - "additionalProperties" : false }, - "oscal-complete-oscal-implementation-common:implementation-status" : - { "title" : "Implementation Status", - "description" : "Indicates the degree to which the a given control is implemented.", - "$id" : "#assembly_oscal-implementation-common_implementation-status", - "type" : "object", - "properties" : - { "state" : - { "title" : "Implementation State", - "description" : "Identifies the implementation status of the control or control objective.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "state" ], - "additionalProperties" : false }, - "oscal-complete-oscal-implementation-common:system-user" : - { "title" : "System User", - "description" : "A type of user that interacts with the system based on an associated role.", - "$id" : "#assembly_oscal-implementation-common_system-user", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "User Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this user class elsewhere in this or other OSCAL instances. The locally defined UUID of the system user can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "User Title", - "description" : "A name given to the user, which may be used by a tool for display and navigation.", - "type" : "string" }, - "short-name" : - { "title" : "User Short Name", - "description" : "A short common name, abbreviation, or acronym for the user.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "description" : - { "title" : "User Description", - "description" : "A summary of the user's purpose within the system.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "role-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_role-id" } }, - "authorized-privileges" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_authorized-privilege" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid" ], - "additionalProperties" : false }, - "oscal-complete-oscal-implementation-common:authorized-privilege" : - { "title" : "Privilege", - "description" : "Identifies a specific system privilege held by the user, along with an associated description and/or rationale for the privilege.", - "$id" : "#assembly_oscal-implementation-common_authorized-privilege", - "type" : "object", - "properties" : - { "title" : - { "title" : "Privilege Title", - "description" : "A human readable name for the privilege.", - "type" : "string" }, - "description" : - { "title" : "Privilege Description", - "description" : "A summary of the privilege's purpose within the system.", - "type" : "string" }, - "functions-performed" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-implementation-common_function-performed" } } }, - "required" : - [ "title", - "functions-performed" ], - "additionalProperties" : false }, - "oscal-complete-oscal-implementation-common:function-performed" : - { "title" : "Functions Performed", - "description" : "Describes a function performed for a given authorized privilege by this user class.", - "$id" : "#field_oscal-implementation-common_function-performed", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "oscal-complete-oscal-implementation-common:inventory-item" : - { "title" : "Inventory Item", - "description" : "A single managed inventory item within the system.", - "$id" : "#assembly_oscal-implementation-common_inventory-item", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Inventory Item Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inventory item elsewhere in this or other OSCAL instances. The locally defined UUID of the inventory item can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "description" : - { "title" : "Inventory Item Description", - "description" : "A summary of the inventory item stating its purpose within the system.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "responsible-parties" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, - "implemented-components" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Implemented Component", - "description" : "The set of components that are implemented in a given system inventory item.", - "type" : "object", - "properties" : - { "component-uuid" : - { "title" : "Component Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to a component that is implemented as part of an inventory item.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "responsible-parties" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "component-uuid" ], - "additionalProperties" : false } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "description" ], - "additionalProperties" : false }, - "oscal-complete-oscal-implementation-common:set-parameter" : - { "title" : "Set Parameter Value", - "description" : "Identifies the parameter that will be set by the enclosed value.", - "$id" : "#assembly_oscal-implementation-common_set-parameter", - "type" : "object", - "properties" : - { "param-id" : - { "title" : "Parameter ID", - "description" : "A human-oriented reference to a parameter within a control, who's catalog has been imported into the current implementation context.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "values" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Parameter Value", - "description" : "A parameter value or set of values.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "param-id", - "values" ], - "additionalProperties" : false }, - "oscal-complete-oscal-implementation-common:system-id" : - { "title" : "System Identification", - "description" : "A human-oriented, globally unique identifier with cross-instance scope that can be used to reference this system identification property elsewhere in this or other OSCAL instances. When referencing an externally defined system identification, the system identification must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). This string should be assigned per-subject, which means it should be consistently used to identify the same system across revisions of the document.", - "$id" : "#field_oscal-implementation-common_system-id", - "type" : "object", - "properties" : - { "identifier-type" : - { "title" : "Identification System Type", - "description" : "Identifies the identification system from which the provided identifier was assigned.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "id" : - { "type" : "string" } }, - "required" : - [ "id" ], - "additionalProperties" : false }, - "oscal-complete-oscal-ssp:system-security-plan" : - { "title" : "System Security Plan (SSP)", - "description" : "A system security plan, such as those described in NIST SP 800-18", - "$id" : "#assembly_oscal-ssp_system-security-plan", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "System Security Plan Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this system security plan (SSP) elsewhere in this or other OSCAL instances. The locally defined UUID of the SSP can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance).This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "metadata" : - { "$ref" : "#assembly_oscal-metadata_metadata" }, - "import-profile" : - { "$ref" : "#assembly_oscal-ssp_import-profile" }, - "system-characteristics" : - { "$ref" : "#assembly_oscal-ssp_system-characteristics" }, - "system-implementation" : - { "$ref" : "#assembly_oscal-ssp_system-implementation" }, - "control-implementation" : - { "$ref" : "#assembly_oscal-ssp_control-implementation" }, - "back-matter" : - { "$ref" : "#assembly_oscal-metadata_back-matter" } }, - "required" : - [ "uuid", - "metadata", - "import-profile", - "system-characteristics", - "system-implementation", - "control-implementation" ], - "additionalProperties" : false }, - "oscal-complete-oscal-ssp:import-profile" : - { "title" : "Import Profile", - "description" : "Used to import the OSCAL profile representing the system's control baseline.", - "$id" : "#assembly_oscal-ssp_import-profile", - "type" : "object", - "properties" : - { "href" : - { "title" : "Profile Reference", - "description" : "A resolvable URL reference to the profile or catalog to use as the system's control baseline.", - "type" : "string", - "format" : "uri-reference" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "href" ], - "additionalProperties" : false }, - "oscal-complete-oscal-ssp:system-characteristics" : - { "title" : "System Characteristics", - "description" : "Contains the characteristics of the system, such as its name, purpose, and security impact level.", - "$id" : "#assembly_oscal-ssp_system-characteristics", - "type" : "object", - "properties" : - { "system-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-implementation-common_system-id" } }, - "system-name" : - { "title" : "System Name - Full", - "description" : "The full name of the system.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "system-name-short" : - { "title" : "System Name - Short", - "description" : "A short name for the system, such as an acronym, that is suitable for display in a data table or summary list.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "description" : - { "title" : "System Description", - "description" : "A summary of the system.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "date-authorized" : - { "$ref" : "#field_oscal-ssp_date-authorized" }, - "security-sensitivity-level" : - { "title" : "Security Sensitivity Level", - "description" : "The overall information system sensitivity categorization, such as defined by FIPS-199.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "system-information" : - { "$ref" : "#assembly_oscal-ssp_system-information" }, - "security-impact-level" : - { "$ref" : "#assembly_oscal-ssp_security-impact-level" }, - "status" : - { "$ref" : "#assembly_oscal-ssp_status" }, - "authorization-boundary" : - { "$ref" : "#assembly_oscal-ssp_authorization-boundary" }, - "network-architecture" : - { "$ref" : "#assembly_oscal-ssp_network-architecture" }, - "data-flow" : - { "$ref" : "#assembly_oscal-ssp_data-flow" }, - "responsible-parties" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "system-ids", - "system-name", - "description", - "security-sensitivity-level", - "system-information", - "security-impact-level", - "status", - "authorization-boundary" ], - "additionalProperties" : false }, - "oscal-complete-oscal-ssp:system-information" : - { "title" : "System Information", - "description" : "Contains details about all information types that are stored, processed, or transmitted by the system, such as privacy information, and those defined in NIST SP 800-60.", - "$id" : "#assembly_oscal-ssp_system-information", - "type" : "object", - "properties" : - { "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "information-types" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Information Type", - "description" : "Contains details about one information type that is stored, processed, or transmitted by the system, such as privacy information, and those defined in NIST SP 800-60.", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Information Type Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this information type elsewhere in this or other OSCAL instances. The locally defined UUID of the information type can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "title field", - "description" : "A human readable name for the information type. This title should be meaningful within the context of the system.", - "type" : "string" }, - "description" : - { "title" : "Information Type Description", - "description" : "A summary of how this information type is used within the system.", - "type" : "string" }, - "categorizations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Information Type Categorization", - "description" : "A set of information type identifiers qualified by the given identification system used, such as NIST SP 800-60.", - "type" : "object", - "properties" : - { "system" : - { "title" : "Information Type Identification System", - "description" : "Specifies the information type identification system used.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "information-type-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Information Type Systematized Identifier", - "description" : "A human-oriented, globally unique identifier qualified by the given identification system used, such as NIST SP 800-60. This identifier has cross-instance scope and can be used to reference this system elsewhere in this or other OSCAL instances. This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" } } }, - "required" : - [ "system" ], - "additionalProperties" : false } }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "confidentiality-impact" : - { "title" : "Confidentiality Impact Level", - "description" : "The expected level of impact resulting from the unauthorized disclosure of the described information.", - "type" : "object", - "properties" : - { "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "base" : - { "$ref" : "#field_oscal-ssp_base" }, - "selected" : - { "$ref" : "#field_oscal-ssp_selected" }, - "adjustment-justification" : - { "$ref" : "#field_oscal-ssp_adjustment-justification" } }, - "required" : - [ "base" ], - "additionalProperties" : false }, - "integrity-impact" : - { "title" : "Integrity Impact Level", - "description" : "The expected level of impact resulting from the unauthorized modification of the described information.", - "type" : "object", - "properties" : - { "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "base" : - { "$ref" : "#field_oscal-ssp_base" }, - "selected" : - { "$ref" : "#field_oscal-ssp_selected" }, - "adjustment-justification" : - { "$ref" : "#field_oscal-ssp_adjustment-justification" } }, - "required" : - [ "base" ], - "additionalProperties" : false }, - "availability-impact" : - { "title" : "Availability Impact Level", - "description" : "The expected level of impact resulting from the disruption of access to or use of the described information or the information system.", - "type" : "object", - "properties" : - { "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "base" : - { "$ref" : "#field_oscal-ssp_base" }, - "selected" : - { "$ref" : "#field_oscal-ssp_selected" }, - "adjustment-justification" : - { "$ref" : "#field_oscal-ssp_adjustment-justification" } }, - "required" : - [ "base" ], - "additionalProperties" : false } }, - "required" : - [ "title", - "description", - "confidentiality-impact", - "integrity-impact", - "availability-impact" ], - "additionalProperties" : false } } }, - "required" : - [ "information-types" ], - "additionalProperties" : false }, - "oscal-complete-oscal-ssp:base" : - { "title" : "Base Level (Confidentiality, Integrity, or Availability)", - "description" : "The prescribed base (Confidentiality, Integrity, or Availability) security impact level.", - "$id" : "#field_oscal-ssp_base", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "oscal-complete-oscal-ssp:selected" : - { "title" : "Selected Level (Confidentiality, Integrity, or Availability)", - "description" : "The selected (Confidentiality, Integrity, or Availability) security impact level.", - "$id" : "#field_oscal-ssp_selected", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "oscal-complete-oscal-ssp:adjustment-justification" : - { "title" : "Adjustment Justification", - "description" : "If the selected security level is different from the base security level, this contains the justification for the change.", - "$id" : "#field_oscal-ssp_adjustment-justification", - "type" : "string" }, - "oscal-complete-oscal-ssp:security-impact-level" : - { "title" : "Security Impact Level", - "description" : "The overall level of expected impact resulting from unauthorized disclosure, modification, or loss of access to information.", - "$id" : "#assembly_oscal-ssp_security-impact-level", - "type" : "object", - "properties" : - { "security-objective-confidentiality" : - { "title" : "Security Objective: Confidentiality", - "description" : "A target-level of confidentiality for the system, based on the sensitivity of information within the system.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "security-objective-integrity" : - { "title" : "Security Objective: Integrity", - "description" : "A target-level of integrity for the system, based on the sensitivity of information within the system.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "security-objective-availability" : - { "title" : "Security Objective: Availability", - "description" : "A target-level of availability for the system, based on the sensitivity of information within the system.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" } }, - "required" : - [ "security-objective-confidentiality", - "security-objective-integrity", - "security-objective-availability" ], - "additionalProperties" : false }, - "oscal-complete-oscal-ssp:status" : - { "title" : "Status", - "description" : "Describes the operational status of the system.", - "$id" : "#assembly_oscal-ssp_status", - "type" : "object", - "properties" : - { "state" : - { "title" : "State", - "description" : "The current operating status.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$", - "enum" : - [ "operational", - "under-development", - "under-major-modification", - "disposition", - "other" ] }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "state" ], - "additionalProperties" : false }, - "oscal-complete-oscal-ssp:date-authorized" : - { "title" : "System Authorization Date", - "description" : "The date the system received its authorization.", - "$id" : "#field_oscal-ssp_date-authorized", - "type" : "string", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))(Z|[+-][0-9]{2}:[0-9]{2})?$" }, - "oscal-complete-oscal-ssp:authorization-boundary" : - { "title" : "Authorization Boundary", - "description" : "A description of this system's authorization boundary, optionally supplemented by diagrams that illustrate the authorization boundary.", - "$id" : "#assembly_oscal-ssp_authorization-boundary", - "type" : "object", - "properties" : - { "description" : - { "title" : "Authorization Boundary Description", - "description" : "A summary of the system's authorization boundary.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "diagrams" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-ssp_diagram" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "description" ], - "additionalProperties" : false }, - "oscal-complete-oscal-ssp:diagram" : - { "title" : "Diagram", - "description" : "A graphic that provides a visual representation the system, or some aspect of it.", - "$id" : "#assembly_oscal-ssp_diagram", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Diagram ID", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this diagram elsewhere in this or other OSCAL instances. The locally defined UUID of the diagram can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "description" : - { "title" : "Diagram Description", - "description" : "A summary of the diagram.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "caption" : - { "title" : "Caption", - "description" : "A brief caption to annotate the diagram.", - "type" : "string" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid" ], - "additionalProperties" : false }, - "oscal-complete-oscal-ssp:network-architecture" : - { "title" : "Network Architecture", - "description" : "A description of the system's network architecture, optionally supplemented by diagrams that illustrate the network architecture.", - "$id" : "#assembly_oscal-ssp_network-architecture", - "type" : "object", - "properties" : - { "description" : - { "title" : "Network Architecture Description", - "description" : "A summary of the system's network architecture.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "diagrams" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-ssp_diagram" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "description" ], - "additionalProperties" : false }, - "oscal-complete-oscal-ssp:data-flow" : - { "title" : "Data Flow", - "description" : "A description of the logical flow of information within the system and across its boundaries, optionally supplemented by diagrams that illustrate these flows.", - "$id" : "#assembly_oscal-ssp_data-flow", - "type" : "object", - "properties" : - { "description" : - { "title" : "Data Flow Description", - "description" : "A summary of the system's data flow.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "diagrams" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-ssp_diagram" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "description" ], - "additionalProperties" : false }, - "oscal-complete-oscal-ssp:system-implementation" : - { "title" : "System Implementation", - "description" : "Provides information as to how the system is implemented.", - "$id" : "#assembly_oscal-ssp_system-implementation", - "type" : "object", - "properties" : - { "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "leveraged-authorizations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Leveraged Authorization", - "description" : "A description of another authorized system from which this system inherits capabilities that satisfy security requirements. Another term for this concept is a common control provider.", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Leveraged Authorization Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope and can be used to reference this leveraged authorization elsewhere in this or other OSCAL instances. The locally defined UUID of the leveraged authorization can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "title field", - "description" : "A human readable name for the leveraged authorization in the context of the system.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "party-uuid" : - { "title" : "party-uuid field", - "description" : "A machine-oriented identifier reference to the party that manages the leveraged system.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "date-authorized" : - { "$ref" : "#field_oscal-ssp_date-authorized" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "title", - "party-uuid", - "date-authorized" ], - "additionalProperties" : false } }, - "users" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_system-user" } }, - "components" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_system-component" } }, - "inventory-items" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_inventory-item" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "users", - "components" ], - "additionalProperties" : false }, - "oscal-complete-oscal-ssp:control-implementation" : - { "title" : "Control Implementation", - "description" : "Describes how the system satisfies a set of controls.", - "$id" : "#assembly_oscal-ssp_control-implementation", - "type" : "object", - "properties" : - { "description" : - { "title" : "Control Implementation Description", - "description" : "A statement describing important things to know about how this set of control satisfaction documentation is approached.", - "type" : "string" }, - "set-parameters" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_set-parameter" } }, - "implemented-requirements" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-ssp_implemented-requirement" } } }, - "required" : - [ "description", - "implemented-requirements" ], - "additionalProperties" : false }, - "oscal-complete-oscal-ssp:implemented-requirement" : - { "title" : "Control-based Requirement", - "description" : "Describes how the system satisfies the requirements of an individual control.", - "$id" : "#assembly_oscal-ssp_implemented-requirement", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Control Requirement Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this control requirement elsewhere in this or other OSCAL instances. The locally defined UUID of the control requirement can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "control-id" : - { "title" : "Control Identifier Reference", - "description" : "A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference).", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "set-parameters" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_set-parameter" } }, - "responsible-roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, - "statements" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-ssp_statement" } }, - "by-components" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-ssp_by-component" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "control-id" ], - "additionalProperties" : false }, - "oscal-complete-oscal-ssp:statement" : - { "title" : "Specific Control Statement", - "description" : "Identifies which statements within a control are addressed.", - "$id" : "#assembly_oscal-ssp_statement", - "type" : "object", - "properties" : - { "statement-id" : - { "title" : "Control Statement Reference", - "description" : "A human-oriented identifier reference to a control statement.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "uuid" : - { "title" : "Control Statement Reference Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this control statement elsewhere in this or other OSCAL instances. The UUID of the control statement in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "responsible-roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, - "by-components" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-ssp_by-component" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "statement-id", - "uuid" ], - "additionalProperties" : false }, - "oscal-complete-oscal-ssp:by-component" : - { "title" : "Component Control Implementation", - "description" : "Defines how the referenced component implements a set of controls.", - "$id" : "#assembly_oscal-ssp_by-component", - "type" : "object", - "properties" : - { "component-uuid" : - { "title" : "Component Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to the component that is implemeting a given control.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "uuid" : - { "title" : "By-Component Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this by-component entry elsewhere in this or other OSCAL instances. The locally defined UUID of the by-component entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "description" : - { "title" : "Control Implementation Description", - "description" : "An implementation statement that describes how a control or a control statement is implemented within the referenced system component.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "set-parameters" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_set-parameter" } }, - "implementation-status" : - { "$ref" : "#assembly_oscal-implementation-common_implementation-status" }, - "export" : - { "title" : "Export", - "description" : "Identifies content intended for external consumption, such as with leveraged organizations.", - "type" : "object", - "properties" : - { "description" : - { "title" : "Control Implementation Export Description", - "description" : "An implementation statement that describes the aspects of the control or control statement implementation that can be available to another system leveraging this system.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "provided" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Provided Control Implementation", - "description" : "Describes a capability which may be inherited by a leveraging system.", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Provided Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this provided entry elsewhere in this or other OSCAL instances. The locally defined UUID of the provided entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "description" : - { "title" : "Provided Control Implementation Description", - "description" : "An implementation statement that describes the aspects of the control or control statement implementation that can be provided to another system leveraging this system.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "responsible-roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "description" ], - "additionalProperties" : false } }, - "responsibilities" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Control Implementation Responsibility", - "description" : "Describes a control implementation responsibility imposed on a leveraging system.", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Responsibility Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this responsibility elsewhere in this or other OSCAL instances. The locally defined UUID of the responsibility can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "provided-uuid" : - { "title" : "Provided UUID", - "description" : "A machine-oriented identifier reference to an inherited control implementation that a leveraging system is inheriting from a leveraged system.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "description" : - { "title" : "Control Implementation Responsibility Description", - "description" : "An implementation statement that describes the aspects of the control or control statement implementation that a leveraging system must implement to satisfy the control provided by a leveraged system.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "responsible-roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "description" ], - "additionalProperties" : false } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "additionalProperties" : false }, - "inherited" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Inherited Control Implementation", - "description" : "Describes a control implementation inherited by a leveraging system.", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Inherited Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inherited entry elsewhere in this or other OSCAL instances. The locally defined UUID of the inherited control implementation can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "provided-uuid" : - { "title" : "Provided UUID", - "description" : "A machine-oriented identifier reference to an inherited control implementation that a leveraging system is inheriting from a leveraged system.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "description" : - { "title" : "Inherited Control Implementation Description", - "description" : "An implementation statement that describes the aspects of a control or control statement implementation that a leveraging system is inheriting from a leveraged system.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "responsible-roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-role" } } }, - "required" : - [ "uuid", - "description" ], - "additionalProperties" : false } }, - "satisfied" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Satisfied Control Implementation Responsibility", - "description" : "Describes how this system satisfies a responsibility imposed by a leveraged system.", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Satisfied Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this satisfied control implementation entry elsewhere in this or other OSCAL instances. The locally defined UUID of the control implementation can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "responsibility-uuid" : - { "title" : "Responsibility UUID", - "description" : "A machine-oriented identifier reference to a control implementation that satisfies a responsibility imposed by a leveraged system.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "description" : - { "title" : "Satisfied Control Implementation Responsibility Description", - "description" : "An implementation statement that describes the aspects of a control or control statement implementation that a leveraging system is implementing based on a requirement from a leveraged system.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "responsible-roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "description" ], - "additionalProperties" : false } }, - "responsible-roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "component-uuid", - "uuid", - "description" ], - "additionalProperties" : false }, - "oscal-complete-oscal-ap:assessment-plan" : - { "title" : "Security Assessment Plan (SAP)", - "description" : "An assessment plan, such as those provided by a FedRAMP assessor.", - "$id" : "#assembly_oscal-ap_assessment-plan", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Assessment Plan Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment plan in this or other OSCAL instances. The locally defined UUID of the assessment plan can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "metadata" : - { "$ref" : "#assembly_oscal-metadata_metadata" }, - "import-ssp" : - { "$ref" : "#assembly_oscal-assessment-common_import-ssp" }, - "local-definitions" : - { "title" : "Local Definitions", - "description" : "Used to define data objects that are used in the assessment plan, that do not appear in the referenced SSP.", - "type" : "object", - "properties" : - { "components" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_system-component" } }, - "inventory-items" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_inventory-item" } }, - "users" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_system-user" } }, - "objectives-and-methods" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_local-objective" } }, - "activities" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_activity" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "additionalProperties" : false }, - "terms-and-conditions" : - { "title" : "Assessment Plan Terms and Conditions", - "description" : "Used to define various terms and conditions under which an assessment, described by the plan, can be performed. Each child part defines a different type of term or condition.", - "type" : "object", - "properties" : - { "parts" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_assessment-part" } } }, - "additionalProperties" : false }, - "reviewed-controls" : - { "$ref" : "#assembly_oscal-assessment-common_reviewed-controls" }, - "assessment-subjects" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_assessment-subject" } }, - "assessment-assets" : - { "$ref" : "#assembly_oscal-assessment-common_assessment-assets" }, - "tasks" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_task" } }, - "back-matter" : - { "$ref" : "#assembly_oscal-metadata_back-matter" } }, - "required" : - [ "uuid", - "metadata", - "import-ssp", - "reviewed-controls" ], - "additionalProperties" : false }, - "oscal-complete-oscal-assessment-common:import-ssp" : - { "title" : "Import System Security Plan", - "description" : "Used by the assessment plan and POA&M to import information about the system.", - "$id" : "#assembly_oscal-assessment-common_import-ssp", - "type" : "object", - "properties" : - { "href" : - { "title" : "System Security Plan Reference", - "description" : "A resolvable URL reference to the system security plan for the system being assessed.", - "type" : "string", - "format" : "uri-reference" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "href" ], - "additionalProperties" : false }, - "oscal-complete-oscal-assessment-common:local-objective" : - { "title" : "Assessment-Specific Control Objective", - "description" : "A local definition of a control objective for this assessment. Uses catalog syntax for control objective and assessment actions.", - "$id" : "#assembly_oscal-assessment-common_local-objective", - "type" : "object", - "properties" : - { "control-id" : - { "title" : "Control Identifier Reference", - "description" : "A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference).", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "description" : - { "title" : "Objective Description", - "description" : "A human-readable description of this control objective.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "parts" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_part" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "control-id", - "parts" ], - "additionalProperties" : false }, - "oscal-complete-oscal-assessment-common:assessment-method" : - { "title" : "Assessment Method", - "description" : "A local definition of a control objective. Uses catalog syntax for control objective and assessment activities.", - "$id" : "#assembly_oscal-assessment-common_assessment-method", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Assessment Method Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment method elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment method can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "description" : - { "title" : "Assessment Method Description", - "description" : "A human-readable description of this assessment method.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "part" : - { "$ref" : "#assembly_oscal-assessment-common_assessment-part" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "part" ], - "additionalProperties" : false }, - "oscal-complete-oscal-assessment-common:activity" : - { "title" : "Activity", - "description" : "Identifies an assessment or related process that can be performed. In the assessment plan, this is an intended activity which may be associated with an assessment task. In the assessment results, this an activity that was actually performed as part of an assessment.", - "$id" : "#assembly_oscal-assessment-common_activity", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Assessment Activity Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment activity elsewhere in this or other OSCAL instances. The locally defined UUID of the activity can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Included Activity Title", - "description" : "The title for this included activity.", - "type" : "string" }, - "description" : - { "title" : "Included Activity Description", - "description" : "A human-readable description of this included activity.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "steps" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Step", - "description" : "Identifies an individual step in a series of steps related to an activity, such as an assessment test or examination procedure.", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Step Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this step elsewhere in this or other OSCAL instances. The locally defined UUID of the step (in a series of steps) can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Step Title", - "description" : "The title for this step.", - "type" : "string" }, - "description" : - { "title" : "Step Description", - "description" : "A human-readable description of this step.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "reviewed-controls" : - { "$ref" : "#assembly_oscal-assessment-common_reviewed-controls" }, - "responsible-roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "description" ], - "additionalProperties" : false } }, - "related-controls" : - { "$ref" : "#assembly_oscal-assessment-common_reviewed-controls" }, - "responsible-roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "description" ], - "additionalProperties" : false }, - "oscal-complete-oscal-assessment-common:task" : - { "title" : "Task", - "description" : "Represents a scheduled event or milestone, which may be associated with a series of assessment actions.", - "$id" : "#assembly_oscal-assessment-common_task", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Task Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this task elsewhere in this or other OSCAL instances. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "type" : - { "title" : "Task Type", - "description" : "The type of task.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "title" : - { "title" : "Task Title", - "description" : "The title for this task.", - "type" : "string" }, - "description" : - { "title" : "Task Description", - "description" : "A human-readable description of this task.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "timing" : - { "title" : "Event Timing", - "description" : "The timing under which the task is intended to occur.", - "type" : "object", - "properties" : - { "on-date" : - { "title" : "On Date Condition", - "description" : "The task is intended to occur on the specified date.", - "type" : "object", - "properties" : - { "date" : - { "title" : "On Date Condition", - "description" : "The task must occur on the specified date.", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" } }, - "required" : - [ "date" ], - "additionalProperties" : false }, - "within-date-range" : - { "title" : "On Date Range Condition", - "description" : "The task is intended to occur within the specified date range.", - "type" : "object", - "properties" : - { "start" : - { "title" : "Start Date Condition", - "description" : "The task must occur on or after the specified date.", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "end" : - { "title" : "End Date Condition", - "description" : "The task must occur on or before the specified date.", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" } }, - "required" : - [ "start", - "end" ], - "additionalProperties" : false }, - "at-frequency" : - { "title" : "Frequency Condition", - "description" : "The task is intended to occur at the specified frequency.", - "type" : "object", - "properties" : - { "period" : - { "title" : "Period", - "description" : "The task must occur after the specified period has elapsed.", - "type" : "integer", - "multipleOf" : 1, - "minimum" : 1 }, - "unit" : - { "title" : "Time Unit", - "description" : "The unit of time for the period.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$", - "enum" : - [ "seconds", - "minutes", - "hours", - "days", - "months", - "years" ] } }, - "required" : - [ "period", - "unit" ], - "additionalProperties" : false } }, - "additionalProperties" : false }, - "dependencies" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Task Dependency", - "description" : "Used to indicate that a task is dependent on another task.", - "type" : "object", - "properties" : - { "task-uuid" : - { "title" : "Task Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to a unique task.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "task-uuid" ], - "additionalProperties" : false } }, - "tasks" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_task" } }, - "associated-activities" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Associated Activity", - "description" : "Identifies an individual activity to be performed as part of a task.", - "type" : "object", - "properties" : - { "activity-uuid" : - { "title" : "Activity Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to an activity defined in the list of activities.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "responsible-roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, - "subjects" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_assessment-subject" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "activity-uuid", - "subjects" ], - "additionalProperties" : false } }, - "subjects" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_assessment-subject" } }, - "responsible-roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "type", - "title" ], - "additionalProperties" : false }, - "oscal-complete-oscal-assessment-common:reviewed-controls" : - { "title" : "Reviewed Controls and Control Objectives", - "description" : "Identifies the controls being assessed and their control objectives.", - "$id" : "#assembly_oscal-assessment-common_reviewed-controls", - "type" : "object", - "properties" : - { "description" : - { "title" : "Control Objective Description", - "description" : "A human-readable description of control objectives.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "control-selections" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Assessed Controls", - "description" : "Identifies the controls being assessed. In the assessment plan, these are the planned controls. In the assessment results, these are the actual controls, and reflects any changes from the plan.", - "type" : "object", - "properties" : - { "description" : - { "title" : "Assessed Controls Description", - "description" : "A human-readable description of in-scope controls specified for assessment.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "include-all" : - { "$ref" : "#assembly_oscal-catalog-common_include-all" }, - "include-controls" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_select-control-by-id" } }, - "exclude-controls" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_select-control-by-id" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "additionalProperties" : false } }, - "control-objective-selections" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Referenced Control Objectives", - "description" : "Identifies the control objectives of the assessment. In the assessment plan, these are the planned objectives. In the assessment results, these are the assessed objectives, and reflects any changes from the plan.", - "type" : "object", - "properties" : - { "description" : - { "title" : "Control Objectives Description", - "description" : "A human-readable description of this collection of control objectives.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "include-all" : - { "$ref" : "#assembly_oscal-catalog-common_include-all" }, - "include-objectives" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_select-objective-by-id" } }, - "exclude-objectives" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_select-objective-by-id" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "additionalProperties" : false } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "control-selections" ], - "additionalProperties" : false }, - "oscal-complete-oscal-assessment-common:select-control-by-id" : - { "title" : "Select Control", - "description" : "Used to select a control for inclusion/exclusion based on one or more control identifiers. A set of statement identifiers can be used to target the inclusion/exclusion to only specific control statements providing more granularity over the specific statements that are within the asessment scope.", - "$id" : "#assembly_oscal-assessment-common_select-control-by-id", - "type" : "object", - "properties" : - { "control-id" : - { "title" : "Control Identifier Reference", - "description" : "A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference).", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "statement-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Include Specific Statements", - "description" : "Used to constrain the selection to only specificity identified statements.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" } } }, - "required" : - [ "control-id" ], - "additionalProperties" : false }, - "oscal-complete-oscal-assessment-common:select-objective-by-id" : - { "title" : "Select Objective", - "description" : "Used to select a control objective for inclusion/exclusion based on the control objective's identifier.", - "$id" : "#assembly_oscal-assessment-common_select-objective-by-id", - "type" : "object", - "properties" : - { "objective-id" : - { "title" : "Objective ID", - "description" : "Points to an assessment objective.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" } }, - "required" : - [ "objective-id" ], - "additionalProperties" : false }, - "oscal-complete-oscal-assessment-common:assessment-subject-placeholder" : - { "title" : "Assessment Subject Placeholder", - "description" : "Used when the assessment subjects will be determined as part of one or more other assessment activities. These assessment subjects will be recorded in the assessment results in the assessment log.", - "$id" : "#assembly_oscal-assessment-common_assessment-subject-placeholder", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Assessment Subject Placeholder Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier for a set of assessment subjects that will be identified by a task or an activity that is part of a task. The locally defined UUID of the assessment subject placeholder can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "description" : - { "title" : "Assessment Subject Placeholder Description", - "description" : "A human-readable description of intent of this assessment subject placeholder.", - "type" : "string" }, - "sources" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Assessment Subject Source", - "description" : "Assessment subjects will be identified while conducting the referenced activity-instance.", - "type" : "object", - "properties" : - { "task-uuid" : - { "title" : "Task Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference (in this or other OSCAL instances) an assessment activity to be performed as part of the event. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" } }, - "required" : - [ "task-uuid" ], - "additionalProperties" : false } }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "sources" ], - "additionalProperties" : false }, - "oscal-complete-oscal-assessment-common:assessment-subject" : - { "title" : "Subject of Assessment", - "description" : "Identifies system elements being assessed, such as components, inventory items, and locations. In the assessment plan, this identifies a planned assessment subject. In the assessment results this is an actual assessment subject, and reflects any changes from the plan. exactly what will be the focus of this assessment. Any subjects not identified in this way are out-of-scope.", - "$id" : "#assembly_oscal-assessment-common_assessment-subject", - "type" : "object", - "properties" : - { "type" : - { "title" : "Subject Type", - "description" : "Indicates the type of assessment subject, such as a component, inventory, item, location, or party represented by this selection statement.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "description" : - { "title" : "Include Subjects Description", - "description" : "A human-readable description of the collection of subjects being included in this assessment.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "include-all" : - { "$ref" : "#assembly_oscal-catalog-common_include-all" }, - "include-subjects" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_select-subject-by-id" } }, - "exclude-subjects" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_select-subject-by-id" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "type" ], - "additionalProperties" : false }, - "oscal-complete-oscal-assessment-common:select-subject-by-id" : - { "title" : "Select Assessment Subject", - "description" : "Identifies a set of assessment subjects to include/exclude by UUID.", - "$id" : "#assembly_oscal-assessment-common_select-subject-by-id", - "type" : "object", - "properties" : - { "subject-uuid" : - { "title" : "Subject Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "type" : - { "title" : "Subject Universally Unique Identifier Reference Type", - "description" : "Used to indicate the type of object pointed to by the uuid-ref within a subject.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "subject-uuid", - "type" ], - "additionalProperties" : false }, - "oscal-complete-oscal-assessment-common:subject-reference" : - { "title" : "Identifies the Subject", - "description" : "A human-oriented identifier reference to a resource. Use type to indicate whether the identified resource is a component, inventory item, location, user, or something else.", - "$id" : "#assembly_oscal-assessment-common_subject-reference", - "type" : "object", - "properties" : - { "subject-uuid" : - { "title" : "Subject Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "type" : - { "title" : "Subject Universally Unique Identifier Reference Type", - "description" : "Used to indicate the type of object pointed to by the uuid-ref within a subject.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "title" : - { "title" : "Subject Reference Title", - "description" : "The title or name for the referenced subject.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "subject-uuid", - "type" ], - "additionalProperties" : false }, - "oscal-complete-oscal-assessment-common:assessment-assets" : - { "title" : "Assessment Assets", - "description" : "Identifies the assets used to perform this assessment, such as the assessment team, scanning tools, and assumptions.", - "$id" : "#assembly_oscal-assessment-common_assessment-assets", - "type" : "object", - "properties" : - { "components" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_system-component" } }, - "assessment-platforms" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Assessment Platform", - "description" : "Used to represent the toolset used to perform aspects of the assessment.", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Assessment Platform Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment platform elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment platform can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Assessment Platform Title", - "description" : "The title or name for the assessment platform.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "uses-components" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Uses Component", - "description" : "The set of components that are used by the assessment platform.", - "type" : "object", - "properties" : - { "component-uuid" : - { "title" : "Component Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to a component that is implemented as part of an inventory item.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "responsible-parties" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "component-uuid" ], - "additionalProperties" : false } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid" ], - "additionalProperties" : false } } }, - "required" : - [ "assessment-platforms" ], - "additionalProperties" : false }, - "oscal-complete-oscal-assessment-common:finding-target" : - { "title" : "Objective Status", - "description" : "Captures an assessor's conclusions regarding the degree to which an objective is satisfied.", - "$id" : "#assembly_oscal-assessment-common_finding-target", - "type" : "object", - "properties" : - { "type" : - { "title" : "Finding Target Type", - "description" : "Identifies the type of the target.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$", - "enum" : - [ "statement-id", - "objective-id" ] }, - "target-id" : - { "title" : "Finding Target Identifier Reference", - "description" : "A machine-oriented identifier reference for a specific target qualified by the type.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "title" : - { "title" : "Objective Status Title", - "description" : "The title for this objective status.", - "type" : "string" }, - "description" : - { "title" : "Objective Status Description", - "description" : "A human-readable description of the assessor's conclusions regarding the degree to which an objective is satisfied.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "status" : - { "title" : "Objective Status", - "description" : "A determination of if the objective is satisfied or not within a given system.", - "type" : "object", - "properties" : - { "state" : - { "title" : "Objective Status State", - "description" : "An indication as to whether the objective is satisfied or not.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$", - "enum" : - [ "satisfied", - "not-satisfied" ] }, - "reason" : - { "title" : "Objective Status Reason", - "description" : "The reason the objective was given it's status.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "state" ], - "additionalProperties" : false }, - "implementation-status" : - { "$ref" : "#assembly_oscal-implementation-common_implementation-status" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "type", - "target-id", - "status" ], - "additionalProperties" : false }, - "oscal-complete-oscal-assessment-common:observation" : - { "title" : "Observation", - "description" : "Describes an individual observation.", - "$id" : "#assembly_oscal-assessment-common_observation", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Observation Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this observation elsewhere in this or other OSCAL instances. The locally defined UUID of the observation can be used to reference the data item locally or globally (e.g., in an imorted OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Observation Title", - "description" : "The title for this observation.", - "type" : "string" }, - "description" : - { "title" : "Observation Description", - "description" : "A human-readable description of this assessment observation.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "methods" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Observation Method", - "description" : "Identifies how the observation was made.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" } }, - "types" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Observation Type", - "description" : "Identifies the nature of the observation. More than one may be used to further qualify and enable filtering.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" } }, - "origins" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_origin" } }, - "subjects" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_subject-reference" } }, - "relevant-evidence" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Relevant Evidence", - "description" : "Links this observation to relevant evidence.", - "type" : "object", - "properties" : - { "href" : - { "title" : "Relevant Evidence Reference", - "description" : "A resolvable URL reference to relevant evidence.", - "type" : "string", - "format" : "uri-reference" }, - "description" : - { "title" : "Relevant Evidence Description", - "description" : "A human-readable description of this evidence.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "description" ], - "additionalProperties" : false } }, - "collected" : - { "title" : "Collected Field", - "description" : "Date/time stamp identifying when the finding information was collected.", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "expires" : - { "title" : "Expires Field", - "description" : "Date/time identifying when the finding information is out-of-date and no longer valid. Typically used with continuous assessment scenarios.", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "description", - "methods", - "collected" ], - "additionalProperties" : false }, - "oscal-complete-oscal-assessment-common:origin" : - { "title" : "Origin", - "description" : "Identifies the source of the finding, such as a tool, interviewed person, or activity.", - "$id" : "#assembly_oscal-assessment-common_origin", - "type" : "object", - "properties" : - { "actors" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_origin-actor" } }, - "related-tasks" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_related-task" } } }, - "required" : - [ "actors" ], - "additionalProperties" : false }, - "oscal-complete-oscal-assessment-common:origin-actor" : - { "title" : "Originating Actor", - "description" : "The actor that produces an observation, a finding, or a risk. One or more actor type can be used to specify a person that is using a tool.", - "$id" : "#assembly_oscal-assessment-common_origin-actor", - "type" : "object", - "properties" : - { "type" : - { "title" : "Actor Type", - "description" : "The kind of actor.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$", - "enum" : - [ "tool", - "assessment-platform", - "party" ] }, - "actor-uuid" : - { "title" : "Actor Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to the tool or person based on the associated type.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "role-id" : - { "title" : "Actor Role", - "description" : "For a party, this can optionally be used to specify the role the actor was performing.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } } }, - "required" : - [ "type", - "actor-uuid" ], - "additionalProperties" : false }, - "oscal-complete-oscal-assessment-common:related-task" : - { "title" : "Task Reference", - "description" : "Identifies an individual task for which the containing object is a consequence of.", - "$id" : "#assembly_oscal-assessment-common_related-task", - "type" : "object", - "properties" : - { "task-uuid" : - { "title" : "Task Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to a unique task.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "responsible-parties" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, - "subjects" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_assessment-subject" } }, - "identified-subject" : - { "title" : "Identified Subject", - "description" : "Used to detail assessment subjects that were identfied by this task.", - "type" : "object", - "properties" : - { "subject-placeholder-uuid" : - { "title" : "Assessment Subject Placeholder Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to a unique assessment subject placeholder defined by this task.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "subjects" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_assessment-subject" } } }, - "required" : - [ "subject-placeholder-uuid", - "subjects" ], - "additionalProperties" : false }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "task-uuid" ], - "additionalProperties" : false }, - "oscal-complete-oscal-assessment-common:threat-id" : - { "title" : "Threat ID", - "description" : "A pointer, by ID, to an externally-defined threat.", - "$id" : "#field_oscal-assessment-common_threat-id", - "type" : "object", - "properties" : - { "system" : - { "title" : "Threat Type Identification System", - "description" : "Specifies the source of the threat information.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "href" : - { "title" : "Threat Information Resource Reference", - "description" : "An optional location for the threat data, from which this ID originates.", - "type" : "string", - "format" : "uri-reference" }, - "id" : - { "type" : "string" } }, - "required" : - [ "id", - "system" ], - "additionalProperties" : false }, - "oscal-complete-oscal-assessment-common:risk" : - { "title" : "Identified Risk", - "description" : "An identified risk.", - "$id" : "#assembly_oscal-assessment-common_risk", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Risk Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk elsewhere in this or other OSCAL instances. The locally defined UUID of the risk can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Risk Title", - "description" : "The title for this risk.", - "type" : "string" }, - "description" : - { "title" : "Risk Description", - "description" : "A human-readable summary of the identified risk, to include a statement of how the risk impacts the system.", - "type" : "string" }, - "statement" : - { "title" : "Risk Statement", - "description" : "An summary of impact for how the risk affects the system.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "status" : - { "$ref" : "#field_oscal-assessment-common_risk-status" }, - "origins" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_origin" } }, - "threat-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-assessment-common_threat-id" } }, - "characterizations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_characterization" } }, - "mitigating-factors" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Mitigating Factor", - "description" : "Describes an existing mitigating factor that may affect the overall determination of the risk, with an optional link to an implementation statement in the SSP.", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Mitigating Factor Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this mitigating factor elsewhere in this or other OSCAL instances. The locally defined UUID of the mitigating factor can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "implementation-uuid" : - { "title" : "Implementation UUID", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this implementation statement elsewhere in this or other OSCAL instancess. The locally defined UUID of the implementation statement can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "description" : - { "title" : "Mitigating Factor Description", - "description" : "A human-readable description of this mitigating factor.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "subjects" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_subject-reference" } } }, - "required" : - [ "uuid", - "description" ], - "additionalProperties" : false } }, - "deadline" : - { "title" : "Risk Resolution Deadline", - "description" : "The date/time by which the risk must be resolved.", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "remediations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_response" } }, - "risk-log" : - { "title" : "Risk Log", - "description" : "A log of all risk-related tasks taken.", - "type" : "object", - "properties" : - { "entries" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Risk Log Entry", - "description" : "Identifies an individual risk response that occurred as part of managing an identified risk.", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Risk Log Entry Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk log entry elsewhere in this or other OSCAL instances. The locally defined UUID of the risk log entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Title", - "description" : "The title for this risk log entry.", - "type" : "string" }, - "description" : - { "title" : "Risk Task Description", - "description" : "A human-readable description of what was done regarding the risk.", - "type" : "string" }, - "start" : - { "title" : "Start", - "description" : "Identifies the start date and time of the event.", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "end" : - { "title" : "End", - "description" : "Identifies the end date and time of the event. If the event is a point in time, the start and end will be the same date and time.", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "logged-by" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_logged-by" } }, - "status-change" : - { "$ref" : "#field_oscal-assessment-common_risk-status" }, - "related-responses" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Risk Response Reference", - "description" : "Identifies an individual risk response that this log entry is for.", - "type" : "object", - "properties" : - { "response-uuid" : - { "title" : "Response Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to a unique risk response.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "related-tasks" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_related-task" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "response-uuid" ], - "additionalProperties" : false } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "start" ], - "additionalProperties" : false } } }, - "required" : - [ "entries" ], - "additionalProperties" : false }, - "related-observations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Related Observation", - "description" : "Relates the finding to a set of referenced observations that were used to determine the finding.", - "type" : "object", - "properties" : - { "observation-uuid" : - { "title" : "Observation Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to an observation defined in the list of observations.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" } }, - "required" : - [ "observation-uuid" ], - "additionalProperties" : false } } }, - "required" : - [ "uuid", - "title", - "description", - "statement", - "status" ], - "additionalProperties" : false }, - "oscal-complete-oscal-assessment-common:logged-by" : - { "title" : "Logged By", - "description" : "Used to indicate who created a log entry in what role.", - "$id" : "#assembly_oscal-assessment-common_logged-by", - "type" : "object", - "properties" : - { "party-uuid" : - { "title" : "Party UUID Reference", - "description" : "A machine-oriented identifier reference to the party who is making the log entry.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "role-id" : - { "title" : "Actor Role", - "description" : "A point to the role-id of the role in which the party is making the log entry.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" } }, - "required" : - [ "party-uuid" ], - "additionalProperties" : false }, - "oscal-complete-oscal-assessment-common:risk-status" : - { "title" : "Risk Status", - "description" : "Describes the status of the associated risk.", - "$id" : "#field_oscal-assessment-common_risk-status", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "oscal-complete-oscal-assessment-common:characterization" : - { "title" : "Characterization", - "description" : "A collection of descriptive data about the containing object from a specific origin.", - "$id" : "#assembly_oscal-assessment-common_characterization", - "type" : "object", - "properties" : - { "props" : - { "type" : "array", + "$ref" : "#/definitions/TokenDatatype" }, + "by-item-name" : + { "title" : "Item Name Reference", + "description" : "Identify items to remove by the name of the item's information object name, e.g. title or prop.", + "allOf" : + [ + { "$ref" : "#/definitions/TokenDatatype" }, + + { "enum" : + [ "param", + "prop", + "link", + "part", + "mapping", + "map" ] } ] }, + "by-ns" : + { "title" : "Item Namespace Reference", + "description" : "Identify items to remove by the item's ns, which is the namespace associated with a part, or prop.", + "$ref" : "#/definitions/TokenDatatype" } }, + "additionalProperties" : false } }, + "adds" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Addition", + "description" : "Specifies contents to be added into controls, in resolution.", + "type" : "object", + "properties" : + { "position" : + { "title" : "Position", + "description" : "Where to add the new content with respect to the targeted element (beside it or inside it).", + "allOf" : + [ + { "$ref" : "#/definitions/TokenDatatype" }, + + { "enum" : + [ "before", + "after", + "starting", + "ending" ] } ] }, + "by-id" : + { "title" : "Reference by ID", + "description" : "Target location of the addition.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Title Change", + "description" : "A name given to the control, which may be used by a tool for display and navigation.", + "type" : "string" }, + "params" : + { "type" : "array", "minItems" : 1, "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", + { "$ref" : "#assembly_oscal-control-common_parameter" } }, + "props" : + { "type" : "array", "minItems" : 1, "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "origin" : - { "$ref" : "#assembly_oscal-assessment-common_origin" }, - "facets" : - { "type" : "array", + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", "minItems" : 1, "items" : - { "title" : "Facet", - "description" : "An individual characteristic that is part of a larger set produced by the same actor.", - "type" : "object", - "properties" : - { "name" : - { "title" : "Facet Name", - "description" : "The name of the risk metric within the specified system.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "system" : - { "title" : "Naming System", - "description" : "Specifies the naming system under which this risk metric is organized, which allows for the same names to be used in different systems controlled by different parties. This avoids the potential of a name clash.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "value" : - { "title" : "Facet Value", - "description" : "Indicates the value of the facet.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "name", - "system", - "value" ], - "additionalProperties" : false } } }, - "required" : - [ "origin", - "facets" ], - "additionalProperties" : false }, - "oscal-complete-oscal-assessment-common:response" : - { "title" : "Risk Response", - "description" : "Describes either recommended or an actual plan for addressing the risk.", - "$id" : "#assembly_oscal-assessment-common_response", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Remediation Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this remediation elsewhere in this or other OSCAL instances. The locally defined UUID of the risk response can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "lifecycle" : - { "title" : "Remediation Intent", - "description" : "Identifies whether this is a recommendation, such as from an assessor or tool, or an actual plan accepted by the system owner.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "title" : - { "title" : "Response Title", - "description" : "The title for this response activity.", - "type" : "string" }, + { "$ref" : "#assembly_oscal-metadata_link" } }, + "parts" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_part" } } }, + "additionalProperties" : false } } }, + "required" : + [ "control-id" ], + "additionalProperties" : false } } }, + "additionalProperties" : false }, + "oscal-complete-oscal-profile:insert-controls" : + { "title" : "Select Controls", + "description" : "Specifies which controls to use in the containing context.", + "$id" : "#assembly_oscal-profile_insert-controls", + "type" : "object", + "properties" : + { "order" : + { "title" : "Order", + "description" : "A designation of how a selection of controls in a profile is to be ordered.", + "allOf" : + [ + { "$ref" : "#/definitions/TokenDatatype" }, + + { "enum" : + [ "keep", + "ascending", + "descending" ] } ] }, + "include-all" : + { "$ref" : "#assembly_oscal-control-common_include-all" }, + "include-controls" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-profile_select-control-by-id" } }, + "exclude-controls" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-profile_select-control-by-id" } } }, + "additionalProperties" : false }, + "oscal-complete-oscal-profile:select-control-by-id" : + { "title" : "Select Control", + "description" : "Select a control or controls from an imported control set.", + "$id" : "#assembly_oscal-profile_select-control-by-id", + "type" : "object", + "properties" : + { "with-child-controls" : + { "title" : "Include Contained Controls with Control", + "description" : "When a control is included, whether its child (dependent) controls are also included.", + "allOf" : + [ + { "$ref" : "#/definitions/TokenDatatype" }, + + { "enum" : + [ "yes", + "no" ] } ] }, + "with-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Match Controls by Identifier", + "description" : "Selecting a control by its ID given as a literal.", + "$ref" : "#/definitions/TokenDatatype" } }, + "matching" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Match Controls by Pattern", + "description" : "Selecting a set of controls by matching their IDs with a wildcard pattern.", + "type" : "object", + "properties" : + { "pattern" : + { "title" : "Pattern", + "description" : "A glob expression matching the IDs of one or more controls to be selected.", + "$ref" : "#/definitions/StringDatatype" } }, + "additionalProperties" : false } } }, + "additionalProperties" : false }, + "oscal-complete-oscal-component-definition:component-definition" : + { "title" : "Component Definition", + "description" : "A collection of component descriptions, which may optionally be grouped by capability.", + "$id" : "#assembly_oscal-component-definition_component-definition", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Component Definition Universally Unique Identifier", + "description" : "Provides a globally unique means to identify a given component definition instance.", + "$ref" : "#/definitions/UUIDDatatype" }, + "metadata" : + { "$ref" : "#assembly_oscal-metadata_metadata" }, + "import-component-definitions" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-component-definition_import-component-definition" } }, + "components" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-component-definition_defined-component" } }, + "capabilities" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-component-definition_capability" } }, + "back-matter" : + { "$ref" : "#assembly_oscal-metadata_back-matter" } }, + "required" : + [ "uuid", + "metadata" ], + "additionalProperties" : false }, + "oscal-complete-oscal-component-definition:import-component-definition" : + { "title" : "Import Component Definition", + "description" : "Loads a component definition from another resource.", + "$id" : "#assembly_oscal-component-definition_import-component-definition", + "type" : "object", + "properties" : + { "href" : + { "title" : "Hyperlink Reference", + "description" : "A link to a resource that defines a set of components and/or capabilities to import into this collection.", + "$ref" : "#/definitions/URIReferenceDatatype" } }, + "required" : + [ "href" ], + "additionalProperties" : false }, + "oscal-complete-oscal-component-definition:defined-component" : + { "title" : "Component", + "description" : "A defined component that can be part of an implemented system.", + "$id" : "#assembly_oscal-component-definition_defined-component", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Component Identifier", + "description" : "Provides a globally unique means to identify a given component.", + "$ref" : "#/definitions/UUIDDatatype" }, + "type" : + { "title" : "Component Type", + "description" : "A category describing the purpose of the component.", + "$ref" : "#/definitions/StringDatatype" }, + "title" : + { "title" : "Component Title", + "description" : "A human readable name for the component.", + "type" : "string" }, + "description" : + { "title" : "Component Description", + "description" : "A description of the component, including information about its function.", + "type" : "string" }, + "purpose" : + { "title" : "Purpose", + "description" : "A summary of the technological or business purpose of the component.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "responsible-roles" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, + "protocols" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_protocol" } }, + "control-implementations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-component-definition_control-implementation" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "type", + "title", + "description" ], + "additionalProperties" : false }, + "oscal-complete-oscal-component-definition:capability" : + { "title" : "Capability", + "description" : "A grouping of other components and/or capabilities.", + "$id" : "#assembly_oscal-component-definition_capability", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Capability Identifier", + "description" : "Provides a globally unique means to identify a given capability.", + "$ref" : "#/definitions/UUIDDatatype" }, + "name" : + { "title" : "Capability Name", + "description" : "The capability's human-readable name.", + "$ref" : "#/definitions/StringDatatype" }, + "description" : + { "title" : "Capability Description", + "description" : "A summary of the capability.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "incorporates-components" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-component-definition_incorporates-component" } }, + "control-implementations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-component-definition_control-implementation" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "name", + "description" ], + "additionalProperties" : false }, + "oscal-complete-oscal-component-definition:incorporates-component" : + { "title" : "Incorporates Component", + "description" : "The collection of components comprising this capability.", + "$id" : "#assembly_oscal-component-definition_incorporates-component", + "type" : "object", + "properties" : + { "component-uuid" : + { "title" : "Component Reference", + "description" : "A machine-oriented identifier reference to a component.", + "$ref" : "#/definitions/UUIDDatatype" }, + "description" : + { "title" : "Component Description", + "description" : "A description of the component, including information about its function.", + "type" : "string" } }, + "required" : + [ "component-uuid", + "description" ], + "additionalProperties" : false }, + "oscal-complete-oscal-component-definition:control-implementation" : + { "title" : "Control Implementation Set", + "description" : "Defines how the component or capability supports a set of controls.", + "$id" : "#assembly_oscal-component-definition_control-implementation", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Control Implementation Set Identifier", + "description" : "Provides a means to identify a set of control implementations that are supported by a given component or capability.", + "$ref" : "#/definitions/UUIDDatatype" }, + "source" : + { "title" : "Source Resource Reference", + "description" : "A reference to an OSCAL catalog or profile providing the referenced control or subcontrol definition.", + "$ref" : "#/definitions/URIReferenceDatatype" }, + "description" : + { "title" : "Control Implementation Description", + "description" : "A description of how the specified set of controls are implemented for the containing component or capability.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "set-parameters" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_set-parameter" } }, + "implemented-requirements" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-component-definition_implemented-requirement" } } }, + "required" : + [ "uuid", + "source", + "description", + "implemented-requirements" ], + "additionalProperties" : false }, + "oscal-complete-oscal-component-definition:implemented-requirement" : + { "title" : "Control Implementation", + "description" : "Describes how the containing component or capability implements an individual control.", + "$id" : "#assembly_oscal-component-definition_implemented-requirement", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Control Implementation Identifier", + "description" : "Provides a globally unique means to identify a given control implementation by a component.", + "$ref" : "#/definitions/UUIDDatatype" }, + "control-id" : + { "title" : "Control Identifier Reference", + "description" : "A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference).", + "$ref" : "#/definitions/TokenDatatype" }, + "description" : + { "title" : "Control Implementation Description", + "description" : "A suggestion from the supplier (e.g., component vendor or author) for how the specified control may be implemented if the containing component or capability is instantiated in a system security plan.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "set-parameters" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_set-parameter" } }, + "responsible-roles" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, + "statements" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-component-definition_statement" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "control-id", + "description" ], + "additionalProperties" : false }, + "oscal-complete-oscal-component-definition:statement" : + { "title" : "Control Statement Implementation", + "description" : "Identifies which statements within a control are addressed.", + "$id" : "#assembly_oscal-component-definition_statement", + "type" : "object", + "properties" : + { "statement-id" : + { "title" : "Control Statement Reference", + "description" : "A human-oriented identifier reference to a control statement.", + "$ref" : "#/definitions/TokenDatatype" }, + "uuid" : + { "title" : "Control Statement Reference Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this control statement elsewhere in this or other OSCAL instances. The UUID of the control statement in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).", + "$ref" : "#/definitions/UUIDDatatype" }, + "description" : + { "title" : "Statement Implementation Description", + "description" : "A summary of how the containing control statement is implemented by the component or capability.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "responsible-roles" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "statement-id", + "uuid", + "description" ], + "additionalProperties" : false }, + "oscal-complete-oscal-implementation-common:system-component" : + { "title" : "Component", + "description" : "A defined component that can be part of an implemented system.", + "$id" : "#assembly_oscal-implementation-common_system-component", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Component Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component elsewhere in this or other OSCAL instances. The locally defined UUID of the component can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "type" : + { "title" : "Component Type", + "description" : "A category describing the purpose of the component.", + "$ref" : "#/definitions/StringDatatype" }, + "title" : + { "title" : "Component Title", + "description" : "A human readable name for the system component.", + "type" : "string" }, + "description" : + { "title" : "Component Description", + "description" : "A description of the component, including information about its function.", + "type" : "string" }, + "purpose" : + { "title" : "Purpose", + "description" : "A summary of the technological or business purpose of the component.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "status" : + { "title" : "Status", + "description" : "Describes the operational status of the system component.", + "type" : "object", + "properties" : + { "state" : + { "title" : "State", + "description" : "The operational status.", + "allOf" : + [ + { "$ref" : "#/definitions/TokenDatatype" }, + + { "enum" : + [ "under-development", + "operational", + "disposition", + "other" ] } ] }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "state" ], + "additionalProperties" : false }, + "responsible-roles" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, + "protocols" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_protocol" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "type", + "title", + "description", + "status" ], + "additionalProperties" : false }, + "oscal-complete-oscal-implementation-common:protocol" : + { "title" : "Service Protocol Information", + "description" : "Information about the protocol used to provide a service.", + "$id" : "#assembly_oscal-implementation-common_protocol", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Service Protocol Information Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this service protocol information elsewhere in this or other OSCAL instances. The locally defined UUID of the service protocol can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "name" : + { "title" : "Protocol Name", + "description" : "The common name of the protocol, which should be the appropriate \"service name\" from the IANA Service Name and Transport Protocol Port Number Registry.", + "$ref" : "#/definitions/StringDatatype" }, + "title" : + { "title" : "Protocol Title", + "description" : "A human readable name for the protocol (e.g., Transport Layer Security).", + "type" : "string" }, + "port-ranges" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_port-range" } } }, + "required" : + [ "name" ], + "additionalProperties" : false }, + "oscal-complete-oscal-implementation-common:port-range" : + { "title" : "Port Range", + "description" : "Where applicable this is the IPv4 port range on which the service operates.", + "$id" : "#assembly_oscal-implementation-common_port-range", + "type" : "object", + "properties" : + { "start" : + { "title" : "Start", + "description" : "Indicates the starting port number in a port range", + "$ref" : "#/definitions/NonNegativeIntegerDatatype" }, + "end" : + { "title" : "End", + "description" : "Indicates the ending port number in a port range", + "$ref" : "#/definitions/NonNegativeIntegerDatatype" }, + "transport" : + { "title" : "Transport", + "description" : "Indicates the transport type.", + "allOf" : + [ + { "$ref" : "#/definitions/TokenDatatype" }, + + { "enum" : + [ "TCP", + "UDP" ] } ] } }, + "additionalProperties" : false }, + "oscal-complete-oscal-implementation-common:implementation-status" : + { "title" : "Implementation Status", + "description" : "Indicates the degree to which the a given control is implemented.", + "$id" : "#assembly_oscal-implementation-common_implementation-status", + "type" : "object", + "properties" : + { "state" : + { "title" : "Implementation State", + "description" : "Identifies the implementation status of the control or control objective.", + "$ref" : "#/definitions/TokenDatatype" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "state" ], + "additionalProperties" : false }, + "oscal-complete-oscal-implementation-common:system-user" : + { "title" : "System User", + "description" : "A type of user that interacts with the system based on an associated role.", + "$id" : "#assembly_oscal-implementation-common_system-user", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "User Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this user class elsewhere in this or other OSCAL instances. The locally defined UUID of the system user can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "User Title", + "description" : "A name given to the user, which may be used by a tool for display and navigation.", + "type" : "string" }, + "short-name" : + { "title" : "User Short Name", + "description" : "A short common name, abbreviation, or acronym for the user.", + "$ref" : "#/definitions/StringDatatype" }, + "description" : + { "title" : "User Description", + "description" : "A summary of the user's purpose within the system.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "role-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_role-id" } }, + "authorized-privileges" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_authorized-privilege" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid" ], + "additionalProperties" : false }, + "oscal-complete-oscal-implementation-common:authorized-privilege" : + { "title" : "Privilege", + "description" : "Identifies a specific system privilege held by the user, along with an associated description and/or rationale for the privilege.", + "$id" : "#assembly_oscal-implementation-common_authorized-privilege", + "type" : "object", + "properties" : + { "title" : + { "title" : "Privilege Title", + "description" : "A human readable name for the privilege.", + "type" : "string" }, + "description" : + { "title" : "Privilege Description", + "description" : "A summary of the privilege's purpose within the system.", + "type" : "string" }, + "functions-performed" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-implementation-common_function-performed" } } }, + "required" : + [ "title", + "functions-performed" ], + "additionalProperties" : false }, + "oscal-complete-oscal-implementation-common:function-performed" : + { "title" : "Functions Performed", + "description" : "Describes a function performed for a given authorized privilege by this user class.", + "$id" : "#field_oscal-implementation-common_function-performed", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-complete-oscal-implementation-common:inventory-item" : + { "title" : "Inventory Item", + "description" : "A single managed inventory item within the system.", + "$id" : "#assembly_oscal-implementation-common_inventory-item", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Inventory Item Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inventory item elsewhere in this or other OSCAL instances. The locally defined UUID of the inventory item can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "description" : + { "title" : "Inventory Item Description", + "description" : "A summary of the inventory item stating its purpose within the system.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "responsible-parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, + "implemented-components" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Implemented Component", + "description" : "The set of components that are implemented in a given system inventory item.", + "type" : "object", + "properties" : + { "component-uuid" : + { "title" : "Component Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to a component that is implemented as part of an inventory item.", + "$ref" : "#/definitions/UUIDDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "responsible-parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "component-uuid" ], + "additionalProperties" : false } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "description" ], + "additionalProperties" : false }, + "oscal-complete-oscal-implementation-common:set-parameter" : + { "title" : "Set Parameter Value", + "description" : "Identifies the parameter that will be set by the enclosed value.", + "$id" : "#assembly_oscal-implementation-common_set-parameter", + "type" : "object", + "properties" : + { "param-id" : + { "title" : "Parameter ID", + "description" : "A human-oriented reference to a parameter within a control, who's catalog has been imported into the current implementation context.", + "$ref" : "#/definitions/TokenDatatype" }, + "values" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Parameter Value", + "description" : "A parameter value or set of values.", + "$ref" : "#/definitions/StringDatatype" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "param-id", + "values" ], + "additionalProperties" : false }, + "oscal-complete-oscal-implementation-common:system-id" : + { "title" : "System Identification", + "description" : "A human-oriented, globally unique identifier with cross-instance scope that can be used to reference this system identification property elsewhere in this or other OSCAL instances. When referencing an externally defined system identification, the system identification must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). This string should be assigned per-subject, which means it should be consistently used to identify the same system across revisions of the document.", + "$id" : "#field_oscal-implementation-common_system-id", + "type" : "object", + "properties" : + { "identifier-type" : + { "title" : "Identification System Type", + "description" : "Identifies the identification system from which the provided identifier was assigned.", + "$ref" : "#/definitions/URIDatatype" }, + "id" : + { "type" : "string" } }, + "required" : + [ "id" ], + "additionalProperties" : false }, + "oscal-complete-oscal-ssp:system-security-plan" : + { "title" : "System Security Plan (SSP)", + "description" : "A system security plan, such as those described in NIST SP 800-18.", + "$id" : "#assembly_oscal-ssp_system-security-plan", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "System Security Plan Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this system security plan (SSP) elsewhere in this or other OSCAL instances. The locally defined UUID of the SSP can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance).This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "metadata" : + { "$ref" : "#assembly_oscal-metadata_metadata" }, + "import-profile" : + { "$ref" : "#assembly_oscal-ssp_import-profile" }, + "system-characteristics" : + { "$ref" : "#assembly_oscal-ssp_system-characteristics" }, + "system-implementation" : + { "$ref" : "#assembly_oscal-ssp_system-implementation" }, + "control-implementation" : + { "$ref" : "#assembly_oscal-ssp_control-implementation" }, + "back-matter" : + { "$ref" : "#assembly_oscal-metadata_back-matter" } }, + "required" : + [ "uuid", + "metadata", + "import-profile", + "system-characteristics", + "system-implementation", + "control-implementation" ], + "additionalProperties" : false }, + "oscal-complete-oscal-ssp:import-profile" : + { "title" : "Import Profile", + "description" : "Used to import the OSCAL profile representing the system's control baseline.", + "$id" : "#assembly_oscal-ssp_import-profile", + "type" : "object", + "properties" : + { "href" : + { "title" : "Profile Reference", + "description" : "A resolvable URL reference to the profile or catalog to use as the system's control baseline.", + "$ref" : "#/definitions/URIReferenceDatatype" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "href" ], + "additionalProperties" : false }, + "oscal-complete-oscal-ssp:system-characteristics" : + { "title" : "System Characteristics", + "description" : "Contains the characteristics of the system, such as its name, purpose, and security impact level.", + "$id" : "#assembly_oscal-ssp_system-characteristics", + "type" : "object", + "properties" : + { "system-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-implementation-common_system-id" } }, + "system-name" : + { "title" : "System Name - Full", + "description" : "The full name of the system.", + "$ref" : "#/definitions/StringDatatype" }, + "system-name-short" : + { "title" : "System Name - Short", + "description" : "A short name for the system, such as an acronym, that is suitable for display in a data table or summary list.", + "$ref" : "#/definitions/StringDatatype" }, + "description" : + { "title" : "System Description", + "description" : "A summary of the system.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "date-authorized" : + { "$ref" : "#field_oscal-ssp_date-authorized" }, + "security-sensitivity-level" : + { "title" : "Security Sensitivity Level", + "description" : "The overall information system sensitivity categorization, such as defined by FIPS-199.", + "$ref" : "#/definitions/StringDatatype" }, + "system-information" : + { "$ref" : "#assembly_oscal-ssp_system-information" }, + "security-impact-level" : + { "$ref" : "#assembly_oscal-ssp_security-impact-level" }, + "status" : + { "$ref" : "#assembly_oscal-ssp_status" }, + "authorization-boundary" : + { "$ref" : "#assembly_oscal-ssp_authorization-boundary" }, + "network-architecture" : + { "$ref" : "#assembly_oscal-ssp_network-architecture" }, + "data-flow" : + { "$ref" : "#assembly_oscal-ssp_data-flow" }, + "responsible-parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "system-ids", + "system-name", + "description", + "security-sensitivity-level", + "system-information", + "security-impact-level", + "status", + "authorization-boundary" ], + "additionalProperties" : false }, + "oscal-complete-oscal-ssp:system-information" : + { "title" : "System Information", + "description" : "Contains details about all information types that are stored, processed, or transmitted by the system, such as privacy information, and those defined in NIST SP 800-60.", + "$id" : "#assembly_oscal-ssp_system-information", + "type" : "object", + "properties" : + { "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "information-types" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Information Type", + "description" : "Contains details about one information type that is stored, processed, or transmitted by the system, such as privacy information, and those defined in NIST SP 800-60.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Information Type Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this information type elsewhere in this or other OSCAL instances. The locally defined UUID of the information type can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "title field", + "description" : "A human readable name for the information type. This title should be meaningful within the context of the system.", + "type" : "string" }, + "description" : + { "title" : "Information Type Description", + "description" : "A summary of how this information type is used within the system.", + "type" : "string" }, + "categorizations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Information Type Categorization", + "description" : "A set of information type identifiers qualified by the given identification system used, such as NIST SP 800-60.", + "type" : "object", + "properties" : + { "system" : + { "title" : "Information Type Identification System", + "description" : "Specifies the information type identification system used.", + "$ref" : "#/definitions/URIDatatype" }, + "information-type-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Information Type Systematized Identifier", + "description" : "A human-oriented, globally unique identifier qualified by the given identification system used, such as NIST SP 800-60. This identifier has cross-instance scope and can be used to reference this system elsewhere in this or other OSCAL instances. This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/StringDatatype" } } }, + "required" : + [ "system" ], + "additionalProperties" : false } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "confidentiality-impact" : + { "$ref" : "#assembly_oscal-ssp_impact" }, + "integrity-impact" : + { "$ref" : "#assembly_oscal-ssp_impact" }, + "availability-impact" : + { "$ref" : "#assembly_oscal-ssp_impact" } }, + "required" : + [ "title", + "description" ], + "additionalProperties" : false } } }, + "required" : + [ "information-types" ], + "additionalProperties" : false }, + "oscal-complete-oscal-ssp:impact" : + { "title" : "Impact Level", + "description" : "The expected level of impact resulting from the described information.", + "$id" : "#assembly_oscal-ssp_impact", + "type" : "object", + "properties" : + { "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "base" : + { "$ref" : "#field_oscal-ssp_base" }, + "selected" : + { "$ref" : "#field_oscal-ssp_selected" }, + "adjustment-justification" : + { "$ref" : "#field_oscal-ssp_adjustment-justification" } }, + "required" : + [ "base" ], + "additionalProperties" : false }, + "oscal-complete-oscal-ssp:base" : + { "title" : "Base Level (Confidentiality, Integrity, or Availability)", + "description" : "The prescribed base (Confidentiality, Integrity, or Availability) security impact level.", + "$id" : "#field_oscal-ssp_base", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-complete-oscal-ssp:selected" : + { "title" : "Selected Level (Confidentiality, Integrity, or Availability)", + "description" : "The selected (Confidentiality, Integrity, or Availability) security impact level.", + "$id" : "#field_oscal-ssp_selected", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-complete-oscal-ssp:adjustment-justification" : + { "title" : "Adjustment Justification", + "description" : "If the selected security level is different from the base security level, this contains the justification for the change.", + "$id" : "#field_oscal-ssp_adjustment-justification", + "type" : "string" }, + "oscal-complete-oscal-ssp:security-impact-level" : + { "title" : "Security Impact Level", + "description" : "The overall level of expected impact resulting from unauthorized disclosure, modification, or loss of access to information.", + "$id" : "#assembly_oscal-ssp_security-impact-level", + "type" : "object", + "properties" : + { "security-objective-confidentiality" : + { "title" : "Security Objective: Confidentiality", + "description" : "A target-level of confidentiality for the system, based on the sensitivity of information within the system.", + "$ref" : "#/definitions/StringDatatype" }, + "security-objective-integrity" : + { "title" : "Security Objective: Integrity", + "description" : "A target-level of integrity for the system, based on the sensitivity of information within the system.", + "$ref" : "#/definitions/StringDatatype" }, + "security-objective-availability" : + { "title" : "Security Objective: Availability", + "description" : "A target-level of availability for the system, based on the sensitivity of information within the system.", + "$ref" : "#/definitions/StringDatatype" } }, + "required" : + [ "security-objective-confidentiality", + "security-objective-integrity", + "security-objective-availability" ], + "additionalProperties" : false }, + "oscal-complete-oscal-ssp:status" : + { "title" : "Status", + "description" : "Describes the operational status of the system.", + "$id" : "#assembly_oscal-ssp_status", + "type" : "object", + "properties" : + { "state" : + { "title" : "State", + "description" : "The current operating status.", + "allOf" : + [ + { "$ref" : "#/definitions/StringDatatype" }, + + { "enum" : + [ "operational", + "under-development", + "under-major-modification", + "disposition", + "other" ] } ] }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "state" ], + "additionalProperties" : false }, + "oscal-complete-oscal-ssp:date-authorized" : + { "title" : "System Authorization Date", + "description" : "The date the system received its authorization.", + "$id" : "#field_oscal-ssp_date-authorized", + "$ref" : "#/definitions/DateDatatype" }, + "oscal-complete-oscal-ssp:authorization-boundary" : + { "title" : "Authorization Boundary", + "description" : "A description of this system's authorization boundary, optionally supplemented by diagrams that illustrate the authorization boundary.", + "$id" : "#assembly_oscal-ssp_authorization-boundary", + "type" : "object", + "properties" : + { "description" : + { "title" : "Authorization Boundary Description", + "description" : "A summary of the system's authorization boundary.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "diagrams" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-ssp_diagram" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "description" ], + "additionalProperties" : false }, + "oscal-complete-oscal-ssp:diagram" : + { "title" : "Diagram", + "description" : "A graphic that provides a visual representation the system, or some aspect of it.", + "$id" : "#assembly_oscal-ssp_diagram", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Diagram ID", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this diagram elsewhere in this or other OSCAL instances. The locally defined UUID of the diagram can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "description" : + { "title" : "Diagram Description", + "description" : "A summary of the diagram.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "caption" : + { "title" : "Caption", + "description" : "A brief caption to annotate the diagram.", + "type" : "string" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid" ], + "additionalProperties" : false }, + "oscal-complete-oscal-ssp:network-architecture" : + { "title" : "Network Architecture", + "description" : "A description of the system's network architecture, optionally supplemented by diagrams that illustrate the network architecture.", + "$id" : "#assembly_oscal-ssp_network-architecture", + "type" : "object", + "properties" : + { "description" : + { "title" : "Network Architecture Description", + "description" : "A summary of the system's network architecture.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "diagrams" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-ssp_diagram" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "description" ], + "additionalProperties" : false }, + "oscal-complete-oscal-ssp:data-flow" : + { "title" : "Data Flow", + "description" : "A description of the logical flow of information within the system and across its boundaries, optionally supplemented by diagrams that illustrate these flows.", + "$id" : "#assembly_oscal-ssp_data-flow", + "type" : "object", + "properties" : + { "description" : + { "title" : "Data Flow Description", + "description" : "A summary of the system's data flow.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "diagrams" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-ssp_diagram" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "description" ], + "additionalProperties" : false }, + "oscal-complete-oscal-ssp:system-implementation" : + { "title" : "System Implementation", + "description" : "Provides information as to how the system is implemented.", + "$id" : "#assembly_oscal-ssp_system-implementation", + "type" : "object", + "properties" : + { "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "leveraged-authorizations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Leveraged Authorization", + "description" : "A description of another authorized system from which this system inherits capabilities that satisfy security requirements. Another term for this concept is a common control provider.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Leveraged Authorization Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope and can be used to reference this leveraged authorization elsewhere in this or other OSCAL instances. The locally defined UUID of the leveraged authorization can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "title field", + "description" : "A human readable name for the leveraged authorization in the context of the system.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "party-uuid" : + { "title" : "party-uuid field", + "description" : "A machine-oriented identifier reference to the party that manages the leveraged system.", + "$ref" : "#/definitions/UUIDDatatype" }, + "date-authorized" : + { "$ref" : "#field_oscal-ssp_date-authorized" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "title", + "party-uuid", + "date-authorized" ], + "additionalProperties" : false } }, + "users" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_system-user" } }, + "components" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_system-component" } }, + "inventory-items" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_inventory-item" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "users", + "components" ], + "additionalProperties" : false }, + "oscal-complete-oscal-ssp:control-implementation" : + { "title" : "Control Implementation", + "description" : "Describes how the system satisfies a set of controls.", + "$id" : "#assembly_oscal-ssp_control-implementation", + "type" : "object", + "properties" : + { "description" : + { "title" : "Control Implementation Description", + "description" : "A statement describing important things to know about how this set of control satisfaction documentation is approached.", + "type" : "string" }, + "set-parameters" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_set-parameter" } }, + "implemented-requirements" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-ssp_implemented-requirement" } } }, + "required" : + [ "description", + "implemented-requirements" ], + "additionalProperties" : false }, + "oscal-complete-oscal-ssp:implemented-requirement" : + { "title" : "Control-based Requirement", + "description" : "Describes how the system satisfies the requirements of an individual control.", + "$id" : "#assembly_oscal-ssp_implemented-requirement", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Control Requirement Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this control requirement elsewhere in this or other OSCAL instances. The locally defined UUID of the control requirement can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "control-id" : + { "title" : "Control Identifier Reference", + "description" : "A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference).", + "$ref" : "#/definitions/TokenDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "set-parameters" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_set-parameter" } }, + "responsible-roles" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, + "statements" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-ssp_statement" } }, + "by-components" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-ssp_by-component" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "control-id" ], + "additionalProperties" : false }, + "oscal-complete-oscal-ssp:statement" : + { "title" : "Specific Control Statement", + "description" : "Identifies which statements within a control are addressed.", + "$id" : "#assembly_oscal-ssp_statement", + "type" : "object", + "properties" : + { "statement-id" : + { "title" : "Control Statement Reference", + "description" : "A human-oriented identifier reference to a control statement.", + "$ref" : "#/definitions/TokenDatatype" }, + "uuid" : + { "title" : "Control Statement Reference Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this control statement elsewhere in this or other OSCAL instances. The UUID of the control statement in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).", + "$ref" : "#/definitions/UUIDDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "responsible-roles" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, + "by-components" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-ssp_by-component" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "statement-id", + "uuid" ], + "additionalProperties" : false }, + "oscal-complete-oscal-ssp:by-component" : + { "title" : "Component Control Implementation", + "description" : "Defines how the referenced component implements a set of controls.", + "$id" : "#assembly_oscal-ssp_by-component", + "type" : "object", + "properties" : + { "component-uuid" : + { "title" : "Component Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to the component that is implemeting a given control.", + "$ref" : "#/definitions/UUIDDatatype" }, + "uuid" : + { "title" : "By-Component Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this by-component entry elsewhere in this or other OSCAL instances. The locally defined UUID of the by-component entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "description" : + { "title" : "Control Implementation Description", + "description" : "An implementation statement that describes how a control or a control statement is implemented within the referenced system component.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "set-parameters" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_set-parameter" } }, + "implementation-status" : + { "$ref" : "#assembly_oscal-implementation-common_implementation-status" }, + "export" : + { "title" : "Export", + "description" : "Identifies content intended for external consumption, such as with leveraged organizations.", + "type" : "object", + "properties" : + { "description" : + { "title" : "Control Implementation Export Description", + "description" : "An implementation statement that describes the aspects of the control or control statement implementation that can be available to another system leveraging this system.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "provided" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Provided Control Implementation", + "description" : "Describes a capability which may be inherited by a leveraging system.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Provided Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this provided entry elsewhere in this or other OSCAL instances. The locally defined UUID of the provided entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, "description" : - { "title" : "Response Description", - "description" : "A human-readable description of this response plan.", - "type" : "string" }, + { "title" : "Provided Control Implementation Description", + "description" : "An implementation statement that describes the aspects of the control or control statement implementation that can be provided to another system leveraging this system.", + "type" : "string" }, "props" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, "links" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "origins" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_origin" } }, - "required-assets" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Required Asset", - "description" : "Identifies an asset required to achieve remediation.", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Required Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this required asset elsewhere in this or other OSCAL instances. The locally defined UUID of the asset can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "subjects" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_subject-reference" } }, - "title" : - { "title" : "Title for Required Asset", - "description" : "The title for this required asset.", - "type" : "string" }, - "description" : - { "title" : "Description of Required Asset", - "description" : "A human-readable description of this required asset.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "description" ], - "additionalProperties" : false } }, - "tasks" : + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "responsible-roles" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_task" } }, + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, "remarks" : { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "lifecycle", - "title", + "required" : + [ "uuid", "description" ], - "additionalProperties" : false }, - "oscal-complete-oscal-assessment-common:assessment-part" : - { "title" : "Assessment Part", - "description" : "A partition of an assessment plan or results or a child of another part.", - "$id" : "#assembly_oscal-assessment-common_assessment-part", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Part Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this part elsewhere in this or other OSCAL instances. The locally defined UUID of the part can be used to reference the data item locally or globally (e.g., in an ported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "name" : - { "title" : "Part Name", - "description" : "A textual label that uniquely identifies the part's semantic type.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "ns" : - { "title" : "Part Namespace", - "description" : "A namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "class" : - { "title" : "Part Class", - "description" : "A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "title" : - { "title" : "Part Title", - "description" : "A name given to the part, which may be used by a tool for display and navigation.", - "type" : "string" }, + "additionalProperties" : false } }, + "responsibilities" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Control Implementation Responsibility", + "description" : "Describes a control implementation responsibility imposed on a leveraging system.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Responsibility Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this responsibility elsewhere in this or other OSCAL instances. The locally defined UUID of the responsibility can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "provided-uuid" : + { "title" : "Provided UUID", + "description" : "A machine-oriented identifier reference to an inherited control implementation that a leveraging system is inheriting from a leveraged system.", + "$ref" : "#/definitions/UUIDDatatype" }, + "description" : + { "title" : "Control Implementation Responsibility Description", + "description" : "An implementation statement that describes the aspects of the control or control statement implementation that a leveraging system must implement to satisfy the control provided by a leveraged system.", + "type" : "string" }, "props" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "prose" : - { "title" : "Part Text", - "description" : "Permits multiple paragraphs, lists, tables etc.", - "type" : "string" }, - "parts" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_assessment-part" } }, + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, "links" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } } }, + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "responsible-roles" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "description" ], + "additionalProperties" : false } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "additionalProperties" : false }, + "inherited" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Inherited Control Implementation", + "description" : "Describes a control implementation inherited by a leveraging system.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Inherited Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inherited entry elsewhere in this or other OSCAL instances. The locally defined UUID of the inherited control implementation can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "provided-uuid" : + { "title" : "Provided UUID", + "description" : "A machine-oriented identifier reference to an inherited control implementation that a leveraging system is inheriting from a leveraged system.", + "$ref" : "#/definitions/UUIDDatatype" }, + "description" : + { "title" : "Inherited Control Implementation Description", + "description" : "An implementation statement that describes the aspects of a control or control statement implementation that a leveraging system is inheriting from a leveraged system.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "responsible-roles" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-role" } } }, + "required" : + [ "uuid", + "description" ], + "additionalProperties" : false } }, + "satisfied" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Satisfied Control Implementation Responsibility", + "description" : "Describes how this system satisfies a responsibility imposed by a leveraged system.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Satisfied Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this satisfied control implementation entry elsewhere in this or other OSCAL instances. The locally defined UUID of the control implementation can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "responsibility-uuid" : + { "title" : "Responsibility UUID", + "description" : "A machine-oriented identifier reference to a control implementation that satisfies a responsibility imposed by a leveraged system.", + "$ref" : "#/definitions/UUIDDatatype" }, + "description" : + { "title" : "Satisfied Control Implementation Responsibility Description", + "description" : "An implementation statement that describes the aspects of a control or control statement implementation that a leveraging system is implementing based on a requirement from a leveraged system.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "responsible-roles" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "description" ], + "additionalProperties" : false } }, + "responsible-roles" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "component-uuid", + "uuid", + "description" ], + "additionalProperties" : false }, + "oscal-complete-oscal-ap:assessment-plan" : + { "title" : "Security Assessment Plan (SAP)", + "description" : "An assessment plan, such as those provided by a FedRAMP assessor.", + "$id" : "#assembly_oscal-ap_assessment-plan", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Assessment Plan Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment plan in this or other OSCAL instances. The locally defined UUID of the assessment plan can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "metadata" : + { "$ref" : "#assembly_oscal-metadata_metadata" }, + "import-ssp" : + { "$ref" : "#assembly_oscal-assessment-common_import-ssp" }, + "local-definitions" : + { "title" : "Local Definitions", + "description" : "Used to define data objects that are used in the assessment plan, that do not appear in the referenced SSP.", + "type" : "object", + "properties" : + { "components" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_system-component" } }, + "inventory-items" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_inventory-item" } }, + "users" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_system-user" } }, + "objectives-and-methods" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_local-objective" } }, + "activities" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_activity" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "additionalProperties" : false }, + "terms-and-conditions" : + { "title" : "Assessment Plan Terms and Conditions", + "description" : "Used to define various terms and conditions under which an assessment, described by the plan, can be performed. Each child part defines a different type of term or condition.", + "type" : "object", + "properties" : + { "parts" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_assessment-part" } } }, + "additionalProperties" : false }, + "reviewed-controls" : + { "$ref" : "#assembly_oscal-assessment-common_reviewed-controls" }, + "assessment-subjects" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_assessment-subject" } }, + "assessment-assets" : + { "$ref" : "#assembly_oscal-assessment-common_assessment-assets" }, + "tasks" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_task" } }, + "back-matter" : + { "$ref" : "#assembly_oscal-metadata_back-matter" } }, + "required" : + [ "uuid", + "metadata", + "import-ssp", + "reviewed-controls" ], + "additionalProperties" : false }, + "oscal-complete-oscal-assessment-common:import-ssp" : + { "title" : "Import System Security Plan", + "description" : "Used by the assessment plan and POA&M to import information about the system.", + "$id" : "#assembly_oscal-assessment-common_import-ssp", + "type" : "object", + "properties" : + { "href" : + { "title" : "System Security Plan Reference", + "description" : "A resolvable URL reference to the system security plan for the system being assessed.", + "$ref" : "#/definitions/URIReferenceDatatype" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "href" ], + "additionalProperties" : false }, + "oscal-complete-oscal-assessment-common:local-objective" : + { "title" : "Assessment-Specific Control Objective", + "description" : "A local definition of a control objective for this assessment. Uses catalog syntax for control objective and assessment actions.", + "$id" : "#assembly_oscal-assessment-common_local-objective", + "type" : "object", + "properties" : + { "control-id" : + { "title" : "Control Identifier Reference", + "description" : "A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference).", + "$ref" : "#/definitions/TokenDatatype" }, + "description" : + { "title" : "Objective Description", + "description" : "A human-readable description of this control objective.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "parts" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_part" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "control-id", + "parts" ], + "additionalProperties" : false }, + "oscal-complete-oscal-assessment-common:assessment-method" : + { "title" : "Assessment Method", + "description" : "A local definition of a control objective. Uses catalog syntax for control objective and assessment activities.", + "$id" : "#assembly_oscal-assessment-common_assessment-method", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Assessment Method Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment method elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment method can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "description" : + { "title" : "Assessment Method Description", + "description" : "A human-readable description of this assessment method.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "part" : + { "$ref" : "#assembly_oscal-assessment-common_assessment-part" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "part" ], + "additionalProperties" : false }, + "oscal-complete-oscal-assessment-common:activity" : + { "title" : "Activity", + "description" : "Identifies an assessment or related process that can be performed. In the assessment plan, this is an intended activity which may be associated with an assessment task. In the assessment results, this an activity that was actually performed as part of an assessment.", + "$id" : "#assembly_oscal-assessment-common_activity", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Assessment Activity Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment activity elsewhere in this or other OSCAL instances. The locally defined UUID of the activity can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Included Activity Title", + "description" : "The title for this included activity.", + "type" : "string" }, + "description" : + { "title" : "Included Activity Description", + "description" : "A human-readable description of this included activity.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "steps" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Step", + "description" : "Identifies an individual step in a series of steps related to an activity, such as an assessment test or examination procedure.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Step Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this step elsewhere in this or other OSCAL instances. The locally defined UUID of the step (in a series of steps) can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Step Title", + "description" : "The title for this step.", + "type" : "string" }, + "description" : + { "title" : "Step Description", + "description" : "A human-readable description of this step.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "reviewed-controls" : + { "$ref" : "#assembly_oscal-assessment-common_reviewed-controls" }, + "responsible-roles" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "description" ], + "additionalProperties" : false } }, + "related-controls" : + { "$ref" : "#assembly_oscal-assessment-common_reviewed-controls" }, + "responsible-roles" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "description" ], + "additionalProperties" : false }, + "oscal-complete-oscal-assessment-common:task" : + { "title" : "Task", + "description" : "Represents a scheduled event or milestone, which may be associated with a series of assessment actions.", + "$id" : "#assembly_oscal-assessment-common_task", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Task Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this task elsewhere in this or other OSCAL instances. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "type" : + { "title" : "Task Type", + "description" : "The type of task.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Task Title", + "description" : "The title for this task.", + "type" : "string" }, + "description" : + { "title" : "Task Description", + "description" : "A human-readable description of this task.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "timing" : + { "title" : "Event Timing", + "description" : "The timing under which the task is intended to occur.", + "type" : "object", + "properties" : + { "on-date" : + { "title" : "On Date Condition", + "description" : "The task is intended to occur on the specified date.", + "type" : "object", + "properties" : + { "date" : + { "title" : "On Date Condition", + "description" : "The task must occur on the specified date.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" } }, "required" : - [ "name" ], + [ "date" ], "additionalProperties" : false }, - "oscal-complete-oscal-ar:assessment-results" : - { "title" : "Security Assessment Results (SAR)", - "description" : "Security assessment results, such as those provided by a FedRAMP assessor in the FedRAMP Security Assessment Report.", - "$id" : "#assembly_oscal-ar_assessment-results", + "within-date-range" : + { "title" : "On Date Range Condition", + "description" : "The task is intended to occur within the specified date range.", "type" : "object", "properties" : - { "uuid" : - { "title" : "Assessment Results Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment results instance in this or other OSCAL instances. The locally defined UUID of the assessment result can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "metadata" : - { "$ref" : "#assembly_oscal-metadata_metadata" }, - "import-ap" : - { "$ref" : "#assembly_oscal-ar_import-ap" }, - "local-definitions" : - { "title" : "Local Definitions", - "description" : "Used to define data objects that are used in the assessment plan, that do not appear in the referenced SSP.", - "type" : "object", - "properties" : - { "objectives-and-methods" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_local-objective" } }, - "activities" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_activity" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "additionalProperties" : false }, - "results" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-ar_result" } }, - "back-matter" : - { "$ref" : "#assembly_oscal-metadata_back-matter" } }, + { "start" : + { "title" : "Start Date Condition", + "description" : "The task must occur on or after the specified date.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "end" : + { "title" : "End Date Condition", + "description" : "The task must occur on or before the specified date.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" } }, "required" : - [ "uuid", - "metadata", - "import-ap", - "results" ], + [ "start", + "end" ], "additionalProperties" : false }, - "oscal-complete-oscal-ar:result" : - { "title" : "Assessment Result", - "description" : "Used by the assessment results and POA&M. In the assessment results, this identifies all of the assessment observations and findings, initial and residual risks, deviations, and disposition. In the POA&M, this identifies initial and residual risks, deviations, and disposition.", - "$id" : "#assembly_oscal-ar_result", + "at-frequency" : + { "title" : "Frequency Condition", + "description" : "The task is intended to occur at the specified frequency.", "type" : "object", "properties" : - { "uuid" : - { "title" : "Results Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this set of results in this or other OSCAL instances. The locally defined UUID of the assessment result can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Results Title", - "description" : "The title for this set of results.", - "type" : "string" }, - "description" : - { "title" : "Results Description", - "description" : "A human-readable description of this set of test results.", - "type" : "string" }, - "start" : - { "title" : "start field", - "description" : "Date/time stamp identifying the start of the evidence collection reflected in these results.", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "end" : - { "title" : "end field", - "description" : "Date/time stamp identifying the end of the evidence collection reflected in these results. In a continuous motoring scenario, this may contain the same value as start if appropriate.", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "props" : - { "type" : "array", + { "period" : + { "title" : "Period", + "description" : "The task must occur after the specified period has elapsed.", + "$ref" : "#/definitions/PositiveIntegerDatatype" }, + "unit" : + { "title" : "Time Unit", + "description" : "The unit of time for the period.", + "allOf" : + [ + { "$ref" : "#/definitions/StringDatatype" }, + + { "enum" : + [ "seconds", + "minutes", + "hours", + "days", + "months", + "years" ] } ] } }, + "required" : + [ "period", + "unit" ], + "additionalProperties" : false } }, + "additionalProperties" : false }, + "dependencies" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Task Dependency", + "description" : "Used to indicate that a task is dependent on another task.", + "type" : "object", + "properties" : + { "task-uuid" : + { "title" : "Task Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to a unique task.", + "$ref" : "#/definitions/UUIDDatatype" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "task-uuid" ], + "additionalProperties" : false } }, + "tasks" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_task" } }, + "associated-activities" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Associated Activity", + "description" : "Identifies an individual activity to be performed as part of a task.", + "type" : "object", + "properties" : + { "activity-uuid" : + { "title" : "Activity Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to an activity defined in the list of activities.", + "$ref" : "#/definitions/UUIDDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "responsible-roles" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, + "subjects" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_assessment-subject" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "activity-uuid", + "subjects" ], + "additionalProperties" : false } }, + "subjects" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_assessment-subject" } }, + "responsible-roles" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "type", + "title" ], + "additionalProperties" : false }, + "oscal-complete-oscal-assessment-common:reviewed-controls" : + { "title" : "Reviewed Controls and Control Objectives", + "description" : "Identifies the controls being assessed and their control objectives.", + "$id" : "#assembly_oscal-assessment-common_reviewed-controls", + "type" : "object", + "properties" : + { "description" : + { "title" : "Control Objective Description", + "description" : "A human-readable description of control objectives.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "control-selections" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Assessed Controls", + "description" : "Identifies the controls being assessed. In the assessment plan, these are the planned controls. In the assessment results, these are the actual controls, and reflects any changes from the plan.", + "type" : "object", + "properties" : + { "description" : + { "title" : "Assessed Controls Description", + "description" : "A human-readable description of in-scope controls specified for assessment.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "include-all" : + { "$ref" : "#assembly_oscal-control-common_include-all" }, + "include-controls" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_select-control-by-id" } }, + "exclude-controls" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_select-control-by-id" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "additionalProperties" : false } }, + "control-objective-selections" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Referenced Control Objectives", + "description" : "Identifies the control objectives of the assessment. In the assessment plan, these are the planned objectives. In the assessment results, these are the assessed objectives, and reflects any changes from the plan.", + "type" : "object", + "properties" : + { "description" : + { "title" : "Control Objectives Description", + "description" : "A human-readable description of this collection of control objectives.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "include-all" : + { "$ref" : "#assembly_oscal-control-common_include-all" }, + "include-objectives" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_select-objective-by-id" } }, + "exclude-objectives" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_select-objective-by-id" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "additionalProperties" : false } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "control-selections" ], + "additionalProperties" : false }, + "oscal-complete-oscal-assessment-common:select-control-by-id" : + { "title" : "Select Control", + "description" : "Used to select a control for inclusion/exclusion based on one or more control identifiers. A set of statement identifiers can be used to target the inclusion/exclusion to only specific control statements providing more granularity over the specific statements that are within the asessment scope.", + "$id" : "#assembly_oscal-assessment-common_select-control-by-id", + "type" : "object", + "properties" : + { "control-id" : + { "title" : "Control Identifier Reference", + "description" : "A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference).", + "$ref" : "#/definitions/TokenDatatype" }, + "statement-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Include Specific Statements", + "description" : "Used to constrain the selection to only specificity identified statements.", + "$ref" : "#/definitions/TokenDatatype" } } }, + "required" : + [ "control-id" ], + "additionalProperties" : false }, + "oscal-complete-oscal-assessment-common:select-objective-by-id" : + { "title" : "Select Objective", + "description" : "Used to select a control objective for inclusion/exclusion based on the control objective's identifier.", + "$id" : "#assembly_oscal-assessment-common_select-objective-by-id", + "type" : "object", + "properties" : + { "objective-id" : + { "title" : "Objective ID", + "description" : "Points to an assessment objective.", + "$ref" : "#/definitions/TokenDatatype" } }, + "required" : + [ "objective-id" ], + "additionalProperties" : false }, + "oscal-complete-oscal-assessment-common:assessment-subject-placeholder" : + { "title" : "Assessment Subject Placeholder", + "description" : "Used when the assessment subjects will be determined as part of one or more other assessment activities. These assessment subjects will be recorded in the assessment results in the assessment log.", + "$id" : "#assembly_oscal-assessment-common_assessment-subject-placeholder", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Assessment Subject Placeholder Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier for a set of assessment subjects that will be identified by a task or an activity that is part of a task. The locally defined UUID of the assessment subject placeholder can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "description" : + { "title" : "Assessment Subject Placeholder Description", + "description" : "A human-readable description of intent of this assessment subject placeholder.", + "type" : "string" }, + "sources" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Assessment Subject Source", + "description" : "Assessment subjects will be identified while conducting the referenced activity-instance.", + "type" : "object", + "properties" : + { "task-uuid" : + { "title" : "Task Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference (in this or other OSCAL instances) an assessment activity to be performed as part of the event. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" } }, + "required" : + [ "task-uuid" ], + "additionalProperties" : false } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "sources" ], + "additionalProperties" : false }, + "oscal-complete-oscal-assessment-common:assessment-subject" : + { "title" : "Subject of Assessment", + "description" : "Identifies system elements being assessed, such as components, inventory items, and locations. In the assessment plan, this identifies a planned assessment subject. In the assessment results this is an actual assessment subject, and reflects any changes from the plan. exactly what will be the focus of this assessment. Any subjects not identified in this way are out-of-scope.", + "$id" : "#assembly_oscal-assessment-common_assessment-subject", + "type" : "object", + "properties" : + { "type" : + { "title" : "Subject Type", + "description" : "Indicates the type of assessment subject, such as a component, inventory, item, location, or party represented by this selection statement.", + "$ref" : "#/definitions/TokenDatatype" }, + "description" : + { "title" : "Include Subjects Description", + "description" : "A human-readable description of the collection of subjects being included in this assessment.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "include-all" : + { "$ref" : "#assembly_oscal-control-common_include-all" }, + "include-subjects" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_select-subject-by-id" } }, + "exclude-subjects" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_select-subject-by-id" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "type" ], + "additionalProperties" : false }, + "oscal-complete-oscal-assessment-common:select-subject-by-id" : + { "title" : "Select Assessment Subject", + "description" : "Identifies a set of assessment subjects to include/exclude by UUID.", + "$id" : "#assembly_oscal-assessment-common_select-subject-by-id", + "type" : "object", + "properties" : + { "subject-uuid" : + { "title" : "Subject Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID.", + "$ref" : "#/definitions/UUIDDatatype" }, + "type" : + { "title" : "Subject Universally Unique Identifier Reference Type", + "description" : "Used to indicate the type of object pointed to by the uuid-ref within a subject.", + "$ref" : "#/definitions/TokenDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "subject-uuid", + "type" ], + "additionalProperties" : false }, + "oscal-complete-oscal-assessment-common:subject-reference" : + { "title" : "Identifies the Subject", + "description" : "A human-oriented identifier reference to a resource. Use type to indicate whether the identified resource is a component, inventory item, location, user, or something else.", + "$id" : "#assembly_oscal-assessment-common_subject-reference", + "type" : "object", + "properties" : + { "subject-uuid" : + { "title" : "Subject Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID.", + "$ref" : "#/definitions/UUIDDatatype" }, + "type" : + { "title" : "Subject Universally Unique Identifier Reference Type", + "description" : "Used to indicate the type of object pointed to by the uuid-ref within a subject.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Subject Reference Title", + "description" : "The title or name for the referenced subject.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "subject-uuid", + "type" ], + "additionalProperties" : false }, + "oscal-complete-oscal-assessment-common:assessment-assets" : + { "title" : "Assessment Assets", + "description" : "Identifies the assets used to perform this assessment, such as the assessment team, scanning tools, and assumptions.", + "$id" : "#assembly_oscal-assessment-common_assessment-assets", + "type" : "object", + "properties" : + { "components" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_system-component" } }, + "assessment-platforms" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Assessment Platform", + "description" : "Used to represent the toolset used to perform aspects of the assessment.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Assessment Platform Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment platform elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment platform can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Assessment Platform Title", + "description" : "The title or name for the assessment platform.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "uses-components" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Uses Component", + "description" : "The set of components that are used by the assessment platform.", + "type" : "object", + "properties" : + { "component-uuid" : + { "title" : "Component Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to a component that is implemented as part of an inventory item.", + "$ref" : "#/definitions/UUIDDatatype" }, + "props" : + { "type" : "array", "minItems" : 1, "items" : { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", + "links" : + { "type" : "array", "minItems" : 1, "items" : { "$ref" : "#assembly_oscal-metadata_link" } }, - "local-definitions" : - { "title" : "Local Definitions", - "description" : "Used to define data objects that are used in the assessment plan, that do not appear in the referenced SSP.", - "type" : "object", - "properties" : - { "components" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_system-component" } }, - "inventory-items" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_inventory-item" } }, - "users" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_system-user" } }, - "assessment-assets" : - { "$ref" : "#assembly_oscal-assessment-common_assessment-assets" }, - "tasks" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_task" } } }, - "additionalProperties" : false }, - "reviewed-controls" : - { "$ref" : "#assembly_oscal-assessment-common_reviewed-controls" }, - "attestations" : - { "type" : "array", + "responsible-parties" : + { "type" : "array", "minItems" : 1, "items" : - { "title" : "Attestation Statements", - "description" : "A set of textual statements, typically written by the assessor.", - "type" : "object", - "properties" : - { "responsible-parties" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, - "parts" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_assessment-part" } } }, - "required" : - [ "parts" ], - "additionalProperties" : false } }, - "assessment-log" : - { "title" : "Assessment Log", - "description" : "A log of all assessment-related actions taken.", - "type" : "object", - "properties" : - { "entries" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Assessment Log Entry", - "description" : "Identifies the result of an action and/or task that occurred as part of executing an assessment plan or an assessment event that occurred in producing the assessment results.", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Assessment Log Entry Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference an assessment event in this or other OSCAL instances. The locally defined UUID of the assessment log entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Action Title", - "description" : "The title for this event.", - "type" : "string" }, - "description" : - { "title" : "Action Description", - "description" : "A human-readable description of this event.", - "type" : "string" }, - "start" : - { "title" : "Start", - "description" : "Identifies the start date and time of an event.", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "end" : - { "title" : "End", - "description" : "Identifies the end date and time of an event. If the event is a point in time, the start and end will be the same date and time.", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "logged-by" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_logged-by" } }, - "related-tasks" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_related-task" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "start" ], - "additionalProperties" : false } } }, - "required" : - [ "entries" ], - "additionalProperties" : false }, - "observations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_observation" } }, - "risks" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_risk" } }, - "findings" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-ar_finding" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "title", - "description", - "start", - "reviewed-controls" ], - "additionalProperties" : false }, - "oscal-complete-oscal-ar:finding" : - { "title" : "Finding", - "description" : "Describes an individual finding.", - "$id" : "#assembly_oscal-ar_finding", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Finding Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this finding in this or other OSCAL instances. The locally defined UUID of the finding can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, + { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "component-uuid" ], + "additionalProperties" : false } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid" ], + "additionalProperties" : false } } }, + "required" : + [ "assessment-platforms" ], + "additionalProperties" : false }, + "oscal-complete-oscal-assessment-common:finding-target" : + { "title" : "Objective Status", + "description" : "Captures an assessor's conclusions regarding the degree to which an objective is satisfied.", + "$id" : "#assembly_oscal-assessment-common_finding-target", + "type" : "object", + "properties" : + { "type" : + { "title" : "Finding Target Type", + "description" : "Identifies the type of the target.", + "allOf" : + [ + { "$ref" : "#/definitions/StringDatatype" }, + + { "enum" : + [ "statement-id", + "objective-id" ] } ] }, + "target-id" : + { "title" : "Finding Target Identifier Reference", + "description" : "A machine-oriented identifier reference for a specific target qualified by the type.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Objective Status Title", + "description" : "The title for this objective status.", + "type" : "string" }, + "description" : + { "title" : "Objective Status Description", + "description" : "A human-readable description of the assessor's conclusions regarding the degree to which an objective is satisfied.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "status" : + { "title" : "Objective Status", + "description" : "A determination of if the objective is satisfied or not within a given system.", + "type" : "object", + "properties" : + { "state" : + { "title" : "Objective Status State", + "description" : "An indication as to whether the objective is satisfied or not.", + "allOf" : + [ + { "$ref" : "#/definitions/TokenDatatype" }, + + { "enum" : + [ "satisfied", + "not-satisfied" ] } ] }, + "reason" : + { "title" : "Objective Status Reason", + "description" : "The reason the objective was given it's status.", + "$ref" : "#/definitions/TokenDatatype" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "state" ], + "additionalProperties" : false }, + "implementation-status" : + { "$ref" : "#assembly_oscal-implementation-common_implementation-status" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "type", + "target-id", + "status" ], + "additionalProperties" : false }, + "oscal-complete-oscal-assessment-common:finding" : + { "title" : "Finding", + "description" : "Describes an individual finding.", + "$id" : "#assembly_oscal-assessment-common_finding", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Finding Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this finding in this or other OSCAL instances. The locally defined UUID of the finding can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Finding Title", + "description" : "The title for this finding.", + "type" : "string" }, + "description" : + { "title" : "Finding Description", + "description" : "A human-readable description of this finding.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "origins" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_origin" } }, + "target" : + { "$ref" : "#assembly_oscal-assessment-common_finding-target" }, + "implementation-statement-uuid" : + { "title" : "Implementation Statement UUID", + "description" : "A machine-oriented identifier reference to the implementation statement in the SSP to which this finding is related.", + "$ref" : "#/definitions/UUIDDatatype" }, + "related-observations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Related Observation", + "description" : "Relates the finding to a set of referenced observations that were used to determine the finding.", + "type" : "object", + "properties" : + { "observation-uuid" : + { "title" : "Observation Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to an observation defined in the list of observations.", + "$ref" : "#/definitions/UUIDDatatype" } }, + "required" : + [ "observation-uuid" ], + "additionalProperties" : false } }, + "related-risks" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Associated Risk", + "description" : "Relates the finding to a set of referenced risks that were used to determine the finding.", + "type" : "object", + "properties" : + { "risk-uuid" : + { "title" : "Risk Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to a risk defined in the list of risks.", + "$ref" : "#/definitions/UUIDDatatype" } }, + "required" : + [ "risk-uuid" ], + "additionalProperties" : false } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "title", + "description", + "target" ], + "additionalProperties" : false }, + "oscal-complete-oscal-assessment-common:observation" : + { "title" : "Observation", + "description" : "Describes an individual observation.", + "$id" : "#assembly_oscal-assessment-common_observation", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Observation Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this observation elsewhere in this or other OSCAL instances. The locally defined UUID of the observation can be used to reference the data item locally or globally (e.g., in an imorted OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Observation Title", + "description" : "The title for this observation.", + "type" : "string" }, + "description" : + { "title" : "Observation Description", + "description" : "A human-readable description of this assessment observation.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "methods" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Observation Method", + "description" : "Identifies how the observation was made.", + "$ref" : "#/definitions/StringDatatype" } }, + "types" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Observation Type", + "description" : "Identifies the nature of the observation. More than one may be used to further qualify and enable filtering.", + "$ref" : "#/definitions/TokenDatatype" } }, + "origins" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_origin" } }, + "subjects" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_subject-reference" } }, + "relevant-evidence" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Relevant Evidence", + "description" : "Links this observation to relevant evidence.", + "type" : "object", + "properties" : + { "href" : + { "title" : "Relevant Evidence Reference", + "description" : "A resolvable URL reference to relevant evidence.", + "$ref" : "#/definitions/URIReferenceDatatype" }, + "description" : + { "title" : "Relevant Evidence Description", + "description" : "A human-readable description of this evidence.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "description" ], + "additionalProperties" : false } }, + "collected" : + { "title" : "Collected Field", + "description" : "Date/time stamp identifying when the finding information was collected.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "expires" : + { "title" : "Expires Field", + "description" : "Date/time identifying when the finding information is out-of-date and no longer valid. Typically used with continuous assessment scenarios.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "description", + "methods", + "collected" ], + "additionalProperties" : false }, + "oscal-complete-oscal-assessment-common:origin" : + { "title" : "Origin", + "description" : "Identifies the source of the finding, such as a tool, interviewed person, or activity.", + "$id" : "#assembly_oscal-assessment-common_origin", + "type" : "object", + "properties" : + { "actors" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_origin-actor" } }, + "related-tasks" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_related-task" } } }, + "required" : + [ "actors" ], + "additionalProperties" : false }, + "oscal-complete-oscal-assessment-common:origin-actor" : + { "title" : "Originating Actor", + "description" : "The actor that produces an observation, a finding, or a risk. One or more actor type can be used to specify a person that is using a tool.", + "$id" : "#assembly_oscal-assessment-common_origin-actor", + "type" : "object", + "properties" : + { "type" : + { "title" : "Actor Type", + "description" : "The kind of actor.", + "allOf" : + [ + { "$ref" : "#/definitions/TokenDatatype" }, + + { "enum" : + [ "tool", + "assessment-platform", + "party" ] } ] }, + "actor-uuid" : + { "title" : "Actor Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to the tool or person based on the associated type.", + "$ref" : "#/definitions/UUIDDatatype" }, + "role-id" : + { "title" : "Actor Role", + "description" : "For a party, this can optionally be used to specify the role the actor was performing.", + "$ref" : "#/definitions/TokenDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } } }, + "required" : + [ "type", + "actor-uuid" ], + "additionalProperties" : false }, + "oscal-complete-oscal-assessment-common:related-task" : + { "title" : "Task Reference", + "description" : "Identifies an individual task for which the containing object is a consequence of.", + "$id" : "#assembly_oscal-assessment-common_related-task", + "type" : "object", + "properties" : + { "task-uuid" : + { "title" : "Task Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to a unique task.", + "$ref" : "#/definitions/UUIDDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "responsible-parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, + "subjects" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_assessment-subject" } }, + "identified-subject" : + { "title" : "Identified Subject", + "description" : "Used to detail assessment subjects that were identfied by this task.", + "type" : "object", + "properties" : + { "subject-placeholder-uuid" : + { "title" : "Assessment Subject Placeholder Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to a unique assessment subject placeholder defined by this task.", + "$ref" : "#/definitions/UUIDDatatype" }, + "subjects" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_assessment-subject" } } }, + "required" : + [ "subject-placeholder-uuid", + "subjects" ], + "additionalProperties" : false }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "task-uuid" ], + "additionalProperties" : false }, + "oscal-complete-oscal-assessment-common:threat-id" : + { "title" : "Threat ID", + "description" : "A pointer, by ID, to an externally-defined threat.", + "$id" : "#field_oscal-assessment-common_threat-id", + "type" : "object", + "properties" : + { "system" : + { "title" : "Threat Type Identification System", + "description" : "Specifies the source of the threat information.", + "$ref" : "#/definitions/URIDatatype" }, + "href" : + { "title" : "Threat Information Resource Reference", + "description" : "An optional location for the threat data, from which this ID originates.", + "$ref" : "#/definitions/URIReferenceDatatype" }, + "id" : + { "type" : "string" } }, + "required" : + [ "id", + "system" ], + "additionalProperties" : false }, + "oscal-complete-oscal-assessment-common:risk" : + { "title" : "Identified Risk", + "description" : "An identified risk.", + "$id" : "#assembly_oscal-assessment-common_risk", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Risk Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk elsewhere in this or other OSCAL instances. The locally defined UUID of the risk can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Risk Title", + "description" : "The title for this risk.", + "type" : "string" }, + "description" : + { "title" : "Risk Description", + "description" : "A human-readable summary of the identified risk, to include a statement of how the risk impacts the system.", + "type" : "string" }, + "statement" : + { "title" : "Risk Statement", + "description" : "An summary of impact for how the risk affects the system.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "status" : + { "$ref" : "#field_oscal-assessment-common_risk-status" }, + "origins" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_origin" } }, + "threat-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-assessment-common_threat-id" } }, + "characterizations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_characterization" } }, + "mitigating-factors" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Mitigating Factor", + "description" : "Describes an existing mitigating factor that may affect the overall determination of the risk, with an optional link to an implementation statement in the SSP.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Mitigating Factor Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this mitigating factor elsewhere in this or other OSCAL instances. The locally defined UUID of the mitigating factor can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "implementation-uuid" : + { "title" : "Implementation UUID", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this implementation statement elsewhere in this or other OSCAL instancess. The locally defined UUID of the implementation statement can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "description" : + { "title" : "Mitigating Factor Description", + "description" : "A human-readable description of this mitigating factor.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "subjects" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_subject-reference" } } }, + "required" : + [ "uuid", + "description" ], + "additionalProperties" : false } }, + "deadline" : + { "title" : "Risk Resolution Deadline", + "description" : "The date/time by which the risk must be resolved.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "remediations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_response" } }, + "risk-log" : + { "title" : "Risk Log", + "description" : "A log of all risk-related tasks taken.", + "type" : "object", + "properties" : + { "entries" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Risk Log Entry", + "description" : "Identifies an individual risk response that occurred as part of managing an identified risk.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Risk Log Entry Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk log entry elsewhere in this or other OSCAL instances. The locally defined UUID of the risk log entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, "title" : - { "title" : "Finding Title", - "description" : "The title for this finding.", - "type" : "string" }, + { "title" : "Title", + "description" : "The title for this risk log entry.", + "type" : "string" }, "description" : - { "title" : "Finding Description", - "description" : "A human-readable description of this finding.", - "type" : "string" }, + { "title" : "Risk Task Description", + "description" : "A human-readable description of what was done regarding the risk.", + "type" : "string" }, + "start" : + { "title" : "Start", + "description" : "Identifies the start date and time of the event.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "end" : + { "title" : "End", + "description" : "Identifies the end date and time of the event. If the event is a point in time, the start and end will be the same date and time.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, "props" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, "links" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "origins" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_origin" } }, - "target" : - { "$ref" : "#assembly_oscal-assessment-common_finding-target" }, - "implementation-statement-uuid" : - { "title" : "Implementation Statement UUID", - "description" : "A machine-oriented identifier reference to the implementation statement in the SSP to which this finding is related.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "related-observations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Related Observation", - "description" : "Relates the finding to a set of referenced observations that were used to determine the finding.", - "type" : "object", - "properties" : - { "observation-uuid" : - { "title" : "Observation Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to an observation defined in the list of observations.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" } }, - "required" : - [ "observation-uuid" ], - "additionalProperties" : false } }, - "related-risks" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Associated Risk", - "description" : "Relates the finding to a set of referenced risks that were used to determine the finding.", - "type" : "object", - "properties" : - { "risk-uuid" : - { "title" : "Risk Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to a risk defined in the list of risks.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" } }, - "required" : - [ "risk-uuid" ], - "additionalProperties" : false } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "title", - "description", - "target" ], - "additionalProperties" : false }, - "oscal-complete-oscal-ar:import-ap" : - { "title" : "Import Assessment Plan", - "description" : "Used by assessment-results to import information about the original plan for assessing the system.", - "$id" : "#assembly_oscal-ar_import-ap", - "type" : "object", - "properties" : - { "href" : - { "title" : "Assessment Plan Reference", - "description" : "A resolvable URL reference to the assessment plan governing the assessment activities.", - "type" : "string", - "format" : "uri-reference" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "href" ], - "additionalProperties" : false }, - "oscal-complete-oscal-poam:plan-of-action-and-milestones" : - { "title" : "Plan of Action and Milestones (POA&M)", - "description" : "A plan of action and milestones which identifies initial and residual risks, deviations, and disposition, such as those required by FedRAMP.", - "$id" : "#assembly_oscal-poam_plan-of-action-and-milestones", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "POA&M Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with instancescope that can be used to reference this POA&M instance in this OSCAL instance. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "metadata" : - { "$ref" : "#assembly_oscal-metadata_metadata" }, - "import-ssp" : - { "$ref" : "#assembly_oscal-assessment-common_import-ssp" }, - "system-id" : - { "$ref" : "#field_oscal-implementation-common_system-id" }, - "local-definitions" : - { "$ref" : "#assembly_oscal-poam_local-definitions" }, - "observations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_observation" } }, - "risks" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_risk" } }, - "poam-items" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-poam_poam-item" } }, - "back-matter" : - { "$ref" : "#assembly_oscal-metadata_back-matter" } }, - "required" : - [ "uuid", - "metadata", - "poam-items" ], - "additionalProperties" : false }, - "oscal-complete-oscal-poam:local-definitions" : - { "title" : "Local Definitions", - "description" : "Allows components, and inventory-items to be defined within the POA&M for circumstances where no OSCAL-based SSP exists, or is not delivered with the POA&M.", - "$id" : "#assembly_oscal-poam_local-definitions", - "type" : "object", - "properties" : - { "components" : + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "logged-by" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_system-component" } }, - "inventory-items" : + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_logged-by" } }, + "status-change" : + { "$ref" : "#field_oscal-assessment-common_risk-status" }, + "related-responses" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_inventory-item" } }, + "minItems" : 1, + "items" : + { "title" : "Risk Response Reference", + "description" : "Identifies an individual risk response that this log entry is for.", + "type" : "object", + "properties" : + { "response-uuid" : + { "title" : "Response Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to a unique risk response.", + "$ref" : "#/definitions/UUIDDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "related-tasks" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_related-task" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "response-uuid" ], + "additionalProperties" : false } }, "remarks" : { "$ref" : "#field_oscal-metadata_remarks" } }, - "additionalProperties" : false }, - "oscal-complete-oscal-poam:poam-item" : - { "title" : "POA&M Item", - "description" : "Describes an individual POA&M item.", - "$id" : "#assembly_oscal-poam_poam-item", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "POA&M Item Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with instance scope that can be used to reference this POA&M item entry in this OSCAL instance. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, + "required" : + [ "uuid", + "start" ], + "additionalProperties" : false } } }, + "required" : + [ "entries" ], + "additionalProperties" : false }, + "related-observations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Related Observation", + "description" : "Relates the finding to a set of referenced observations that were used to determine the finding.", + "type" : "object", + "properties" : + { "observation-uuid" : + { "title" : "Observation Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to an observation defined in the list of observations.", + "$ref" : "#/definitions/UUIDDatatype" } }, + "required" : + [ "observation-uuid" ], + "additionalProperties" : false } } }, + "required" : + [ "uuid", + "title", + "description", + "statement", + "status" ], + "additionalProperties" : false }, + "oscal-complete-oscal-assessment-common:logged-by" : + { "title" : "Logged By", + "description" : "Used to indicate who created a log entry in what role.", + "$id" : "#assembly_oscal-assessment-common_logged-by", + "type" : "object", + "properties" : + { "party-uuid" : + { "title" : "Party UUID Reference", + "description" : "A machine-oriented identifier reference to the party who is making the log entry.", + "$ref" : "#/definitions/UUIDDatatype" }, + "role-id" : + { "title" : "Actor Role", + "description" : "A point to the role-id of the role in which the party is making the log entry.", + "$ref" : "#/definitions/TokenDatatype" } }, + "required" : + [ "party-uuid" ], + "additionalProperties" : false }, + "oscal-complete-oscal-assessment-common:risk-status" : + { "title" : "Risk Status", + "description" : "Describes the status of the associated risk.", + "$id" : "#field_oscal-assessment-common_risk-status", + "$ref" : "#/definitions/TokenDatatype" }, + "oscal-complete-oscal-assessment-common:characterization" : + { "title" : "Characterization", + "description" : "A collection of descriptive data about the containing object from a specific origin.", + "$id" : "#assembly_oscal-assessment-common_characterization", + "type" : "object", + "properties" : + { "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "origin" : + { "$ref" : "#assembly_oscal-assessment-common_origin" }, + "facets" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Facet", + "description" : "An individual characteristic that is part of a larger set produced by the same actor.", + "type" : "object", + "properties" : + { "name" : + { "title" : "Facet Name", + "description" : "The name of the risk metric within the specified system.", + "$ref" : "#/definitions/TokenDatatype" }, + "system" : + { "title" : "Naming System", + "description" : "Specifies the naming system under which this risk metric is organized, which allows for the same names to be used in different systems controlled by different parties. This avoids the potential of a name clash.", + "$ref" : "#/definitions/URIDatatype" }, + "value" : + { "title" : "Facet Value", + "description" : "Indicates the value of the facet.", + "$ref" : "#/definitions/StringDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "name", + "system", + "value" ], + "additionalProperties" : false } } }, + "required" : + [ "origin", + "facets" ], + "additionalProperties" : false }, + "oscal-complete-oscal-assessment-common:response" : + { "title" : "Risk Response", + "description" : "Describes either recommended or an actual plan for addressing the risk.", + "$id" : "#assembly_oscal-assessment-common_response", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Remediation Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this remediation elsewhere in this or other OSCAL instances. The locally defined UUID of the risk response can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "lifecycle" : + { "title" : "Remediation Intent", + "description" : "Identifies whether this is a recommendation, such as from an assessor or tool, or an actual plan accepted by the system owner.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Response Title", + "description" : "The title for this response activity.", + "type" : "string" }, + "description" : + { "title" : "Response Description", + "description" : "A human-readable description of this response plan.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "origins" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_origin" } }, + "required-assets" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Required Asset", + "description" : "Identifies an asset required to achieve remediation.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Required Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this required asset elsewhere in this or other OSCAL instances. The locally defined UUID of the asset can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "subjects" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_subject-reference" } }, + "title" : + { "title" : "Title for Required Asset", + "description" : "The title for this required asset.", + "type" : "string" }, + "description" : + { "title" : "Description of Required Asset", + "description" : "A human-readable description of this required asset.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "description" ], + "additionalProperties" : false } }, + "tasks" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_task" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "lifecycle", + "title", + "description" ], + "additionalProperties" : false }, + "oscal-complete-oscal-assessment-common:assessment-part" : + { "title" : "Assessment Part", + "description" : "A partition of an assessment plan or results or a child of another part.", + "$id" : "#assembly_oscal-assessment-common_assessment-part", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Part Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this part elsewhere in this or other OSCAL instances. The locally defined UUID of the part can be used to reference the data item locally or globally (e.g., in an ported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "name" : + { "title" : "Part Name", + "description" : "A textual label that uniquely identifies the part's semantic type.", + "$ref" : "#/definitions/TokenDatatype" }, + "ns" : + { "title" : "Part Namespace", + "description" : "A namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name.", + "$ref" : "#/definitions/URIDatatype" }, + "class" : + { "title" : "Part Class", + "description" : "A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Part Title", + "description" : "A name given to the part, which may be used by a tool for display and navigation.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "prose" : + { "title" : "Part Text", + "description" : "Permits multiple paragraphs, lists, tables etc.", + "type" : "string" }, + "parts" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_assessment-part" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } } }, + "required" : + [ "name" ], + "additionalProperties" : false }, + "oscal-complete-oscal-ar:assessment-results" : + { "title" : "Security Assessment Results (SAR)", + "description" : "Security assessment results, such as those provided by a FedRAMP assessor in the FedRAMP Security Assessment Report.", + "$id" : "#assembly_oscal-ar_assessment-results", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Assessment Results Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment results instance in this or other OSCAL instances. The locally defined UUID of the assessment result can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "metadata" : + { "$ref" : "#assembly_oscal-metadata_metadata" }, + "import-ap" : + { "$ref" : "#assembly_oscal-ar_import-ap" }, + "local-definitions" : + { "title" : "Local Definitions", + "description" : "Used to define data objects that are used in the assessment plan, that do not appear in the referenced SSP.", + "type" : "object", + "properties" : + { "objectives-and-methods" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_local-objective" } }, + "activities" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_activity" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "additionalProperties" : false }, + "results" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-ar_result" } }, + "back-matter" : + { "$ref" : "#assembly_oscal-metadata_back-matter" } }, + "required" : + [ "uuid", + "metadata", + "import-ap", + "results" ], + "additionalProperties" : false }, + "oscal-complete-oscal-ar:result" : + { "title" : "Assessment Result", + "description" : "Used by the assessment results and POA&M. In the assessment results, this identifies all of the assessment observations and findings, initial and residual risks, deviations, and disposition. In the POA&M, this identifies initial and residual risks, deviations, and disposition.", + "$id" : "#assembly_oscal-ar_result", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Results Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this set of results in this or other OSCAL instances. The locally defined UUID of the assessment result can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Results Title", + "description" : "The title for this set of results.", + "type" : "string" }, + "description" : + { "title" : "Results Description", + "description" : "A human-readable description of this set of test results.", + "type" : "string" }, + "start" : + { "title" : "start field", + "description" : "Date/time stamp identifying the start of the evidence collection reflected in these results.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "end" : + { "title" : "end field", + "description" : "Date/time stamp identifying the end of the evidence collection reflected in these results. In a continuous motoring scenario, this may contain the same value as start if appropriate.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "local-definitions" : + { "title" : "Local Definitions", + "description" : "Used to define data objects that are used in the assessment plan, that do not appear in the referenced SSP.", + "type" : "object", + "properties" : + { "components" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_system-component" } }, + "inventory-items" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_inventory-item" } }, + "users" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_system-user" } }, + "assessment-assets" : + { "$ref" : "#assembly_oscal-assessment-common_assessment-assets" }, + "tasks" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_task" } } }, + "additionalProperties" : false }, + "reviewed-controls" : + { "$ref" : "#assembly_oscal-assessment-common_reviewed-controls" }, + "attestations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Attestation Statements", + "description" : "A set of textual statements, typically written by the assessor.", + "type" : "object", + "properties" : + { "responsible-parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, + "parts" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_assessment-part" } } }, + "required" : + [ "parts" ], + "additionalProperties" : false } }, + "assessment-log" : + { "title" : "Assessment Log", + "description" : "A log of all assessment-related actions taken.", + "type" : "object", + "properties" : + { "entries" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Assessment Log Entry", + "description" : "Identifies the result of an action and/or task that occurred as part of executing an assessment plan or an assessment event that occurred in producing the assessment results.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Assessment Log Entry Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference an assessment event in this or other OSCAL instances. The locally defined UUID of the assessment log entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, "title" : - { "title" : "POA&M Item Title", - "description" : "The title or name for this POA&M item .", - "type" : "string" }, + { "title" : "Action Title", + "description" : "The title for this event.", + "type" : "string" }, "description" : - { "title" : "POA&M Item Description", - "description" : "A human-readable description of POA&M item.", - "type" : "string" }, + { "title" : "Action Description", + "description" : "A human-readable description of this event.", + "type" : "string" }, + "start" : + { "title" : "Start", + "description" : "Identifies the start date and time of an event.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "end" : + { "title" : "End", + "description" : "Identifies the end date and time of an event. If the event is a point in time, the start and end will be the same date and time.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, "props" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, "links" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "origins" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Origin", - "description" : "Identifies the source of the finding, such as a tool or person.", - "type" : "object", - "properties" : - { "actors" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_origin-actor" } } }, - "required" : - [ "actors" ], - "additionalProperties" : false } }, - "related-observations" : + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "logged-by" : { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Related Observation", - "description" : "Relates the poam-item to a set of referenced observations that were used to determine the finding.", - "type" : "object", - "properties" : - { "observation-uuid" : - { "title" : "Observation Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to an observation defined in the list of observations.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" } }, - "required" : - [ "observation-uuid" ], - "additionalProperties" : false } }, - "related-risks" : + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_logged-by" } }, + "related-tasks" : { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Associated Risk", - "description" : "Relates the finding to a set of referenced risks that were used to determine the finding.", - "type" : "object", - "properties" : - { "risk-uuid" : - { "title" : "Risk Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to a risk defined in the list of risks.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" } }, - "required" : - [ "risk-uuid" ], - "additionalProperties" : false } }, + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_related-task" } }, "remarks" : { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "title", - "description" ], - "additionalProperties" : false } }, - "oneOf" : + "required" : + [ "uuid", + "start" ], + "additionalProperties" : false } } }, + "required" : + [ "entries" ], + "additionalProperties" : false }, + "observations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_observation" } }, + "risks" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_risk" } }, + "findings" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_finding" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "title", + "description", + "start", + "reviewed-controls" ], + "additionalProperties" : false }, + "oscal-complete-oscal-ar:import-ap" : + { "title" : "Import Assessment Plan", + "description" : "Used by assessment-results to import information about the original plan for assessing the system.", + "$id" : "#assembly_oscal-ar_import-ap", + "type" : "object", + "properties" : + { "href" : + { "title" : "Assessment Plan Reference", + "description" : "A resolvable URL reference to the assessment plan governing the assessment activities.", + "$ref" : "#/definitions/URIReferenceDatatype" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "href" ], + "additionalProperties" : false }, + "oscal-complete-oscal-poam:plan-of-action-and-milestones" : + { "title" : "Plan of Action and Milestones (POA&M)", + "description" : "A plan of action and milestones which identifies initial and residual risks, deviations, and disposition, such as those required by FedRAMP.", + "$id" : "#assembly_oscal-poam_plan-of-action-and-milestones", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "POA&M Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with instancescope that can be used to reference this POA&M instance in this OSCAL instance. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "metadata" : + { "$ref" : "#assembly_oscal-metadata_metadata" }, + "import-ssp" : + { "$ref" : "#assembly_oscal-assessment-common_import-ssp" }, + "system-id" : + { "$ref" : "#field_oscal-implementation-common_system-id" }, + "local-definitions" : + { "$ref" : "#assembly_oscal-poam_local-definitions" }, + "observations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_observation" } }, + "risks" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_risk" } }, + "findings" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_finding" } }, + "poam-items" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-poam_poam-item" } }, + "back-matter" : + { "$ref" : "#assembly_oscal-metadata_back-matter" } }, + "required" : + [ "uuid", + "metadata", + "poam-items" ], + "additionalProperties" : false }, + "oscal-complete-oscal-poam:local-definitions" : + { "title" : "Local Definitions", + "description" : "Allows components, and inventory-items to be defined within the POA&M for circumstances where no OSCAL-based SSP exists, or is not delivered with the POA&M.", + "$id" : "#assembly_oscal-poam_local-definitions", + "type" : "object", + "properties" : + { "components" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_system-component" } }, + "inventory-items" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_inventory-item" } }, + "assessment-assets" : + { "$ref" : "#assembly_oscal-assessment-common_assessment-assets" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "additionalProperties" : false }, + "oscal-complete-oscal-poam:poam-item" : + { "title" : "POA&M Item", + "description" : "Describes an individual POA&M item.", + "$id" : "#assembly_oscal-poam_poam-item", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "POA&M Item Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with instance scope that can be used to reference this POA&M item entry in this OSCAL instance. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "POA&M Item Title", + "description" : "The title or name for this POA&M item .", + "type" : "string" }, + "description" : + { "title" : "POA&M Item Description", + "description" : "A human-readable description of POA&M item.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "origins" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Origin", + "description" : "Identifies the source of the finding, such as a tool or person.", + "type" : "object", + "properties" : + { "actors" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_origin-actor" } } }, + "required" : + [ "actors" ], + "additionalProperties" : false } }, + "related-findings" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Related Finding", + "description" : "Relates the poam-item to referenced finding(s).", + "type" : "object", + "properties" : + { "finding-uuid" : + { "title" : "Finding Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to a finding defined in the list of findings.", + "$ref" : "#/definitions/UUIDDatatype" } }, + "required" : + [ "finding-uuid" ], + "additionalProperties" : false } }, + "related-observations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Related Observation", + "description" : "Relates the poam-item to a set of referenced observations that were used to determine the finding.", + "type" : "object", + "properties" : + { "observation-uuid" : + { "title" : "Observation Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to an observation defined in the list of observations.", + "$ref" : "#/definitions/UUIDDatatype" } }, + "required" : + [ "observation-uuid" ], + "additionalProperties" : false } }, + "related-risks" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Associated Risk", + "description" : "Relates the finding to a set of referenced risks that were used to determine the finding.", + "type" : "object", + "properties" : + { "risk-uuid" : + { "title" : "Risk Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to a risk defined in the list of risks.", + "$ref" : "#/definitions/UUIDDatatype" } }, + "required" : + [ "risk-uuid" ], + "additionalProperties" : false } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "title", + "description" ], + "additionalProperties" : false }, + "Base64Datatype" : + { "type" : "string", + "pattern" : "^[0-9A-Fa-f]+$", + "contentEncoding" : "base64" }, + "BooleanDatatype" : + { "type" : "boolean" }, + "DateDatatype" : + { "type" : "string", + "pattern" : "^(((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30)))(Z|[+-][0-9]{2}:[0-9]{2})?$" }, + "DateTimeWithTimezoneDatatype" : + { "type" : "string", + "format" : "date-time", + "pattern" : "^(((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30)))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]*[1-9])?(Z|(-((0[0-9]|1[0-2]):00|0[39]:30)|\\+((0[0-9]|1[0-4]):00|(0[34569]|10):30|(0[58]|12):45)))$" }, + "EmailAddressDatatype" : + { "type" : "string", + "format" : "email", + "pattern" : "^.+@.+$" }, + "IntegerDatatype" : + { "type" : "integer" }, + "NonNegativeIntegerDatatype" : + { "allOf" : [ - { "properties" : - { "catalog" : - { "$ref" : "#assembly_oscal-catalog_catalog" } }, - "required" : - [ "catalog" ], - "additionalProperties" : false, - "maxProperties" : 1 }, - - { "properties" : - { "profile" : - { "$ref" : "#assembly_oscal-profile_profile" } }, - "required" : - [ "profile" ], - "additionalProperties" : false, - "maxProperties" : 1 }, - - { "properties" : - { "component-definition" : - { "$ref" : "#assembly_oscal-component-definition_component-definition" } }, - "required" : - [ "component-definition" ], - "additionalProperties" : false, - "maxProperties" : 1 }, - - { "properties" : - { "system-security-plan" : - { "$ref" : "#assembly_oscal-ssp_system-security-plan" } }, - "required" : - [ "system-security-plan" ], - "additionalProperties" : false, - "maxProperties" : 1 }, - - { "properties" : - { "assessment-plan" : - { "$ref" : "#assembly_oscal-ap_assessment-plan" } }, - "required" : - [ "assessment-plan" ], - "additionalProperties" : false, - "maxProperties" : 1 }, - - { "properties" : - { "assessment-results" : - { "$ref" : "#assembly_oscal-ar_assessment-results" } }, - "required" : - [ "assessment-results" ], - "additionalProperties" : false, - "maxProperties" : 1 }, - - { "properties" : - { "plan-of-action-and-milestones" : - { "$ref" : "#assembly_oscal-poam_plan-of-action-and-milestones" } }, - "required" : - [ "plan-of-action-and-milestones" ], - "additionalProperties" : false, - "maxProperties" : 1 } ] } \ No newline at end of file + { "$ref" : "#/definitions/IntegerDatatype" }, + + { "minimum" : 0, + "type" : "number" } ] }, + "PositiveIntegerDatatype" : + { "allOf" : + [ + { "$ref" : "#/definitions/IntegerDatatype" }, + + { "minimum" : 1, + "type" : "number" } ] }, + "StringDatatype" : + { "type" : "string", + "pattern" : "^\\S(.*\\S)?$" }, + "TokenDatatype" : + { "type" : "string", + "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, + "URIDatatype" : + { "type" : "string", + "format" : "uri", + "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, + "URIReferenceDatatype" : + { "type" : "string", + "format" : "uri-reference" }, + "UUIDDatatype" : + { "type" : "string", + "description" : "A type 4 ('random' or 'pseudorandom') or type 5 UUID per RFC 4122.", + "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" } }, + "oneOf" : + [ + { "properties" : + { "catalog" : + { "$ref" : "#assembly_oscal-catalog_catalog" } }, + "required" : + [ "catalog" ], + "additionalProperties" : false, + "maxProperties" : 1 }, + + { "properties" : + { "mapping-collection" : + { "$ref" : "#assembly_oscal-mapping_mapping-collection" } }, + "required" : + [ "mapping-collection" ], + "additionalProperties" : false, + "maxProperties" : 1 }, + + { "properties" : + { "profile" : + { "$ref" : "#assembly_oscal-profile_profile" } }, + "required" : + [ "profile" ], + "additionalProperties" : false, + "maxProperties" : 1 }, + + { "properties" : + { "component-definition" : + { "$ref" : "#assembly_oscal-component-definition_component-definition" } }, + "required" : + [ "component-definition" ], + "additionalProperties" : false, + "maxProperties" : 1 }, + + { "properties" : + { "system-security-plan" : + { "$ref" : "#assembly_oscal-ssp_system-security-plan" } }, + "required" : + [ "system-security-plan" ], + "additionalProperties" : false, + "maxProperties" : 1 }, + + { "properties" : + { "assessment-plan" : + { "$ref" : "#assembly_oscal-ap_assessment-plan" } }, + "required" : + [ "assessment-plan" ], + "additionalProperties" : false, + "maxProperties" : 1 }, + + { "properties" : + { "assessment-results" : + { "$ref" : "#assembly_oscal-ar_assessment-results" } }, + "required" : + [ "assessment-results" ], + "additionalProperties" : false, + "maxProperties" : 1 }, + + { "properties" : + { "plan-of-action-and-milestones" : + { "$ref" : "#assembly_oscal-poam_plan-of-action-and-milestones" } }, + "required" : + [ "plan-of-action-and-milestones" ], + "additionalProperties" : false, + "maxProperties" : 1 } ] } \ No newline at end of file diff --git a/json/schema/oscal_component_schema.json b/json/schema/oscal_component_schema.json index 1b44be3ee..750ba9a7c 100644 --- a/json/schema/oscal_component_schema.json +++ b/json/schema/oscal_component_schema.json @@ -1,1528 +1,1529 @@ - { "$schema" : "http://json-schema.org/draft-07/schema#", - "$id" : "http://csrc.nist.gov/ns/oscal/1.0.4/oscal-component-definition-schema.json", - "$comment" : "OSCAL Component Definition Model: JSON Schema", + { "$schema" : "http://json-schema.org/draft-07/schema#", + "$id" : "http://csrc.nist.gov/ns/oscal/1.0.4/oscal-component-definition-schema.json", + "$comment" : "OSCAL Component Definition Model: JSON Schema", + "type" : "object", + "definitions" : + { "oscal-component-definition-oscal-component-definition:component-definition" : + { "title" : "Component Definition", + "description" : "A collection of component descriptions, which may optionally be grouped by capability.", + "$id" : "#assembly_oscal-component-definition_component-definition", "type" : "object", - "definitions" : - { "oscal-component-definition-oscal-component-definition:component-definition" : - { "title" : "Component Definition", - "description" : "A collection of component descriptions, which may optionally be grouped by capability.", - "$id" : "#assembly_oscal-component-definition_component-definition", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Component Definition Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component definition elsewhere in this or other OSCAL instances. The locally defined UUID of the component definition can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "metadata" : - { "$ref" : "#assembly_oscal-metadata_metadata" }, - "import-component-definitions" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-component-definition_import-component-definition" } }, - "components" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-component-definition_defined-component" } }, - "capabilities" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-component-definition_capability" } }, - "back-matter" : - { "$ref" : "#assembly_oscal-metadata_back-matter" } }, - "required" : - [ "uuid", - "metadata" ], - "additionalProperties" : false }, - "oscal-component-definition-oscal-component-definition:import-component-definition" : - { "title" : "Import Component Definition", - "description" : "Loads a component definition from another resource.", - "$id" : "#assembly_oscal-component-definition_import-component-definition", - "type" : "object", - "properties" : - { "href" : - { "title" : "Hyperlink Reference", - "description" : "A link to a resource that defines a set of components and/or capabilities to import into this collection.", - "type" : "string", - "format" : "uri-reference" } }, - "required" : - [ "href" ], - "additionalProperties" : false }, - "oscal-component-definition-oscal-component-definition:defined-component" : - { "title" : "Component", - "description" : "A defined component that can be part of an implemented system.", - "$id" : "#assembly_oscal-component-definition_defined-component", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Component Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component elsewhere in this or other OSCAL instances. The locally defined UUID of the component can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "type" : - { "title" : "Component Type", - "description" : "A category describing the purpose of the component.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "title" : - { "title" : "Component Title", - "description" : "A human readable name for the component.", - "type" : "string" }, - "description" : - { "title" : "Component Description", - "description" : "A description of the component, including information about its function.", - "type" : "string" }, - "purpose" : - { "title" : "Purpose", - "description" : "A summary of the technological or business purpose of the component.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "responsible-roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, - "protocols" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_protocol" } }, - "control-implementations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-component-definition_control-implementation" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "type", - "title", - "description" ], - "additionalProperties" : false }, - "oscal-component-definition-oscal-component-definition:capability" : - { "title" : "Capability", - "description" : "A grouping of other components and/or capabilities.", - "$id" : "#assembly_oscal-component-definition_capability", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Capability Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this capability elsewhere in this or other OSCAL instances. The locally defined UUID of the capability can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance).This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "name" : - { "title" : "Capability Name", - "description" : "The capability's human-readable name.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "description" : - { "title" : "Capability Description", - "description" : "A summary of the capability.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "incorporates-components" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-component-definition_incorporates-component" } }, - "control-implementations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-component-definition_control-implementation" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "name", - "description" ], - "additionalProperties" : false }, - "oscal-component-definition-oscal-component-definition:incorporates-component" : - { "title" : "Incorporates Component", - "description" : "TBD", - "$id" : "#assembly_oscal-component-definition_incorporates-component", - "type" : "object", - "properties" : - { "component-uuid" : - { "title" : "Component Reference", - "description" : "A machine-oriented identifier reference to a component.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "description" : - { "title" : "Component Description", - "description" : "A description of the component, including information about its function.", - "type" : "string" } }, - "required" : - [ "component-uuid", - "description" ], - "additionalProperties" : false }, - "oscal-component-definition-oscal-component-definition:control-implementation" : - { "title" : "Control Implementation Set", - "description" : "Defines how the component or capability supports a set of controls.", - "$id" : "#assembly_oscal-component-definition_control-implementation", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Control Implementation Set Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference a set of implemented controls elsewhere in this or other OSCAL instances. The locally defined UUID of the control implementation set can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "source" : - { "title" : "Source Resource Reference", - "description" : "A reference to an OSCAL catalog or profile providing the referenced control or subcontrol definition.", - "type" : "string", - "format" : "uri-reference" }, - "description" : - { "title" : "Control Implementation Description", - "description" : "A description of how the specified set of controls are implemented for the containing component or capability.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "set-parameters" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_set-parameter" } }, - "implemented-requirements" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-component-definition_implemented-requirement" } } }, - "required" : - [ "uuid", - "source", - "description", - "implemented-requirements" ], - "additionalProperties" : false }, - "oscal-component-definition-oscal-component-definition:implemented-requirement" : - { "title" : "Control Implementation", - "description" : "Describes how the containing component or capability implements an individual control.", - "$id" : "#assembly_oscal-component-definition_implemented-requirement", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Control Implementation Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference a specific control implementation elsewhere in this or other OSCAL instances. The locally defined UUID of the control implementation can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance).This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "control-id" : - { "title" : "Control Identifier Reference", - "description" : "A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference).", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "description" : - { "title" : "Control Implementation Description", - "description" : "A suggestion for how the specified control may be implemented if the containing component or capability is instantiated in a system security plan.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "set-parameters" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_set-parameter" } }, - "responsible-roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, - "statements" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-component-definition_statement" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "control-id", - "description" ], - "additionalProperties" : false }, - "oscal-component-definition-oscal-component-definition:statement" : - { "title" : "Control Statement Implementation", - "description" : "Identifies which statements within a control are addressed.", - "$id" : "#assembly_oscal-component-definition_statement", - "type" : "object", - "properties" : - { "statement-id" : - { "title" : "Control Statement Reference", - "description" : "A human-oriented identifier reference to a control statement.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "uuid" : - { "title" : "Control Statement Reference Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this control statement elsewhere in this or other OSCAL instances. The UUID of the control statement in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "description" : - { "title" : "Statement Implementation Description", - "description" : "A summary of how the containing control statement is implemented by the component or capability.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "responsible-roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "statement-id", - "uuid", - "description" ], - "additionalProperties" : false }, - "oscal-component-definition-oscal-implementation-common:system-component" : - { "title" : "Component", - "description" : "A defined component that can be part of an implemented system.", - "$id" : "#assembly_oscal-implementation-common_system-component", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Component Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component elsewhere in this or other OSCAL instances. The locally defined UUID of the component can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "type" : - { "title" : "Component Type", - "description" : "A category describing the purpose of the component.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "title" : - { "title" : "Component Title", - "description" : "A human readable name for the system component.", - "type" : "string" }, - "description" : - { "title" : "Component Description", - "description" : "A description of the component, including information about its function.", - "type" : "string" }, - "purpose" : - { "title" : "Purpose", - "description" : "A summary of the technological or business purpose of the component.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "status" : - { "title" : "Status", - "description" : "Describes the operational status of the system component.", - "type" : "object", - "properties" : - { "state" : - { "title" : "State", - "description" : "The operational status.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$", - "enum" : - [ "under-development", - "operational", - "disposition", - "other" ] }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "state" ], - "additionalProperties" : false }, - "responsible-roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, - "protocols" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_protocol" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "type", - "title", - "description", - "status" ], - "additionalProperties" : false }, - "oscal-component-definition-oscal-implementation-common:protocol" : - { "title" : "Service Protocol Information", - "description" : "Information about the protocol used to provide a service.", - "$id" : "#assembly_oscal-implementation-common_protocol", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Service Protocol Information Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this service protocol information elsewhere in this or other OSCAL instances. The locally defined UUID of the service protocol can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "name" : - { "title" : "Protocol Name", - "description" : "The common name of the protocol, which should be the appropriate \"service name\" from the IANA Service Name and Transport Protocol Port Number Registry.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "title" : - { "title" : "Protocol Title", - "description" : "A human readable name for the protocol (e.g., Transport Layer Security).", - "type" : "string" }, - "port-ranges" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_port-range" } } }, - "required" : - [ "name" ], - "additionalProperties" : false }, - "oscal-component-definition-oscal-implementation-common:port-range" : - { "title" : "Port Range", - "description" : "Where applicable this is the IPv4 port range on which the service operates.", - "$id" : "#assembly_oscal-implementation-common_port-range", - "type" : "object", - "properties" : - { "start" : - { "title" : "Start", - "description" : "Indicates the starting port number in a port range", - "type" : "integer", - "multipleOf" : 1, - "minimum" : 0 }, - "end" : - { "title" : "End", - "description" : "Indicates the ending port number in a port range", - "type" : "integer", - "multipleOf" : 1, - "minimum" : 0 }, - "transport" : - { "title" : "Transport", - "description" : "Indicates the transport type.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$", - "enum" : - [ "TCP", - "UDP" ] } }, - "additionalProperties" : false }, - "oscal-component-definition-oscal-implementation-common:implementation-status" : - { "title" : "Implementation Status", - "description" : "Indicates the degree to which the a given control is implemented.", - "$id" : "#assembly_oscal-implementation-common_implementation-status", - "type" : "object", - "properties" : - { "state" : - { "title" : "Implementation State", - "description" : "Identifies the implementation status of the control or control objective.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "state" ], - "additionalProperties" : false }, - "oscal-component-definition-oscal-implementation-common:system-user" : - { "title" : "System User", - "description" : "A type of user that interacts with the system based on an associated role.", - "$id" : "#assembly_oscal-implementation-common_system-user", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "User Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this user class elsewhere in this or other OSCAL instances. The locally defined UUID of the system user can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "User Title", - "description" : "A name given to the user, which may be used by a tool for display and navigation.", - "type" : "string" }, - "short-name" : - { "title" : "User Short Name", - "description" : "A short common name, abbreviation, or acronym for the user.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "description" : - { "title" : "User Description", - "description" : "A summary of the user's purpose within the system.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "role-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_role-id" } }, - "authorized-privileges" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_authorized-privilege" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid" ], - "additionalProperties" : false }, - "oscal-component-definition-oscal-implementation-common:authorized-privilege" : - { "title" : "Privilege", - "description" : "Identifies a specific system privilege held by the user, along with an associated description and/or rationale for the privilege.", - "$id" : "#assembly_oscal-implementation-common_authorized-privilege", - "type" : "object", - "properties" : - { "title" : - { "title" : "Privilege Title", - "description" : "A human readable name for the privilege.", - "type" : "string" }, - "description" : - { "title" : "Privilege Description", - "description" : "A summary of the privilege's purpose within the system.", - "type" : "string" }, - "functions-performed" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-implementation-common_function-performed" } } }, - "required" : - [ "title", - "functions-performed" ], - "additionalProperties" : false }, - "oscal-component-definition-oscal-implementation-common:function-performed" : - { "title" : "Functions Performed", - "description" : "Describes a function performed for a given authorized privilege by this user class.", - "$id" : "#field_oscal-implementation-common_function-performed", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "oscal-component-definition-oscal-implementation-common:inventory-item" : - { "title" : "Inventory Item", - "description" : "A single managed inventory item within the system.", - "$id" : "#assembly_oscal-implementation-common_inventory-item", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Inventory Item Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inventory item elsewhere in this or other OSCAL instances. The locally defined UUID of the inventory item can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "description" : - { "title" : "Inventory Item Description", - "description" : "A summary of the inventory item stating its purpose within the system.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "responsible-parties" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, - "implemented-components" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Implemented Component", - "description" : "The set of components that are implemented in a given system inventory item.", - "type" : "object", - "properties" : - { "component-uuid" : - { "title" : "Component Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to a component that is implemented as part of an inventory item.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "responsible-parties" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "component-uuid" ], - "additionalProperties" : false } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "description" ], - "additionalProperties" : false }, - "oscal-component-definition-oscal-implementation-common:set-parameter" : - { "title" : "Set Parameter Value", - "description" : "Identifies the parameter that will be set by the enclosed value.", - "$id" : "#assembly_oscal-implementation-common_set-parameter", - "type" : "object", - "properties" : - { "param-id" : - { "title" : "Parameter ID", - "description" : "A human-oriented reference to a parameter within a control, who's catalog has been imported into the current implementation context.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "values" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Parameter Value", - "description" : "A parameter value or set of values.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "param-id", - "values" ], - "additionalProperties" : false }, - "oscal-component-definition-oscal-implementation-common:system-id" : - { "title" : "System Identification", - "description" : "A human-oriented, globally unique identifier with cross-instance scope that can be used to reference this system identification property elsewhere in this or other OSCAL instances. When referencing an externally defined system identification, the system identification must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). This string should be assigned per-subject, which means it should be consistently used to identify the same system across revisions of the document.", - "$id" : "#field_oscal-implementation-common_system-id", - "type" : "object", - "properties" : - { "identifier-type" : - { "title" : "Identification System Type", - "description" : "Identifies the identification system from which the provided identifier was assigned.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "id" : - { "type" : "string" } }, - "required" : - [ "id" ], - "additionalProperties" : false }, - "oscal-component-definition-oscal-metadata:metadata" : - { "title" : "Publication metadata", - "description" : "Provides information about the publication and availability of the containing document.", - "$id" : "#assembly_oscal-metadata_metadata", - "type" : "object", - "properties" : - { "title" : - { "title" : "Document Title", - "description" : "A name given to the document, which may be used by a tool for display and navigation.", - "type" : "string" }, - "published" : - { "$ref" : "#field_oscal-metadata_published" }, - "last-modified" : - { "$ref" : "#field_oscal-metadata_last-modified" }, - "version" : - { "$ref" : "#field_oscal-metadata_version" }, - "oscal-version" : - { "$ref" : "#field_oscal-metadata_oscal-version" }, - "revisions" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_revision" } }, - "document-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_document-id" } }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_role" } }, - "locations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_location" } }, - "parties" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_party" } }, - "responsible-parties" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "title", - "last-modified", - "version", - "oscal-version" ], - "additionalProperties" : false }, - "oscal-component-definition-oscal-metadata:revision" : + "properties" : + { "uuid" : + { "title" : "Component Definition Universally Unique Identifier", + "description" : "Provides a globally unique means to identify a given component definition instance.", + "$ref" : "#/definitions/UUIDDatatype" }, + "metadata" : + { "$ref" : "#assembly_oscal-metadata_metadata" }, + "import-component-definitions" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-component-definition_import-component-definition" } }, + "components" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-component-definition_defined-component" } }, + "capabilities" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-component-definition_capability" } }, + "back-matter" : + { "$ref" : "#assembly_oscal-metadata_back-matter" } }, + "required" : + [ "uuid", + "metadata" ], + "additionalProperties" : false }, + "oscal-component-definition-oscal-component-definition:import-component-definition" : + { "title" : "Import Component Definition", + "description" : "Loads a component definition from another resource.", + "$id" : "#assembly_oscal-component-definition_import-component-definition", + "type" : "object", + "properties" : + { "href" : + { "title" : "Hyperlink Reference", + "description" : "A link to a resource that defines a set of components and/or capabilities to import into this collection.", + "$ref" : "#/definitions/URIReferenceDatatype" } }, + "required" : + [ "href" ], + "additionalProperties" : false }, + "oscal-component-definition-oscal-component-definition:defined-component" : + { "title" : "Component", + "description" : "A defined component that can be part of an implemented system.", + "$id" : "#assembly_oscal-component-definition_defined-component", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Component Identifier", + "description" : "Provides a globally unique means to identify a given component.", + "$ref" : "#/definitions/UUIDDatatype" }, + "type" : + { "title" : "Component Type", + "description" : "A category describing the purpose of the component.", + "$ref" : "#/definitions/StringDatatype" }, + "title" : + { "title" : "Component Title", + "description" : "A human readable name for the component.", + "type" : "string" }, + "description" : + { "title" : "Component Description", + "description" : "A description of the component, including information about its function.", + "type" : "string" }, + "purpose" : + { "title" : "Purpose", + "description" : "A summary of the technological or business purpose of the component.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "responsible-roles" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, + "protocols" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_protocol" } }, + "control-implementations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-component-definition_control-implementation" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "type", + "title", + "description" ], + "additionalProperties" : false }, + "oscal-component-definition-oscal-component-definition:capability" : + { "title" : "Capability", + "description" : "A grouping of other components and/or capabilities.", + "$id" : "#assembly_oscal-component-definition_capability", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Capability Identifier", + "description" : "Provides a globally unique means to identify a given capability.", + "$ref" : "#/definitions/UUIDDatatype" }, + "name" : + { "title" : "Capability Name", + "description" : "The capability's human-readable name.", + "$ref" : "#/definitions/StringDatatype" }, + "description" : + { "title" : "Capability Description", + "description" : "A summary of the capability.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "incorporates-components" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-component-definition_incorporates-component" } }, + "control-implementations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-component-definition_control-implementation" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "name", + "description" ], + "additionalProperties" : false }, + "oscal-component-definition-oscal-component-definition:incorporates-component" : + { "title" : "Incorporates Component", + "description" : "The collection of components comprising this capability.", + "$id" : "#assembly_oscal-component-definition_incorporates-component", + "type" : "object", + "properties" : + { "component-uuid" : + { "title" : "Component Reference", + "description" : "A machine-oriented identifier reference to a component.", + "$ref" : "#/definitions/UUIDDatatype" }, + "description" : + { "title" : "Component Description", + "description" : "A description of the component, including information about its function.", + "type" : "string" } }, + "required" : + [ "component-uuid", + "description" ], + "additionalProperties" : false }, + "oscal-component-definition-oscal-component-definition:control-implementation" : + { "title" : "Control Implementation Set", + "description" : "Defines how the component or capability supports a set of controls.", + "$id" : "#assembly_oscal-component-definition_control-implementation", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Control Implementation Set Identifier", + "description" : "Provides a means to identify a set of control implementations that are supported by a given component or capability.", + "$ref" : "#/definitions/UUIDDatatype" }, + "source" : + { "title" : "Source Resource Reference", + "description" : "A reference to an OSCAL catalog or profile providing the referenced control or subcontrol definition.", + "$ref" : "#/definitions/URIReferenceDatatype" }, + "description" : + { "title" : "Control Implementation Description", + "description" : "A description of how the specified set of controls are implemented for the containing component or capability.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "set-parameters" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_set-parameter" } }, + "implemented-requirements" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-component-definition_implemented-requirement" } } }, + "required" : + [ "uuid", + "source", + "description", + "implemented-requirements" ], + "additionalProperties" : false }, + "oscal-component-definition-oscal-component-definition:implemented-requirement" : + { "title" : "Control Implementation", + "description" : "Describes how the containing component or capability implements an individual control.", + "$id" : "#assembly_oscal-component-definition_implemented-requirement", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Control Implementation Identifier", + "description" : "Provides a globally unique means to identify a given control implementation by a component.", + "$ref" : "#/definitions/UUIDDatatype" }, + "control-id" : + { "title" : "Control Identifier Reference", + "description" : "A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference).", + "$ref" : "#/definitions/TokenDatatype" }, + "description" : + { "title" : "Control Implementation Description", + "description" : "A suggestion from the supplier (e.g., component vendor or author) for how the specified control may be implemented if the containing component or capability is instantiated in a system security plan.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "set-parameters" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_set-parameter" } }, + "responsible-roles" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, + "statements" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-component-definition_statement" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "control-id", + "description" ], + "additionalProperties" : false }, + "oscal-component-definition-oscal-component-definition:statement" : + { "title" : "Control Statement Implementation", + "description" : "Identifies which statements within a control are addressed.", + "$id" : "#assembly_oscal-component-definition_statement", + "type" : "object", + "properties" : + { "statement-id" : + { "title" : "Control Statement Reference", + "description" : "A human-oriented identifier reference to a control statement.", + "$ref" : "#/definitions/TokenDatatype" }, + "uuid" : + { "title" : "Control Statement Reference Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this control statement elsewhere in this or other OSCAL instances. The UUID of the control statement in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).", + "$ref" : "#/definitions/UUIDDatatype" }, + "description" : + { "title" : "Statement Implementation Description", + "description" : "A summary of how the containing control statement is implemented by the component or capability.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "responsible-roles" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "statement-id", + "uuid", + "description" ], + "additionalProperties" : false }, + "oscal-component-definition-oscal-implementation-common:system-component" : + { "title" : "Component", + "description" : "A defined component that can be part of an implemented system.", + "$id" : "#assembly_oscal-implementation-common_system-component", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Component Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component elsewhere in this or other OSCAL instances. The locally defined UUID of the component can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "type" : + { "title" : "Component Type", + "description" : "A category describing the purpose of the component.", + "$ref" : "#/definitions/StringDatatype" }, + "title" : + { "title" : "Component Title", + "description" : "A human readable name for the system component.", + "type" : "string" }, + "description" : + { "title" : "Component Description", + "description" : "A description of the component, including information about its function.", + "type" : "string" }, + "purpose" : + { "title" : "Purpose", + "description" : "A summary of the technological or business purpose of the component.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "status" : + { "title" : "Status", + "description" : "Describes the operational status of the system component.", + "type" : "object", + "properties" : + { "state" : + { "title" : "State", + "description" : "The operational status.", + "allOf" : + [ + { "$ref" : "#/definitions/TokenDatatype" }, + + { "enum" : + [ "under-development", + "operational", + "disposition", + "other" ] } ] }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "state" ], + "additionalProperties" : false }, + "responsible-roles" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, + "protocols" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_protocol" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "type", + "title", + "description", + "status" ], + "additionalProperties" : false }, + "oscal-component-definition-oscal-implementation-common:protocol" : + { "title" : "Service Protocol Information", + "description" : "Information about the protocol used to provide a service.", + "$id" : "#assembly_oscal-implementation-common_protocol", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Service Protocol Information Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this service protocol information elsewhere in this or other OSCAL instances. The locally defined UUID of the service protocol can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "name" : + { "title" : "Protocol Name", + "description" : "The common name of the protocol, which should be the appropriate \"service name\" from the IANA Service Name and Transport Protocol Port Number Registry.", + "$ref" : "#/definitions/StringDatatype" }, + "title" : + { "title" : "Protocol Title", + "description" : "A human readable name for the protocol (e.g., Transport Layer Security).", + "type" : "string" }, + "port-ranges" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_port-range" } } }, + "required" : + [ "name" ], + "additionalProperties" : false }, + "oscal-component-definition-oscal-implementation-common:port-range" : + { "title" : "Port Range", + "description" : "Where applicable this is the IPv4 port range on which the service operates.", + "$id" : "#assembly_oscal-implementation-common_port-range", + "type" : "object", + "properties" : + { "start" : + { "title" : "Start", + "description" : "Indicates the starting port number in a port range", + "$ref" : "#/definitions/NonNegativeIntegerDatatype" }, + "end" : + { "title" : "End", + "description" : "Indicates the ending port number in a port range", + "$ref" : "#/definitions/NonNegativeIntegerDatatype" }, + "transport" : + { "title" : "Transport", + "description" : "Indicates the transport type.", + "allOf" : + [ + { "$ref" : "#/definitions/TokenDatatype" }, + + { "enum" : + [ "TCP", + "UDP" ] } ] } }, + "additionalProperties" : false }, + "oscal-component-definition-oscal-implementation-common:implementation-status" : + { "title" : "Implementation Status", + "description" : "Indicates the degree to which the a given control is implemented.", + "$id" : "#assembly_oscal-implementation-common_implementation-status", + "type" : "object", + "properties" : + { "state" : + { "title" : "Implementation State", + "description" : "Identifies the implementation status of the control or control objective.", + "$ref" : "#/definitions/TokenDatatype" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "state" ], + "additionalProperties" : false }, + "oscal-component-definition-oscal-implementation-common:system-user" : + { "title" : "System User", + "description" : "A type of user that interacts with the system based on an associated role.", + "$id" : "#assembly_oscal-implementation-common_system-user", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "User Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this user class elsewhere in this or other OSCAL instances. The locally defined UUID of the system user can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "User Title", + "description" : "A name given to the user, which may be used by a tool for display and navigation.", + "type" : "string" }, + "short-name" : + { "title" : "User Short Name", + "description" : "A short common name, abbreviation, or acronym for the user.", + "$ref" : "#/definitions/StringDatatype" }, + "description" : + { "title" : "User Description", + "description" : "A summary of the user's purpose within the system.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "role-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_role-id" } }, + "authorized-privileges" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_authorized-privilege" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid" ], + "additionalProperties" : false }, + "oscal-component-definition-oscal-implementation-common:authorized-privilege" : + { "title" : "Privilege", + "description" : "Identifies a specific system privilege held by the user, along with an associated description and/or rationale for the privilege.", + "$id" : "#assembly_oscal-implementation-common_authorized-privilege", + "type" : "object", + "properties" : + { "title" : + { "title" : "Privilege Title", + "description" : "A human readable name for the privilege.", + "type" : "string" }, + "description" : + { "title" : "Privilege Description", + "description" : "A summary of the privilege's purpose within the system.", + "type" : "string" }, + "functions-performed" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-implementation-common_function-performed" } } }, + "required" : + [ "title", + "functions-performed" ], + "additionalProperties" : false }, + "oscal-component-definition-oscal-implementation-common:function-performed" : + { "title" : "Functions Performed", + "description" : "Describes a function performed for a given authorized privilege by this user class.", + "$id" : "#field_oscal-implementation-common_function-performed", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-component-definition-oscal-implementation-common:inventory-item" : + { "title" : "Inventory Item", + "description" : "A single managed inventory item within the system.", + "$id" : "#assembly_oscal-implementation-common_inventory-item", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Inventory Item Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inventory item elsewhere in this or other OSCAL instances. The locally defined UUID of the inventory item can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "description" : + { "title" : "Inventory Item Description", + "description" : "A summary of the inventory item stating its purpose within the system.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "responsible-parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, + "implemented-components" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Implemented Component", + "description" : "The set of components that are implemented in a given system inventory item.", + "type" : "object", + "properties" : + { "component-uuid" : + { "title" : "Component Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to a component that is implemented as part of an inventory item.", + "$ref" : "#/definitions/UUIDDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "responsible-parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "component-uuid" ], + "additionalProperties" : false } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "description" ], + "additionalProperties" : false }, + "oscal-component-definition-oscal-implementation-common:set-parameter" : + { "title" : "Set Parameter Value", + "description" : "Identifies the parameter that will be set by the enclosed value.", + "$id" : "#assembly_oscal-implementation-common_set-parameter", + "type" : "object", + "properties" : + { "param-id" : + { "title" : "Parameter ID", + "description" : "A human-oriented reference to a parameter within a control, who's catalog has been imported into the current implementation context.", + "$ref" : "#/definitions/TokenDatatype" }, + "values" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Parameter Value", + "description" : "A parameter value or set of values.", + "$ref" : "#/definitions/StringDatatype" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "param-id", + "values" ], + "additionalProperties" : false }, + "oscal-component-definition-oscal-implementation-common:system-id" : + { "title" : "System Identification", + "description" : "A human-oriented, globally unique identifier with cross-instance scope that can be used to reference this system identification property elsewhere in this or other OSCAL instances. When referencing an externally defined system identification, the system identification must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). This string should be assigned per-subject, which means it should be consistently used to identify the same system across revisions of the document.", + "$id" : "#field_oscal-implementation-common_system-id", + "type" : "object", + "properties" : + { "identifier-type" : + { "title" : "Identification System Type", + "description" : "Identifies the identification system from which the provided identifier was assigned.", + "$ref" : "#/definitions/URIDatatype" }, + "id" : + { "type" : "string" } }, + "required" : + [ "id" ], + "additionalProperties" : false }, + "oscal-component-definition-oscal-metadata:metadata" : + { "title" : "Document Metadata", + "description" : "Provides information about the containing document, and defines concepts that are shared across the document.", + "$id" : "#assembly_oscal-metadata_metadata", + "type" : "object", + "properties" : + { "title" : + { "title" : "Document Title", + "description" : "A name given to the document, which may be used by a tool for display and navigation.", + "type" : "string" }, + "published" : + { "$ref" : "#field_oscal-metadata_published" }, + "last-modified" : + { "$ref" : "#field_oscal-metadata_last-modified" }, + "version" : + { "$ref" : "#field_oscal-metadata_version" }, + "oscal-version" : + { "$ref" : "#field_oscal-metadata_oscal-version" }, + "revisions" : + { "type" : "array", + "minItems" : 1, + "items" : { "title" : "Revision History Entry", - "description" : "An entry in a sequential list of revisions to the containing document in reverse chronological order (i.e., most recent previous revision first).", - "$id" : "#assembly_oscal-metadata_revision", - "type" : "object", - "properties" : - { "title" : - { "title" : "Document Title", - "description" : "A name given to the document revision, which may be used by a tool for display and navigation.", - "type" : "string" }, - "published" : - { "$ref" : "#field_oscal-metadata_published" }, - "last-modified" : - { "$ref" : "#field_oscal-metadata_last-modified" }, - "version" : - { "$ref" : "#field_oscal-metadata_version" }, - "oscal-version" : - { "$ref" : "#field_oscal-metadata_oscal-version" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "version" ], - "additionalProperties" : false }, - "oscal-component-definition-oscal-metadata:location" : - { "title" : "Location", - "description" : "A location, with associated metadata that can be referenced.", - "$id" : "#assembly_oscal-metadata_location", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Location Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined location elsewhere in this or other OSCAL instances. The locally defined UUID of the location can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Location Title", - "description" : "A name given to the location, which may be used by a tool for display and navigation.", - "type" : "string" }, - "address" : - { "$ref" : "#assembly_oscal-metadata_address" }, - "email-addresses" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_email-address" } }, - "telephone-numbers" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_telephone-number" } }, - "urls" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Location URL", - "description" : "The uniform resource locator (URL) for a web site or Internet presence associated with the location.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" } }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "address" ], - "additionalProperties" : false }, - "oscal-component-definition-oscal-metadata:location-uuid" : - { "title" : "Location Reference", - "description" : "A machine-oriented identifier reference to a location defined in the metadata section of this or another OSCAL instance. The UUID of the location in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).", - "$id" : "#field_oscal-metadata_location-uuid", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "oscal-component-definition-oscal-metadata:party" : - { "title" : "Party (organization or person)", - "description" : "A responsible entity which is either a person or an organization.", - "$id" : "#assembly_oscal-metadata_party", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Party Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined party elsewhere in this or other OSCAL instances. The locally defined UUID of the party can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "type" : - { "title" : "Party Type", - "description" : "A category describing the kind of party the object describes.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$", - "enum" : - [ "person", - "organization" ] }, - "name" : - { "title" : "Party Name", - "description" : "The full name of the party. This is typically the legal name associated with the party.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "short-name" : - { "title" : "Party Short Name", - "description" : "A short common name, abbreviation, or acronym for the party.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "external-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Party External Identifier", - "description" : "An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID)", - "type" : "object", - "properties" : - { "scheme" : - { "title" : "External Identifier Schema", - "description" : "Indicates the type of external identifier.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "id" : - { "type" : "string" } }, - "required" : - [ "id", - "scheme" ], - "additionalProperties" : false } }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "email-addresses" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_email-address" } }, - "telephone-numbers" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_telephone-number" } }, - "addresses" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_address" } }, - "location-uuids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_location-uuid" } }, - "member-of-organizations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Organizational Affiliation", - "description" : "A machine-oriented identifier reference to another party (person or organization) that this subject is associated with. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "type" ], - "additionalProperties" : false }, - "oscal-component-definition-oscal-metadata:party-uuid" : - { "title" : "Party Reference", - "description" : "A machine-oriented identifier reference to another party defined in metadata. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).", - "$id" : "#field_oscal-metadata_party-uuid", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "oscal-component-definition-oscal-metadata:role" : + "description" : "An entry in a sequential list of revisions to the containing document, expected to be in reverse chronological order (i.e. latest first).", + "type" : "object", + "properties" : + { "title" : + { "title" : "Document Title", + "description" : "A name given to the document revision, which may be used by a tool for display and navigation.", + "type" : "string" }, + "published" : + { "$ref" : "#field_oscal-metadata_published" }, + "last-modified" : + { "$ref" : "#field_oscal-metadata_last-modified" }, + "version" : + { "$ref" : "#field_oscal-metadata_version" }, + "oscal-version" : + { "$ref" : "#field_oscal-metadata_oscal-version" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "version" ], + "additionalProperties" : false } }, + "document-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_document-id" } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "roles" : + { "type" : "array", + "minItems" : 1, + "items" : { "title" : "Role", - "description" : "Defines a function assumed or expected to be assumed by a party in a specific situation.", - "$id" : "#assembly_oscal-metadata_role", - "type" : "object", - "properties" : - { "id" : - { "title" : "Role Identifier", - "description" : "A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined role elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, the locally defined ID of the Role from the imported OSCAL instance must be referenced in the context of the containing resource (e.g., import, import-component-definition, import-profile, import-ssp or import-ap). This ID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "title" : - { "title" : "Role Title", - "description" : "A name given to the role, which may be used by a tool for display and navigation.", - "type" : "string" }, - "short-name" : - { "title" : "Role Short Name", - "description" : "A short common name, abbreviation, or acronym for the role.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "description" : - { "title" : "Role Description", - "description" : "A summary of the role's purpose and associated responsibilities.", - "type" : "string" }, + "description" : "Defines a function, which might be assigned to a party in a specific situation.", + "type" : "object", + "properties" : + { "id" : + { "title" : "Role Identifier", + "description" : "A unique identifier for the role.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Role Title", + "description" : "A name given to the role, which may be used by a tool for display and navigation.", + "type" : "string" }, + "short-name" : + { "title" : "Role Short Name", + "description" : "A short common name, abbreviation, or acronym for the role.", + "$ref" : "#/definitions/StringDatatype" }, + "description" : + { "title" : "Role Description", + "description" : "A summary of the role's purpose and associated responsibilities.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "id", + "title" ], + "additionalProperties" : false } }, + "locations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Location", + "description" : "A physical point of presence, which may be associated with people, organizations, or other concepts within the current or linked OSCAL document.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Location Universally Unique Identifier", + "description" : "A unique ID for the location, for reference.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Location Title", + "description" : "A name given to the location, which may be used by a tool for display and navigation.", + "type" : "string" }, + "address" : + { "$ref" : "#assembly_oscal-metadata_address" }, + "email-addresses" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_email-address" } }, + "telephone-numbers" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_telephone-number" } }, + "urls" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Location URL", + "description" : "The uniform resource locator (URL) for a web site or other resource associated with the location.", + "$ref" : "#/definitions/URIDatatype" } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid" ], + "additionalProperties" : false } }, + "parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Party", + "description" : "An organization or person, which may be associated with roles or other concepts within the current or linked OSCAL document.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Party Universally Unique Identifier", + "description" : "A unique identifier for the party.", + "$ref" : "#/definitions/UUIDDatatype" }, + "type" : + { "title" : "Party Type", + "description" : "A category describing the kind of party the object describes.", + "allOf" : + [ + { "$ref" : "#/definitions/StringDatatype" }, + + { "enum" : + [ "person", + "organization" ] } ] }, + "name" : + { "title" : "Party Name", + "description" : "The full name of the party. This is typically the legal name associated with the party.", + "$ref" : "#/definitions/StringDatatype" }, + "short-name" : + { "title" : "Party Short Name", + "description" : "A short common name, abbreviation, or acronym for the party.", + "$ref" : "#/definitions/StringDatatype" }, + "external-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Party External Identifier", + "description" : "An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID).", + "type" : "object", + "properties" : + { "scheme" : + { "title" : "External Identifier Schema", + "description" : "Indicates the type of external identifier.", + "$ref" : "#/definitions/URIDatatype" }, + "id" : + { "type" : "string" } }, + "required" : + [ "id", + "scheme" ], + "additionalProperties" : false } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "email-addresses" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_email-address" } }, + "telephone-numbers" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_telephone-number" } }, + "addresses" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_address" } }, + "location-uuids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_location-uuid" } }, + "member-of-organizations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Organizational Affiliation", + "description" : "A reference to another party by UUID, typically an organization, that this subject is associated with.", + "$ref" : "#/definitions/UUIDDatatype" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "type" ], + "additionalProperties" : false } }, + "responsible-parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, + "actions" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_action" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "title", + "last-modified", + "version", + "oscal-version" ], + "additionalProperties" : false }, + "oscal-component-definition-oscal-metadata:location-uuid" : + { "title" : "Location Universally Unique Identifier Reference", + "description" : "Reference to a location by UUID.", + "$id" : "#field_oscal-metadata_location-uuid", + "$ref" : "#/definitions/UUIDDatatype" }, + "oscal-component-definition-oscal-metadata:party-uuid" : + { "title" : "Party Universally Unique Identifier Reference", + "description" : "Reference to a party by UUID.", + "$id" : "#field_oscal-metadata_party-uuid", + "$ref" : "#/definitions/UUIDDatatype" }, + "oscal-component-definition-oscal-metadata:role-id" : + { "title" : "Role Identifier Reference", + "description" : "Reference to a role by UUID.", + "$id" : "#field_oscal-metadata_role-id", + "$ref" : "#/definitions/TokenDatatype" }, + "oscal-component-definition-oscal-metadata:back-matter" : + { "title" : "Back matter", + "description" : "A collection of resources that may be referenced from within the OSCAL document instance.", + "$id" : "#assembly_oscal-metadata_back-matter", + "type" : "object", + "properties" : + { "resources" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Resource", + "description" : "A resource associated with content in the containing document instance. A resource may be directly included in the document using base64 encoding or may point to one or more equivalent internet resources.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Resource Universally Unique Identifier", + "description" : "A unique identifier for a resource.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Resource Title", + "description" : "An optional name given to the resource, which may be used by a tool for display and navigation.", + "type" : "string" }, + "description" : + { "title" : "Resource Description", + "description" : "An optional short summary of the resource used to indicate the purpose of the resource.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "document-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_document-id" } }, + "citation" : + { "title" : "Citation", + "description" : "An optional citation consisting of end note text using structured markup.", + "type" : "object", + "properties" : + { "text" : + { "title" : "Citation Text", + "description" : "A line of citation text.", + "type" : "string" }, "props" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, "links" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "id", - "title" ], - "additionalProperties" : false }, - "oscal-component-definition-oscal-metadata:role-id" : - { "title" : "Role Identifier Reference", - "description" : "A human-oriented identifier reference to roles served by the user.", - "$id" : "#field_oscal-metadata_role-id", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "oscal-component-definition-oscal-metadata:back-matter" : - { "title" : "Back matter", - "description" : "A collection of resources, which may be included directly or by reference.", - "$id" : "#assembly_oscal-metadata_back-matter", - "type" : "object", - "properties" : - { "resources" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Resource", - "description" : "A resource associated with content in the containing document. A resource may be directly included in the document base64 encoded or may point to one or more equivalent internet resources.", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Resource Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined resource elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Resource Title", - "description" : "A name given to the resource, which may be used by a tool for display and navigation.", - "type" : "string" }, - "description" : - { "title" : "Resource Description", - "description" : "A short summary of the resource used to indicate the purpose of the resource.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "document-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_document-id" } }, - "citation" : - { "title" : "Citation", - "description" : "A citation consisting of end note text and optional structured bibliographic data.", - "type" : "object", - "properties" : - { "text" : - { "title" : "Citation Text", - "description" : "A line of citation text.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } } }, - "required" : - [ "text" ], - "additionalProperties" : false }, - "rlinks" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Resource link", - "description" : "A pointer to an external resource with an optional hash for verification and change detection.", - "type" : "object", - "properties" : - { "href" : - { "title" : "Hypertext Reference", - "description" : "A resolvable URI reference to a resource.", - "type" : "string", - "format" : "uri-reference" }, - "media-type" : - { "title" : "Media Type", - "description" : "Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "hashes" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_hash" } } }, - "required" : - [ "href" ], - "additionalProperties" : false } }, - "base64" : - { "title" : "Base64", - "description" : "The Base64 alphabet in RFC 2045 - aligned with XSD.", - "type" : "object", - "properties" : - { "filename" : - { "title" : "File Name", - "description" : "Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded.", - "type" : "string", - "format" : "uri-reference" }, - "media-type" : - { "title" : "Media Type", - "description" : "Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "value" : - { "type" : "string" } }, - "required" : - [ "value" ], - "additionalProperties" : false }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid" ], - "additionalProperties" : false } } }, - "additionalProperties" : false }, - "oscal-component-definition-oscal-metadata:property" : - { "title" : "Property", - "description" : "An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.", - "$id" : "#assembly_oscal-metadata_property", - "type" : "object", - "properties" : - { "name" : - { "title" : "Property Name", - "description" : "A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "uuid" : - { "title" : "Property Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "ns" : - { "title" : "Property Namespace", - "description" : "A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "value" : - { "title" : "Property Value", - "description" : "Indicates the value of the attribute, characteristic, or quality.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "class" : - { "title" : "Property Class", - "description" : "A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "name", - "value" ], - "additionalProperties" : false }, - "oscal-component-definition-oscal-metadata:link" : - { "title" : "Link", - "description" : "A reference to a local or remote resource", - "$id" : "#assembly_oscal-metadata_link", - "type" : "object", - "properties" : - { "href" : - { "title" : "Hypertext Reference", - "description" : "A resolvable URL reference to a resource.", - "type" : "string", - "format" : "uri-reference" }, - "rel" : - { "title" : "Relation", - "description" : "Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } } }, + "required" : + [ "text" ], + "additionalProperties" : false }, + "rlinks" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Resource link", + "description" : "A URL-based pointer to an external resource with an optional hash for verification and change detection.", + "type" : "object", + "properties" : + { "href" : + { "title" : "Hypertext Reference", + "description" : "A resolvable URL pointing to the referenced resource.", + "$ref" : "#/definitions/URIReferenceDatatype" }, + "media-type" : + { "title" : "Media Type", + "description" : "A label that indicates the nature of a resource, as a data serialization or format.", + "$ref" : "#/definitions/StringDatatype" }, + "hashes" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_hash" } } }, + "required" : + [ "href" ], + "additionalProperties" : false } }, + "base64" : + { "title" : "Base64", + "description" : "A resource encoded using the Base64 alphabet defined by RFC 2045.", + "type" : "object", + "properties" : + { "filename" : + { "title" : "File Name", + "description" : "Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded.", + "$ref" : "#/definitions/TokenDatatype" }, "media-type" : { "title" : "Media Type", - "description" : "Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "text" : - { "title" : "Link Text", - "description" : "A textual label to associate with the link, which may be used for presentation in a tool.", - "type" : "string" } }, - "required" : - [ "href" ], - "additionalProperties" : false }, - "oscal-component-definition-oscal-metadata:responsible-party" : - { "title" : "Responsible Party", - "description" : "A reference to a set of organizations or persons that have responsibility for performing a referenced role in the context of the containing object.", - "$id" : "#assembly_oscal-metadata_responsible-party", - "type" : "object", - "properties" : - { "role-id" : - { "title" : "Responsible Role", - "description" : "A human-oriented identifier reference to roles served by the user.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "party-uuids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_party-uuid" } }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "role-id", - "party-uuids" ], - "additionalProperties" : false }, - "oscal-component-definition-oscal-metadata:responsible-role" : - { "title" : "Responsible Role", - "description" : "A reference to one or more roles with responsibility for performing a function relative to the containing object.", - "$id" : "#assembly_oscal-metadata_responsible-role", - "type" : "object", - "properties" : - { "role-id" : - { "title" : "Responsible Role ID", - "description" : "A human-oriented identifier reference to roles responsible for the business function.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "party-uuids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_party-uuid" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "role-id" ], - "additionalProperties" : false }, - "oscal-component-definition-oscal-metadata:hash" : - { "title" : "Hash", - "description" : "A representation of a cryptographic digest generated over a resource using a specified hash algorithm.", - "$id" : "#field_oscal-metadata_hash", - "type" : "object", - "properties" : - { "algorithm" : - { "title" : "Hash algorithm", - "description" : "Method by which a hash is derived", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, + "description" : "A label that indicates the nature of a resource, as a data serialization or format.", + "$ref" : "#/definitions/StringDatatype" }, "value" : { "type" : "string" } }, - "required" : - [ "value", - "algorithm" ], - "additionalProperties" : false }, - "oscal-component-definition-oscal-metadata:remarks" : - { "title" : "Remarks", - "description" : "Additional commentary on the containing object.", - "$id" : "#field_oscal-metadata_remarks", - "type" : "string" }, - "oscal-component-definition-oscal-metadata:published" : - { "title" : "Publication Timestamp", - "description" : "The date and time the document was published. The date-time value must be formatted according to RFC 3339 with full time and time zone included.", - "$id" : "#field_oscal-metadata_published", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "oscal-component-definition-oscal-metadata:last-modified" : - { "title" : "Last Modified Timestamp", - "description" : "The date and time the document was last modified. The date-time value must be formatted according to RFC 3339 with full time and time zone included.", - "$id" : "#field_oscal-metadata_last-modified", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "oscal-component-definition-oscal-metadata:version" : - { "title" : "Document Version", - "description" : "A string used to distinguish the current version of the document from other previous (and future) versions.", - "$id" : "#field_oscal-metadata_version", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "oscal-component-definition-oscal-metadata:oscal-version" : - { "title" : "OSCAL version", - "description" : "The OSCAL model version the document was authored against.", - "$id" : "#field_oscal-metadata_oscal-version", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "oscal-component-definition-oscal-metadata:email-address" : - { "title" : "Email Address", - "description" : "An email address as defined by RFC 5322 Section 3.4.1.", - "$id" : "#field_oscal-metadata_email-address", - "type" : "string", - "format" : "email", - "pattern" : "^.+@.+$" }, - "oscal-component-definition-oscal-metadata:telephone-number" : - { "title" : "Telephone Number", - "description" : "Contact number by telephone.", - "$id" : "#field_oscal-metadata_telephone-number", - "type" : "object", - "properties" : - { "type" : - { "title" : "type flag", - "description" : "Indicates the type of phone number.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "number" : - { "type" : "string" } }, - "required" : - [ "number" ], - "additionalProperties" : false }, - "oscal-component-definition-oscal-metadata:address" : - { "title" : "Address", - "description" : "A postal address for the location.", - "$id" : "#assembly_oscal-metadata_address", - "type" : "object", - "properties" : - { "type" : - { "title" : "Address Type", - "description" : "Indicates the type of address.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "addr-lines" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_addr-line" } }, - "city" : - { "title" : "City", - "description" : "City, town or geographical region for the mailing address.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "state" : - { "title" : "State", - "description" : "State, province or analogous geographical region for mailing address", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "postal-code" : - { "title" : "Postal Code", - "description" : "Postal or ZIP code for mailing address", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "country" : - { "title" : "Country Code", - "description" : "The ISO 3166-1 alpha-2 country code for the mailing address.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" } }, - "additionalProperties" : false }, - "oscal-component-definition-oscal-metadata:addr-line" : - { "title" : "Address line", - "description" : "A single line of an address.", - "$id" : "#field_oscal-metadata_addr-line", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "oscal-component-definition-oscal-metadata:document-id" : - { "title" : "Document Identifier", - "description" : "A document identifier qualified by an identifier scheme. A document identifier provides a globally unique identifier with a cross-instance scope that is used for a group of documents that are to be treated as different versions of the same document. If this element does not appear, or if the value of this element is empty, the value of \"document-id\" is equal to the value of the \"uuid\" flag of the top-level root element.", - "$id" : "#field_oscal-metadata_document-id", - "type" : "object", - "properties" : - { "scheme" : - { "title" : "Document Identification Scheme", - "description" : "Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "identifier" : - { "type" : "string" } }, - "required" : - [ "identifier" ], - "additionalProperties" : false }, - "oscal-component-definition-oscal-catalog-common:part" : - { "title" : "Part", - "description" : "A partition of a control's definition or a child of another part.", - "$id" : "#assembly_oscal-catalog-common_part", - "type" : "object", - "properties" : - { "id" : - { "title" : "Part Identifier", - "description" : "A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined part elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "name" : - { "title" : "Part Name", - "description" : "A textual label that uniquely identifies the part's semantic type.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "ns" : - { "title" : "Part Namespace", - "description" : "A namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "class" : - { "title" : "Part Class", - "description" : "A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "title" : - { "title" : "Part Title", - "description" : "A name given to the part, which may be used by a tool for display and navigation.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "prose" : - { "title" : "Part Text", - "description" : "Permits multiple paragraphs, lists, tables etc.", - "type" : "string" }, - "parts" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_part" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } } }, - "required" : - [ "name" ], - "additionalProperties" : false }, - "oscal-component-definition-oscal-catalog-common:parameter" : - { "title" : "Parameter", - "description" : "Parameters provide a mechanism for the dynamic assignment of value(s) in a control.", - "$id" : "#assembly_oscal-catalog-common_parameter", - "type" : "object", - "properties" : - { "id" : - { "title" : "Parameter Identifier", - "description" : "A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined parameter elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "class" : - { "title" : "Parameter Class", - "description" : "A textual label that provides a characterization of the parameter.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "depends-on" : - { "title" : "Depends on", - "description" : "**(deprecated)** Another parameter invoking this one. This construct has been deprecated and should not be used.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "label" : - { "title" : "Parameter Label", - "description" : "A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned.", - "type" : "string" }, - "usage" : - { "title" : "Parameter Usage Description", - "description" : "Describes the purpose and use of a parameter", - "type" : "string" }, - "constraints" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_parameter-constraint" } }, - "guidelines" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_parameter-guideline" } }, - "values" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-catalog-common_parameter-value" } }, - "select" : - { "$ref" : "#assembly_oscal-catalog-common_parameter-selection" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "id" ], - "additionalProperties" : false }, - "oscal-component-definition-oscal-catalog-common:parameter-constraint" : - { "title" : "Constraint", - "description" : "A formal or informal expression of a constraint or test", - "$id" : "#assembly_oscal-catalog-common_parameter-constraint", - "type" : "object", - "properties" : - { "description" : - { "title" : "Constraint Description", - "description" : "A textual summary of the constraint to be applied.", - "type" : "string" }, - "tests" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Constraint Test", - "description" : "A test expression which is expected to be evaluated by a tool.", - "type" : "object", - "properties" : - { "expression" : - { "title" : "Constraint test", - "description" : "A formal (executable) expression of a constraint", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "expression" ], - "additionalProperties" : false } } }, - "additionalProperties" : false }, - "oscal-component-definition-oscal-catalog-common:parameter-guideline" : - { "title" : "Guideline", - "description" : "A prose statement that provides a recommendation for the use of a parameter.", - "$id" : "#assembly_oscal-catalog-common_parameter-guideline", - "type" : "object", - "properties" : - { "prose" : - { "title" : "Guideline Text", - "description" : "Prose permits multiple paragraphs, lists, tables etc.", - "type" : "string" } }, - "required" : - [ "prose" ], - "additionalProperties" : false }, - "oscal-component-definition-oscal-catalog-common:parameter-value" : - { "title" : "Parameter Value", - "description" : "A parameter value or set of values.", - "$id" : "#field_oscal-catalog-common_parameter-value", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "oscal-component-definition-oscal-catalog-common:parameter-selection" : - { "title" : "Selection", - "description" : "Presenting a choice among alternatives", - "$id" : "#assembly_oscal-catalog-common_parameter-selection", - "type" : "object", - "properties" : - { "how-many" : - { "title" : "Parameter Cardinality", - "description" : "Describes the number of selections that must occur. Without this setting, only one value should be assumed to be permitted.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$", - "enum" : - [ "one", - "one-or-more" ] }, - "choice" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Choice", - "description" : "A value selection among several such options", - "type" : "string" } } }, - "additionalProperties" : false }, - "oscal-component-definition-oscal-catalog-common:include-all" : - { "title" : "Include All", - "description" : "Include all controls from the imported catalog or profile resources.", - "$id" : "#assembly_oscal-catalog-common_include-all", - "type" : "object", - "additionalProperties" : false } }, + "required" : + [ "value" ], + "additionalProperties" : false }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid" ], + "additionalProperties" : false } } }, + "additionalProperties" : false }, + "oscal-component-definition-oscal-metadata:property" : + { "title" : "Property", + "description" : "An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair.", + "$id" : "#assembly_oscal-metadata_property", + "type" : "object", + "properties" : + { "name" : + { "title" : "Property Name", + "description" : "A textual label, within a namespace, that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.", + "$ref" : "#/definitions/TokenDatatype" }, + "uuid" : + { "title" : "Property Universally Unique Identifier", + "description" : "A unique identifier for a property.", + "$ref" : "#/definitions/UUIDDatatype" }, + "ns" : + { "title" : "Property Namespace", + "description" : "A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.", + "$ref" : "#/definitions/URIDatatype" }, + "value" : + { "title" : "Property Value", + "description" : "Indicates the value of the attribute, characteristic, or quality.", + "$ref" : "#/definitions/StringDatatype" }, + "class" : + { "title" : "Property Class", + "description" : "A textual label that provides a sub-type or characterization of the property's name.", + "$ref" : "#/definitions/TokenDatatype" }, + "group" : + { "title" : "Property Group", + "description" : "An identifier for relating distinct sets of properties.", + "$ref" : "#/definitions/TokenDatatype" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "name", + "value" ], + "additionalProperties" : false }, + "oscal-component-definition-oscal-metadata:link" : + { "title" : "Link", + "description" : "A reference to a local or remote resource, that has a specific relation to the containing object.", + "$id" : "#assembly_oscal-metadata_link", + "type" : "object", + "properties" : + { "href" : + { "title" : "Hypertext Reference", + "description" : "A resolvable URL reference to a resource.", + "$ref" : "#/definitions/URIReferenceDatatype" }, + "rel" : + { "title" : "Link Relation Type", + "description" : "Describes the type of relationship provided by the link's hypertext reference. This can be an indicator of the link's purpose.", + "$ref" : "#/definitions/TokenDatatype" }, + "media-type" : + { "title" : "Media Type", + "description" : "A label that indicates the nature of a resource, as a data serialization or format.", + "$ref" : "#/definitions/StringDatatype" }, + "resource-fragment" : + { "title" : "Resource Fragment", + "description" : "In case where the href points to a back-matter/resource, this value will indicate the URI fragment to append to any rlink associated with the resource. This value MUST be URI encoded.", + "$ref" : "#/definitions/StringDatatype" }, + "text" : + { "title" : "Link Text", + "description" : "A textual label to associate with the link, which may be used for presentation in a tool.", + "type" : "string" } }, + "required" : + [ "href" ], + "additionalProperties" : false }, + "oscal-component-definition-oscal-metadata:responsible-party" : + { "title" : "Responsible Party", + "description" : "A reference to a set of persons and/or organizations that have responsibility for performing the referenced role in the context of the containing object.", + "$id" : "#assembly_oscal-metadata_responsible-party", + "type" : "object", + "properties" : + { "role-id" : + { "title" : "Responsible Role", + "description" : "A reference to a role performed by a party.", + "$ref" : "#/definitions/TokenDatatype" }, + "party-uuids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_party-uuid" } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "role-id", + "party-uuids" ], + "additionalProperties" : false }, + "oscal-component-definition-oscal-metadata:action" : + { "title" : "Action", + "description" : "An action applied by a role within a given party to the content.", + "$id" : "#assembly_oscal-metadata_action", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Action Universally Unique Identifier", + "description" : "A unique identifier that can be used to reference this defined action elsewhere in an OSCAL document. A UUID should be consistently used for a given location across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "date" : + { "title" : "Action Occurrence Date", + "description" : "The date and time when the action occurred.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "type" : + { "title" : "Action Type", + "description" : "The type of action documented by the assembly, such as an approval.", + "$ref" : "#/definitions/TokenDatatype" }, + "system" : + { "title" : "Action Type System", + "description" : "Specifies the action type system used.", + "$ref" : "#/definitions/URIDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "responsible-parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "type", + "system" ], + "additionalProperties" : false }, + "oscal-component-definition-oscal-metadata:responsible-role" : + { "title" : "Responsible Role", + "description" : "A reference to a role with responsibility for performing a function relative to the containing object, optionally associated with a set of persons and/or organizations that perform that role.", + "$id" : "#assembly_oscal-metadata_responsible-role", + "type" : "object", "properties" : - { "component-definition" : - { "$ref" : "#assembly_oscal-component-definition_component-definition" } }, + { "role-id" : + { "title" : "Responsible Role ID", + "description" : "A human-oriented identifier reference to a role performed.", + "$ref" : "#/definitions/TokenDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "party-uuids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_party-uuid" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, "required" : - [ "component-definition" ], - "additionalProperties" : false, - "maxProperties" : 1 } \ No newline at end of file + [ "role-id" ], + "additionalProperties" : false }, + "oscal-component-definition-oscal-metadata:hash" : + { "title" : "Hash", + "description" : "A representation of a cryptographic digest generated over a resource using a specified hash algorithm.", + "$id" : "#field_oscal-metadata_hash", + "type" : "object", + "properties" : + { "algorithm" : + { "title" : "Hash algorithm", + "description" : "The digest method by which a hash is derived.", + "$ref" : "#/definitions/StringDatatype" }, + "value" : + { "type" : "string" } }, + "required" : + [ "value", + "algorithm" ], + "additionalProperties" : false }, + "oscal-component-definition-oscal-metadata:remarks" : + { "title" : "Remarks", + "description" : "Additional commentary about the containing object.", + "$id" : "#field_oscal-metadata_remarks", + "type" : "string" }, + "oscal-component-definition-oscal-metadata:published" : + { "title" : "Publication Timestamp", + "description" : "The date and time the document was last made available.", + "$id" : "#field_oscal-metadata_published", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "oscal-component-definition-oscal-metadata:last-modified" : + { "title" : "Last Modified Timestamp", + "description" : "The date and time the document was last stored for later retrieval.", + "$id" : "#field_oscal-metadata_last-modified", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "oscal-component-definition-oscal-metadata:version" : + { "title" : "Document Version", + "description" : "Used to distinguish a specific revision of an OSCAL document from other previous and future versions.", + "$id" : "#field_oscal-metadata_version", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-component-definition-oscal-metadata:oscal-version" : + { "title" : "OSCAL Version", + "description" : "The OSCAL model version the document was authored against and will conform to as valid.", + "$id" : "#field_oscal-metadata_oscal-version", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-component-definition-oscal-metadata:email-address" : + { "title" : "Email Address", + "description" : "An email address as defined by RFC 5322 Section 3.4.1.", + "$id" : "#field_oscal-metadata_email-address", + "$ref" : "#/definitions/EmailAddressDatatype" }, + "oscal-component-definition-oscal-metadata:telephone-number" : + { "title" : "Telephone Number", + "description" : "A telephone service number as defined by ITU-T E.164.", + "$id" : "#field_oscal-metadata_telephone-number", + "type" : "object", + "properties" : + { "type" : + { "title" : "type flag", + "description" : "Indicates the type of phone number.", + "$ref" : "#/definitions/StringDatatype" }, + "number" : + { "type" : "string" } }, + "required" : + [ "number" ], + "additionalProperties" : false }, + "oscal-component-definition-oscal-metadata:address" : + { "title" : "Address", + "description" : "A postal address for the location.", + "$id" : "#assembly_oscal-metadata_address", + "type" : "object", + "properties" : + { "type" : + { "title" : "Address Type", + "description" : "Indicates the type of address.", + "$ref" : "#/definitions/TokenDatatype" }, + "addr-lines" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_addr-line" } }, + "city" : + { "title" : "City", + "description" : "City, town or geographical region for the mailing address.", + "$ref" : "#/definitions/StringDatatype" }, + "state" : + { "title" : "State", + "description" : "State, province or analogous geographical region for a mailing address.", + "$ref" : "#/definitions/StringDatatype" }, + "postal-code" : + { "title" : "Postal Code", + "description" : "Postal or ZIP code for mailing address.", + "$ref" : "#/definitions/StringDatatype" }, + "country" : + { "title" : "Country Code", + "description" : "The ISO 3166-1 alpha-2 country code for the mailing address.", + "$ref" : "#/definitions/StringDatatype" } }, + "additionalProperties" : false }, + "oscal-component-definition-oscal-metadata:addr-line" : + { "title" : "Address line", + "description" : "A single line of an address.", + "$id" : "#field_oscal-metadata_addr-line", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-component-definition-oscal-metadata:document-id" : + { "title" : "Document Identifier", + "description" : "A document identifier qualified by an identifier scheme.", + "$id" : "#field_oscal-metadata_document-id", + "type" : "object", + "properties" : + { "scheme" : + { "title" : "Document Identification Scheme", + "description" : "Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters.", + "$ref" : "#/definitions/URIDatatype" }, + "identifier" : + { "type" : "string" } }, + "required" : + [ "identifier" ], + "additionalProperties" : false }, + "oscal-component-definition-oscal-control-common:part" : + { "title" : "Part", + "description" : "An annotated, markup-based textual element of a control's or catalog group's definition, or a child of another part.", + "$id" : "#assembly_oscal-control-common_part", + "type" : "object", + "properties" : + { "id" : + { "title" : "Part Identifier", + "description" : "A unique identifier for the part.", + "$ref" : "#/definitions/TokenDatatype" }, + "name" : + { "title" : "Part Name", + "description" : "A textual label that uniquely identifies the part's semantic type, which exists in a value space qualified by the ns.", + "$ref" : "#/definitions/TokenDatatype" }, + "ns" : + { "title" : "Part Namespace", + "description" : "An optional namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name.", + "$ref" : "#/definitions/URIDatatype" }, + "class" : + { "title" : "Part Class", + "description" : "An optional textual providing a sub-type or characterization of the part's name, or a category to which the part belongs.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Part Title", + "description" : "An optional name given to the part, which may be used by a tool for display and navigation.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "prose" : + { "title" : "Part Text", + "description" : "Permits multiple paragraphs, lists, tables etc.", + "type" : "string" }, + "parts" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_part" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } } }, + "required" : + [ "name" ], + "additionalProperties" : false }, + "oscal-component-definition-oscal-control-common:parameter" : + { "title" : "Parameter", + "description" : "Parameters provide a mechanism for the dynamic assignment of value(s) in a control.", + "$id" : "#assembly_oscal-control-common_parameter", + "type" : "object", + "properties" : + { "id" : + { "title" : "Parameter Identifier", + "description" : "A unique identifier for the parameter.", + "$ref" : "#/definitions/TokenDatatype" }, + "class" : + { "title" : "Parameter Class", + "description" : "A textual label that provides a characterization of the type, purpose, use or scope of the parameter.", + "$ref" : "#/definitions/TokenDatatype" }, + "depends-on" : + { "title" : "Depends on", + "description" : "(deprecated) Another parameter invoking this one. This construct has been deprecated and should not be used.", + "$ref" : "#/definitions/TokenDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "label" : + { "title" : "Parameter Label", + "description" : "A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned.", + "type" : "string" }, + "usage" : + { "title" : "Parameter Usage Description", + "description" : "Describes the purpose and use of a parameter.", + "type" : "string" }, + "constraints" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_parameter-constraint" } }, + "guidelines" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_parameter-guideline" } }, + "values" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-control-common_parameter-value" } }, + "select" : + { "$ref" : "#assembly_oscal-control-common_parameter-selection" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "id" ], + "additionalProperties" : false }, + "oscal-component-definition-oscal-control-common:parameter-constraint" : + { "title" : "Constraint", + "description" : "A formal or informal expression of a constraint or test.", + "$id" : "#assembly_oscal-control-common_parameter-constraint", + "type" : "object", + "properties" : + { "description" : + { "title" : "Constraint Description", + "description" : "A textual summary of the constraint to be applied.", + "type" : "string" }, + "tests" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Constraint Test", + "description" : "A test expression which is expected to be evaluated by a tool.", + "type" : "object", + "properties" : + { "expression" : + { "title" : "Constraint test", + "description" : "A formal (executable) expression of a constraint.", + "$ref" : "#/definitions/StringDatatype" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "expression" ], + "additionalProperties" : false } } }, + "additionalProperties" : false }, + "oscal-component-definition-oscal-control-common:parameter-guideline" : + { "title" : "Guideline", + "description" : "A prose statement that provides a recommendation for the use of a parameter.", + "$id" : "#assembly_oscal-control-common_parameter-guideline", + "type" : "object", + "properties" : + { "prose" : + { "title" : "Guideline Text", + "description" : "Prose permits multiple paragraphs, lists, tables etc.", + "type" : "string" } }, + "required" : + [ "prose" ], + "additionalProperties" : false }, + "oscal-component-definition-oscal-control-common:parameter-value" : + { "title" : "Parameter Value", + "description" : "A parameter value or set of values.", + "$id" : "#field_oscal-control-common_parameter-value", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-component-definition-oscal-control-common:parameter-selection" : + { "title" : "Selection", + "description" : "Presenting a choice among alternatives.", + "$id" : "#assembly_oscal-control-common_parameter-selection", + "type" : "object", + "properties" : + { "how-many" : + { "title" : "Parameter Cardinality", + "description" : "Describes the number of selections that must occur. Without this setting, only one value should be assumed to be permitted.", + "allOf" : + [ + { "$ref" : "#/definitions/TokenDatatype" }, + + { "enum" : + [ "one", + "one-or-more" ] } ] }, + "choice" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Choice", + "description" : "A value selection among several such options.", + "type" : "string" } } }, + "additionalProperties" : false }, + "oscal-component-definition-oscal-control-common:include-all" : + { "title" : "Include All", + "description" : "Include all controls from the imported catalog or profile resources.", + "$id" : "#assembly_oscal-control-common_include-all", + "type" : "object", + "additionalProperties" : false }, + "Base64Datatype" : + { "type" : "string", + "pattern" : "^[0-9A-Fa-f]+$", + "contentEncoding" : "base64" }, + "DateTimeWithTimezoneDatatype" : + { "type" : "string", + "format" : "date-time", + "pattern" : "^(((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30)))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]*[1-9])?(Z|(-((0[0-9]|1[0-2]):00|0[39]:30)|\\+((0[0-9]|1[0-4]):00|(0[34569]|10):30|(0[58]|12):45)))$" }, + "EmailAddressDatatype" : + { "type" : "string", + "format" : "email", + "pattern" : "^.+@.+$" }, + "IntegerDatatype" : + { "type" : "integer" }, + "NonNegativeIntegerDatatype" : + { "allOf" : + [ + { "$ref" : "#/definitions/IntegerDatatype" }, + + { "minimum" : 0, + "type" : "number" } ] }, + "StringDatatype" : + { "type" : "string", + "pattern" : "^\\S(.*\\S)?$" }, + "TokenDatatype" : + { "type" : "string", + "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, + "URIDatatype" : + { "type" : "string", + "format" : "uri", + "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, + "URIReferenceDatatype" : + { "type" : "string", + "format" : "uri-reference" }, + "UUIDDatatype" : + { "type" : "string", + "description" : "A type 4 ('random' or 'pseudorandom') or type 5 UUID per RFC 4122.", + "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" } }, + "properties" : + { "component-definition" : + { "$ref" : "#assembly_oscal-component-definition_component-definition" } }, + "required" : + [ "component-definition" ], + "additionalProperties" : false, + "maxProperties" : 1 } \ No newline at end of file diff --git a/json/schema/oscal_mapping_schema.json b/json/schema/oscal_mapping_schema.json new file mode 100644 index 000000000..4590384c8 --- /dev/null +++ b/json/schema/oscal_mapping_schema.json @@ -0,0 +1,895 @@ + + { "$schema" : "http://json-schema.org/draft-07/schema#", + "$id" : "http://csrc.nist.gov/ns/oscal/1.0.3/oscal-mapping-schema.json", + "$comment" : "OSCAL Control Mapping Model: JSON Schema", + "type" : "object", + "definitions" : + { "oscal-mapping-oscal-mapping:mapping-collection" : + { "title" : "Mapping Collection", + "description" : "A collection of relationship-based control and/or control statement mappings.", + "$id" : "#assembly_oscal-mapping_mapping-collection", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Mapping Collection Universally Unique Identifier", + "description" : "A globally unique identifier with cross-instance scope for this catalog instance. This UUID should be changed when this document is revised.", + "$ref" : "#/definitions/UUIDDatatype" }, + "metadata" : + { "$ref" : "#assembly_oscal-metadata_metadata" }, + "mappings" : + { "anyOf" : + [ + { "$ref" : "#assembly_oscal-mapping_mapping" }, + + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-mapping_mapping" } } ] }, + "back-matter" : + { "$ref" : "#assembly_oscal-metadata_back-matter" } }, + "required" : + [ "uuid", + "metadata", + "mappings" ], + "additionalProperties" : false }, + "oscal-mapping-oscal-mapping:mapping" : + { "title" : "Control Mapping", + "description" : "A mapping between two target resources.", + "$id" : "#assembly_oscal-mapping_mapping", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Mapping Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this mapping definition elsewhere in this or other OSCAL instances. The locally defined UUID of the mapping can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same mapping across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "source-resource" : + { "$ref" : "#assembly_oscal-mapping-common_mapping-resource-reference" }, + "target-resource" : + { "$ref" : "#assembly_oscal-mapping-common_mapping-resource-reference" }, + "maps" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-mapping-common_map" } } }, + "required" : + [ "uuid", + "source-resource", + "target-resource", + "maps" ], + "additionalProperties" : false }, + "oscal-mapping-oscal-metadata:metadata" : + { "title" : "Document Metadata", + "description" : "Provides information about the containing document, and defines concepts that are shared across the document.", + "$id" : "#assembly_oscal-metadata_metadata", + "type" : "object", + "properties" : + { "title" : + { "title" : "Document Title", + "description" : "A name given to the document, which may be used by a tool for display and navigation.", + "type" : "string" }, + "published" : + { "$ref" : "#field_oscal-metadata_published" }, + "last-modified" : + { "$ref" : "#field_oscal-metadata_last-modified" }, + "version" : + { "$ref" : "#field_oscal-metadata_version" }, + "oscal-version" : + { "$ref" : "#field_oscal-metadata_oscal-version" }, + "revisions" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Revision History Entry", + "description" : "An entry in a sequential list of revisions to the containing document, expected to be in reverse chronological order (i.e. latest first).", + "type" : "object", + "properties" : + { "title" : + { "title" : "Document Title", + "description" : "A name given to the document revision, which may be used by a tool for display and navigation.", + "type" : "string" }, + "published" : + { "$ref" : "#field_oscal-metadata_published" }, + "last-modified" : + { "$ref" : "#field_oscal-metadata_last-modified" }, + "version" : + { "$ref" : "#field_oscal-metadata_version" }, + "oscal-version" : + { "$ref" : "#field_oscal-metadata_oscal-version" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "version" ], + "additionalProperties" : false } }, + "document-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_document-id" } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "roles" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Role", + "description" : "Defines a function, which might be assigned to a party in a specific situation.", + "type" : "object", + "properties" : + { "id" : + { "title" : "Role Identifier", + "description" : "A unique identifier for the role.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Role Title", + "description" : "A name given to the role, which may be used by a tool for display and navigation.", + "type" : "string" }, + "short-name" : + { "title" : "Role Short Name", + "description" : "A short common name, abbreviation, or acronym for the role.", + "$ref" : "#/definitions/StringDatatype" }, + "description" : + { "title" : "Role Description", + "description" : "A summary of the role's purpose and associated responsibilities.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "id", + "title" ], + "additionalProperties" : false } }, + "locations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Location", + "description" : "A physical point of presence, which may be associated with people, organizations, or other concepts within the current or linked OSCAL document.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Location Universally Unique Identifier", + "description" : "A unique ID for the location, for reference.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Location Title", + "description" : "A name given to the location, which may be used by a tool for display and navigation.", + "type" : "string" }, + "address" : + { "$ref" : "#assembly_oscal-metadata_address" }, + "email-addresses" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_email-address" } }, + "telephone-numbers" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_telephone-number" } }, + "urls" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Location URL", + "description" : "The uniform resource locator (URL) for a web site or other resource associated with the location.", + "$ref" : "#/definitions/URIDatatype" } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid" ], + "additionalProperties" : false } }, + "parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Party", + "description" : "An organization or person, which may be associated with roles or other concepts within the current or linked OSCAL document.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Party Universally Unique Identifier", + "description" : "A unique identifier for the party.", + "$ref" : "#/definitions/UUIDDatatype" }, + "type" : + { "title" : "Party Type", + "description" : "A category describing the kind of party the object describes.", + "allOf" : + [ + { "$ref" : "#/definitions/StringDatatype" }, + + { "enum" : + [ "person", + "organization" ] } ] }, + "name" : + { "title" : "Party Name", + "description" : "The full name of the party. This is typically the legal name associated with the party.", + "$ref" : "#/definitions/StringDatatype" }, + "short-name" : + { "title" : "Party Short Name", + "description" : "A short common name, abbreviation, or acronym for the party.", + "$ref" : "#/definitions/StringDatatype" }, + "external-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Party External Identifier", + "description" : "An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID).", + "type" : "object", + "properties" : + { "scheme" : + { "title" : "External Identifier Schema", + "description" : "Indicates the type of external identifier.", + "$ref" : "#/definitions/URIDatatype" }, + "id" : + { "type" : "string" } }, + "required" : + [ "id", + "scheme" ], + "additionalProperties" : false } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "email-addresses" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_email-address" } }, + "telephone-numbers" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_telephone-number" } }, + "addresses" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_address" } }, + "location-uuids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_location-uuid" } }, + "member-of-organizations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Organizational Affiliation", + "description" : "A reference to another party by UUID, typically an organization, that this subject is associated with.", + "$ref" : "#/definitions/UUIDDatatype" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "type" ], + "additionalProperties" : false } }, + "responsible-parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, + "actions" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_action" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "title", + "last-modified", + "version", + "oscal-version" ], + "additionalProperties" : false }, + "oscal-mapping-oscal-metadata:location-uuid" : + { "title" : "Location Universally Unique Identifier Reference", + "description" : "Reference to a location by UUID.", + "$id" : "#field_oscal-metadata_location-uuid", + "$ref" : "#/definitions/UUIDDatatype" }, + "oscal-mapping-oscal-metadata:party-uuid" : + { "title" : "Party Universally Unique Identifier Reference", + "description" : "Reference to a party by UUID.", + "$id" : "#field_oscal-metadata_party-uuid", + "$ref" : "#/definitions/UUIDDatatype" }, + "oscal-mapping-oscal-metadata:role-id" : + { "title" : "Role Identifier Reference", + "description" : "Reference to a role by UUID.", + "$id" : "#field_oscal-metadata_role-id", + "$ref" : "#/definitions/TokenDatatype" }, + "oscal-mapping-oscal-metadata:back-matter" : + { "title" : "Back matter", + "description" : "A collection of resources that may be referenced from within the OSCAL document instance.", + "$id" : "#assembly_oscal-metadata_back-matter", + "type" : "object", + "properties" : + { "resources" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Resource", + "description" : "A resource associated with content in the containing document instance. A resource may be directly included in the document using base64 encoding or may point to one or more equivalent internet resources.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Resource Universally Unique Identifier", + "description" : "A unique identifier for a resource.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Resource Title", + "description" : "An optional name given to the resource, which may be used by a tool for display and navigation.", + "type" : "string" }, + "description" : + { "title" : "Resource Description", + "description" : "An optional short summary of the resource used to indicate the purpose of the resource.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "document-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_document-id" } }, + "citation" : + { "title" : "Citation", + "description" : "An optional citation consisting of end note text using structured markup.", + "type" : "object", + "properties" : + { "text" : + { "title" : "Citation Text", + "description" : "A line of citation text.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } } }, + "required" : + [ "text" ], + "additionalProperties" : false }, + "rlinks" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Resource link", + "description" : "A URL-based pointer to an external resource with an optional hash for verification and change detection.", + "type" : "object", + "properties" : + { "href" : + { "title" : "Hypertext Reference", + "description" : "A resolvable URL pointing to the referenced resource.", + "$ref" : "#/definitions/URIReferenceDatatype" }, + "media-type" : + { "title" : "Media Type", + "description" : "A label that indicates the nature of a resource, as a data serialization or format.", + "$ref" : "#/definitions/StringDatatype" }, + "hashes" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_hash" } } }, + "required" : + [ "href" ], + "additionalProperties" : false } }, + "base64" : + { "title" : "Base64", + "description" : "A resource encoded using the Base64 alphabet defined by RFC 2045.", + "type" : "object", + "properties" : + { "filename" : + { "title" : "File Name", + "description" : "Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded.", + "$ref" : "#/definitions/TokenDatatype" }, + "media-type" : + { "title" : "Media Type", + "description" : "A label that indicates the nature of a resource, as a data serialization or format.", + "$ref" : "#/definitions/StringDatatype" }, + "value" : + { "type" : "string" } }, + "required" : + [ "value" ], + "additionalProperties" : false }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid" ], + "additionalProperties" : false } } }, + "additionalProperties" : false }, + "oscal-mapping-oscal-metadata:property" : + { "title" : "Property", + "description" : "An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair.", + "$id" : "#assembly_oscal-metadata_property", + "type" : "object", + "properties" : + { "name" : + { "title" : "Property Name", + "description" : "A textual label, within a namespace, that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.", + "$ref" : "#/definitions/TokenDatatype" }, + "uuid" : + { "title" : "Property Universally Unique Identifier", + "description" : "A unique identifier for a property.", + "$ref" : "#/definitions/UUIDDatatype" }, + "ns" : + { "title" : "Property Namespace", + "description" : "A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.", + "$ref" : "#/definitions/URIDatatype" }, + "value" : + { "title" : "Property Value", + "description" : "Indicates the value of the attribute, characteristic, or quality.", + "$ref" : "#/definitions/StringDatatype" }, + "class" : + { "title" : "Property Class", + "description" : "A textual label that provides a sub-type or characterization of the property's name.", + "$ref" : "#/definitions/TokenDatatype" }, + "group" : + { "title" : "Property Group", + "description" : "An identifier for relating distinct sets of properties.", + "$ref" : "#/definitions/TokenDatatype" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "name", + "value" ], + "additionalProperties" : false }, + "oscal-mapping-oscal-metadata:link" : + { "title" : "Link", + "description" : "A reference to a local or remote resource, that has a specific relation to the containing object.", + "$id" : "#assembly_oscal-metadata_link", + "type" : "object", + "properties" : + { "href" : + { "title" : "Hypertext Reference", + "description" : "A resolvable URL reference to a resource.", + "$ref" : "#/definitions/URIReferenceDatatype" }, + "rel" : + { "title" : "Link Relation Type", + "description" : "Describes the type of relationship provided by the link's hypertext reference. This can be an indicator of the link's purpose.", + "$ref" : "#/definitions/TokenDatatype" }, + "media-type" : + { "title" : "Media Type", + "description" : "A label that indicates the nature of a resource, as a data serialization or format.", + "$ref" : "#/definitions/StringDatatype" }, + "resource-fragment" : + { "title" : "Resource Fragment", + "description" : "In case where the href points to a back-matter/resource, this value will indicate the URI fragment to append to any rlink associated with the resource. This value MUST be URI encoded.", + "$ref" : "#/definitions/StringDatatype" }, + "text" : + { "title" : "Link Text", + "description" : "A textual label to associate with the link, which may be used for presentation in a tool.", + "type" : "string" } }, + "required" : + [ "href" ], + "additionalProperties" : false }, + "oscal-mapping-oscal-metadata:responsible-party" : + { "title" : "Responsible Party", + "description" : "A reference to a set of persons and/or organizations that have responsibility for performing the referenced role in the context of the containing object.", + "$id" : "#assembly_oscal-metadata_responsible-party", + "type" : "object", + "properties" : + { "role-id" : + { "title" : "Responsible Role", + "description" : "A reference to a role performed by a party.", + "$ref" : "#/definitions/TokenDatatype" }, + "party-uuids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_party-uuid" } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "role-id", + "party-uuids" ], + "additionalProperties" : false }, + "oscal-mapping-oscal-metadata:action" : + { "title" : "Action", + "description" : "An action applied by a role within a given party to the content.", + "$id" : "#assembly_oscal-metadata_action", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Action Universally Unique Identifier", + "description" : "A unique identifier that can be used to reference this defined action elsewhere in an OSCAL document. A UUID should be consistently used for a given location across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "date" : + { "title" : "Action Occurrence Date", + "description" : "The date and time when the action occurred.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "type" : + { "title" : "Action Type", + "description" : "The type of action documented by the assembly, such as an approval.", + "$ref" : "#/definitions/TokenDatatype" }, + "system" : + { "title" : "Action Type System", + "description" : "Specifies the action type system used.", + "$ref" : "#/definitions/URIDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "responsible-parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "type", + "system" ], + "additionalProperties" : false }, + "oscal-mapping-oscal-metadata:responsible-role" : + { "title" : "Responsible Role", + "description" : "A reference to a role with responsibility for performing a function relative to the containing object, optionally associated with a set of persons and/or organizations that perform that role.", + "$id" : "#assembly_oscal-metadata_responsible-role", + "type" : "object", + "properties" : + { "role-id" : + { "title" : "Responsible Role ID", + "description" : "A human-oriented identifier reference to a role performed.", + "$ref" : "#/definitions/TokenDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "party-uuids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_party-uuid" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "role-id" ], + "additionalProperties" : false }, + "oscal-mapping-oscal-metadata:hash" : + { "title" : "Hash", + "description" : "A representation of a cryptographic digest generated over a resource using a specified hash algorithm.", + "$id" : "#field_oscal-metadata_hash", + "type" : "object", + "properties" : + { "algorithm" : + { "title" : "Hash algorithm", + "description" : "The digest method by which a hash is derived.", + "$ref" : "#/definitions/StringDatatype" }, + "value" : + { "type" : "string" } }, + "required" : + [ "value", + "algorithm" ], + "additionalProperties" : false }, + "oscal-mapping-oscal-metadata:remarks" : + { "title" : "Remarks", + "description" : "Additional commentary about the containing object.", + "$id" : "#field_oscal-metadata_remarks", + "type" : "string" }, + "oscal-mapping-oscal-metadata:published" : + { "title" : "Publication Timestamp", + "description" : "The date and time the document was last made available.", + "$id" : "#field_oscal-metadata_published", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "oscal-mapping-oscal-metadata:last-modified" : + { "title" : "Last Modified Timestamp", + "description" : "The date and time the document was last stored for later retrieval.", + "$id" : "#field_oscal-metadata_last-modified", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "oscal-mapping-oscal-metadata:version" : + { "title" : "Document Version", + "description" : "Used to distinguish a specific revision of an OSCAL document from other previous and future versions.", + "$id" : "#field_oscal-metadata_version", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-mapping-oscal-metadata:oscal-version" : + { "title" : "OSCAL Version", + "description" : "The OSCAL model version the document was authored against and will conform to as valid.", + "$id" : "#field_oscal-metadata_oscal-version", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-mapping-oscal-metadata:email-address" : + { "title" : "Email Address", + "description" : "An email address as defined by RFC 5322 Section 3.4.1.", + "$id" : "#field_oscal-metadata_email-address", + "$ref" : "#/definitions/EmailAddressDatatype" }, + "oscal-mapping-oscal-metadata:telephone-number" : + { "title" : "Telephone Number", + "description" : "A telephone service number as defined by ITU-T E.164.", + "$id" : "#field_oscal-metadata_telephone-number", + "type" : "object", + "properties" : + { "type" : + { "title" : "type flag", + "description" : "Indicates the type of phone number.", + "$ref" : "#/definitions/StringDatatype" }, + "number" : + { "type" : "string" } }, + "required" : + [ "number" ], + "additionalProperties" : false }, + "oscal-mapping-oscal-metadata:address" : + { "title" : "Address", + "description" : "A postal address for the location.", + "$id" : "#assembly_oscal-metadata_address", + "type" : "object", + "properties" : + { "type" : + { "title" : "Address Type", + "description" : "Indicates the type of address.", + "$ref" : "#/definitions/TokenDatatype" }, + "addr-lines" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_addr-line" } }, + "city" : + { "title" : "City", + "description" : "City, town or geographical region for the mailing address.", + "$ref" : "#/definitions/StringDatatype" }, + "state" : + { "title" : "State", + "description" : "State, province or analogous geographical region for a mailing address.", + "$ref" : "#/definitions/StringDatatype" }, + "postal-code" : + { "title" : "Postal Code", + "description" : "Postal or ZIP code for mailing address.", + "$ref" : "#/definitions/StringDatatype" }, + "country" : + { "title" : "Country Code", + "description" : "The ISO 3166-1 alpha-2 country code for the mailing address.", + "$ref" : "#/definitions/StringDatatype" } }, + "additionalProperties" : false }, + "oscal-mapping-oscal-metadata:addr-line" : + { "title" : "Address line", + "description" : "A single line of an address.", + "$id" : "#field_oscal-metadata_addr-line", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-mapping-oscal-metadata:document-id" : + { "title" : "Document Identifier", + "description" : "A document identifier qualified by an identifier scheme.", + "$id" : "#field_oscal-metadata_document-id", + "type" : "object", + "properties" : + { "scheme" : + { "title" : "Document Identification Scheme", + "description" : "Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters.", + "$ref" : "#/definitions/URIDatatype" }, + "identifier" : + { "type" : "string" } }, + "required" : + [ "identifier" ], + "additionalProperties" : false }, + "oscal-mapping-oscal-mapping-common:map" : + { "title" : "Mapping Entry", + "description" : "A relationship-based mapping between a source and target set consisting of members (i.e., controls, control statements) from the respective source and target.", + "$id" : "#assembly_oscal-mapping-common_map", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Mapping Entry Identifier", + "description" : "The unique identifier for the mapping entry.", + "$ref" : "#/definitions/UUIDDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "relationship" : + { "title" : "Mapping Entry Relationship", + "description" : "The relationship type for the mapping entry, which describes the relationship between the effective requirements of the specified source and target sets.", + "type" : "object", + "properties" : + { "ns" : + { "title" : "Relationship Value Namespace", + "description" : "A namespace qualifying the relationship's value. This allows different organizations to associate distinct semantics for relationships with the same name.", + "$ref" : "#/definitions/URIDatatype" }, + "type" : + { "type" : "string" } }, + "required" : + [ "type" ], + "additionalProperties" : false, + "enum" : + [ "equivalent-to", + "equal-to", + "subset-of", + "superset-of", + "intersects-with" ] }, + "sources" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-mapping-common_mapping-item" } }, + "targets" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-mapping-common_mapping-item" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "relationship", + "sources", + "targets" ], + "additionalProperties" : false }, + "oscal-mapping-oscal-mapping-common:mapping-item" : + { "title" : "Mapping Entry Item (source or target)", + "description" : "Identifies a specific edge within a source or target that is the subject of a mapping.", + "$id" : "#assembly_oscal-mapping-common_mapping-item", + "type" : "object", + "properties" : + { "type" : + { "title" : "Subject Type", + "description" : "The semantic type of the subject.", + "allOf" : + [ + { "$ref" : "#/definitions/TokenDatatype" }, + + { "enum" : + [ "control", + "statement" ] } ] }, + "id-ref" : + { "title" : "Subject Identifier Reference", + "description" : "A reference to an identified subject that is of the specified type.", + "$ref" : "#/definitions/StringDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "type", + "id-ref" ], + "additionalProperties" : false }, + "oscal-mapping-oscal-mapping-common:mapping-resource-reference" : + { "title" : "Mapped Resource Reference", + "description" : "A reference to a resource that is either the source or target of a mapping.", + "$id" : "#assembly_oscal-mapping-common_mapping-resource-reference", + "type" : "object", + "properties" : + { "type" : + { "title" : "Resource Type", + "description" : "The semantic type of the resource.", + "allOf" : + [ + { "$ref" : "#/definitions/TokenDatatype" }, + + { "enum" : + [ "catalog" ] } ] }, + "href" : + { "title" : "Catalog or Profile Reference", + "description" : "A resolvable URL reference to the base catalog or profile that this profile is tailoring.", + "$ref" : "#/definitions/URIReferenceDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "type", + "href" ], + "additionalProperties" : false }, + "Base64Datatype" : + { "type" : "string", + "pattern" : "^[0-9A-Fa-f]+$", + "contentEncoding" : "base64" }, + "DateTimeWithTimezoneDatatype" : + { "type" : "string", + "format" : "date-time", + "pattern" : "^(((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30)))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]*[1-9])?(Z|(-((0[0-9]|1[0-2]):00|0[39]:30)|\\+((0[0-9]|1[0-4]):00|(0[34569]|10):30|(0[58]|12):45)))$" }, + "EmailAddressDatatype" : + { "type" : "string", + "format" : "email", + "pattern" : "^.+@.+$" }, + "StringDatatype" : + { "type" : "string", + "pattern" : "^\\S(.*\\S)?$" }, + "TokenDatatype" : + { "type" : "string", + "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, + "URIDatatype" : + { "type" : "string", + "format" : "uri", + "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, + "URIReferenceDatatype" : + { "type" : "string", + "format" : "uri-reference" }, + "UUIDDatatype" : + { "type" : "string", + "description" : "A type 4 ('random' or 'pseudorandom') or type 5 UUID per RFC 4122.", + "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" } }, + "properties" : + { "mapping-collection" : + { "$ref" : "#assembly_oscal-mapping_mapping-collection" } }, + "required" : + [ "mapping-collection" ], + "additionalProperties" : false, + "maxProperties" : 1 } \ No newline at end of file diff --git a/json/schema/oscal_poam_schema.json b/json/schema/oscal_poam_schema.json index 125ed5866..1f3c9d606 100644 --- a/json/schema/oscal_poam_schema.json +++ b/json/schema/oscal_poam_schema.json @@ -1,2848 +1,2899 @@ - { "$schema" : "http://json-schema.org/draft-07/schema#", - "$id" : "http://csrc.nist.gov/ns/oscal/1.0.4/oscal-poam-schema.json", - "$comment" : "OSCAL Plan of Action and Milestones (POA&M) Model: JSON Schema", + { "$schema" : "http://json-schema.org/draft-07/schema#", + "$id" : "http://csrc.nist.gov/ns/oscal/1.0.4/oscal-poam-schema.json", + "$comment" : "OSCAL Plan of Action and Milestones (POA&M) Model: JSON Schema", + "type" : "object", + "definitions" : + { "oscal-poam-oscal-poam:plan-of-action-and-milestones" : + { "title" : "Plan of Action and Milestones (POA&M)", + "description" : "A plan of action and milestones which identifies initial and residual risks, deviations, and disposition, such as those required by FedRAMP.", + "$id" : "#assembly_oscal-poam_plan-of-action-and-milestones", "type" : "object", - "definitions" : - { "oscal-poam-oscal-poam:plan-of-action-and-milestones" : - { "title" : "Plan of Action and Milestones (POA&M)", - "description" : "A plan of action and milestones which identifies initial and residual risks, deviations, and disposition, such as those required by FedRAMP.", - "$id" : "#assembly_oscal-poam_plan-of-action-and-milestones", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "POA&M Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with instancescope that can be used to reference this POA&M instance in this OSCAL instance. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "metadata" : - { "$ref" : "#assembly_oscal-metadata_metadata" }, - "import-ssp" : - { "$ref" : "#assembly_oscal-assessment-common_import-ssp" }, - "system-id" : - { "$ref" : "#field_oscal-implementation-common_system-id" }, - "local-definitions" : - { "$ref" : "#assembly_oscal-poam_local-definitions" }, - "observations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_observation" } }, - "risks" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_risk" } }, - "poam-items" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-poam_poam-item" } }, - "back-matter" : - { "$ref" : "#assembly_oscal-metadata_back-matter" } }, - "required" : - [ "uuid", - "metadata", - "poam-items" ], - "additionalProperties" : false }, - "oscal-poam-oscal-poam:local-definitions" : - { "title" : "Local Definitions", - "description" : "Allows components, and inventory-items to be defined within the POA&M for circumstances where no OSCAL-based SSP exists, or is not delivered with the POA&M.", - "$id" : "#assembly_oscal-poam_local-definitions", - "type" : "object", - "properties" : - { "components" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_system-component" } }, - "inventory-items" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_inventory-item" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "additionalProperties" : false }, - "oscal-poam-oscal-poam:poam-item" : - { "title" : "POA&M Item", - "description" : "Describes an individual POA&M item.", - "$id" : "#assembly_oscal-poam_poam-item", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "POA&M Item Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with instance scope that can be used to reference this POA&M item entry in this OSCAL instance. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "POA&M Item Title", - "description" : "The title or name for this POA&M item .", - "type" : "string" }, - "description" : - { "title" : "POA&M Item Description", - "description" : "A human-readable description of POA&M item.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "origins" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Origin", - "description" : "Identifies the source of the finding, such as a tool or person.", - "type" : "object", - "properties" : - { "actors" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_origin-actor" } } }, - "required" : - [ "actors" ], - "additionalProperties" : false } }, - "related-observations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Related Observation", - "description" : "Relates the poam-item to a set of referenced observations that were used to determine the finding.", - "type" : "object", - "properties" : - { "observation-uuid" : - { "title" : "Observation Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to an observation defined in the list of observations.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" } }, - "required" : - [ "observation-uuid" ], - "additionalProperties" : false } }, - "related-risks" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Associated Risk", - "description" : "Relates the finding to a set of referenced risks that were used to determine the finding.", - "type" : "object", - "properties" : - { "risk-uuid" : - { "title" : "Risk Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to a risk defined in the list of risks.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" } }, - "required" : - [ "risk-uuid" ], - "additionalProperties" : false } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "title", - "description" ], - "additionalProperties" : false }, - "oscal-poam-oscal-metadata:metadata" : - { "title" : "Publication metadata", - "description" : "Provides information about the publication and availability of the containing document.", - "$id" : "#assembly_oscal-metadata_metadata", - "type" : "object", - "properties" : - { "title" : - { "title" : "Document Title", - "description" : "A name given to the document, which may be used by a tool for display and navigation.", - "type" : "string" }, - "published" : - { "$ref" : "#field_oscal-metadata_published" }, - "last-modified" : - { "$ref" : "#field_oscal-metadata_last-modified" }, - "version" : - { "$ref" : "#field_oscal-metadata_version" }, - "oscal-version" : - { "$ref" : "#field_oscal-metadata_oscal-version" }, - "revisions" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_revision" } }, - "document-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_document-id" } }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_role" } }, - "locations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_location" } }, - "parties" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_party" } }, - "responsible-parties" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "title", - "last-modified", - "version", - "oscal-version" ], - "additionalProperties" : false }, - "oscal-poam-oscal-metadata:revision" : + "properties" : + { "uuid" : + { "title" : "POA&M Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with instancescope that can be used to reference this POA&M instance in this OSCAL instance. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "metadata" : + { "$ref" : "#assembly_oscal-metadata_metadata" }, + "import-ssp" : + { "$ref" : "#assembly_oscal-assessment-common_import-ssp" }, + "system-id" : + { "$ref" : "#field_oscal-implementation-common_system-id" }, + "local-definitions" : + { "$ref" : "#assembly_oscal-poam_local-definitions" }, + "observations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_observation" } }, + "risks" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_risk" } }, + "findings" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_finding" } }, + "poam-items" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-poam_poam-item" } }, + "back-matter" : + { "$ref" : "#assembly_oscal-metadata_back-matter" } }, + "required" : + [ "uuid", + "metadata", + "poam-items" ], + "additionalProperties" : false }, + "oscal-poam-oscal-poam:local-definitions" : + { "title" : "Local Definitions", + "description" : "Allows components, and inventory-items to be defined within the POA&M for circumstances where no OSCAL-based SSP exists, or is not delivered with the POA&M.", + "$id" : "#assembly_oscal-poam_local-definitions", + "type" : "object", + "properties" : + { "components" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_system-component" } }, + "inventory-items" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_inventory-item" } }, + "assessment-assets" : + { "$ref" : "#assembly_oscal-assessment-common_assessment-assets" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "additionalProperties" : false }, + "oscal-poam-oscal-poam:poam-item" : + { "title" : "POA&M Item", + "description" : "Describes an individual POA&M item.", + "$id" : "#assembly_oscal-poam_poam-item", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "POA&M Item Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with instance scope that can be used to reference this POA&M item entry in this OSCAL instance. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "POA&M Item Title", + "description" : "The title or name for this POA&M item .", + "type" : "string" }, + "description" : + { "title" : "POA&M Item Description", + "description" : "A human-readable description of POA&M item.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "origins" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Origin", + "description" : "Identifies the source of the finding, such as a tool or person.", + "type" : "object", + "properties" : + { "actors" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_origin-actor" } } }, + "required" : + [ "actors" ], + "additionalProperties" : false } }, + "related-findings" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Related Finding", + "description" : "Relates the poam-item to referenced finding(s).", + "type" : "object", + "properties" : + { "finding-uuid" : + { "title" : "Finding Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to a finding defined in the list of findings.", + "$ref" : "#/definitions/UUIDDatatype" } }, + "required" : + [ "finding-uuid" ], + "additionalProperties" : false } }, + "related-observations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Related Observation", + "description" : "Relates the poam-item to a set of referenced observations that were used to determine the finding.", + "type" : "object", + "properties" : + { "observation-uuid" : + { "title" : "Observation Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to an observation defined in the list of observations.", + "$ref" : "#/definitions/UUIDDatatype" } }, + "required" : + [ "observation-uuid" ], + "additionalProperties" : false } }, + "related-risks" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Associated Risk", + "description" : "Relates the finding to a set of referenced risks that were used to determine the finding.", + "type" : "object", + "properties" : + { "risk-uuid" : + { "title" : "Risk Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to a risk defined in the list of risks.", + "$ref" : "#/definitions/UUIDDatatype" } }, + "required" : + [ "risk-uuid" ], + "additionalProperties" : false } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "title", + "description" ], + "additionalProperties" : false }, + "oscal-poam-oscal-metadata:metadata" : + { "title" : "Document Metadata", + "description" : "Provides information about the containing document, and defines concepts that are shared across the document.", + "$id" : "#assembly_oscal-metadata_metadata", + "type" : "object", + "properties" : + { "title" : + { "title" : "Document Title", + "description" : "A name given to the document, which may be used by a tool for display and navigation.", + "type" : "string" }, + "published" : + { "$ref" : "#field_oscal-metadata_published" }, + "last-modified" : + { "$ref" : "#field_oscal-metadata_last-modified" }, + "version" : + { "$ref" : "#field_oscal-metadata_version" }, + "oscal-version" : + { "$ref" : "#field_oscal-metadata_oscal-version" }, + "revisions" : + { "type" : "array", + "minItems" : 1, + "items" : { "title" : "Revision History Entry", - "description" : "An entry in a sequential list of revisions to the containing document in reverse chronological order (i.e., most recent previous revision first).", - "$id" : "#assembly_oscal-metadata_revision", - "type" : "object", - "properties" : - { "title" : - { "title" : "Document Title", - "description" : "A name given to the document revision, which may be used by a tool for display and navigation.", - "type" : "string" }, - "published" : - { "$ref" : "#field_oscal-metadata_published" }, - "last-modified" : - { "$ref" : "#field_oscal-metadata_last-modified" }, - "version" : - { "$ref" : "#field_oscal-metadata_version" }, - "oscal-version" : - { "$ref" : "#field_oscal-metadata_oscal-version" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "version" ], - "additionalProperties" : false }, - "oscal-poam-oscal-metadata:location" : - { "title" : "Location", - "description" : "A location, with associated metadata that can be referenced.", - "$id" : "#assembly_oscal-metadata_location", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Location Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined location elsewhere in this or other OSCAL instances. The locally defined UUID of the location can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Location Title", - "description" : "A name given to the location, which may be used by a tool for display and navigation.", - "type" : "string" }, - "address" : - { "$ref" : "#assembly_oscal-metadata_address" }, - "email-addresses" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_email-address" } }, - "telephone-numbers" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_telephone-number" } }, - "urls" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Location URL", - "description" : "The uniform resource locator (URL) for a web site or Internet presence associated with the location.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" } }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "address" ], - "additionalProperties" : false }, - "oscal-poam-oscal-metadata:location-uuid" : - { "title" : "Location Reference", - "description" : "A machine-oriented identifier reference to a location defined in the metadata section of this or another OSCAL instance. The UUID of the location in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).", - "$id" : "#field_oscal-metadata_location-uuid", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "oscal-poam-oscal-metadata:party" : - { "title" : "Party (organization or person)", - "description" : "A responsible entity which is either a person or an organization.", - "$id" : "#assembly_oscal-metadata_party", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Party Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined party elsewhere in this or other OSCAL instances. The locally defined UUID of the party can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "type" : - { "title" : "Party Type", - "description" : "A category describing the kind of party the object describes.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$", - "enum" : - [ "person", - "organization" ] }, - "name" : - { "title" : "Party Name", - "description" : "The full name of the party. This is typically the legal name associated with the party.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "short-name" : - { "title" : "Party Short Name", - "description" : "A short common name, abbreviation, or acronym for the party.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "external-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Party External Identifier", - "description" : "An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID)", - "type" : "object", - "properties" : - { "scheme" : - { "title" : "External Identifier Schema", - "description" : "Indicates the type of external identifier.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "id" : - { "type" : "string" } }, - "required" : - [ "id", - "scheme" ], - "additionalProperties" : false } }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "email-addresses" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_email-address" } }, - "telephone-numbers" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_telephone-number" } }, - "addresses" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_address" } }, - "location-uuids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_location-uuid" } }, - "member-of-organizations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Organizational Affiliation", - "description" : "A machine-oriented identifier reference to another party (person or organization) that this subject is associated with. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "type" ], - "additionalProperties" : false }, - "oscal-poam-oscal-metadata:party-uuid" : - { "title" : "Party Reference", - "description" : "A machine-oriented identifier reference to another party defined in metadata. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).", - "$id" : "#field_oscal-metadata_party-uuid", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "oscal-poam-oscal-metadata:role" : + "description" : "An entry in a sequential list of revisions to the containing document, expected to be in reverse chronological order (i.e. latest first).", + "type" : "object", + "properties" : + { "title" : + { "title" : "Document Title", + "description" : "A name given to the document revision, which may be used by a tool for display and navigation.", + "type" : "string" }, + "published" : + { "$ref" : "#field_oscal-metadata_published" }, + "last-modified" : + { "$ref" : "#field_oscal-metadata_last-modified" }, + "version" : + { "$ref" : "#field_oscal-metadata_version" }, + "oscal-version" : + { "$ref" : "#field_oscal-metadata_oscal-version" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "version" ], + "additionalProperties" : false } }, + "document-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_document-id" } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "roles" : + { "type" : "array", + "minItems" : 1, + "items" : { "title" : "Role", - "description" : "Defines a function assumed or expected to be assumed by a party in a specific situation.", - "$id" : "#assembly_oscal-metadata_role", - "type" : "object", - "properties" : - { "id" : - { "title" : "Role Identifier", - "description" : "A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined role elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, the locally defined ID of the Role from the imported OSCAL instance must be referenced in the context of the containing resource (e.g., import, import-component-definition, import-profile, import-ssp or import-ap). This ID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "title" : - { "title" : "Role Title", - "description" : "A name given to the role, which may be used by a tool for display and navigation.", - "type" : "string" }, - "short-name" : - { "title" : "Role Short Name", - "description" : "A short common name, abbreviation, or acronym for the role.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "description" : - { "title" : "Role Description", - "description" : "A summary of the role's purpose and associated responsibilities.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "id", - "title" ], - "additionalProperties" : false }, - "oscal-poam-oscal-metadata:role-id" : - { "title" : "Role Identifier Reference", - "description" : "A human-oriented identifier reference to roles served by the user.", - "$id" : "#field_oscal-metadata_role-id", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "oscal-poam-oscal-metadata:back-matter" : - { "title" : "Back matter", - "description" : "A collection of resources, which may be included directly or by reference.", - "$id" : "#assembly_oscal-metadata_back-matter", - "type" : "object", - "properties" : - { "resources" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Resource", - "description" : "A resource associated with content in the containing document. A resource may be directly included in the document base64 encoded or may point to one or more equivalent internet resources.", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Resource Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined resource elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Resource Title", - "description" : "A name given to the resource, which may be used by a tool for display and navigation.", - "type" : "string" }, - "description" : - { "title" : "Resource Description", - "description" : "A short summary of the resource used to indicate the purpose of the resource.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "document-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_document-id" } }, - "citation" : - { "title" : "Citation", - "description" : "A citation consisting of end note text and optional structured bibliographic data.", - "type" : "object", - "properties" : - { "text" : - { "title" : "Citation Text", - "description" : "A line of citation text.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } } }, - "required" : - [ "text" ], - "additionalProperties" : false }, - "rlinks" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Resource link", - "description" : "A pointer to an external resource with an optional hash for verification and change detection.", - "type" : "object", - "properties" : - { "href" : - { "title" : "Hypertext Reference", - "description" : "A resolvable URI reference to a resource.", - "type" : "string", - "format" : "uri-reference" }, - "media-type" : - { "title" : "Media Type", - "description" : "Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "hashes" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_hash" } } }, - "required" : - [ "href" ], - "additionalProperties" : false } }, - "base64" : - { "title" : "Base64", - "description" : "The Base64 alphabet in RFC 2045 - aligned with XSD.", - "type" : "object", - "properties" : - { "filename" : - { "title" : "File Name", - "description" : "Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded.", - "type" : "string", - "format" : "uri-reference" }, - "media-type" : - { "title" : "Media Type", - "description" : "Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "value" : - { "type" : "string" } }, - "required" : - [ "value" ], - "additionalProperties" : false }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid" ], - "additionalProperties" : false } } }, - "additionalProperties" : false }, - "oscal-poam-oscal-metadata:property" : - { "title" : "Property", - "description" : "An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.", - "$id" : "#assembly_oscal-metadata_property", - "type" : "object", - "properties" : - { "name" : - { "title" : "Property Name", - "description" : "A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "uuid" : - { "title" : "Property Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "ns" : - { "title" : "Property Namespace", - "description" : "A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "value" : - { "title" : "Property Value", - "description" : "Indicates the value of the attribute, characteristic, or quality.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "class" : - { "title" : "Property Class", - "description" : "A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "name", - "value" ], - "additionalProperties" : false }, - "oscal-poam-oscal-metadata:link" : - { "title" : "Link", - "description" : "A reference to a local or remote resource", - "$id" : "#assembly_oscal-metadata_link", - "type" : "object", - "properties" : - { "href" : - { "title" : "Hypertext Reference", - "description" : "A resolvable URL reference to a resource.", - "type" : "string", - "format" : "uri-reference" }, - "rel" : - { "title" : "Relation", - "description" : "Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "media-type" : - { "title" : "Media Type", - "description" : "Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "text" : - { "title" : "Link Text", - "description" : "A textual label to associate with the link, which may be used for presentation in a tool.", - "type" : "string" } }, - "required" : - [ "href" ], - "additionalProperties" : false }, - "oscal-poam-oscal-metadata:responsible-party" : - { "title" : "Responsible Party", - "description" : "A reference to a set of organizations or persons that have responsibility for performing a referenced role in the context of the containing object.", - "$id" : "#assembly_oscal-metadata_responsible-party", - "type" : "object", - "properties" : - { "role-id" : - { "title" : "Responsible Role", - "description" : "A human-oriented identifier reference to roles served by the user.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "party-uuids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_party-uuid" } }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "role-id", - "party-uuids" ], - "additionalProperties" : false }, - "oscal-poam-oscal-metadata:responsible-role" : - { "title" : "Responsible Role", - "description" : "A reference to one or more roles with responsibility for performing a function relative to the containing object.", - "$id" : "#assembly_oscal-metadata_responsible-role", - "type" : "object", - "properties" : - { "role-id" : - { "title" : "Responsible Role ID", - "description" : "A human-oriented identifier reference to roles responsible for the business function.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "party-uuids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_party-uuid" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "role-id" ], - "additionalProperties" : false }, - "oscal-poam-oscal-metadata:hash" : - { "title" : "Hash", - "description" : "A representation of a cryptographic digest generated over a resource using a specified hash algorithm.", - "$id" : "#field_oscal-metadata_hash", - "type" : "object", - "properties" : - { "algorithm" : - { "title" : "Hash algorithm", - "description" : "Method by which a hash is derived", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "value" : - { "type" : "string" } }, - "required" : - [ "value", - "algorithm" ], - "additionalProperties" : false }, - "oscal-poam-oscal-metadata:remarks" : - { "title" : "Remarks", - "description" : "Additional commentary on the containing object.", - "$id" : "#field_oscal-metadata_remarks", - "type" : "string" }, - "oscal-poam-oscal-metadata:published" : - { "title" : "Publication Timestamp", - "description" : "The date and time the document was published. The date-time value must be formatted according to RFC 3339 with full time and time zone included.", - "$id" : "#field_oscal-metadata_published", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "oscal-poam-oscal-metadata:last-modified" : - { "title" : "Last Modified Timestamp", - "description" : "The date and time the document was last modified. The date-time value must be formatted according to RFC 3339 with full time and time zone included.", - "$id" : "#field_oscal-metadata_last-modified", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "oscal-poam-oscal-metadata:version" : - { "title" : "Document Version", - "description" : "A string used to distinguish the current version of the document from other previous (and future) versions.", - "$id" : "#field_oscal-metadata_version", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "oscal-poam-oscal-metadata:oscal-version" : - { "title" : "OSCAL version", - "description" : "The OSCAL model version the document was authored against.", - "$id" : "#field_oscal-metadata_oscal-version", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "oscal-poam-oscal-metadata:email-address" : - { "title" : "Email Address", - "description" : "An email address as defined by RFC 5322 Section 3.4.1.", - "$id" : "#field_oscal-metadata_email-address", - "type" : "string", - "format" : "email", - "pattern" : "^.+@.+$" }, - "oscal-poam-oscal-metadata:telephone-number" : - { "title" : "Telephone Number", - "description" : "Contact number by telephone.", - "$id" : "#field_oscal-metadata_telephone-number", - "type" : "object", - "properties" : - { "type" : - { "title" : "type flag", - "description" : "Indicates the type of phone number.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "number" : - { "type" : "string" } }, - "required" : - [ "number" ], - "additionalProperties" : false }, - "oscal-poam-oscal-metadata:address" : - { "title" : "Address", - "description" : "A postal address for the location.", - "$id" : "#assembly_oscal-metadata_address", - "type" : "object", - "properties" : - { "type" : - { "title" : "Address Type", - "description" : "Indicates the type of address.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "addr-lines" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_addr-line" } }, - "city" : - { "title" : "City", - "description" : "City, town or geographical region for the mailing address.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "state" : - { "title" : "State", - "description" : "State, province or analogous geographical region for mailing address", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "postal-code" : - { "title" : "Postal Code", - "description" : "Postal or ZIP code for mailing address", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "country" : - { "title" : "Country Code", - "description" : "The ISO 3166-1 alpha-2 country code for the mailing address.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" } }, - "additionalProperties" : false }, - "oscal-poam-oscal-metadata:addr-line" : - { "title" : "Address line", - "description" : "A single line of an address.", - "$id" : "#field_oscal-metadata_addr-line", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "oscal-poam-oscal-metadata:document-id" : - { "title" : "Document Identifier", - "description" : "A document identifier qualified by an identifier scheme. A document identifier provides a globally unique identifier with a cross-instance scope that is used for a group of documents that are to be treated as different versions of the same document. If this element does not appear, or if the value of this element is empty, the value of \"document-id\" is equal to the value of the \"uuid\" flag of the top-level root element.", - "$id" : "#field_oscal-metadata_document-id", - "type" : "object", - "properties" : - { "scheme" : - { "title" : "Document Identification Scheme", - "description" : "Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "identifier" : - { "type" : "string" } }, - "required" : - [ "identifier" ], - "additionalProperties" : false }, - "oscal-poam-oscal-implementation-common:system-component" : - { "title" : "Component", - "description" : "A defined component that can be part of an implemented system.", - "$id" : "#assembly_oscal-implementation-common_system-component", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Component Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component elsewhere in this or other OSCAL instances. The locally defined UUID of the component can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "type" : - { "title" : "Component Type", - "description" : "A category describing the purpose of the component.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "title" : - { "title" : "Component Title", - "description" : "A human readable name for the system component.", - "type" : "string" }, - "description" : - { "title" : "Component Description", - "description" : "A description of the component, including information about its function.", - "type" : "string" }, - "purpose" : - { "title" : "Purpose", - "description" : "A summary of the technological or business purpose of the component.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "status" : - { "title" : "Status", - "description" : "Describes the operational status of the system component.", - "type" : "object", - "properties" : - { "state" : - { "title" : "State", - "description" : "The operational status.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$", - "enum" : - [ "under-development", - "operational", - "disposition", - "other" ] }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "state" ], - "additionalProperties" : false }, - "responsible-roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, - "protocols" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_protocol" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "type", - "title", - "description", - "status" ], - "additionalProperties" : false }, - "oscal-poam-oscal-implementation-common:protocol" : - { "title" : "Service Protocol Information", - "description" : "Information about the protocol used to provide a service.", - "$id" : "#assembly_oscal-implementation-common_protocol", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Service Protocol Information Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this service protocol information elsewhere in this or other OSCAL instances. The locally defined UUID of the service protocol can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "name" : - { "title" : "Protocol Name", - "description" : "The common name of the protocol, which should be the appropriate \"service name\" from the IANA Service Name and Transport Protocol Port Number Registry.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "title" : - { "title" : "Protocol Title", - "description" : "A human readable name for the protocol (e.g., Transport Layer Security).", - "type" : "string" }, - "port-ranges" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_port-range" } } }, - "required" : - [ "name" ], - "additionalProperties" : false }, - "oscal-poam-oscal-implementation-common:port-range" : - { "title" : "Port Range", - "description" : "Where applicable this is the IPv4 port range on which the service operates.", - "$id" : "#assembly_oscal-implementation-common_port-range", - "type" : "object", - "properties" : - { "start" : - { "title" : "Start", - "description" : "Indicates the starting port number in a port range", - "type" : "integer", - "multipleOf" : 1, - "minimum" : 0 }, - "end" : - { "title" : "End", - "description" : "Indicates the ending port number in a port range", - "type" : "integer", - "multipleOf" : 1, - "minimum" : 0 }, - "transport" : - { "title" : "Transport", - "description" : "Indicates the transport type.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$", - "enum" : - [ "TCP", - "UDP" ] } }, - "additionalProperties" : false }, - "oscal-poam-oscal-implementation-common:implementation-status" : - { "title" : "Implementation Status", - "description" : "Indicates the degree to which the a given control is implemented.", - "$id" : "#assembly_oscal-implementation-common_implementation-status", - "type" : "object", - "properties" : - { "state" : - { "title" : "Implementation State", - "description" : "Identifies the implementation status of the control or control objective.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "state" ], - "additionalProperties" : false }, - "oscal-poam-oscal-implementation-common:system-user" : - { "title" : "System User", - "description" : "A type of user that interacts with the system based on an associated role.", - "$id" : "#assembly_oscal-implementation-common_system-user", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "User Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this user class elsewhere in this or other OSCAL instances. The locally defined UUID of the system user can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "User Title", - "description" : "A name given to the user, which may be used by a tool for display and navigation.", - "type" : "string" }, - "short-name" : - { "title" : "User Short Name", - "description" : "A short common name, abbreviation, or acronym for the user.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "description" : - { "title" : "User Description", - "description" : "A summary of the user's purpose within the system.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "role-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_role-id" } }, - "authorized-privileges" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_authorized-privilege" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid" ], - "additionalProperties" : false }, - "oscal-poam-oscal-implementation-common:authorized-privilege" : - { "title" : "Privilege", - "description" : "Identifies a specific system privilege held by the user, along with an associated description and/or rationale for the privilege.", - "$id" : "#assembly_oscal-implementation-common_authorized-privilege", - "type" : "object", - "properties" : - { "title" : - { "title" : "Privilege Title", - "description" : "A human readable name for the privilege.", - "type" : "string" }, - "description" : - { "title" : "Privilege Description", - "description" : "A summary of the privilege's purpose within the system.", - "type" : "string" }, - "functions-performed" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-implementation-common_function-performed" } } }, - "required" : - [ "title", - "functions-performed" ], - "additionalProperties" : false }, - "oscal-poam-oscal-implementation-common:function-performed" : - { "title" : "Functions Performed", - "description" : "Describes a function performed for a given authorized privilege by this user class.", - "$id" : "#field_oscal-implementation-common_function-performed", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "oscal-poam-oscal-implementation-common:inventory-item" : - { "title" : "Inventory Item", - "description" : "A single managed inventory item within the system.", - "$id" : "#assembly_oscal-implementation-common_inventory-item", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Inventory Item Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inventory item elsewhere in this or other OSCAL instances. The locally defined UUID of the inventory item can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "description" : - { "title" : "Inventory Item Description", - "description" : "A summary of the inventory item stating its purpose within the system.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "responsible-parties" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, - "implemented-components" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Implemented Component", - "description" : "The set of components that are implemented in a given system inventory item.", - "type" : "object", - "properties" : - { "component-uuid" : - { "title" : "Component Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to a component that is implemented as part of an inventory item.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "responsible-parties" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "component-uuid" ], - "additionalProperties" : false } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "description" ], - "additionalProperties" : false }, - "oscal-poam-oscal-implementation-common:set-parameter" : - { "title" : "Set Parameter Value", - "description" : "Identifies the parameter that will be set by the enclosed value.", - "$id" : "#assembly_oscal-implementation-common_set-parameter", - "type" : "object", - "properties" : - { "param-id" : - { "title" : "Parameter ID", - "description" : "A human-oriented reference to a parameter within a control, who's catalog has been imported into the current implementation context.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "values" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Parameter Value", - "description" : "A parameter value or set of values.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "param-id", - "values" ], - "additionalProperties" : false }, - "oscal-poam-oscal-implementation-common:system-id" : - { "title" : "System Identification", - "description" : "A human-oriented, globally unique identifier with cross-instance scope that can be used to reference this system identification property elsewhere in this or other OSCAL instances. When referencing an externally defined system identification, the system identification must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). This string should be assigned per-subject, which means it should be consistently used to identify the same system across revisions of the document.", - "$id" : "#field_oscal-implementation-common_system-id", - "type" : "object", - "properties" : - { "identifier-type" : - { "title" : "Identification System Type", - "description" : "Identifies the identification system from which the provided identifier was assigned.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "id" : - { "type" : "string" } }, - "required" : - [ "id" ], - "additionalProperties" : false }, - "oscal-poam-oscal-catalog-common:part" : - { "title" : "Part", - "description" : "A partition of a control's definition or a child of another part.", - "$id" : "#assembly_oscal-catalog-common_part", - "type" : "object", - "properties" : - { "id" : - { "title" : "Part Identifier", - "description" : "A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined part elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "name" : - { "title" : "Part Name", - "description" : "A textual label that uniquely identifies the part's semantic type.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "ns" : - { "title" : "Part Namespace", - "description" : "A namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "class" : - { "title" : "Part Class", - "description" : "A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "title" : - { "title" : "Part Title", - "description" : "A name given to the part, which may be used by a tool for display and navigation.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "prose" : - { "title" : "Part Text", - "description" : "Permits multiple paragraphs, lists, tables etc.", - "type" : "string" }, - "parts" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_part" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } } }, - "required" : - [ "name" ], - "additionalProperties" : false }, - "oscal-poam-oscal-catalog-common:parameter" : - { "title" : "Parameter", - "description" : "Parameters provide a mechanism for the dynamic assignment of value(s) in a control.", - "$id" : "#assembly_oscal-catalog-common_parameter", - "type" : "object", - "properties" : - { "id" : - { "title" : "Parameter Identifier", - "description" : "A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined parameter elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "class" : - { "title" : "Parameter Class", - "description" : "A textual label that provides a characterization of the parameter.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "depends-on" : - { "title" : "Depends on", - "description" : "**(deprecated)** Another parameter invoking this one. This construct has been deprecated and should not be used.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "label" : - { "title" : "Parameter Label", - "description" : "A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned.", - "type" : "string" }, - "usage" : - { "title" : "Parameter Usage Description", - "description" : "Describes the purpose and use of a parameter", - "type" : "string" }, - "constraints" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_parameter-constraint" } }, - "guidelines" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_parameter-guideline" } }, - "values" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-catalog-common_parameter-value" } }, - "select" : - { "$ref" : "#assembly_oscal-catalog-common_parameter-selection" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "id" ], - "additionalProperties" : false }, - "oscal-poam-oscal-catalog-common:parameter-constraint" : - { "title" : "Constraint", - "description" : "A formal or informal expression of a constraint or test", - "$id" : "#assembly_oscal-catalog-common_parameter-constraint", - "type" : "object", - "properties" : - { "description" : - { "title" : "Constraint Description", - "description" : "A textual summary of the constraint to be applied.", - "type" : "string" }, - "tests" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Constraint Test", - "description" : "A test expression which is expected to be evaluated by a tool.", - "type" : "object", - "properties" : - { "expression" : - { "title" : "Constraint test", - "description" : "A formal (executable) expression of a constraint", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "expression" ], - "additionalProperties" : false } } }, - "additionalProperties" : false }, - "oscal-poam-oscal-catalog-common:parameter-guideline" : - { "title" : "Guideline", - "description" : "A prose statement that provides a recommendation for the use of a parameter.", - "$id" : "#assembly_oscal-catalog-common_parameter-guideline", - "type" : "object", - "properties" : - { "prose" : - { "title" : "Guideline Text", - "description" : "Prose permits multiple paragraphs, lists, tables etc.", - "type" : "string" } }, - "required" : - [ "prose" ], - "additionalProperties" : false }, - "oscal-poam-oscal-catalog-common:parameter-value" : - { "title" : "Parameter Value", - "description" : "A parameter value or set of values.", - "$id" : "#field_oscal-catalog-common_parameter-value", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "oscal-poam-oscal-catalog-common:parameter-selection" : - { "title" : "Selection", - "description" : "Presenting a choice among alternatives", - "$id" : "#assembly_oscal-catalog-common_parameter-selection", - "type" : "object", - "properties" : - { "how-many" : - { "title" : "Parameter Cardinality", - "description" : "Describes the number of selections that must occur. Without this setting, only one value should be assumed to be permitted.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$", - "enum" : - [ "one", - "one-or-more" ] }, - "choice" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Choice", - "description" : "A value selection among several such options", - "type" : "string" } } }, - "additionalProperties" : false }, - "oscal-poam-oscal-catalog-common:include-all" : - { "title" : "Include All", - "description" : "Include all controls from the imported catalog or profile resources.", - "$id" : "#assembly_oscal-catalog-common_include-all", - "type" : "object", - "additionalProperties" : false }, - "oscal-poam-oscal-assessment-common:import-ssp" : - { "title" : "Import System Security Plan", - "description" : "Used by the assessment plan and POA&M to import information about the system.", - "$id" : "#assembly_oscal-assessment-common_import-ssp", - "type" : "object", - "properties" : - { "href" : - { "title" : "System Security Plan Reference", - "description" : "A resolvable URL reference to the system security plan for the system being assessed.", - "type" : "string", - "format" : "uri-reference" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "href" ], - "additionalProperties" : false }, - "oscal-poam-oscal-assessment-common:local-objective" : - { "title" : "Assessment-Specific Control Objective", - "description" : "A local definition of a control objective for this assessment. Uses catalog syntax for control objective and assessment actions.", - "$id" : "#assembly_oscal-assessment-common_local-objective", - "type" : "object", - "properties" : - { "control-id" : - { "title" : "Control Identifier Reference", - "description" : "A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference).", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "description" : - { "title" : "Objective Description", - "description" : "A human-readable description of this control objective.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "parts" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_part" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "control-id", - "parts" ], - "additionalProperties" : false }, - "oscal-poam-oscal-assessment-common:assessment-method" : - { "title" : "Assessment Method", - "description" : "A local definition of a control objective. Uses catalog syntax for control objective and assessment activities.", - "$id" : "#assembly_oscal-assessment-common_assessment-method", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Assessment Method Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment method elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment method can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "description" : - { "title" : "Assessment Method Description", - "description" : "A human-readable description of this assessment method.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "part" : - { "$ref" : "#assembly_oscal-assessment-common_assessment-part" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "part" ], - "additionalProperties" : false }, - "oscal-poam-oscal-assessment-common:activity" : - { "title" : "Activity", - "description" : "Identifies an assessment or related process that can be performed. In the assessment plan, this is an intended activity which may be associated with an assessment task. In the assessment results, this an activity that was actually performed as part of an assessment.", - "$id" : "#assembly_oscal-assessment-common_activity", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Assessment Activity Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment activity elsewhere in this or other OSCAL instances. The locally defined UUID of the activity can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Included Activity Title", - "description" : "The title for this included activity.", - "type" : "string" }, - "description" : - { "title" : "Included Activity Description", - "description" : "A human-readable description of this included activity.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "steps" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Step", - "description" : "Identifies an individual step in a series of steps related to an activity, such as an assessment test or examination procedure.", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Step Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this step elsewhere in this or other OSCAL instances. The locally defined UUID of the step (in a series of steps) can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Step Title", - "description" : "The title for this step.", - "type" : "string" }, - "description" : - { "title" : "Step Description", - "description" : "A human-readable description of this step.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "reviewed-controls" : - { "$ref" : "#assembly_oscal-assessment-common_reviewed-controls" }, - "responsible-roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "description" ], - "additionalProperties" : false } }, - "related-controls" : - { "$ref" : "#assembly_oscal-assessment-common_reviewed-controls" }, - "responsible-roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "description" ], - "additionalProperties" : false }, - "oscal-poam-oscal-assessment-common:task" : - { "title" : "Task", - "description" : "Represents a scheduled event or milestone, which may be associated with a series of assessment actions.", - "$id" : "#assembly_oscal-assessment-common_task", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Task Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this task elsewhere in this or other OSCAL instances. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "type" : - { "title" : "Task Type", - "description" : "The type of task.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "title" : - { "title" : "Task Title", - "description" : "The title for this task.", - "type" : "string" }, - "description" : - { "title" : "Task Description", - "description" : "A human-readable description of this task.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "timing" : - { "title" : "Event Timing", - "description" : "The timing under which the task is intended to occur.", - "type" : "object", - "properties" : - { "on-date" : - { "title" : "On Date Condition", - "description" : "The task is intended to occur on the specified date.", - "type" : "object", - "properties" : - { "date" : - { "title" : "On Date Condition", - "description" : "The task must occur on the specified date.", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" } }, - "required" : - [ "date" ], - "additionalProperties" : false }, - "within-date-range" : - { "title" : "On Date Range Condition", - "description" : "The task is intended to occur within the specified date range.", - "type" : "object", - "properties" : - { "start" : - { "title" : "Start Date Condition", - "description" : "The task must occur on or after the specified date.", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "end" : - { "title" : "End Date Condition", - "description" : "The task must occur on or before the specified date.", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" } }, - "required" : - [ "start", - "end" ], - "additionalProperties" : false }, - "at-frequency" : - { "title" : "Frequency Condition", - "description" : "The task is intended to occur at the specified frequency.", - "type" : "object", - "properties" : - { "period" : - { "title" : "Period", - "description" : "The task must occur after the specified period has elapsed.", - "type" : "integer", - "multipleOf" : 1, - "minimum" : 1 }, - "unit" : - { "title" : "Time Unit", - "description" : "The unit of time for the period.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$", - "enum" : - [ "seconds", - "minutes", - "hours", - "days", - "months", - "years" ] } }, - "required" : - [ "period", - "unit" ], - "additionalProperties" : false } }, - "additionalProperties" : false }, - "dependencies" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Task Dependency", - "description" : "Used to indicate that a task is dependent on another task.", - "type" : "object", - "properties" : - { "task-uuid" : - { "title" : "Task Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to a unique task.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "task-uuid" ], - "additionalProperties" : false } }, - "tasks" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_task" } }, - "associated-activities" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Associated Activity", - "description" : "Identifies an individual activity to be performed as part of a task.", - "type" : "object", - "properties" : - { "activity-uuid" : - { "title" : "Activity Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to an activity defined in the list of activities.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "responsible-roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, - "subjects" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_assessment-subject" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "activity-uuid", - "subjects" ], - "additionalProperties" : false } }, - "subjects" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_assessment-subject" } }, - "responsible-roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "type", - "title" ], - "additionalProperties" : false }, - "oscal-poam-oscal-assessment-common:reviewed-controls" : - { "title" : "Reviewed Controls and Control Objectives", - "description" : "Identifies the controls being assessed and their control objectives.", - "$id" : "#assembly_oscal-assessment-common_reviewed-controls", - "type" : "object", - "properties" : - { "description" : - { "title" : "Control Objective Description", - "description" : "A human-readable description of control objectives.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "control-selections" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Assessed Controls", - "description" : "Identifies the controls being assessed. In the assessment plan, these are the planned controls. In the assessment results, these are the actual controls, and reflects any changes from the plan.", - "type" : "object", - "properties" : - { "description" : - { "title" : "Assessed Controls Description", - "description" : "A human-readable description of in-scope controls specified for assessment.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "include-all" : - { "$ref" : "#assembly_oscal-catalog-common_include-all" }, - "include-controls" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_select-control-by-id" } }, - "exclude-controls" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_select-control-by-id" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "additionalProperties" : false } }, - "control-objective-selections" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Referenced Control Objectives", - "description" : "Identifies the control objectives of the assessment. In the assessment plan, these are the planned objectives. In the assessment results, these are the assessed objectives, and reflects any changes from the plan.", - "type" : "object", - "properties" : - { "description" : - { "title" : "Control Objectives Description", - "description" : "A human-readable description of this collection of control objectives.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "include-all" : - { "$ref" : "#assembly_oscal-catalog-common_include-all" }, - "include-objectives" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_select-objective-by-id" } }, - "exclude-objectives" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_select-objective-by-id" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "additionalProperties" : false } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "control-selections" ], - "additionalProperties" : false }, - "oscal-poam-oscal-assessment-common:select-control-by-id" : - { "title" : "Select Control", - "description" : "Used to select a control for inclusion/exclusion based on one or more control identifiers. A set of statement identifiers can be used to target the inclusion/exclusion to only specific control statements providing more granularity over the specific statements that are within the asessment scope.", - "$id" : "#assembly_oscal-assessment-common_select-control-by-id", - "type" : "object", - "properties" : - { "control-id" : - { "title" : "Control Identifier Reference", - "description" : "A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference).", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "statement-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Include Specific Statements", - "description" : "Used to constrain the selection to only specificity identified statements.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" } } }, - "required" : - [ "control-id" ], - "additionalProperties" : false }, - "oscal-poam-oscal-assessment-common:select-objective-by-id" : - { "title" : "Select Objective", - "description" : "Used to select a control objective for inclusion/exclusion based on the control objective's identifier.", - "$id" : "#assembly_oscal-assessment-common_select-objective-by-id", - "type" : "object", - "properties" : - { "objective-id" : - { "title" : "Objective ID", - "description" : "Points to an assessment objective.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" } }, - "required" : - [ "objective-id" ], - "additionalProperties" : false }, - "oscal-poam-oscal-assessment-common:assessment-subject-placeholder" : - { "title" : "Assessment Subject Placeholder", - "description" : "Used when the assessment subjects will be determined as part of one or more other assessment activities. These assessment subjects will be recorded in the assessment results in the assessment log.", - "$id" : "#assembly_oscal-assessment-common_assessment-subject-placeholder", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Assessment Subject Placeholder Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier for a set of assessment subjects that will be identified by a task or an activity that is part of a task. The locally defined UUID of the assessment subject placeholder can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "description" : - { "title" : "Assessment Subject Placeholder Description", - "description" : "A human-readable description of intent of this assessment subject placeholder.", - "type" : "string" }, - "sources" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Assessment Subject Source", - "description" : "Assessment subjects will be identified while conducting the referenced activity-instance.", - "type" : "object", - "properties" : - { "task-uuid" : - { "title" : "Task Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference (in this or other OSCAL instances) an assessment activity to be performed as part of the event. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" } }, - "required" : - [ "task-uuid" ], - "additionalProperties" : false } }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "sources" ], - "additionalProperties" : false }, - "oscal-poam-oscal-assessment-common:assessment-subject" : - { "title" : "Subject of Assessment", - "description" : "Identifies system elements being assessed, such as components, inventory items, and locations. In the assessment plan, this identifies a planned assessment subject. In the assessment results this is an actual assessment subject, and reflects any changes from the plan. exactly what will be the focus of this assessment. Any subjects not identified in this way are out-of-scope.", - "$id" : "#assembly_oscal-assessment-common_assessment-subject", - "type" : "object", - "properties" : - { "type" : - { "title" : "Subject Type", - "description" : "Indicates the type of assessment subject, such as a component, inventory, item, location, or party represented by this selection statement.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "description" : - { "title" : "Include Subjects Description", - "description" : "A human-readable description of the collection of subjects being included in this assessment.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "include-all" : - { "$ref" : "#assembly_oscal-catalog-common_include-all" }, - "include-subjects" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_select-subject-by-id" } }, - "exclude-subjects" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_select-subject-by-id" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "type" ], - "additionalProperties" : false }, - "oscal-poam-oscal-assessment-common:select-subject-by-id" : - { "title" : "Select Assessment Subject", - "description" : "Identifies a set of assessment subjects to include/exclude by UUID.", - "$id" : "#assembly_oscal-assessment-common_select-subject-by-id", - "type" : "object", - "properties" : - { "subject-uuid" : - { "title" : "Subject Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "type" : - { "title" : "Subject Universally Unique Identifier Reference Type", - "description" : "Used to indicate the type of object pointed to by the uuid-ref within a subject.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "subject-uuid", - "type" ], - "additionalProperties" : false }, - "oscal-poam-oscal-assessment-common:subject-reference" : - { "title" : "Identifies the Subject", - "description" : "A human-oriented identifier reference to a resource. Use type to indicate whether the identified resource is a component, inventory item, location, user, or something else.", - "$id" : "#assembly_oscal-assessment-common_subject-reference", - "type" : "object", - "properties" : - { "subject-uuid" : - { "title" : "Subject Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "type" : - { "title" : "Subject Universally Unique Identifier Reference Type", - "description" : "Used to indicate the type of object pointed to by the uuid-ref within a subject.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "title" : - { "title" : "Subject Reference Title", - "description" : "The title or name for the referenced subject.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "subject-uuid", - "type" ], - "additionalProperties" : false }, - "oscal-poam-oscal-assessment-common:assessment-assets" : - { "title" : "Assessment Assets", - "description" : "Identifies the assets used to perform this assessment, such as the assessment team, scanning tools, and assumptions.", - "$id" : "#assembly_oscal-assessment-common_assessment-assets", - "type" : "object", - "properties" : - { "components" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_system-component" } }, - "assessment-platforms" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Assessment Platform", - "description" : "Used to represent the toolset used to perform aspects of the assessment.", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Assessment Platform Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment platform elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment platform can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Assessment Platform Title", - "description" : "The title or name for the assessment platform.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "uses-components" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Uses Component", - "description" : "The set of components that are used by the assessment platform.", - "type" : "object", - "properties" : - { "component-uuid" : - { "title" : "Component Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to a component that is implemented as part of an inventory item.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "responsible-parties" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "component-uuid" ], - "additionalProperties" : false } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid" ], - "additionalProperties" : false } } }, - "required" : - [ "assessment-platforms" ], - "additionalProperties" : false }, - "oscal-poam-oscal-assessment-common:finding-target" : - { "title" : "Objective Status", - "description" : "Captures an assessor's conclusions regarding the degree to which an objective is satisfied.", - "$id" : "#assembly_oscal-assessment-common_finding-target", - "type" : "object", - "properties" : - { "type" : - { "title" : "Finding Target Type", - "description" : "Identifies the type of the target.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$", - "enum" : - [ "statement-id", - "objective-id" ] }, - "target-id" : - { "title" : "Finding Target Identifier Reference", - "description" : "A machine-oriented identifier reference for a specific target qualified by the type.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "title" : - { "title" : "Objective Status Title", - "description" : "The title for this objective status.", - "type" : "string" }, - "description" : - { "title" : "Objective Status Description", - "description" : "A human-readable description of the assessor's conclusions regarding the degree to which an objective is satisfied.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "status" : - { "title" : "Objective Status", - "description" : "A determination of if the objective is satisfied or not within a given system.", - "type" : "object", - "properties" : - { "state" : - { "title" : "Objective Status State", - "description" : "An indication as to whether the objective is satisfied or not.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$", - "enum" : - [ "satisfied", - "not-satisfied" ] }, - "reason" : - { "title" : "Objective Status Reason", - "description" : "The reason the objective was given it's status.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "state" ], - "additionalProperties" : false }, - "implementation-status" : - { "$ref" : "#assembly_oscal-implementation-common_implementation-status" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "type", - "target-id", - "status" ], - "additionalProperties" : false }, - "oscal-poam-oscal-assessment-common:observation" : - { "title" : "Observation", - "description" : "Describes an individual observation.", - "$id" : "#assembly_oscal-assessment-common_observation", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Observation Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this observation elsewhere in this or other OSCAL instances. The locally defined UUID of the observation can be used to reference the data item locally or globally (e.g., in an imorted OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Observation Title", - "description" : "The title for this observation.", - "type" : "string" }, - "description" : - { "title" : "Observation Description", - "description" : "A human-readable description of this assessment observation.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "methods" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Observation Method", - "description" : "Identifies how the observation was made.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" } }, - "types" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Observation Type", - "description" : "Identifies the nature of the observation. More than one may be used to further qualify and enable filtering.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" } }, - "origins" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_origin" } }, - "subjects" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_subject-reference" } }, - "relevant-evidence" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Relevant Evidence", - "description" : "Links this observation to relevant evidence.", - "type" : "object", - "properties" : - { "href" : - { "title" : "Relevant Evidence Reference", - "description" : "A resolvable URL reference to relevant evidence.", - "type" : "string", - "format" : "uri-reference" }, - "description" : - { "title" : "Relevant Evidence Description", - "description" : "A human-readable description of this evidence.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "description" ], - "additionalProperties" : false } }, - "collected" : - { "title" : "Collected Field", - "description" : "Date/time stamp identifying when the finding information was collected.", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "expires" : - { "title" : "Expires Field", - "description" : "Date/time identifying when the finding information is out-of-date and no longer valid. Typically used with continuous assessment scenarios.", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "description", - "methods", - "collected" ], - "additionalProperties" : false }, - "oscal-poam-oscal-assessment-common:origin" : - { "title" : "Origin", - "description" : "Identifies the source of the finding, such as a tool, interviewed person, or activity.", - "$id" : "#assembly_oscal-assessment-common_origin", - "type" : "object", - "properties" : - { "actors" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_origin-actor" } }, - "related-tasks" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_related-task" } } }, - "required" : - [ "actors" ], - "additionalProperties" : false }, - "oscal-poam-oscal-assessment-common:origin-actor" : - { "title" : "Originating Actor", - "description" : "The actor that produces an observation, a finding, or a risk. One or more actor type can be used to specify a person that is using a tool.", - "$id" : "#assembly_oscal-assessment-common_origin-actor", - "type" : "object", - "properties" : - { "type" : - { "title" : "Actor Type", - "description" : "The kind of actor.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$", - "enum" : - [ "tool", - "assessment-platform", - "party" ] }, - "actor-uuid" : - { "title" : "Actor Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to the tool or person based on the associated type.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "role-id" : - { "title" : "Actor Role", - "description" : "For a party, this can optionally be used to specify the role the actor was performing.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } } }, - "required" : - [ "type", - "actor-uuid" ], - "additionalProperties" : false }, - "oscal-poam-oscal-assessment-common:related-task" : - { "title" : "Task Reference", - "description" : "Identifies an individual task for which the containing object is a consequence of.", - "$id" : "#assembly_oscal-assessment-common_related-task", - "type" : "object", - "properties" : - { "task-uuid" : - { "title" : "Task Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to a unique task.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, + "description" : "Defines a function, which might be assigned to a party in a specific situation.", + "type" : "object", + "properties" : + { "id" : + { "title" : "Role Identifier", + "description" : "A unique identifier for the role.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Role Title", + "description" : "A name given to the role, which may be used by a tool for display and navigation.", + "type" : "string" }, + "short-name" : + { "title" : "Role Short Name", + "description" : "A short common name, abbreviation, or acronym for the role.", + "$ref" : "#/definitions/StringDatatype" }, + "description" : + { "title" : "Role Description", + "description" : "A summary of the role's purpose and associated responsibilities.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "id", + "title" ], + "additionalProperties" : false } }, + "locations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Location", + "description" : "A physical point of presence, which may be associated with people, organizations, or other concepts within the current or linked OSCAL document.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Location Universally Unique Identifier", + "description" : "A unique ID for the location, for reference.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Location Title", + "description" : "A name given to the location, which may be used by a tool for display and navigation.", + "type" : "string" }, + "address" : + { "$ref" : "#assembly_oscal-metadata_address" }, + "email-addresses" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_email-address" } }, + "telephone-numbers" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_telephone-number" } }, + "urls" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Location URL", + "description" : "The uniform resource locator (URL) for a web site or other resource associated with the location.", + "$ref" : "#/definitions/URIDatatype" } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid" ], + "additionalProperties" : false } }, + "parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Party", + "description" : "An organization or person, which may be associated with roles or other concepts within the current or linked OSCAL document.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Party Universally Unique Identifier", + "description" : "A unique identifier for the party.", + "$ref" : "#/definitions/UUIDDatatype" }, + "type" : + { "title" : "Party Type", + "description" : "A category describing the kind of party the object describes.", + "allOf" : + [ + { "$ref" : "#/definitions/StringDatatype" }, + + { "enum" : + [ "person", + "organization" ] } ] }, + "name" : + { "title" : "Party Name", + "description" : "The full name of the party. This is typically the legal name associated with the party.", + "$ref" : "#/definitions/StringDatatype" }, + "short-name" : + { "title" : "Party Short Name", + "description" : "A short common name, abbreviation, or acronym for the party.", + "$ref" : "#/definitions/StringDatatype" }, + "external-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Party External Identifier", + "description" : "An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID).", + "type" : "object", + "properties" : + { "scheme" : + { "title" : "External Identifier Schema", + "description" : "Indicates the type of external identifier.", + "$ref" : "#/definitions/URIDatatype" }, + "id" : + { "type" : "string" } }, + "required" : + [ "id", + "scheme" ], + "additionalProperties" : false } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "email-addresses" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_email-address" } }, + "telephone-numbers" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_telephone-number" } }, + "addresses" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_address" } }, + "location-uuids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_location-uuid" } }, + "member-of-organizations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Organizational Affiliation", + "description" : "A reference to another party by UUID, typically an organization, that this subject is associated with.", + "$ref" : "#/definitions/UUIDDatatype" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "type" ], + "additionalProperties" : false } }, + "responsible-parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, + "actions" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_action" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "title", + "last-modified", + "version", + "oscal-version" ], + "additionalProperties" : false }, + "oscal-poam-oscal-metadata:location-uuid" : + { "title" : "Location Universally Unique Identifier Reference", + "description" : "Reference to a location by UUID.", + "$id" : "#field_oscal-metadata_location-uuid", + "$ref" : "#/definitions/UUIDDatatype" }, + "oscal-poam-oscal-metadata:party-uuid" : + { "title" : "Party Universally Unique Identifier Reference", + "description" : "Reference to a party by UUID.", + "$id" : "#field_oscal-metadata_party-uuid", + "$ref" : "#/definitions/UUIDDatatype" }, + "oscal-poam-oscal-metadata:role-id" : + { "title" : "Role Identifier Reference", + "description" : "Reference to a role by UUID.", + "$id" : "#field_oscal-metadata_role-id", + "$ref" : "#/definitions/TokenDatatype" }, + "oscal-poam-oscal-metadata:back-matter" : + { "title" : "Back matter", + "description" : "A collection of resources that may be referenced from within the OSCAL document instance.", + "$id" : "#assembly_oscal-metadata_back-matter", + "type" : "object", + "properties" : + { "resources" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Resource", + "description" : "A resource associated with content in the containing document instance. A resource may be directly included in the document using base64 encoding or may point to one or more equivalent internet resources.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Resource Universally Unique Identifier", + "description" : "A unique identifier for a resource.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Resource Title", + "description" : "An optional name given to the resource, which may be used by a tool for display and navigation.", + "type" : "string" }, + "description" : + { "title" : "Resource Description", + "description" : "An optional short summary of the resource used to indicate the purpose of the resource.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "document-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_document-id" } }, + "citation" : + { "title" : "Citation", + "description" : "An optional citation consisting of end note text using structured markup.", + "type" : "object", + "properties" : + { "text" : + { "title" : "Citation Text", + "description" : "A line of citation text.", + "type" : "string" }, "props" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, "links" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "responsible-parties" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, - "subjects" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_assessment-subject" } }, - "identified-subject" : - { "title" : "Identified Subject", - "description" : "Used to detail assessment subjects that were identfied by this task.", - "type" : "object", - "properties" : - { "subject-placeholder-uuid" : - { "title" : "Assessment Subject Placeholder Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to a unique assessment subject placeholder defined by this task.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "subjects" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_assessment-subject" } } }, - "required" : - [ "subject-placeholder-uuid", - "subjects" ], - "additionalProperties" : false }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "task-uuid" ], - "additionalProperties" : false }, - "oscal-poam-oscal-assessment-common:threat-id" : - { "title" : "Threat ID", - "description" : "A pointer, by ID, to an externally-defined threat.", - "$id" : "#field_oscal-assessment-common_threat-id", - "type" : "object", - "properties" : - { "system" : - { "title" : "Threat Type Identification System", - "description" : "Specifies the source of the threat information.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "href" : - { "title" : "Threat Information Resource Reference", - "description" : "An optional location for the threat data, from which this ID originates.", - "type" : "string", - "format" : "uri-reference" }, - "id" : + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } } }, + "required" : + [ "text" ], + "additionalProperties" : false }, + "rlinks" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Resource link", + "description" : "A URL-based pointer to an external resource with an optional hash for verification and change detection.", + "type" : "object", + "properties" : + { "href" : + { "title" : "Hypertext Reference", + "description" : "A resolvable URL pointing to the referenced resource.", + "$ref" : "#/definitions/URIReferenceDatatype" }, + "media-type" : + { "title" : "Media Type", + "description" : "A label that indicates the nature of a resource, as a data serialization or format.", + "$ref" : "#/definitions/StringDatatype" }, + "hashes" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_hash" } } }, + "required" : + [ "href" ], + "additionalProperties" : false } }, + "base64" : + { "title" : "Base64", + "description" : "A resource encoded using the Base64 alphabet defined by RFC 2045.", + "type" : "object", + "properties" : + { "filename" : + { "title" : "File Name", + "description" : "Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded.", + "$ref" : "#/definitions/TokenDatatype" }, + "media-type" : + { "title" : "Media Type", + "description" : "A label that indicates the nature of a resource, as a data serialization or format.", + "$ref" : "#/definitions/StringDatatype" }, + "value" : { "type" : "string" } }, - "required" : - [ "id", - "system" ], - "additionalProperties" : false }, - "oscal-poam-oscal-assessment-common:risk" : - { "title" : "Identified Risk", - "description" : "An identified risk.", - "$id" : "#assembly_oscal-assessment-common_risk", + "required" : + [ "value" ], + "additionalProperties" : false }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid" ], + "additionalProperties" : false } } }, + "additionalProperties" : false }, + "oscal-poam-oscal-metadata:property" : + { "title" : "Property", + "description" : "An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair.", + "$id" : "#assembly_oscal-metadata_property", + "type" : "object", + "properties" : + { "name" : + { "title" : "Property Name", + "description" : "A textual label, within a namespace, that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.", + "$ref" : "#/definitions/TokenDatatype" }, + "uuid" : + { "title" : "Property Universally Unique Identifier", + "description" : "A unique identifier for a property.", + "$ref" : "#/definitions/UUIDDatatype" }, + "ns" : + { "title" : "Property Namespace", + "description" : "A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.", + "$ref" : "#/definitions/URIDatatype" }, + "value" : + { "title" : "Property Value", + "description" : "Indicates the value of the attribute, characteristic, or quality.", + "$ref" : "#/definitions/StringDatatype" }, + "class" : + { "title" : "Property Class", + "description" : "A textual label that provides a sub-type or characterization of the property's name.", + "$ref" : "#/definitions/TokenDatatype" }, + "group" : + { "title" : "Property Group", + "description" : "An identifier for relating distinct sets of properties.", + "$ref" : "#/definitions/TokenDatatype" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "name", + "value" ], + "additionalProperties" : false }, + "oscal-poam-oscal-metadata:link" : + { "title" : "Link", + "description" : "A reference to a local or remote resource, that has a specific relation to the containing object.", + "$id" : "#assembly_oscal-metadata_link", + "type" : "object", + "properties" : + { "href" : + { "title" : "Hypertext Reference", + "description" : "A resolvable URL reference to a resource.", + "$ref" : "#/definitions/URIReferenceDatatype" }, + "rel" : + { "title" : "Link Relation Type", + "description" : "Describes the type of relationship provided by the link's hypertext reference. This can be an indicator of the link's purpose.", + "$ref" : "#/definitions/TokenDatatype" }, + "media-type" : + { "title" : "Media Type", + "description" : "A label that indicates the nature of a resource, as a data serialization or format.", + "$ref" : "#/definitions/StringDatatype" }, + "resource-fragment" : + { "title" : "Resource Fragment", + "description" : "In case where the href points to a back-matter/resource, this value will indicate the URI fragment to append to any rlink associated with the resource. This value MUST be URI encoded.", + "$ref" : "#/definitions/StringDatatype" }, + "text" : + { "title" : "Link Text", + "description" : "A textual label to associate with the link, which may be used for presentation in a tool.", + "type" : "string" } }, + "required" : + [ "href" ], + "additionalProperties" : false }, + "oscal-poam-oscal-metadata:responsible-party" : + { "title" : "Responsible Party", + "description" : "A reference to a set of persons and/or organizations that have responsibility for performing the referenced role in the context of the containing object.", + "$id" : "#assembly_oscal-metadata_responsible-party", + "type" : "object", + "properties" : + { "role-id" : + { "title" : "Responsible Role", + "description" : "A reference to a role performed by a party.", + "$ref" : "#/definitions/TokenDatatype" }, + "party-uuids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_party-uuid" } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "role-id", + "party-uuids" ], + "additionalProperties" : false }, + "oscal-poam-oscal-metadata:action" : + { "title" : "Action", + "description" : "An action applied by a role within a given party to the content.", + "$id" : "#assembly_oscal-metadata_action", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Action Universally Unique Identifier", + "description" : "A unique identifier that can be used to reference this defined action elsewhere in an OSCAL document. A UUID should be consistently used for a given location across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "date" : + { "title" : "Action Occurrence Date", + "description" : "The date and time when the action occurred.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "type" : + { "title" : "Action Type", + "description" : "The type of action documented by the assembly, such as an approval.", + "$ref" : "#/definitions/TokenDatatype" }, + "system" : + { "title" : "Action Type System", + "description" : "Specifies the action type system used.", + "$ref" : "#/definitions/URIDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "responsible-parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "type", + "system" ], + "additionalProperties" : false }, + "oscal-poam-oscal-metadata:responsible-role" : + { "title" : "Responsible Role", + "description" : "A reference to a role with responsibility for performing a function relative to the containing object, optionally associated with a set of persons and/or organizations that perform that role.", + "$id" : "#assembly_oscal-metadata_responsible-role", + "type" : "object", + "properties" : + { "role-id" : + { "title" : "Responsible Role ID", + "description" : "A human-oriented identifier reference to a role performed.", + "$ref" : "#/definitions/TokenDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "party-uuids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_party-uuid" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "role-id" ], + "additionalProperties" : false }, + "oscal-poam-oscal-metadata:hash" : + { "title" : "Hash", + "description" : "A representation of a cryptographic digest generated over a resource using a specified hash algorithm.", + "$id" : "#field_oscal-metadata_hash", + "type" : "object", + "properties" : + { "algorithm" : + { "title" : "Hash algorithm", + "description" : "The digest method by which a hash is derived.", + "$ref" : "#/definitions/StringDatatype" }, + "value" : + { "type" : "string" } }, + "required" : + [ "value", + "algorithm" ], + "additionalProperties" : false }, + "oscal-poam-oscal-metadata:remarks" : + { "title" : "Remarks", + "description" : "Additional commentary about the containing object.", + "$id" : "#field_oscal-metadata_remarks", + "type" : "string" }, + "oscal-poam-oscal-metadata:published" : + { "title" : "Publication Timestamp", + "description" : "The date and time the document was last made available.", + "$id" : "#field_oscal-metadata_published", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "oscal-poam-oscal-metadata:last-modified" : + { "title" : "Last Modified Timestamp", + "description" : "The date and time the document was last stored for later retrieval.", + "$id" : "#field_oscal-metadata_last-modified", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "oscal-poam-oscal-metadata:version" : + { "title" : "Document Version", + "description" : "Used to distinguish a specific revision of an OSCAL document from other previous and future versions.", + "$id" : "#field_oscal-metadata_version", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-poam-oscal-metadata:oscal-version" : + { "title" : "OSCAL Version", + "description" : "The OSCAL model version the document was authored against and will conform to as valid.", + "$id" : "#field_oscal-metadata_oscal-version", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-poam-oscal-metadata:email-address" : + { "title" : "Email Address", + "description" : "An email address as defined by RFC 5322 Section 3.4.1.", + "$id" : "#field_oscal-metadata_email-address", + "$ref" : "#/definitions/EmailAddressDatatype" }, + "oscal-poam-oscal-metadata:telephone-number" : + { "title" : "Telephone Number", + "description" : "A telephone service number as defined by ITU-T E.164.", + "$id" : "#field_oscal-metadata_telephone-number", + "type" : "object", + "properties" : + { "type" : + { "title" : "type flag", + "description" : "Indicates the type of phone number.", + "$ref" : "#/definitions/StringDatatype" }, + "number" : + { "type" : "string" } }, + "required" : + [ "number" ], + "additionalProperties" : false }, + "oscal-poam-oscal-metadata:address" : + { "title" : "Address", + "description" : "A postal address for the location.", + "$id" : "#assembly_oscal-metadata_address", + "type" : "object", + "properties" : + { "type" : + { "title" : "Address Type", + "description" : "Indicates the type of address.", + "$ref" : "#/definitions/TokenDatatype" }, + "addr-lines" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_addr-line" } }, + "city" : + { "title" : "City", + "description" : "City, town or geographical region for the mailing address.", + "$ref" : "#/definitions/StringDatatype" }, + "state" : + { "title" : "State", + "description" : "State, province or analogous geographical region for a mailing address.", + "$ref" : "#/definitions/StringDatatype" }, + "postal-code" : + { "title" : "Postal Code", + "description" : "Postal or ZIP code for mailing address.", + "$ref" : "#/definitions/StringDatatype" }, + "country" : + { "title" : "Country Code", + "description" : "The ISO 3166-1 alpha-2 country code for the mailing address.", + "$ref" : "#/definitions/StringDatatype" } }, + "additionalProperties" : false }, + "oscal-poam-oscal-metadata:addr-line" : + { "title" : "Address line", + "description" : "A single line of an address.", + "$id" : "#field_oscal-metadata_addr-line", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-poam-oscal-metadata:document-id" : + { "title" : "Document Identifier", + "description" : "A document identifier qualified by an identifier scheme.", + "$id" : "#field_oscal-metadata_document-id", + "type" : "object", + "properties" : + { "scheme" : + { "title" : "Document Identification Scheme", + "description" : "Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters.", + "$ref" : "#/definitions/URIDatatype" }, + "identifier" : + { "type" : "string" } }, + "required" : + [ "identifier" ], + "additionalProperties" : false }, + "oscal-poam-oscal-implementation-common:system-component" : + { "title" : "Component", + "description" : "A defined component that can be part of an implemented system.", + "$id" : "#assembly_oscal-implementation-common_system-component", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Component Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component elsewhere in this or other OSCAL instances. The locally defined UUID of the component can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "type" : + { "title" : "Component Type", + "description" : "A category describing the purpose of the component.", + "$ref" : "#/definitions/StringDatatype" }, + "title" : + { "title" : "Component Title", + "description" : "A human readable name for the system component.", + "type" : "string" }, + "description" : + { "title" : "Component Description", + "description" : "A description of the component, including information about its function.", + "type" : "string" }, + "purpose" : + { "title" : "Purpose", + "description" : "A summary of the technological or business purpose of the component.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "status" : + { "title" : "Status", + "description" : "Describes the operational status of the system component.", + "type" : "object", + "properties" : + { "state" : + { "title" : "State", + "description" : "The operational status.", + "allOf" : + [ + { "$ref" : "#/definitions/TokenDatatype" }, + + { "enum" : + [ "under-development", + "operational", + "disposition", + "other" ] } ] }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "state" ], + "additionalProperties" : false }, + "responsible-roles" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, + "protocols" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_protocol" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "type", + "title", + "description", + "status" ], + "additionalProperties" : false }, + "oscal-poam-oscal-implementation-common:protocol" : + { "title" : "Service Protocol Information", + "description" : "Information about the protocol used to provide a service.", + "$id" : "#assembly_oscal-implementation-common_protocol", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Service Protocol Information Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this service protocol information elsewhere in this or other OSCAL instances. The locally defined UUID of the service protocol can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "name" : + { "title" : "Protocol Name", + "description" : "The common name of the protocol, which should be the appropriate \"service name\" from the IANA Service Name and Transport Protocol Port Number Registry.", + "$ref" : "#/definitions/StringDatatype" }, + "title" : + { "title" : "Protocol Title", + "description" : "A human readable name for the protocol (e.g., Transport Layer Security).", + "type" : "string" }, + "port-ranges" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_port-range" } } }, + "required" : + [ "name" ], + "additionalProperties" : false }, + "oscal-poam-oscal-implementation-common:port-range" : + { "title" : "Port Range", + "description" : "Where applicable this is the IPv4 port range on which the service operates.", + "$id" : "#assembly_oscal-implementation-common_port-range", + "type" : "object", + "properties" : + { "start" : + { "title" : "Start", + "description" : "Indicates the starting port number in a port range", + "$ref" : "#/definitions/NonNegativeIntegerDatatype" }, + "end" : + { "title" : "End", + "description" : "Indicates the ending port number in a port range", + "$ref" : "#/definitions/NonNegativeIntegerDatatype" }, + "transport" : + { "title" : "Transport", + "description" : "Indicates the transport type.", + "allOf" : + [ + { "$ref" : "#/definitions/TokenDatatype" }, + + { "enum" : + [ "TCP", + "UDP" ] } ] } }, + "additionalProperties" : false }, + "oscal-poam-oscal-implementation-common:implementation-status" : + { "title" : "Implementation Status", + "description" : "Indicates the degree to which the a given control is implemented.", + "$id" : "#assembly_oscal-implementation-common_implementation-status", + "type" : "object", + "properties" : + { "state" : + { "title" : "Implementation State", + "description" : "Identifies the implementation status of the control or control objective.", + "$ref" : "#/definitions/TokenDatatype" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "state" ], + "additionalProperties" : false }, + "oscal-poam-oscal-implementation-common:system-user" : + { "title" : "System User", + "description" : "A type of user that interacts with the system based on an associated role.", + "$id" : "#assembly_oscal-implementation-common_system-user", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "User Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this user class elsewhere in this or other OSCAL instances. The locally defined UUID of the system user can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "User Title", + "description" : "A name given to the user, which may be used by a tool for display and navigation.", + "type" : "string" }, + "short-name" : + { "title" : "User Short Name", + "description" : "A short common name, abbreviation, or acronym for the user.", + "$ref" : "#/definitions/StringDatatype" }, + "description" : + { "title" : "User Description", + "description" : "A summary of the user's purpose within the system.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "role-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_role-id" } }, + "authorized-privileges" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_authorized-privilege" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid" ], + "additionalProperties" : false }, + "oscal-poam-oscal-implementation-common:authorized-privilege" : + { "title" : "Privilege", + "description" : "Identifies a specific system privilege held by the user, along with an associated description and/or rationale for the privilege.", + "$id" : "#assembly_oscal-implementation-common_authorized-privilege", + "type" : "object", + "properties" : + { "title" : + { "title" : "Privilege Title", + "description" : "A human readable name for the privilege.", + "type" : "string" }, + "description" : + { "title" : "Privilege Description", + "description" : "A summary of the privilege's purpose within the system.", + "type" : "string" }, + "functions-performed" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-implementation-common_function-performed" } } }, + "required" : + [ "title", + "functions-performed" ], + "additionalProperties" : false }, + "oscal-poam-oscal-implementation-common:function-performed" : + { "title" : "Functions Performed", + "description" : "Describes a function performed for a given authorized privilege by this user class.", + "$id" : "#field_oscal-implementation-common_function-performed", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-poam-oscal-implementation-common:inventory-item" : + { "title" : "Inventory Item", + "description" : "A single managed inventory item within the system.", + "$id" : "#assembly_oscal-implementation-common_inventory-item", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Inventory Item Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inventory item elsewhere in this or other OSCAL instances. The locally defined UUID of the inventory item can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "description" : + { "title" : "Inventory Item Description", + "description" : "A summary of the inventory item stating its purpose within the system.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "responsible-parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, + "implemented-components" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Implemented Component", + "description" : "The set of components that are implemented in a given system inventory item.", + "type" : "object", + "properties" : + { "component-uuid" : + { "title" : "Component Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to a component that is implemented as part of an inventory item.", + "$ref" : "#/definitions/UUIDDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "responsible-parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "component-uuid" ], + "additionalProperties" : false } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "description" ], + "additionalProperties" : false }, + "oscal-poam-oscal-implementation-common:set-parameter" : + { "title" : "Set Parameter Value", + "description" : "Identifies the parameter that will be set by the enclosed value.", + "$id" : "#assembly_oscal-implementation-common_set-parameter", + "type" : "object", + "properties" : + { "param-id" : + { "title" : "Parameter ID", + "description" : "A human-oriented reference to a parameter within a control, who's catalog has been imported into the current implementation context.", + "$ref" : "#/definitions/TokenDatatype" }, + "values" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Parameter Value", + "description" : "A parameter value or set of values.", + "$ref" : "#/definitions/StringDatatype" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "param-id", + "values" ], + "additionalProperties" : false }, + "oscal-poam-oscal-implementation-common:system-id" : + { "title" : "System Identification", + "description" : "A human-oriented, globally unique identifier with cross-instance scope that can be used to reference this system identification property elsewhere in this or other OSCAL instances. When referencing an externally defined system identification, the system identification must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). This string should be assigned per-subject, which means it should be consistently used to identify the same system across revisions of the document.", + "$id" : "#field_oscal-implementation-common_system-id", + "type" : "object", + "properties" : + { "identifier-type" : + { "title" : "Identification System Type", + "description" : "Identifies the identification system from which the provided identifier was assigned.", + "$ref" : "#/definitions/URIDatatype" }, + "id" : + { "type" : "string" } }, + "required" : + [ "id" ], + "additionalProperties" : false }, + "oscal-poam-oscal-control-common:part" : + { "title" : "Part", + "description" : "An annotated, markup-based textual element of a control's or catalog group's definition, or a child of another part.", + "$id" : "#assembly_oscal-control-common_part", + "type" : "object", + "properties" : + { "id" : + { "title" : "Part Identifier", + "description" : "A unique identifier for the part.", + "$ref" : "#/definitions/TokenDatatype" }, + "name" : + { "title" : "Part Name", + "description" : "A textual label that uniquely identifies the part's semantic type, which exists in a value space qualified by the ns.", + "$ref" : "#/definitions/TokenDatatype" }, + "ns" : + { "title" : "Part Namespace", + "description" : "An optional namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name.", + "$ref" : "#/definitions/URIDatatype" }, + "class" : + { "title" : "Part Class", + "description" : "An optional textual providing a sub-type or characterization of the part's name, or a category to which the part belongs.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Part Title", + "description" : "An optional name given to the part, which may be used by a tool for display and navigation.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "prose" : + { "title" : "Part Text", + "description" : "Permits multiple paragraphs, lists, tables etc.", + "type" : "string" }, + "parts" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_part" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } } }, + "required" : + [ "name" ], + "additionalProperties" : false }, + "oscal-poam-oscal-control-common:parameter" : + { "title" : "Parameter", + "description" : "Parameters provide a mechanism for the dynamic assignment of value(s) in a control.", + "$id" : "#assembly_oscal-control-common_parameter", + "type" : "object", + "properties" : + { "id" : + { "title" : "Parameter Identifier", + "description" : "A unique identifier for the parameter.", + "$ref" : "#/definitions/TokenDatatype" }, + "class" : + { "title" : "Parameter Class", + "description" : "A textual label that provides a characterization of the type, purpose, use or scope of the parameter.", + "$ref" : "#/definitions/TokenDatatype" }, + "depends-on" : + { "title" : "Depends on", + "description" : "(deprecated) Another parameter invoking this one. This construct has been deprecated and should not be used.", + "$ref" : "#/definitions/TokenDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "label" : + { "title" : "Parameter Label", + "description" : "A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned.", + "type" : "string" }, + "usage" : + { "title" : "Parameter Usage Description", + "description" : "Describes the purpose and use of a parameter.", + "type" : "string" }, + "constraints" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_parameter-constraint" } }, + "guidelines" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_parameter-guideline" } }, + "values" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-control-common_parameter-value" } }, + "select" : + { "$ref" : "#assembly_oscal-control-common_parameter-selection" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "id" ], + "additionalProperties" : false }, + "oscal-poam-oscal-control-common:parameter-constraint" : + { "title" : "Constraint", + "description" : "A formal or informal expression of a constraint or test.", + "$id" : "#assembly_oscal-control-common_parameter-constraint", + "type" : "object", + "properties" : + { "description" : + { "title" : "Constraint Description", + "description" : "A textual summary of the constraint to be applied.", + "type" : "string" }, + "tests" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Constraint Test", + "description" : "A test expression which is expected to be evaluated by a tool.", + "type" : "object", + "properties" : + { "expression" : + { "title" : "Constraint test", + "description" : "A formal (executable) expression of a constraint.", + "$ref" : "#/definitions/StringDatatype" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "expression" ], + "additionalProperties" : false } } }, + "additionalProperties" : false }, + "oscal-poam-oscal-control-common:parameter-guideline" : + { "title" : "Guideline", + "description" : "A prose statement that provides a recommendation for the use of a parameter.", + "$id" : "#assembly_oscal-control-common_parameter-guideline", + "type" : "object", + "properties" : + { "prose" : + { "title" : "Guideline Text", + "description" : "Prose permits multiple paragraphs, lists, tables etc.", + "type" : "string" } }, + "required" : + [ "prose" ], + "additionalProperties" : false }, + "oscal-poam-oscal-control-common:parameter-value" : + { "title" : "Parameter Value", + "description" : "A parameter value or set of values.", + "$id" : "#field_oscal-control-common_parameter-value", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-poam-oscal-control-common:parameter-selection" : + { "title" : "Selection", + "description" : "Presenting a choice among alternatives.", + "$id" : "#assembly_oscal-control-common_parameter-selection", + "type" : "object", + "properties" : + { "how-many" : + { "title" : "Parameter Cardinality", + "description" : "Describes the number of selections that must occur. Without this setting, only one value should be assumed to be permitted.", + "allOf" : + [ + { "$ref" : "#/definitions/TokenDatatype" }, + + { "enum" : + [ "one", + "one-or-more" ] } ] }, + "choice" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Choice", + "description" : "A value selection among several such options.", + "type" : "string" } } }, + "additionalProperties" : false }, + "oscal-poam-oscal-control-common:include-all" : + { "title" : "Include All", + "description" : "Include all controls from the imported catalog or profile resources.", + "$id" : "#assembly_oscal-control-common_include-all", + "type" : "object", + "additionalProperties" : false }, + "oscal-poam-oscal-assessment-common:import-ssp" : + { "title" : "Import System Security Plan", + "description" : "Used by the assessment plan and POA&M to import information about the system.", + "$id" : "#assembly_oscal-assessment-common_import-ssp", + "type" : "object", + "properties" : + { "href" : + { "title" : "System Security Plan Reference", + "description" : "A resolvable URL reference to the system security plan for the system being assessed.", + "$ref" : "#/definitions/URIReferenceDatatype" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "href" ], + "additionalProperties" : false }, + "oscal-poam-oscal-assessment-common:local-objective" : + { "title" : "Assessment-Specific Control Objective", + "description" : "A local definition of a control objective for this assessment. Uses catalog syntax for control objective and assessment actions.", + "$id" : "#assembly_oscal-assessment-common_local-objective", + "type" : "object", + "properties" : + { "control-id" : + { "title" : "Control Identifier Reference", + "description" : "A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference).", + "$ref" : "#/definitions/TokenDatatype" }, + "description" : + { "title" : "Objective Description", + "description" : "A human-readable description of this control objective.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "parts" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_part" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "control-id", + "parts" ], + "additionalProperties" : false }, + "oscal-poam-oscal-assessment-common:assessment-method" : + { "title" : "Assessment Method", + "description" : "A local definition of a control objective. Uses catalog syntax for control objective and assessment activities.", + "$id" : "#assembly_oscal-assessment-common_assessment-method", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Assessment Method Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment method elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment method can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "description" : + { "title" : "Assessment Method Description", + "description" : "A human-readable description of this assessment method.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "part" : + { "$ref" : "#assembly_oscal-assessment-common_assessment-part" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "part" ], + "additionalProperties" : false }, + "oscal-poam-oscal-assessment-common:activity" : + { "title" : "Activity", + "description" : "Identifies an assessment or related process that can be performed. In the assessment plan, this is an intended activity which may be associated with an assessment task. In the assessment results, this an activity that was actually performed as part of an assessment.", + "$id" : "#assembly_oscal-assessment-common_activity", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Assessment Activity Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment activity elsewhere in this or other OSCAL instances. The locally defined UUID of the activity can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Included Activity Title", + "description" : "The title for this included activity.", + "type" : "string" }, + "description" : + { "title" : "Included Activity Description", + "description" : "A human-readable description of this included activity.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "steps" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Step", + "description" : "Identifies an individual step in a series of steps related to an activity, such as an assessment test or examination procedure.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Step Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this step elsewhere in this or other OSCAL instances. The locally defined UUID of the step (in a series of steps) can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Step Title", + "description" : "The title for this step.", + "type" : "string" }, + "description" : + { "title" : "Step Description", + "description" : "A human-readable description of this step.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "reviewed-controls" : + { "$ref" : "#assembly_oscal-assessment-common_reviewed-controls" }, + "responsible-roles" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "description" ], + "additionalProperties" : false } }, + "related-controls" : + { "$ref" : "#assembly_oscal-assessment-common_reviewed-controls" }, + "responsible-roles" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "description" ], + "additionalProperties" : false }, + "oscal-poam-oscal-assessment-common:task" : + { "title" : "Task", + "description" : "Represents a scheduled event or milestone, which may be associated with a series of assessment actions.", + "$id" : "#assembly_oscal-assessment-common_task", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Task Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this task elsewhere in this or other OSCAL instances. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "type" : + { "title" : "Task Type", + "description" : "The type of task.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Task Title", + "description" : "The title for this task.", + "type" : "string" }, + "description" : + { "title" : "Task Description", + "description" : "A human-readable description of this task.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "timing" : + { "title" : "Event Timing", + "description" : "The timing under which the task is intended to occur.", + "type" : "object", + "properties" : + { "on-date" : + { "title" : "On Date Condition", + "description" : "The task is intended to occur on the specified date.", "type" : "object", "properties" : - { "uuid" : - { "title" : "Risk Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk elsewhere in this or other OSCAL instances. The locally defined UUID of the risk can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Risk Title", - "description" : "The title for this risk.", - "type" : "string" }, - "description" : - { "title" : "Risk Description", - "description" : "A human-readable summary of the identified risk, to include a statement of how the risk impacts the system.", - "type" : "string" }, - "statement" : - { "title" : "Risk Statement", - "description" : "An summary of impact for how the risk affects the system.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "status" : - { "$ref" : "#field_oscal-assessment-common_risk-status" }, - "origins" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_origin" } }, - "threat-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-assessment-common_threat-id" } }, - "characterizations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_characterization" } }, - "mitigating-factors" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Mitigating Factor", - "description" : "Describes an existing mitigating factor that may affect the overall determination of the risk, with an optional link to an implementation statement in the SSP.", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Mitigating Factor Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this mitigating factor elsewhere in this or other OSCAL instances. The locally defined UUID of the mitigating factor can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "implementation-uuid" : - { "title" : "Implementation UUID", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this implementation statement elsewhere in this or other OSCAL instancess. The locally defined UUID of the implementation statement can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "description" : - { "title" : "Mitigating Factor Description", - "description" : "A human-readable description of this mitigating factor.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "subjects" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_subject-reference" } } }, - "required" : - [ "uuid", - "description" ], - "additionalProperties" : false } }, - "deadline" : - { "title" : "Risk Resolution Deadline", - "description" : "The date/time by which the risk must be resolved.", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "remediations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_response" } }, - "risk-log" : - { "title" : "Risk Log", - "description" : "A log of all risk-related tasks taken.", - "type" : "object", - "properties" : - { "entries" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Risk Log Entry", - "description" : "Identifies an individual risk response that occurred as part of managing an identified risk.", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Risk Log Entry Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk log entry elsewhere in this or other OSCAL instances. The locally defined UUID of the risk log entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Title", - "description" : "The title for this risk log entry.", - "type" : "string" }, - "description" : - { "title" : "Risk Task Description", - "description" : "A human-readable description of what was done regarding the risk.", - "type" : "string" }, - "start" : - { "title" : "Start", - "description" : "Identifies the start date and time of the event.", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "end" : - { "title" : "End", - "description" : "Identifies the end date and time of the event. If the event is a point in time, the start and end will be the same date and time.", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "logged-by" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_logged-by" } }, - "status-change" : - { "$ref" : "#field_oscal-assessment-common_risk-status" }, - "related-responses" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Risk Response Reference", - "description" : "Identifies an individual risk response that this log entry is for.", - "type" : "object", - "properties" : - { "response-uuid" : - { "title" : "Response Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to a unique risk response.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "related-tasks" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_related-task" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "response-uuid" ], - "additionalProperties" : false } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "start" ], - "additionalProperties" : false } } }, - "required" : - [ "entries" ], - "additionalProperties" : false }, - "related-observations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Related Observation", - "description" : "Relates the finding to a set of referenced observations that were used to determine the finding.", - "type" : "object", - "properties" : - { "observation-uuid" : - { "title" : "Observation Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to an observation defined in the list of observations.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" } }, - "required" : - [ "observation-uuid" ], - "additionalProperties" : false } } }, + { "date" : + { "title" : "On Date Condition", + "description" : "The task must occur on the specified date.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" } }, "required" : - [ "uuid", - "title", - "description", - "statement", - "status" ], + [ "date" ], "additionalProperties" : false }, - "oscal-poam-oscal-assessment-common:logged-by" : - { "title" : "Logged By", - "description" : "Used to indicate who created a log entry in what role.", - "$id" : "#assembly_oscal-assessment-common_logged-by", + "within-date-range" : + { "title" : "On Date Range Condition", + "description" : "The task is intended to occur within the specified date range.", "type" : "object", "properties" : - { "party-uuid" : - { "title" : "Party UUID Reference", - "description" : "A machine-oriented identifier reference to the party who is making the log entry.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "role-id" : - { "title" : "Actor Role", - "description" : "A point to the role-id of the role in which the party is making the log entry.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" } }, + { "start" : + { "title" : "Start Date Condition", + "description" : "The task must occur on or after the specified date.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "end" : + { "title" : "End Date Condition", + "description" : "The task must occur on or before the specified date.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" } }, "required" : - [ "party-uuid" ], + [ "start", + "end" ], "additionalProperties" : false }, - "oscal-poam-oscal-assessment-common:risk-status" : - { "title" : "Risk Status", - "description" : "Describes the status of the associated risk.", - "$id" : "#field_oscal-assessment-common_risk-status", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "oscal-poam-oscal-assessment-common:characterization" : - { "title" : "Characterization", - "description" : "A collection of descriptive data about the containing object from a specific origin.", - "$id" : "#assembly_oscal-assessment-common_characterization", + "at-frequency" : + { "title" : "Frequency Condition", + "description" : "The task is intended to occur at the specified frequency.", "type" : "object", "properties" : - { "props" : - { "type" : "array", + { "period" : + { "title" : "Period", + "description" : "The task must occur after the specified period has elapsed.", + "$ref" : "#/definitions/PositiveIntegerDatatype" }, + "unit" : + { "title" : "Time Unit", + "description" : "The unit of time for the period.", + "allOf" : + [ + { "$ref" : "#/definitions/StringDatatype" }, + + { "enum" : + [ "seconds", + "minutes", + "hours", + "days", + "months", + "years" ] } ] } }, + "required" : + [ "period", + "unit" ], + "additionalProperties" : false } }, + "additionalProperties" : false }, + "dependencies" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Task Dependency", + "description" : "Used to indicate that a task is dependent on another task.", + "type" : "object", + "properties" : + { "task-uuid" : + { "title" : "Task Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to a unique task.", + "$ref" : "#/definitions/UUIDDatatype" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "task-uuid" ], + "additionalProperties" : false } }, + "tasks" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_task" } }, + "associated-activities" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Associated Activity", + "description" : "Identifies an individual activity to be performed as part of a task.", + "type" : "object", + "properties" : + { "activity-uuid" : + { "title" : "Activity Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to an activity defined in the list of activities.", + "$ref" : "#/definitions/UUIDDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "responsible-roles" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, + "subjects" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_assessment-subject" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "activity-uuid", + "subjects" ], + "additionalProperties" : false } }, + "subjects" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_assessment-subject" } }, + "responsible-roles" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "type", + "title" ], + "additionalProperties" : false }, + "oscal-poam-oscal-assessment-common:reviewed-controls" : + { "title" : "Reviewed Controls and Control Objectives", + "description" : "Identifies the controls being assessed and their control objectives.", + "$id" : "#assembly_oscal-assessment-common_reviewed-controls", + "type" : "object", + "properties" : + { "description" : + { "title" : "Control Objective Description", + "description" : "A human-readable description of control objectives.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "control-selections" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Assessed Controls", + "description" : "Identifies the controls being assessed. In the assessment plan, these are the planned controls. In the assessment results, these are the actual controls, and reflects any changes from the plan.", + "type" : "object", + "properties" : + { "description" : + { "title" : "Assessed Controls Description", + "description" : "A human-readable description of in-scope controls specified for assessment.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "include-all" : + { "$ref" : "#assembly_oscal-control-common_include-all" }, + "include-controls" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_select-control-by-id" } }, + "exclude-controls" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_select-control-by-id" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "additionalProperties" : false } }, + "control-objective-selections" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Referenced Control Objectives", + "description" : "Identifies the control objectives of the assessment. In the assessment plan, these are the planned objectives. In the assessment results, these are the assessed objectives, and reflects any changes from the plan.", + "type" : "object", + "properties" : + { "description" : + { "title" : "Control Objectives Description", + "description" : "A human-readable description of this collection of control objectives.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "include-all" : + { "$ref" : "#assembly_oscal-control-common_include-all" }, + "include-objectives" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_select-objective-by-id" } }, + "exclude-objectives" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_select-objective-by-id" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "additionalProperties" : false } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "control-selections" ], + "additionalProperties" : false }, + "oscal-poam-oscal-assessment-common:select-control-by-id" : + { "title" : "Select Control", + "description" : "Used to select a control for inclusion/exclusion based on one or more control identifiers. A set of statement identifiers can be used to target the inclusion/exclusion to only specific control statements providing more granularity over the specific statements that are within the asessment scope.", + "$id" : "#assembly_oscal-assessment-common_select-control-by-id", + "type" : "object", + "properties" : + { "control-id" : + { "title" : "Control Identifier Reference", + "description" : "A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference).", + "$ref" : "#/definitions/TokenDatatype" }, + "statement-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Include Specific Statements", + "description" : "Used to constrain the selection to only specificity identified statements.", + "$ref" : "#/definitions/TokenDatatype" } } }, + "required" : + [ "control-id" ], + "additionalProperties" : false }, + "oscal-poam-oscal-assessment-common:select-objective-by-id" : + { "title" : "Select Objective", + "description" : "Used to select a control objective for inclusion/exclusion based on the control objective's identifier.", + "$id" : "#assembly_oscal-assessment-common_select-objective-by-id", + "type" : "object", + "properties" : + { "objective-id" : + { "title" : "Objective ID", + "description" : "Points to an assessment objective.", + "$ref" : "#/definitions/TokenDatatype" } }, + "required" : + [ "objective-id" ], + "additionalProperties" : false }, + "oscal-poam-oscal-assessment-common:assessment-subject-placeholder" : + { "title" : "Assessment Subject Placeholder", + "description" : "Used when the assessment subjects will be determined as part of one or more other assessment activities. These assessment subjects will be recorded in the assessment results in the assessment log.", + "$id" : "#assembly_oscal-assessment-common_assessment-subject-placeholder", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Assessment Subject Placeholder Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier for a set of assessment subjects that will be identified by a task or an activity that is part of a task. The locally defined UUID of the assessment subject placeholder can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "description" : + { "title" : "Assessment Subject Placeholder Description", + "description" : "A human-readable description of intent of this assessment subject placeholder.", + "type" : "string" }, + "sources" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Assessment Subject Source", + "description" : "Assessment subjects will be identified while conducting the referenced activity-instance.", + "type" : "object", + "properties" : + { "task-uuid" : + { "title" : "Task Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference (in this or other OSCAL instances) an assessment activity to be performed as part of the event. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" } }, + "required" : + [ "task-uuid" ], + "additionalProperties" : false } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "sources" ], + "additionalProperties" : false }, + "oscal-poam-oscal-assessment-common:assessment-subject" : + { "title" : "Subject of Assessment", + "description" : "Identifies system elements being assessed, such as components, inventory items, and locations. In the assessment plan, this identifies a planned assessment subject. In the assessment results this is an actual assessment subject, and reflects any changes from the plan. exactly what will be the focus of this assessment. Any subjects not identified in this way are out-of-scope.", + "$id" : "#assembly_oscal-assessment-common_assessment-subject", + "type" : "object", + "properties" : + { "type" : + { "title" : "Subject Type", + "description" : "Indicates the type of assessment subject, such as a component, inventory, item, location, or party represented by this selection statement.", + "$ref" : "#/definitions/TokenDatatype" }, + "description" : + { "title" : "Include Subjects Description", + "description" : "A human-readable description of the collection of subjects being included in this assessment.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "include-all" : + { "$ref" : "#assembly_oscal-control-common_include-all" }, + "include-subjects" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_select-subject-by-id" } }, + "exclude-subjects" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_select-subject-by-id" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "type" ], + "additionalProperties" : false }, + "oscal-poam-oscal-assessment-common:select-subject-by-id" : + { "title" : "Select Assessment Subject", + "description" : "Identifies a set of assessment subjects to include/exclude by UUID.", + "$id" : "#assembly_oscal-assessment-common_select-subject-by-id", + "type" : "object", + "properties" : + { "subject-uuid" : + { "title" : "Subject Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID.", + "$ref" : "#/definitions/UUIDDatatype" }, + "type" : + { "title" : "Subject Universally Unique Identifier Reference Type", + "description" : "Used to indicate the type of object pointed to by the uuid-ref within a subject.", + "$ref" : "#/definitions/TokenDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "subject-uuid", + "type" ], + "additionalProperties" : false }, + "oscal-poam-oscal-assessment-common:subject-reference" : + { "title" : "Identifies the Subject", + "description" : "A human-oriented identifier reference to a resource. Use type to indicate whether the identified resource is a component, inventory item, location, user, or something else.", + "$id" : "#assembly_oscal-assessment-common_subject-reference", + "type" : "object", + "properties" : + { "subject-uuid" : + { "title" : "Subject Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID.", + "$ref" : "#/definitions/UUIDDatatype" }, + "type" : + { "title" : "Subject Universally Unique Identifier Reference Type", + "description" : "Used to indicate the type of object pointed to by the uuid-ref within a subject.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Subject Reference Title", + "description" : "The title or name for the referenced subject.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "subject-uuid", + "type" ], + "additionalProperties" : false }, + "oscal-poam-oscal-assessment-common:assessment-assets" : + { "title" : "Assessment Assets", + "description" : "Identifies the assets used to perform this assessment, such as the assessment team, scanning tools, and assumptions.", + "$id" : "#assembly_oscal-assessment-common_assessment-assets", + "type" : "object", + "properties" : + { "components" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_system-component" } }, + "assessment-platforms" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Assessment Platform", + "description" : "Used to represent the toolset used to perform aspects of the assessment.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Assessment Platform Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment platform elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment platform can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Assessment Platform Title", + "description" : "The title or name for the assessment platform.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "uses-components" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Uses Component", + "description" : "The set of components that are used by the assessment platform.", + "type" : "object", + "properties" : + { "component-uuid" : + { "title" : "Component Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to a component that is implemented as part of an inventory item.", + "$ref" : "#/definitions/UUIDDatatype" }, + "props" : + { "type" : "array", "minItems" : 1, "items" : { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", + "links" : + { "type" : "array", "minItems" : 1, "items" : { "$ref" : "#assembly_oscal-metadata_link" } }, - "origin" : - { "$ref" : "#assembly_oscal-assessment-common_origin" }, - "facets" : - { "type" : "array", + "responsible-parties" : + { "type" : "array", "minItems" : 1, "items" : - { "title" : "Facet", - "description" : "An individual characteristic that is part of a larger set produced by the same actor.", - "type" : "object", - "properties" : - { "name" : - { "title" : "Facet Name", - "description" : "The name of the risk metric within the specified system.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "system" : - { "title" : "Naming System", - "description" : "Specifies the naming system under which this risk metric is organized, which allows for the same names to be used in different systems controlled by different parties. This avoids the potential of a name clash.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "value" : - { "title" : "Facet Value", - "description" : "Indicates the value of the facet.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "name", - "system", - "value" ], - "additionalProperties" : false } } }, - "required" : - [ "origin", - "facets" ], - "additionalProperties" : false }, - "oscal-poam-oscal-assessment-common:response" : - { "title" : "Risk Response", - "description" : "Describes either recommended or an actual plan for addressing the risk.", - "$id" : "#assembly_oscal-assessment-common_response", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Remediation Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this remediation elsewhere in this or other OSCAL instances. The locally defined UUID of the risk response can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "lifecycle" : - { "title" : "Remediation Intent", - "description" : "Identifies whether this is a recommendation, such as from an assessor or tool, or an actual plan accepted by the system owner.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, + { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "component-uuid" ], + "additionalProperties" : false } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid" ], + "additionalProperties" : false } } }, + "required" : + [ "assessment-platforms" ], + "additionalProperties" : false }, + "oscal-poam-oscal-assessment-common:finding-target" : + { "title" : "Objective Status", + "description" : "Captures an assessor's conclusions regarding the degree to which an objective is satisfied.", + "$id" : "#assembly_oscal-assessment-common_finding-target", + "type" : "object", + "properties" : + { "type" : + { "title" : "Finding Target Type", + "description" : "Identifies the type of the target.", + "allOf" : + [ + { "$ref" : "#/definitions/StringDatatype" }, + + { "enum" : + [ "statement-id", + "objective-id" ] } ] }, + "target-id" : + { "title" : "Finding Target Identifier Reference", + "description" : "A machine-oriented identifier reference for a specific target qualified by the type.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Objective Status Title", + "description" : "The title for this objective status.", + "type" : "string" }, + "description" : + { "title" : "Objective Status Description", + "description" : "A human-readable description of the assessor's conclusions regarding the degree to which an objective is satisfied.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "status" : + { "title" : "Objective Status", + "description" : "A determination of if the objective is satisfied or not within a given system.", + "type" : "object", + "properties" : + { "state" : + { "title" : "Objective Status State", + "description" : "An indication as to whether the objective is satisfied or not.", + "allOf" : + [ + { "$ref" : "#/definitions/TokenDatatype" }, + + { "enum" : + [ "satisfied", + "not-satisfied" ] } ] }, + "reason" : + { "title" : "Objective Status Reason", + "description" : "The reason the objective was given it's status.", + "$ref" : "#/definitions/TokenDatatype" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "state" ], + "additionalProperties" : false }, + "implementation-status" : + { "$ref" : "#assembly_oscal-implementation-common_implementation-status" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "type", + "target-id", + "status" ], + "additionalProperties" : false }, + "oscal-poam-oscal-assessment-common:finding" : + { "title" : "Finding", + "description" : "Describes an individual finding.", + "$id" : "#assembly_oscal-assessment-common_finding", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Finding Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this finding in this or other OSCAL instances. The locally defined UUID of the finding can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Finding Title", + "description" : "The title for this finding.", + "type" : "string" }, + "description" : + { "title" : "Finding Description", + "description" : "A human-readable description of this finding.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "origins" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_origin" } }, + "target" : + { "$ref" : "#assembly_oscal-assessment-common_finding-target" }, + "implementation-statement-uuid" : + { "title" : "Implementation Statement UUID", + "description" : "A machine-oriented identifier reference to the implementation statement in the SSP to which this finding is related.", + "$ref" : "#/definitions/UUIDDatatype" }, + "related-observations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Related Observation", + "description" : "Relates the finding to a set of referenced observations that were used to determine the finding.", + "type" : "object", + "properties" : + { "observation-uuid" : + { "title" : "Observation Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to an observation defined in the list of observations.", + "$ref" : "#/definitions/UUIDDatatype" } }, + "required" : + [ "observation-uuid" ], + "additionalProperties" : false } }, + "related-risks" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Associated Risk", + "description" : "Relates the finding to a set of referenced risks that were used to determine the finding.", + "type" : "object", + "properties" : + { "risk-uuid" : + { "title" : "Risk Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to a risk defined in the list of risks.", + "$ref" : "#/definitions/UUIDDatatype" } }, + "required" : + [ "risk-uuid" ], + "additionalProperties" : false } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "title", + "description", + "target" ], + "additionalProperties" : false }, + "oscal-poam-oscal-assessment-common:observation" : + { "title" : "Observation", + "description" : "Describes an individual observation.", + "$id" : "#assembly_oscal-assessment-common_observation", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Observation Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this observation elsewhere in this or other OSCAL instances. The locally defined UUID of the observation can be used to reference the data item locally or globally (e.g., in an imorted OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Observation Title", + "description" : "The title for this observation.", + "type" : "string" }, + "description" : + { "title" : "Observation Description", + "description" : "A human-readable description of this assessment observation.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "methods" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Observation Method", + "description" : "Identifies how the observation was made.", + "$ref" : "#/definitions/StringDatatype" } }, + "types" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Observation Type", + "description" : "Identifies the nature of the observation. More than one may be used to further qualify and enable filtering.", + "$ref" : "#/definitions/TokenDatatype" } }, + "origins" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_origin" } }, + "subjects" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_subject-reference" } }, + "relevant-evidence" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Relevant Evidence", + "description" : "Links this observation to relevant evidence.", + "type" : "object", + "properties" : + { "href" : + { "title" : "Relevant Evidence Reference", + "description" : "A resolvable URL reference to relevant evidence.", + "$ref" : "#/definitions/URIReferenceDatatype" }, + "description" : + { "title" : "Relevant Evidence Description", + "description" : "A human-readable description of this evidence.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "description" ], + "additionalProperties" : false } }, + "collected" : + { "title" : "Collected Field", + "description" : "Date/time stamp identifying when the finding information was collected.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "expires" : + { "title" : "Expires Field", + "description" : "Date/time identifying when the finding information is out-of-date and no longer valid. Typically used with continuous assessment scenarios.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "description", + "methods", + "collected" ], + "additionalProperties" : false }, + "oscal-poam-oscal-assessment-common:origin" : + { "title" : "Origin", + "description" : "Identifies the source of the finding, such as a tool, interviewed person, or activity.", + "$id" : "#assembly_oscal-assessment-common_origin", + "type" : "object", + "properties" : + { "actors" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_origin-actor" } }, + "related-tasks" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_related-task" } } }, + "required" : + [ "actors" ], + "additionalProperties" : false }, + "oscal-poam-oscal-assessment-common:origin-actor" : + { "title" : "Originating Actor", + "description" : "The actor that produces an observation, a finding, or a risk. One or more actor type can be used to specify a person that is using a tool.", + "$id" : "#assembly_oscal-assessment-common_origin-actor", + "type" : "object", + "properties" : + { "type" : + { "title" : "Actor Type", + "description" : "The kind of actor.", + "allOf" : + [ + { "$ref" : "#/definitions/TokenDatatype" }, + + { "enum" : + [ "tool", + "assessment-platform", + "party" ] } ] }, + "actor-uuid" : + { "title" : "Actor Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to the tool or person based on the associated type.", + "$ref" : "#/definitions/UUIDDatatype" }, + "role-id" : + { "title" : "Actor Role", + "description" : "For a party, this can optionally be used to specify the role the actor was performing.", + "$ref" : "#/definitions/TokenDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } } }, + "required" : + [ "type", + "actor-uuid" ], + "additionalProperties" : false }, + "oscal-poam-oscal-assessment-common:related-task" : + { "title" : "Task Reference", + "description" : "Identifies an individual task for which the containing object is a consequence of.", + "$id" : "#assembly_oscal-assessment-common_related-task", + "type" : "object", + "properties" : + { "task-uuid" : + { "title" : "Task Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to a unique task.", + "$ref" : "#/definitions/UUIDDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "responsible-parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, + "subjects" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_assessment-subject" } }, + "identified-subject" : + { "title" : "Identified Subject", + "description" : "Used to detail assessment subjects that were identfied by this task.", + "type" : "object", + "properties" : + { "subject-placeholder-uuid" : + { "title" : "Assessment Subject Placeholder Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to a unique assessment subject placeholder defined by this task.", + "$ref" : "#/definitions/UUIDDatatype" }, + "subjects" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_assessment-subject" } } }, + "required" : + [ "subject-placeholder-uuid", + "subjects" ], + "additionalProperties" : false }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "task-uuid" ], + "additionalProperties" : false }, + "oscal-poam-oscal-assessment-common:threat-id" : + { "title" : "Threat ID", + "description" : "A pointer, by ID, to an externally-defined threat.", + "$id" : "#field_oscal-assessment-common_threat-id", + "type" : "object", + "properties" : + { "system" : + { "title" : "Threat Type Identification System", + "description" : "Specifies the source of the threat information.", + "$ref" : "#/definitions/URIDatatype" }, + "href" : + { "title" : "Threat Information Resource Reference", + "description" : "An optional location for the threat data, from which this ID originates.", + "$ref" : "#/definitions/URIReferenceDatatype" }, + "id" : + { "type" : "string" } }, + "required" : + [ "id", + "system" ], + "additionalProperties" : false }, + "oscal-poam-oscal-assessment-common:risk" : + { "title" : "Identified Risk", + "description" : "An identified risk.", + "$id" : "#assembly_oscal-assessment-common_risk", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Risk Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk elsewhere in this or other OSCAL instances. The locally defined UUID of the risk can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Risk Title", + "description" : "The title for this risk.", + "type" : "string" }, + "description" : + { "title" : "Risk Description", + "description" : "A human-readable summary of the identified risk, to include a statement of how the risk impacts the system.", + "type" : "string" }, + "statement" : + { "title" : "Risk Statement", + "description" : "An summary of impact for how the risk affects the system.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "status" : + { "$ref" : "#field_oscal-assessment-common_risk-status" }, + "origins" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_origin" } }, + "threat-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-assessment-common_threat-id" } }, + "characterizations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_characterization" } }, + "mitigating-factors" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Mitigating Factor", + "description" : "Describes an existing mitigating factor that may affect the overall determination of the risk, with an optional link to an implementation statement in the SSP.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Mitigating Factor Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this mitigating factor elsewhere in this or other OSCAL instances. The locally defined UUID of the mitigating factor can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "implementation-uuid" : + { "title" : "Implementation UUID", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this implementation statement elsewhere in this or other OSCAL instancess. The locally defined UUID of the implementation statement can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "description" : + { "title" : "Mitigating Factor Description", + "description" : "A human-readable description of this mitigating factor.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "subjects" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_subject-reference" } } }, + "required" : + [ "uuid", + "description" ], + "additionalProperties" : false } }, + "deadline" : + { "title" : "Risk Resolution Deadline", + "description" : "The date/time by which the risk must be resolved.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "remediations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_response" } }, + "risk-log" : + { "title" : "Risk Log", + "description" : "A log of all risk-related tasks taken.", + "type" : "object", + "properties" : + { "entries" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Risk Log Entry", + "description" : "Identifies an individual risk response that occurred as part of managing an identified risk.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Risk Log Entry Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk log entry elsewhere in this or other OSCAL instances. The locally defined UUID of the risk log entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, "title" : - { "title" : "Response Title", - "description" : "The title for this response activity.", - "type" : "string" }, + { "title" : "Title", + "description" : "The title for this risk log entry.", + "type" : "string" }, "description" : - { "title" : "Response Description", - "description" : "A human-readable description of this response plan.", - "type" : "string" }, + { "title" : "Risk Task Description", + "description" : "A human-readable description of what was done regarding the risk.", + "type" : "string" }, + "start" : + { "title" : "Start", + "description" : "Identifies the start date and time of the event.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "end" : + { "title" : "End", + "description" : "Identifies the end date and time of the event. If the event is a point in time, the start and end will be the same date and time.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, "props" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, "links" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "origins" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_origin" } }, - "required-assets" : + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "logged-by" : { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Required Asset", - "description" : "Identifies an asset required to achieve remediation.", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Required Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this required asset elsewhere in this or other OSCAL instances. The locally defined UUID of the asset can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "subjects" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_subject-reference" } }, - "title" : - { "title" : "Title for Required Asset", - "description" : "The title for this required asset.", - "type" : "string" }, - "description" : - { "title" : "Description of Required Asset", - "description" : "A human-readable description of this required asset.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "description" ], - "additionalProperties" : false } }, - "tasks" : + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_logged-by" } }, + "status-change" : + { "$ref" : "#field_oscal-assessment-common_risk-status" }, + "related-responses" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_task" } }, + "minItems" : 1, + "items" : + { "title" : "Risk Response Reference", + "description" : "Identifies an individual risk response that this log entry is for.", + "type" : "object", + "properties" : + { "response-uuid" : + { "title" : "Response Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to a unique risk response.", + "$ref" : "#/definitions/UUIDDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "related-tasks" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_related-task" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "response-uuid" ], + "additionalProperties" : false } }, "remarks" : { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "lifecycle", - "title", - "description" ], - "additionalProperties" : false }, - "oscal-poam-oscal-assessment-common:assessment-part" : - { "title" : "Assessment Part", - "description" : "A partition of an assessment plan or results or a child of another part.", - "$id" : "#assembly_oscal-assessment-common_assessment-part", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Part Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this part elsewhere in this or other OSCAL instances. The locally defined UUID of the part can be used to reference the data item locally or globally (e.g., in an ported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "name" : - { "title" : "Part Name", - "description" : "A textual label that uniquely identifies the part's semantic type.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "ns" : - { "title" : "Part Namespace", - "description" : "A namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "class" : - { "title" : "Part Class", - "description" : "A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "title" : - { "title" : "Part Title", - "description" : "A name given to the part, which may be used by a tool for display and navigation.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "prose" : - { "title" : "Part Text", - "description" : "Permits multiple paragraphs, lists, tables etc.", - "type" : "string" }, - "parts" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-assessment-common_assessment-part" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } } }, - "required" : - [ "name" ], - "additionalProperties" : false } }, + "required" : + [ "uuid", + "start" ], + "additionalProperties" : false } } }, + "required" : + [ "entries" ], + "additionalProperties" : false }, + "related-observations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Related Observation", + "description" : "Relates the finding to a set of referenced observations that were used to determine the finding.", + "type" : "object", + "properties" : + { "observation-uuid" : + { "title" : "Observation Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to an observation defined in the list of observations.", + "$ref" : "#/definitions/UUIDDatatype" } }, + "required" : + [ "observation-uuid" ], + "additionalProperties" : false } } }, + "required" : + [ "uuid", + "title", + "description", + "statement", + "status" ], + "additionalProperties" : false }, + "oscal-poam-oscal-assessment-common:logged-by" : + { "title" : "Logged By", + "description" : "Used to indicate who created a log entry in what role.", + "$id" : "#assembly_oscal-assessment-common_logged-by", + "type" : "object", + "properties" : + { "party-uuid" : + { "title" : "Party UUID Reference", + "description" : "A machine-oriented identifier reference to the party who is making the log entry.", + "$ref" : "#/definitions/UUIDDatatype" }, + "role-id" : + { "title" : "Actor Role", + "description" : "A point to the role-id of the role in which the party is making the log entry.", + "$ref" : "#/definitions/TokenDatatype" } }, + "required" : + [ "party-uuid" ], + "additionalProperties" : false }, + "oscal-poam-oscal-assessment-common:risk-status" : + { "title" : "Risk Status", + "description" : "Describes the status of the associated risk.", + "$id" : "#field_oscal-assessment-common_risk-status", + "$ref" : "#/definitions/TokenDatatype" }, + "oscal-poam-oscal-assessment-common:characterization" : + { "title" : "Characterization", + "description" : "A collection of descriptive data about the containing object from a specific origin.", + "$id" : "#assembly_oscal-assessment-common_characterization", + "type" : "object", + "properties" : + { "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "origin" : + { "$ref" : "#assembly_oscal-assessment-common_origin" }, + "facets" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Facet", + "description" : "An individual characteristic that is part of a larger set produced by the same actor.", + "type" : "object", + "properties" : + { "name" : + { "title" : "Facet Name", + "description" : "The name of the risk metric within the specified system.", + "$ref" : "#/definitions/TokenDatatype" }, + "system" : + { "title" : "Naming System", + "description" : "Specifies the naming system under which this risk metric is organized, which allows for the same names to be used in different systems controlled by different parties. This avoids the potential of a name clash.", + "$ref" : "#/definitions/URIDatatype" }, + "value" : + { "title" : "Facet Value", + "description" : "Indicates the value of the facet.", + "$ref" : "#/definitions/StringDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "name", + "system", + "value" ], + "additionalProperties" : false } } }, + "required" : + [ "origin", + "facets" ], + "additionalProperties" : false }, + "oscal-poam-oscal-assessment-common:response" : + { "title" : "Risk Response", + "description" : "Describes either recommended or an actual plan for addressing the risk.", + "$id" : "#assembly_oscal-assessment-common_response", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Remediation Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this remediation elsewhere in this or other OSCAL instances. The locally defined UUID of the risk response can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "lifecycle" : + { "title" : "Remediation Intent", + "description" : "Identifies whether this is a recommendation, such as from an assessor or tool, or an actual plan accepted by the system owner.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Response Title", + "description" : "The title for this response activity.", + "type" : "string" }, + "description" : + { "title" : "Response Description", + "description" : "A human-readable description of this response plan.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "origins" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_origin" } }, + "required-assets" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Required Asset", + "description" : "Identifies an asset required to achieve remediation.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Required Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this required asset elsewhere in this or other OSCAL instances. The locally defined UUID of the asset can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "subjects" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_subject-reference" } }, + "title" : + { "title" : "Title for Required Asset", + "description" : "The title for this required asset.", + "type" : "string" }, + "description" : + { "title" : "Description of Required Asset", + "description" : "A human-readable description of this required asset.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "description" ], + "additionalProperties" : false } }, + "tasks" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_task" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "lifecycle", + "title", + "description" ], + "additionalProperties" : false }, + "oscal-poam-oscal-assessment-common:assessment-part" : + { "title" : "Assessment Part", + "description" : "A partition of an assessment plan or results or a child of another part.", + "$id" : "#assembly_oscal-assessment-common_assessment-part", + "type" : "object", "properties" : - { "plan-of-action-and-milestones" : - { "$ref" : "#assembly_oscal-poam_plan-of-action-and-milestones" } }, + { "uuid" : + { "title" : "Part Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this part elsewhere in this or other OSCAL instances. The locally defined UUID of the part can be used to reference the data item locally or globally (e.g., in an ported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "name" : + { "title" : "Part Name", + "description" : "A textual label that uniquely identifies the part's semantic type.", + "$ref" : "#/definitions/TokenDatatype" }, + "ns" : + { "title" : "Part Namespace", + "description" : "A namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name.", + "$ref" : "#/definitions/URIDatatype" }, + "class" : + { "title" : "Part Class", + "description" : "A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Part Title", + "description" : "A name given to the part, which may be used by a tool for display and navigation.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "prose" : + { "title" : "Part Text", + "description" : "Permits multiple paragraphs, lists, tables etc.", + "type" : "string" }, + "parts" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-assessment-common_assessment-part" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } } }, "required" : - [ "plan-of-action-and-milestones" ], - "additionalProperties" : false, - "maxProperties" : 1 } \ No newline at end of file + [ "name" ], + "additionalProperties" : false }, + "Base64Datatype" : + { "type" : "string", + "pattern" : "^[0-9A-Fa-f]+$", + "contentEncoding" : "base64" }, + "DateTimeWithTimezoneDatatype" : + { "type" : "string", + "format" : "date-time", + "pattern" : "^(((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30)))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]*[1-9])?(Z|(-((0[0-9]|1[0-2]):00|0[39]:30)|\\+((0[0-9]|1[0-4]):00|(0[34569]|10):30|(0[58]|12):45)))$" }, + "EmailAddressDatatype" : + { "type" : "string", + "format" : "email", + "pattern" : "^.+@.+$" }, + "IntegerDatatype" : + { "type" : "integer" }, + "NonNegativeIntegerDatatype" : + { "allOf" : + [ + { "$ref" : "#/definitions/IntegerDatatype" }, + + { "minimum" : 0, + "type" : "number" } ] }, + "PositiveIntegerDatatype" : + { "allOf" : + [ + { "$ref" : "#/definitions/IntegerDatatype" }, + + { "minimum" : 1, + "type" : "number" } ] }, + "StringDatatype" : + { "type" : "string", + "pattern" : "^\\S(.*\\S)?$" }, + "TokenDatatype" : + { "type" : "string", + "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, + "URIDatatype" : + { "type" : "string", + "format" : "uri", + "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, + "URIReferenceDatatype" : + { "type" : "string", + "format" : "uri-reference" }, + "UUIDDatatype" : + { "type" : "string", + "description" : "A type 4 ('random' or 'pseudorandom') or type 5 UUID per RFC 4122.", + "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" } }, + "properties" : + { "plan-of-action-and-milestones" : + { "$ref" : "#assembly_oscal-poam_plan-of-action-and-milestones" } }, + "required" : + [ "plan-of-action-and-milestones" ], + "additionalProperties" : false, + "maxProperties" : 1 } \ No newline at end of file diff --git a/json/schema/oscal_profile_schema.json b/json/schema/oscal_profile_schema.json index 6c9724de1..f41ef0b3f 100644 --- a/json/schema/oscal_profile_schema.json +++ b/json/schema/oscal_profile_schema.json @@ -1,1271 +1,1285 @@ - { "$schema" : "http://json-schema.org/draft-07/schema#", - "$id" : "http://csrc.nist.gov/ns/oscal/1.0.4/oscal-profile-schema.json", - "$comment" : "OSCAL Profile Model: JSON Schema", + { "$schema" : "http://json-schema.org/draft-07/schema#", + "$id" : "http://csrc.nist.gov/ns/oscal/1.0.4/oscal-profile-schema.json", + "$comment" : "OSCAL Profile Model: JSON Schema", + "type" : "object", + "definitions" : + { "oscal-profile-oscal-profile:profile" : + { "title" : "Profile", + "description" : "Each OSCAL profile is defined by a profile element.", + "$id" : "#assembly_oscal-profile_profile", "type" : "object", - "definitions" : - { "oscal-profile-oscal-profile:profile" : - { "title" : "Profile", - "description" : "Each OSCAL profile is defined by a Profile element", - "$id" : "#assembly_oscal-profile_profile", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Profile Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this profile elsewhere in this or other OSCAL instances. The locally defined UUID of the profile can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance).This identifier should be assigned per-subject, which means it should be consistently used to identify the same profile across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "metadata" : - { "$ref" : "#assembly_oscal-metadata_metadata" }, - "imports" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-profile_import" } }, - "merge" : - { "$ref" : "#assembly_oscal-profile_merge" }, - "modify" : - { "$ref" : "#assembly_oscal-profile_modify" }, - "back-matter" : - { "$ref" : "#assembly_oscal-metadata_back-matter" } }, - "required" : - [ "uuid", - "metadata", - "imports" ], - "additionalProperties" : false }, - "oscal-profile-oscal-profile:import" : - { "title" : "Import resource", - "description" : "The import designates a catalog or profile to be included (referenced and potentially modified) by this profile. The import also identifies which controls to select using the include-all, include-controls, and exclude-controls directives.", - "$id" : "#assembly_oscal-profile_import", - "type" : "object", - "properties" : - { "href" : - { "title" : "Catalog or Profile Reference", - "description" : "A resolvable URL reference to the base catalog or profile that this profile is tailoring.", - "type" : "string", - "format" : "uri-reference" }, - "include-all" : - { "$ref" : "#assembly_oscal-catalog-common_include-all" }, - "include-controls" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-profile_select-control-by-id" } }, - "exclude-controls" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-profile_select-control-by-id" } } }, - "required" : - [ "href" ], - "additionalProperties" : false }, - "oscal-profile-oscal-profile:merge" : - { "title" : "Merge controls", - "description" : "A Merge element provides structuring directives that drive how controls are organized after resolution.", - "$id" : "#assembly_oscal-profile_merge", - "type" : "object", - "properties" : - { "combine" : - { "title" : "Combination rule", - "description" : "A Combine element defines how to combine multiple (competing) versions of the same control.", - "type" : "object", - "properties" : - { "method" : - { "title" : "Combination method", - "description" : "How clashing controls should be handled", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$", - "enum" : - [ "use-first", - "merge", - "keep" ] } }, - "additionalProperties" : false }, - "flat" : - { "title" : "Flat", - "description" : "Use the flat structuring method.", - "type" : "object", - "additionalProperties" : false }, - "as-is" : - { "title" : "As-Is Structuring Directive", - "description" : "An As-is element indicates that the controls should be structured in resolution as they are structured in their source catalogs. It does not contain any elements or attributes.", - "type" : "boolean" }, - "custom" : - { "title" : "Custom grouping", - "description" : "A Custom element frames a structure for embedding represented controls in resolution.", - "type" : "object", - "properties" : - { "groups" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-profile_group" } }, - "insert-controls" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-profile_insert-controls" } } }, - "additionalProperties" : false } }, - "additionalProperties" : false }, - "oscal-profile-oscal-profile:group" : - { "title" : "Control group", - "description" : "A group of (selected) controls or of groups of controls", - "$id" : "#assembly_oscal-profile_group", - "type" : "object", - "properties" : - { "id" : - { "title" : "Group Identifier", - "description" : "A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined group elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same group across revisions of the document.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "class" : - { "title" : "Group Class", - "description" : "A textual label that provides a sub-type or characterization of the group.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "title" : - { "title" : "Group Title", - "description" : "A name given to the group, which may be used by a tool for display and navigation.", - "type" : "string" }, - "params" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_parameter" } }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "parts" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_part" } }, - "groups" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-profile_group" } }, - "insert-controls" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-profile_insert-controls" } } }, - "required" : - [ "title" ], - "additionalProperties" : false }, - "oscal-profile-oscal-profile:modify" : - { "title" : "Modify controls", - "description" : "Set parameters or amend controls in resolution", - "$id" : "#assembly_oscal-profile_modify", - "type" : "object", - "properties" : - { "set-parameters" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Parameter Setting", - "description" : "A parameter setting, to be propagated to points of insertion", - "type" : "object", - "properties" : - { "param-id" : - { "title" : "Parameter ID", - "description" : "A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined parameter elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "class" : - { "title" : "Parameter Class", - "description" : "A textual label that provides a characterization of the parameter.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "depends-on" : - { "title" : "Depends on", - "description" : "**(deprecated)** Another parameter invoking this one. This construct has been deprecated and should not be used.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "label" : - { "title" : "Parameter Label", - "description" : "A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned.", - "type" : "string" }, - "usage" : - { "title" : "Parameter Usage Description", - "description" : "Describes the purpose and use of a parameter", - "type" : "string" }, - "constraints" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_parameter-constraint" } }, - "guidelines" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_parameter-guideline" } }, - "values" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-catalog-common_parameter-value" } }, - "select" : - { "$ref" : "#assembly_oscal-catalog-common_parameter-selection" } }, - "required" : - [ "param-id" ], - "additionalProperties" : false } }, - "alters" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-profile_alter" } } }, - "additionalProperties" : false }, - "oscal-profile-oscal-profile:insert-controls" : - { "title" : "Select controls", - "description" : "Specifies which controls to use in the containing context.", - "$id" : "#assembly_oscal-profile_insert-controls", - "type" : "object", - "properties" : - { "order" : - { "title" : "Order", - "description" : "A designation of how a selection of controls in a profile is to be ordered.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$", - "enum" : - [ "keep", - "ascending", - "descending" ] }, - "include-all" : - { "$ref" : "#assembly_oscal-catalog-common_include-all" }, - "include-controls" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-profile_select-control-by-id" } }, - "exclude-controls" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-profile_select-control-by-id" } } }, - "additionalProperties" : false }, - "oscal-profile-oscal-profile:select-control-by-id" : - { "title" : "Call", - "description" : "Call a control by its ID", - "$id" : "#assembly_oscal-profile_select-control-by-id", - "type" : "object", - "properties" : - { "with-child-controls" : - { "title" : "Include contained controls with control", - "description" : "When a control is included, whether its child (dependent) controls are also included.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$", - "enum" : - [ "yes", - "no" ] }, - "with-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Match Controls by Identifier", - "description" : "", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" } }, - "matching" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Match Controls by Pattern", - "description" : "Select controls by (regular expression) match on ID", - "type" : "object", - "properties" : - { "pattern" : - { "title" : "Pattern", - "description" : "A glob expression matching the IDs of one or more controls to be selected.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" } }, - "additionalProperties" : false } } }, - "additionalProperties" : false }, - "oscal-profile-oscal-profile:alter" : + "properties" : + { "uuid" : + { "title" : "Profile Universally Unique Identifier", + "description" : "Provides a globally unique means to identify a given profile instance.", + "$ref" : "#/definitions/UUIDDatatype" }, + "metadata" : + { "$ref" : "#assembly_oscal-metadata_metadata" }, + "imports" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-profile_import" } }, + "merge" : + { "$ref" : "#assembly_oscal-profile_merge" }, + "modify" : + { "$ref" : "#assembly_oscal-profile_modify" }, + "back-matter" : + { "$ref" : "#assembly_oscal-metadata_back-matter" } }, + "required" : + [ "uuid", + "metadata", + "imports" ], + "additionalProperties" : false }, + "oscal-profile-oscal-profile:import" : + { "title" : "Import Resource", + "description" : "Designates a referenced source catalog or profile that provides a source of control information for use in creating a new overlay or baseline.", + "$id" : "#assembly_oscal-profile_import", + "type" : "object", + "properties" : + { "href" : + { "title" : "Catalog or Profile Reference", + "description" : "A resolvable URL reference to the base catalog or profile that this profile is tailoring.", + "$ref" : "#/definitions/URIReferenceDatatype" }, + "include-all" : + { "$ref" : "#assembly_oscal-control-common_include-all" }, + "include-controls" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-profile_select-control-by-id" } }, + "exclude-controls" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-profile_select-control-by-id" } } }, + "required" : + [ "href" ], + "additionalProperties" : false }, + "oscal-profile-oscal-profile:merge" : + { "title" : "Merge Controls", + "description" : "Provides structuring directives that instruct how controls are organized after profile resolution.", + "$id" : "#assembly_oscal-profile_merge", + "type" : "object", + "properties" : + { "combine" : + { "title" : "Combination Rule", + "description" : "A Combine element defines how to resolve duplicate instances of the same control (e.g., controls with the same ID).", + "type" : "object", + "properties" : + { "method" : + { "title" : "Combination Method", + "description" : "Declare how clashing controls should be handled.", + "allOf" : + [ + { "$ref" : "#/definitions/StringDatatype" }, + + { "enum" : + [ "use-first", + "merge", + "keep" ] } ] } }, + "additionalProperties" : false }, + "flat" : + { "title" : "Flat Without Grouping", + "description" : "Directs that controls appear without any grouping structure.", + "type" : "object", + "additionalProperties" : false }, + "as-is" : + { "title" : "Group As-Is", + "description" : "Indicates that the controls selected should retain their original grouping as defined in the import source.", + "$ref" : "#/definitions/BooleanDatatype" }, + "custom" : + { "title" : "Custom Grouping", + "description" : "Provides an alternate grouping structure that selected controls will be placed in.", + "type" : "object", + "properties" : + { "groups" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-profile_group" } }, + "insert-controls" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-profile_insert-controls" } } }, + "additionalProperties" : false } }, + "additionalProperties" : false }, + "oscal-profile-oscal-profile:group" : + { "title" : "Control Group", + "description" : "A group of (selected) controls or of groups of controls.", + "$id" : "#assembly_oscal-profile_group", + "type" : "object", + "properties" : + { "id" : + { "title" : "Group Identifier", + "description" : "Identifies the group.", + "$ref" : "#/definitions/TokenDatatype" }, + "class" : + { "title" : "Group Class", + "description" : "A textual label that provides a sub-type or characterization of the group.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Group Title", + "description" : "A name to be given to the group for use in display.", + "type" : "string" }, + "params" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_parameter" } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "parts" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_part" } }, + "groups" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-profile_group" } }, + "insert-controls" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-profile_insert-controls" } } }, + "required" : + [ "title" ], + "additionalProperties" : false }, + "oscal-profile-oscal-profile:modify" : + { "title" : "Modify Controls", + "description" : "Set parameters or amend controls in resolution.", + "$id" : "#assembly_oscal-profile_modify", + "type" : "object", + "properties" : + { "set-parameters" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Parameter Setting", + "description" : "A parameter setting, to be propagated to points of insertion.", + "type" : "object", + "properties" : + { "param-id" : + { "title" : "Parameter ID", + "description" : "An identifier for the parameter.", + "$ref" : "#/definitions/TokenDatatype" }, + "class" : + { "title" : "Parameter Class", + "description" : "A textual label that provides a characterization of the parameter.", + "$ref" : "#/definitions/TokenDatatype" }, + "depends-on" : + { "title" : "Depends On", + "description" : "**(deprecated)** Another parameter invoking this one. This construct has been deprecated and should not be used.", + "$ref" : "#/definitions/TokenDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "label" : + { "title" : "Parameter Label", + "description" : "A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned.", + "type" : "string" }, + "usage" : + { "title" : "Parameter Usage Description", + "description" : "Describes the purpose and use of a parameter.", + "type" : "string" }, + "constraints" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_parameter-constraint" } }, + "guidelines" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_parameter-guideline" } }, + "values" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-control-common_parameter-value" } }, + "select" : + { "$ref" : "#assembly_oscal-control-common_parameter-selection" } }, + "required" : + [ "param-id" ], + "additionalProperties" : false } }, + "alters" : + { "type" : "array", + "minItems" : 1, + "items" : { "title" : "Alteration", - "description" : "An Alter element specifies changes to be made to an included control when a profile is resolved.", - "$id" : "#assembly_oscal-profile_alter", - "type" : "object", - "properties" : - { "control-id" : - { "title" : "Control Identifier Reference", - "description" : "A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference).", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "removes" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-profile_remove" } }, - "adds" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-profile_add" } } }, - "required" : - [ "control-id" ], - "additionalProperties" : false }, - "oscal-profile-oscal-profile:remove" : - { "title" : "Removal", - "description" : "Specifies objects to be removed from a control based on specific aspects of the object that must all match.", - "$id" : "#assembly_oscal-profile_remove", - "type" : "object", - "properties" : - { "by-name" : - { "title" : "Reference by (assigned) name", - "description" : "Identify items to remove by matching their assigned name", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "by-class" : - { "title" : "Reference by class", + "description" : "Specifies changes to be made to an included control when a profile is resolved.", + "type" : "object", + "properties" : + { "control-id" : + { "title" : "Control Identifier Reference", + "description" : "A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference).", + "$ref" : "#/definitions/TokenDatatype" }, + "removes" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Removal", + "description" : "Specifies objects to be removed from a control based on specific aspects of the object that must all match.", + "type" : "object", + "properties" : + { "by-name" : + { "title" : "Reference by (assigned) name", + "description" : "Identify items remove by matching their assigned name.", + "$ref" : "#/definitions/TokenDatatype" }, + "by-class" : + { "title" : "Reference by class", "description" : "Identify items to remove by matching their class.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "by-id" : - { "title" : "Reference by ID", + "$ref" : "#/definitions/TokenDatatype" }, + "by-id" : + { "title" : "Reference by ID", "description" : "Identify items to remove indicated by their id.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "by-item-name" : - { "title" : "Item Name Reference", - "description" : "Identify items to remove by the name of the item's information element name, e.g. title or prop", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "by-ns" : - { "title" : "Item Namespace Reference", + "$ref" : "#/definitions/TokenDatatype" }, + "by-item-name" : + { "title" : "Item Name Reference", + "description" : "Identify items to remove by the name of the item's information object name, e.g. title or prop.", + "allOf" : + [ + { "$ref" : "#/definitions/TokenDatatype" }, + + { "enum" : + [ "param", + "prop", + "link", + "part", + "mapping", + "map" ] } ] }, + "by-ns" : + { "title" : "Item Namespace Reference", "description" : "Identify items to remove by the item's ns, which is the namespace associated with a part, or prop.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" } }, - "additionalProperties" : false }, - "oscal-profile-oscal-profile:add" : - { "title" : "Addition", - "description" : "Specifies contents to be added into controls, in resolution", - "$id" : "#assembly_oscal-profile_add", - "type" : "object", - "properties" : - { "position" : - { "title" : "Position", - "description" : "Where to add the new content with respect to the targeted element (beside it or inside it)", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$", - "enum" : - [ "before", - "after", - "starting", - "ending" ] }, - "by-id" : - { "title" : "Reference by ID", + "$ref" : "#/definitions/TokenDatatype" } }, + "additionalProperties" : false } }, + "adds" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Addition", + "description" : "Specifies contents to be added into controls, in resolution.", + "type" : "object", + "properties" : + { "position" : + { "title" : "Position", + "description" : "Where to add the new content with respect to the targeted element (beside it or inside it).", + "allOf" : + [ + { "$ref" : "#/definitions/TokenDatatype" }, + + { "enum" : + [ "before", + "after", + "starting", + "ending" ] } ] }, + "by-id" : + { "title" : "Reference by ID", "description" : "Target location of the addition.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "title" : - { "title" : "Title Change", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Title Change", "description" : "A name given to the control, which may be used by a tool for display and navigation.", "type" : "string" }, - "params" : - { "type" : "array", + "params" : + { "type" : "array", "minItems" : 1, "items" : - { "$ref" : "#assembly_oscal-catalog-common_parameter" } }, - "props" : - { "type" : "array", + { "$ref" : "#assembly_oscal-control-common_parameter" } }, + "props" : + { "type" : "array", "minItems" : 1, "items" : { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", + "links" : + { "type" : "array", "minItems" : 1, "items" : { "$ref" : "#assembly_oscal-metadata_link" } }, - "parts" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_part" } } }, - "additionalProperties" : false }, - "oscal-profile-oscal-metadata:metadata" : - { "title" : "Publication metadata", - "description" : "Provides information about the publication and availability of the containing document.", - "$id" : "#assembly_oscal-metadata_metadata", - "type" : "object", - "properties" : - { "title" : - { "title" : "Document Title", - "description" : "A name given to the document, which may be used by a tool for display and navigation.", - "type" : "string" }, - "published" : - { "$ref" : "#field_oscal-metadata_published" }, - "last-modified" : - { "$ref" : "#field_oscal-metadata_last-modified" }, - "version" : - { "$ref" : "#field_oscal-metadata_version" }, - "oscal-version" : - { "$ref" : "#field_oscal-metadata_oscal-version" }, - "revisions" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_revision" } }, - "document-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_document-id" } }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_role" } }, - "locations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_location" } }, - "parties" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_party" } }, - "responsible-parties" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "title", - "last-modified", - "version", - "oscal-version" ], - "additionalProperties" : false }, - "oscal-profile-oscal-metadata:revision" : + "parts" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_part" } } }, + "additionalProperties" : false } } }, + "required" : + [ "control-id" ], + "additionalProperties" : false } } }, + "additionalProperties" : false }, + "oscal-profile-oscal-profile:insert-controls" : + { "title" : "Select Controls", + "description" : "Specifies which controls to use in the containing context.", + "$id" : "#assembly_oscal-profile_insert-controls", + "type" : "object", + "properties" : + { "order" : + { "title" : "Order", + "description" : "A designation of how a selection of controls in a profile is to be ordered.", + "allOf" : + [ + { "$ref" : "#/definitions/TokenDatatype" }, + + { "enum" : + [ "keep", + "ascending", + "descending" ] } ] }, + "include-all" : + { "$ref" : "#assembly_oscal-control-common_include-all" }, + "include-controls" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-profile_select-control-by-id" } }, + "exclude-controls" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-profile_select-control-by-id" } } }, + "additionalProperties" : false }, + "oscal-profile-oscal-profile:select-control-by-id" : + { "title" : "Select Control", + "description" : "Select a control or controls from an imported control set.", + "$id" : "#assembly_oscal-profile_select-control-by-id", + "type" : "object", + "properties" : + { "with-child-controls" : + { "title" : "Include Contained Controls with Control", + "description" : "When a control is included, whether its child (dependent) controls are also included.", + "allOf" : + [ + { "$ref" : "#/definitions/TokenDatatype" }, + + { "enum" : + [ "yes", + "no" ] } ] }, + "with-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Match Controls by Identifier", + "description" : "Selecting a control by its ID given as a literal.", + "$ref" : "#/definitions/TokenDatatype" } }, + "matching" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Match Controls by Pattern", + "description" : "Selecting a set of controls by matching their IDs with a wildcard pattern.", + "type" : "object", + "properties" : + { "pattern" : + { "title" : "Pattern", + "description" : "A glob expression matching the IDs of one or more controls to be selected.", + "$ref" : "#/definitions/StringDatatype" } }, + "additionalProperties" : false } } }, + "additionalProperties" : false }, + "oscal-profile-oscal-metadata:metadata" : + { "title" : "Document Metadata", + "description" : "Provides information about the containing document, and defines concepts that are shared across the document.", + "$id" : "#assembly_oscal-metadata_metadata", + "type" : "object", + "properties" : + { "title" : + { "title" : "Document Title", + "description" : "A name given to the document, which may be used by a tool for display and navigation.", + "type" : "string" }, + "published" : + { "$ref" : "#field_oscal-metadata_published" }, + "last-modified" : + { "$ref" : "#field_oscal-metadata_last-modified" }, + "version" : + { "$ref" : "#field_oscal-metadata_version" }, + "oscal-version" : + { "$ref" : "#field_oscal-metadata_oscal-version" }, + "revisions" : + { "type" : "array", + "minItems" : 1, + "items" : { "title" : "Revision History Entry", - "description" : "An entry in a sequential list of revisions to the containing document in reverse chronological order (i.e., most recent previous revision first).", - "$id" : "#assembly_oscal-metadata_revision", - "type" : "object", - "properties" : - { "title" : - { "title" : "Document Title", - "description" : "A name given to the document revision, which may be used by a tool for display and navigation.", - "type" : "string" }, - "published" : - { "$ref" : "#field_oscal-metadata_published" }, - "last-modified" : - { "$ref" : "#field_oscal-metadata_last-modified" }, - "version" : - { "$ref" : "#field_oscal-metadata_version" }, - "oscal-version" : - { "$ref" : "#field_oscal-metadata_oscal-version" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "version" ], - "additionalProperties" : false }, - "oscal-profile-oscal-metadata:location" : - { "title" : "Location", - "description" : "A location, with associated metadata that can be referenced.", - "$id" : "#assembly_oscal-metadata_location", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Location Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined location elsewhere in this or other OSCAL instances. The locally defined UUID of the location can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Location Title", - "description" : "A name given to the location, which may be used by a tool for display and navigation.", - "type" : "string" }, - "address" : - { "$ref" : "#assembly_oscal-metadata_address" }, - "email-addresses" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_email-address" } }, - "telephone-numbers" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_telephone-number" } }, - "urls" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Location URL", - "description" : "The uniform resource locator (URL) for a web site or Internet presence associated with the location.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" } }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "address" ], - "additionalProperties" : false }, - "oscal-profile-oscal-metadata:location-uuid" : - { "title" : "Location Reference", - "description" : "A machine-oriented identifier reference to a location defined in the metadata section of this or another OSCAL instance. The UUID of the location in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).", - "$id" : "#field_oscal-metadata_location-uuid", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "oscal-profile-oscal-metadata:party" : - { "title" : "Party (organization or person)", - "description" : "A responsible entity which is either a person or an organization.", - "$id" : "#assembly_oscal-metadata_party", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Party Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined party elsewhere in this or other OSCAL instances. The locally defined UUID of the party can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "type" : - { "title" : "Party Type", - "description" : "A category describing the kind of party the object describes.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$", - "enum" : - [ "person", - "organization" ] }, - "name" : - { "title" : "Party Name", - "description" : "The full name of the party. This is typically the legal name associated with the party.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "short-name" : - { "title" : "Party Short Name", - "description" : "A short common name, abbreviation, or acronym for the party.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "external-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Party External Identifier", - "description" : "An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID)", - "type" : "object", - "properties" : - { "scheme" : - { "title" : "External Identifier Schema", - "description" : "Indicates the type of external identifier.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "id" : - { "type" : "string" } }, - "required" : - [ "id", - "scheme" ], - "additionalProperties" : false } }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "email-addresses" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_email-address" } }, - "telephone-numbers" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_telephone-number" } }, - "addresses" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_address" } }, - "location-uuids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_location-uuid" } }, - "member-of-organizations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Organizational Affiliation", - "description" : "A machine-oriented identifier reference to another party (person or organization) that this subject is associated with. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "type" ], - "additionalProperties" : false }, - "oscal-profile-oscal-metadata:party-uuid" : - { "title" : "Party Reference", - "description" : "A machine-oriented identifier reference to another party defined in metadata. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).", - "$id" : "#field_oscal-metadata_party-uuid", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "oscal-profile-oscal-metadata:role" : + "description" : "An entry in a sequential list of revisions to the containing document, expected to be in reverse chronological order (i.e. latest first).", + "type" : "object", + "properties" : + { "title" : + { "title" : "Document Title", + "description" : "A name given to the document revision, which may be used by a tool for display and navigation.", + "type" : "string" }, + "published" : + { "$ref" : "#field_oscal-metadata_published" }, + "last-modified" : + { "$ref" : "#field_oscal-metadata_last-modified" }, + "version" : + { "$ref" : "#field_oscal-metadata_version" }, + "oscal-version" : + { "$ref" : "#field_oscal-metadata_oscal-version" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "version" ], + "additionalProperties" : false } }, + "document-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_document-id" } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "roles" : + { "type" : "array", + "minItems" : 1, + "items" : { "title" : "Role", - "description" : "Defines a function assumed or expected to be assumed by a party in a specific situation.", - "$id" : "#assembly_oscal-metadata_role", - "type" : "object", - "properties" : - { "id" : - { "title" : "Role Identifier", - "description" : "A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined role elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, the locally defined ID of the Role from the imported OSCAL instance must be referenced in the context of the containing resource (e.g., import, import-component-definition, import-profile, import-ssp or import-ap). This ID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "title" : - { "title" : "Role Title", - "description" : "A name given to the role, which may be used by a tool for display and navigation.", - "type" : "string" }, - "short-name" : - { "title" : "Role Short Name", - "description" : "A short common name, abbreviation, or acronym for the role.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "description" : - { "title" : "Role Description", - "description" : "A summary of the role's purpose and associated responsibilities.", - "type" : "string" }, + "description" : "Defines a function, which might be assigned to a party in a specific situation.", + "type" : "object", + "properties" : + { "id" : + { "title" : "Role Identifier", + "description" : "A unique identifier for the role.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Role Title", + "description" : "A name given to the role, which may be used by a tool for display and navigation.", + "type" : "string" }, + "short-name" : + { "title" : "Role Short Name", + "description" : "A short common name, abbreviation, or acronym for the role.", + "$ref" : "#/definitions/StringDatatype" }, + "description" : + { "title" : "Role Description", + "description" : "A summary of the role's purpose and associated responsibilities.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "id", + "title" ], + "additionalProperties" : false } }, + "locations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Location", + "description" : "A physical point of presence, which may be associated with people, organizations, or other concepts within the current or linked OSCAL document.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Location Universally Unique Identifier", + "description" : "A unique ID for the location, for reference.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Location Title", + "description" : "A name given to the location, which may be used by a tool for display and navigation.", + "type" : "string" }, + "address" : + { "$ref" : "#assembly_oscal-metadata_address" }, + "email-addresses" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_email-address" } }, + "telephone-numbers" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_telephone-number" } }, + "urls" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Location URL", + "description" : "The uniform resource locator (URL) for a web site or other resource associated with the location.", + "$ref" : "#/definitions/URIDatatype" } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid" ], + "additionalProperties" : false } }, + "parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Party", + "description" : "An organization or person, which may be associated with roles or other concepts within the current or linked OSCAL document.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Party Universally Unique Identifier", + "description" : "A unique identifier for the party.", + "$ref" : "#/definitions/UUIDDatatype" }, + "type" : + { "title" : "Party Type", + "description" : "A category describing the kind of party the object describes.", + "allOf" : + [ + { "$ref" : "#/definitions/StringDatatype" }, + + { "enum" : + [ "person", + "organization" ] } ] }, + "name" : + { "title" : "Party Name", + "description" : "The full name of the party. This is typically the legal name associated with the party.", + "$ref" : "#/definitions/StringDatatype" }, + "short-name" : + { "title" : "Party Short Name", + "description" : "A short common name, abbreviation, or acronym for the party.", + "$ref" : "#/definitions/StringDatatype" }, + "external-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Party External Identifier", + "description" : "An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID).", + "type" : "object", + "properties" : + { "scheme" : + { "title" : "External Identifier Schema", + "description" : "Indicates the type of external identifier.", + "$ref" : "#/definitions/URIDatatype" }, + "id" : + { "type" : "string" } }, + "required" : + [ "id", + "scheme" ], + "additionalProperties" : false } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "email-addresses" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_email-address" } }, + "telephone-numbers" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_telephone-number" } }, + "addresses" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_address" } }, + "location-uuids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_location-uuid" } }, + "member-of-organizations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Organizational Affiliation", + "description" : "A reference to another party by UUID, typically an organization, that this subject is associated with.", + "$ref" : "#/definitions/UUIDDatatype" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "type" ], + "additionalProperties" : false } }, + "responsible-parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, + "actions" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_action" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "title", + "last-modified", + "version", + "oscal-version" ], + "additionalProperties" : false }, + "oscal-profile-oscal-metadata:location-uuid" : + { "title" : "Location Universally Unique Identifier Reference", + "description" : "Reference to a location by UUID.", + "$id" : "#field_oscal-metadata_location-uuid", + "$ref" : "#/definitions/UUIDDatatype" }, + "oscal-profile-oscal-metadata:party-uuid" : + { "title" : "Party Universally Unique Identifier Reference", + "description" : "Reference to a party by UUID.", + "$id" : "#field_oscal-metadata_party-uuid", + "$ref" : "#/definitions/UUIDDatatype" }, + "oscal-profile-oscal-metadata:role-id" : + { "title" : "Role Identifier Reference", + "description" : "Reference to a role by UUID.", + "$id" : "#field_oscal-metadata_role-id", + "$ref" : "#/definitions/TokenDatatype" }, + "oscal-profile-oscal-metadata:back-matter" : + { "title" : "Back matter", + "description" : "A collection of resources that may be referenced from within the OSCAL document instance.", + "$id" : "#assembly_oscal-metadata_back-matter", + "type" : "object", + "properties" : + { "resources" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Resource", + "description" : "A resource associated with content in the containing document instance. A resource may be directly included in the document using base64 encoding or may point to one or more equivalent internet resources.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Resource Universally Unique Identifier", + "description" : "A unique identifier for a resource.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Resource Title", + "description" : "An optional name given to the resource, which may be used by a tool for display and navigation.", + "type" : "string" }, + "description" : + { "title" : "Resource Description", + "description" : "An optional short summary of the resource used to indicate the purpose of the resource.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "document-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_document-id" } }, + "citation" : + { "title" : "Citation", + "description" : "An optional citation consisting of end note text using structured markup.", + "type" : "object", + "properties" : + { "text" : + { "title" : "Citation Text", + "description" : "A line of citation text.", + "type" : "string" }, "props" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, "links" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "id", - "title" ], - "additionalProperties" : false }, - "oscal-profile-oscal-metadata:role-id" : - { "title" : "Role Identifier Reference", - "description" : "A human-oriented identifier reference to roles served by the user.", - "$id" : "#field_oscal-metadata_role-id", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "oscal-profile-oscal-metadata:back-matter" : - { "title" : "Back matter", - "description" : "A collection of resources, which may be included directly or by reference.", - "$id" : "#assembly_oscal-metadata_back-matter", - "type" : "object", - "properties" : - { "resources" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Resource", - "description" : "A resource associated with content in the containing document. A resource may be directly included in the document base64 encoded or may point to one or more equivalent internet resources.", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Resource Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined resource elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Resource Title", - "description" : "A name given to the resource, which may be used by a tool for display and navigation.", - "type" : "string" }, - "description" : - { "title" : "Resource Description", - "description" : "A short summary of the resource used to indicate the purpose of the resource.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "document-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_document-id" } }, - "citation" : - { "title" : "Citation", - "description" : "A citation consisting of end note text and optional structured bibliographic data.", - "type" : "object", - "properties" : - { "text" : - { "title" : "Citation Text", - "description" : "A line of citation text.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } } }, - "required" : - [ "text" ], - "additionalProperties" : false }, - "rlinks" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Resource link", - "description" : "A pointer to an external resource with an optional hash for verification and change detection.", - "type" : "object", - "properties" : - { "href" : - { "title" : "Hypertext Reference", - "description" : "A resolvable URI reference to a resource.", - "type" : "string", - "format" : "uri-reference" }, - "media-type" : - { "title" : "Media Type", - "description" : "Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "hashes" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_hash" } } }, - "required" : - [ "href" ], - "additionalProperties" : false } }, - "base64" : - { "title" : "Base64", - "description" : "The Base64 alphabet in RFC 2045 - aligned with XSD.", - "type" : "object", - "properties" : - { "filename" : - { "title" : "File Name", - "description" : "Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded.", - "type" : "string", - "format" : "uri-reference" }, - "media-type" : - { "title" : "Media Type", - "description" : "Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "value" : - { "type" : "string" } }, - "required" : - [ "value" ], - "additionalProperties" : false }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid" ], - "additionalProperties" : false } } }, - "additionalProperties" : false }, - "oscal-profile-oscal-metadata:property" : - { "title" : "Property", - "description" : "An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.", - "$id" : "#assembly_oscal-metadata_property", - "type" : "object", - "properties" : - { "name" : - { "title" : "Property Name", - "description" : "A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "uuid" : - { "title" : "Property Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "ns" : - { "title" : "Property Namespace", - "description" : "A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "value" : - { "title" : "Property Value", - "description" : "Indicates the value of the attribute, characteristic, or quality.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "class" : - { "title" : "Property Class", - "description" : "A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "name", - "value" ], - "additionalProperties" : false }, - "oscal-profile-oscal-metadata:link" : - { "title" : "Link", - "description" : "A reference to a local or remote resource", - "$id" : "#assembly_oscal-metadata_link", - "type" : "object", - "properties" : - { "href" : - { "title" : "Hypertext Reference", - "description" : "A resolvable URL reference to a resource.", - "type" : "string", - "format" : "uri-reference" }, - "rel" : - { "title" : "Relation", - "description" : "Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } } }, + "required" : + [ "text" ], + "additionalProperties" : false }, + "rlinks" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Resource link", + "description" : "A URL-based pointer to an external resource with an optional hash for verification and change detection.", + "type" : "object", + "properties" : + { "href" : + { "title" : "Hypertext Reference", + "description" : "A resolvable URL pointing to the referenced resource.", + "$ref" : "#/definitions/URIReferenceDatatype" }, + "media-type" : + { "title" : "Media Type", + "description" : "A label that indicates the nature of a resource, as a data serialization or format.", + "$ref" : "#/definitions/StringDatatype" }, + "hashes" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_hash" } } }, + "required" : + [ "href" ], + "additionalProperties" : false } }, + "base64" : + { "title" : "Base64", + "description" : "A resource encoded using the Base64 alphabet defined by RFC 2045.", + "type" : "object", + "properties" : + { "filename" : + { "title" : "File Name", + "description" : "Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded.", + "$ref" : "#/definitions/TokenDatatype" }, "media-type" : { "title" : "Media Type", - "description" : "Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "text" : - { "title" : "Link Text", - "description" : "A textual label to associate with the link, which may be used for presentation in a tool.", - "type" : "string" } }, - "required" : - [ "href" ], - "additionalProperties" : false }, - "oscal-profile-oscal-metadata:responsible-party" : - { "title" : "Responsible Party", - "description" : "A reference to a set of organizations or persons that have responsibility for performing a referenced role in the context of the containing object.", - "$id" : "#assembly_oscal-metadata_responsible-party", - "type" : "object", - "properties" : - { "role-id" : - { "title" : "Responsible Role", - "description" : "A human-oriented identifier reference to roles served by the user.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "party-uuids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_party-uuid" } }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "role-id", - "party-uuids" ], - "additionalProperties" : false }, - "oscal-profile-oscal-metadata:responsible-role" : - { "title" : "Responsible Role", - "description" : "A reference to one or more roles with responsibility for performing a function relative to the containing object.", - "$id" : "#assembly_oscal-metadata_responsible-role", - "type" : "object", - "properties" : - { "role-id" : - { "title" : "Responsible Role ID", - "description" : "A human-oriented identifier reference to roles responsible for the business function.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "party-uuids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_party-uuid" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "role-id" ], - "additionalProperties" : false }, - "oscal-profile-oscal-metadata:hash" : - { "title" : "Hash", - "description" : "A representation of a cryptographic digest generated over a resource using a specified hash algorithm.", - "$id" : "#field_oscal-metadata_hash", - "type" : "object", - "properties" : - { "algorithm" : - { "title" : "Hash algorithm", - "description" : "Method by which a hash is derived", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, + "description" : "A label that indicates the nature of a resource, as a data serialization or format.", + "$ref" : "#/definitions/StringDatatype" }, "value" : { "type" : "string" } }, - "required" : - [ "value", - "algorithm" ], - "additionalProperties" : false }, - "oscal-profile-oscal-metadata:remarks" : - { "title" : "Remarks", - "description" : "Additional commentary on the containing object.", - "$id" : "#field_oscal-metadata_remarks", - "type" : "string" }, - "oscal-profile-oscal-metadata:published" : - { "title" : "Publication Timestamp", - "description" : "The date and time the document was published. The date-time value must be formatted according to RFC 3339 with full time and time zone included.", - "$id" : "#field_oscal-metadata_published", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "oscal-profile-oscal-metadata:last-modified" : - { "title" : "Last Modified Timestamp", - "description" : "The date and time the document was last modified. The date-time value must be formatted according to RFC 3339 with full time and time zone included.", - "$id" : "#field_oscal-metadata_last-modified", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "oscal-profile-oscal-metadata:version" : - { "title" : "Document Version", - "description" : "A string used to distinguish the current version of the document from other previous (and future) versions.", - "$id" : "#field_oscal-metadata_version", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "oscal-profile-oscal-metadata:oscal-version" : - { "title" : "OSCAL version", - "description" : "The OSCAL model version the document was authored against.", - "$id" : "#field_oscal-metadata_oscal-version", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "oscal-profile-oscal-metadata:email-address" : - { "title" : "Email Address", - "description" : "An email address as defined by RFC 5322 Section 3.4.1.", - "$id" : "#field_oscal-metadata_email-address", - "type" : "string", - "format" : "email", - "pattern" : "^.+@.+$" }, - "oscal-profile-oscal-metadata:telephone-number" : - { "title" : "Telephone Number", - "description" : "Contact number by telephone.", - "$id" : "#field_oscal-metadata_telephone-number", - "type" : "object", - "properties" : - { "type" : - { "title" : "type flag", - "description" : "Indicates the type of phone number.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "number" : - { "type" : "string" } }, - "required" : - [ "number" ], - "additionalProperties" : false }, - "oscal-profile-oscal-metadata:address" : - { "title" : "Address", - "description" : "A postal address for the location.", - "$id" : "#assembly_oscal-metadata_address", - "type" : "object", - "properties" : - { "type" : - { "title" : "Address Type", - "description" : "Indicates the type of address.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "addr-lines" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_addr-line" } }, - "city" : - { "title" : "City", - "description" : "City, town or geographical region for the mailing address.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "state" : - { "title" : "State", - "description" : "State, province or analogous geographical region for mailing address", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "postal-code" : - { "title" : "Postal Code", - "description" : "Postal or ZIP code for mailing address", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "country" : - { "title" : "Country Code", - "description" : "The ISO 3166-1 alpha-2 country code for the mailing address.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" } }, - "additionalProperties" : false }, - "oscal-profile-oscal-metadata:addr-line" : - { "title" : "Address line", - "description" : "A single line of an address.", - "$id" : "#field_oscal-metadata_addr-line", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "oscal-profile-oscal-metadata:document-id" : - { "title" : "Document Identifier", - "description" : "A document identifier qualified by an identifier scheme. A document identifier provides a globally unique identifier with a cross-instance scope that is used for a group of documents that are to be treated as different versions of the same document. If this element does not appear, or if the value of this element is empty, the value of \"document-id\" is equal to the value of the \"uuid\" flag of the top-level root element.", - "$id" : "#field_oscal-metadata_document-id", - "type" : "object", - "properties" : - { "scheme" : - { "title" : "Document Identification Scheme", - "description" : "Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "identifier" : - { "type" : "string" } }, - "required" : - [ "identifier" ], - "additionalProperties" : false }, - "oscal-profile-oscal-catalog-common:part" : - { "title" : "Part", - "description" : "A partition of a control's definition or a child of another part.", - "$id" : "#assembly_oscal-catalog-common_part", - "type" : "object", - "properties" : - { "id" : - { "title" : "Part Identifier", - "description" : "A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined part elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "name" : - { "title" : "Part Name", - "description" : "A textual label that uniquely identifies the part's semantic type.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "ns" : - { "title" : "Part Namespace", - "description" : "A namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "class" : - { "title" : "Part Class", - "description" : "A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "title" : - { "title" : "Part Title", - "description" : "A name given to the part, which may be used by a tool for display and navigation.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "prose" : - { "title" : "Part Text", - "description" : "Permits multiple paragraphs, lists, tables etc.", - "type" : "string" }, - "parts" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_part" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } } }, - "required" : - [ "name" ], - "additionalProperties" : false }, - "oscal-profile-oscal-catalog-common:parameter" : - { "title" : "Parameter", - "description" : "Parameters provide a mechanism for the dynamic assignment of value(s) in a control.", - "$id" : "#assembly_oscal-catalog-common_parameter", - "type" : "object", - "properties" : - { "id" : - { "title" : "Parameter Identifier", - "description" : "A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined parameter elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "class" : - { "title" : "Parameter Class", - "description" : "A textual label that provides a characterization of the parameter.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "depends-on" : - { "title" : "Depends on", - "description" : "**(deprecated)** Another parameter invoking this one. This construct has been deprecated and should not be used.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "label" : - { "title" : "Parameter Label", - "description" : "A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned.", - "type" : "string" }, - "usage" : - { "title" : "Parameter Usage Description", - "description" : "Describes the purpose and use of a parameter", - "type" : "string" }, - "constraints" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_parameter-constraint" } }, - "guidelines" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_parameter-guideline" } }, - "values" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-catalog-common_parameter-value" } }, - "select" : - { "$ref" : "#assembly_oscal-catalog-common_parameter-selection" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "id" ], - "additionalProperties" : false }, - "oscal-profile-oscal-catalog-common:parameter-constraint" : - { "title" : "Constraint", - "description" : "A formal or informal expression of a constraint or test", - "$id" : "#assembly_oscal-catalog-common_parameter-constraint", - "type" : "object", - "properties" : - { "description" : - { "title" : "Constraint Description", - "description" : "A textual summary of the constraint to be applied.", - "type" : "string" }, - "tests" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Constraint Test", - "description" : "A test expression which is expected to be evaluated by a tool.", - "type" : "object", - "properties" : - { "expression" : - { "title" : "Constraint test", - "description" : "A formal (executable) expression of a constraint", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "expression" ], - "additionalProperties" : false } } }, - "additionalProperties" : false }, - "oscal-profile-oscal-catalog-common:parameter-guideline" : - { "title" : "Guideline", - "description" : "A prose statement that provides a recommendation for the use of a parameter.", - "$id" : "#assembly_oscal-catalog-common_parameter-guideline", - "type" : "object", - "properties" : - { "prose" : - { "title" : "Guideline Text", - "description" : "Prose permits multiple paragraphs, lists, tables etc.", - "type" : "string" } }, - "required" : - [ "prose" ], - "additionalProperties" : false }, - "oscal-profile-oscal-catalog-common:parameter-value" : - { "title" : "Parameter Value", - "description" : "A parameter value or set of values.", - "$id" : "#field_oscal-catalog-common_parameter-value", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "oscal-profile-oscal-catalog-common:parameter-selection" : - { "title" : "Selection", - "description" : "Presenting a choice among alternatives", - "$id" : "#assembly_oscal-catalog-common_parameter-selection", - "type" : "object", - "properties" : - { "how-many" : - { "title" : "Parameter Cardinality", - "description" : "Describes the number of selections that must occur. Without this setting, only one value should be assumed to be permitted.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$", - "enum" : - [ "one", - "one-or-more" ] }, - "choice" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Choice", - "description" : "A value selection among several such options", - "type" : "string" } } }, - "additionalProperties" : false }, - "oscal-profile-oscal-catalog-common:include-all" : - { "title" : "Include All", - "description" : "Include all controls from the imported catalog or profile resources.", - "$id" : "#assembly_oscal-catalog-common_include-all", - "type" : "object", - "additionalProperties" : false } }, + "required" : + [ "value" ], + "additionalProperties" : false }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid" ], + "additionalProperties" : false } } }, + "additionalProperties" : false }, + "oscal-profile-oscal-metadata:property" : + { "title" : "Property", + "description" : "An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair.", + "$id" : "#assembly_oscal-metadata_property", + "type" : "object", "properties" : - { "profile" : - { "$ref" : "#assembly_oscal-profile_profile" } }, + { "name" : + { "title" : "Property Name", + "description" : "A textual label, within a namespace, that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.", + "$ref" : "#/definitions/TokenDatatype" }, + "uuid" : + { "title" : "Property Universally Unique Identifier", + "description" : "A unique identifier for a property.", + "$ref" : "#/definitions/UUIDDatatype" }, + "ns" : + { "title" : "Property Namespace", + "description" : "A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.", + "$ref" : "#/definitions/URIDatatype" }, + "value" : + { "title" : "Property Value", + "description" : "Indicates the value of the attribute, characteristic, or quality.", + "$ref" : "#/definitions/StringDatatype" }, + "class" : + { "title" : "Property Class", + "description" : "A textual label that provides a sub-type or characterization of the property's name.", + "$ref" : "#/definitions/TokenDatatype" }, + "group" : + { "title" : "Property Group", + "description" : "An identifier for relating distinct sets of properties.", + "$ref" : "#/definitions/TokenDatatype" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, "required" : - [ "profile" ], - "additionalProperties" : false, - "maxProperties" : 1 } \ No newline at end of file + [ "name", + "value" ], + "additionalProperties" : false }, + "oscal-profile-oscal-metadata:link" : + { "title" : "Link", + "description" : "A reference to a local or remote resource, that has a specific relation to the containing object.", + "$id" : "#assembly_oscal-metadata_link", + "type" : "object", + "properties" : + { "href" : + { "title" : "Hypertext Reference", + "description" : "A resolvable URL reference to a resource.", + "$ref" : "#/definitions/URIReferenceDatatype" }, + "rel" : + { "title" : "Link Relation Type", + "description" : "Describes the type of relationship provided by the link's hypertext reference. This can be an indicator of the link's purpose.", + "$ref" : "#/definitions/TokenDatatype" }, + "media-type" : + { "title" : "Media Type", + "description" : "A label that indicates the nature of a resource, as a data serialization or format.", + "$ref" : "#/definitions/StringDatatype" }, + "resource-fragment" : + { "title" : "Resource Fragment", + "description" : "In case where the href points to a back-matter/resource, this value will indicate the URI fragment to append to any rlink associated with the resource. This value MUST be URI encoded.", + "$ref" : "#/definitions/StringDatatype" }, + "text" : + { "title" : "Link Text", + "description" : "A textual label to associate with the link, which may be used for presentation in a tool.", + "type" : "string" } }, + "required" : + [ "href" ], + "additionalProperties" : false }, + "oscal-profile-oscal-metadata:responsible-party" : + { "title" : "Responsible Party", + "description" : "A reference to a set of persons and/or organizations that have responsibility for performing the referenced role in the context of the containing object.", + "$id" : "#assembly_oscal-metadata_responsible-party", + "type" : "object", + "properties" : + { "role-id" : + { "title" : "Responsible Role", + "description" : "A reference to a role performed by a party.", + "$ref" : "#/definitions/TokenDatatype" }, + "party-uuids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_party-uuid" } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "role-id", + "party-uuids" ], + "additionalProperties" : false }, + "oscal-profile-oscal-metadata:action" : + { "title" : "Action", + "description" : "An action applied by a role within a given party to the content.", + "$id" : "#assembly_oscal-metadata_action", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Action Universally Unique Identifier", + "description" : "A unique identifier that can be used to reference this defined action elsewhere in an OSCAL document. A UUID should be consistently used for a given location across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "date" : + { "title" : "Action Occurrence Date", + "description" : "The date and time when the action occurred.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "type" : + { "title" : "Action Type", + "description" : "The type of action documented by the assembly, such as an approval.", + "$ref" : "#/definitions/TokenDatatype" }, + "system" : + { "title" : "Action Type System", + "description" : "Specifies the action type system used.", + "$ref" : "#/definitions/URIDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "responsible-parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "type", + "system" ], + "additionalProperties" : false }, + "oscal-profile-oscal-metadata:responsible-role" : + { "title" : "Responsible Role", + "description" : "A reference to a role with responsibility for performing a function relative to the containing object, optionally associated with a set of persons and/or organizations that perform that role.", + "$id" : "#assembly_oscal-metadata_responsible-role", + "type" : "object", + "properties" : + { "role-id" : + { "title" : "Responsible Role ID", + "description" : "A human-oriented identifier reference to a role performed.", + "$ref" : "#/definitions/TokenDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "party-uuids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_party-uuid" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "role-id" ], + "additionalProperties" : false }, + "oscal-profile-oscal-metadata:hash" : + { "title" : "Hash", + "description" : "A representation of a cryptographic digest generated over a resource using a specified hash algorithm.", + "$id" : "#field_oscal-metadata_hash", + "type" : "object", + "properties" : + { "algorithm" : + { "title" : "Hash algorithm", + "description" : "The digest method by which a hash is derived.", + "$ref" : "#/definitions/StringDatatype" }, + "value" : + { "type" : "string" } }, + "required" : + [ "value", + "algorithm" ], + "additionalProperties" : false }, + "oscal-profile-oscal-metadata:remarks" : + { "title" : "Remarks", + "description" : "Additional commentary about the containing object.", + "$id" : "#field_oscal-metadata_remarks", + "type" : "string" }, + "oscal-profile-oscal-metadata:published" : + { "title" : "Publication Timestamp", + "description" : "The date and time the document was last made available.", + "$id" : "#field_oscal-metadata_published", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "oscal-profile-oscal-metadata:last-modified" : + { "title" : "Last Modified Timestamp", + "description" : "The date and time the document was last stored for later retrieval.", + "$id" : "#field_oscal-metadata_last-modified", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "oscal-profile-oscal-metadata:version" : + { "title" : "Document Version", + "description" : "Used to distinguish a specific revision of an OSCAL document from other previous and future versions.", + "$id" : "#field_oscal-metadata_version", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-profile-oscal-metadata:oscal-version" : + { "title" : "OSCAL Version", + "description" : "The OSCAL model version the document was authored against and will conform to as valid.", + "$id" : "#field_oscal-metadata_oscal-version", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-profile-oscal-metadata:email-address" : + { "title" : "Email Address", + "description" : "An email address as defined by RFC 5322 Section 3.4.1.", + "$id" : "#field_oscal-metadata_email-address", + "$ref" : "#/definitions/EmailAddressDatatype" }, + "oscal-profile-oscal-metadata:telephone-number" : + { "title" : "Telephone Number", + "description" : "A telephone service number as defined by ITU-T E.164.", + "$id" : "#field_oscal-metadata_telephone-number", + "type" : "object", + "properties" : + { "type" : + { "title" : "type flag", + "description" : "Indicates the type of phone number.", + "$ref" : "#/definitions/StringDatatype" }, + "number" : + { "type" : "string" } }, + "required" : + [ "number" ], + "additionalProperties" : false }, + "oscal-profile-oscal-metadata:address" : + { "title" : "Address", + "description" : "A postal address for the location.", + "$id" : "#assembly_oscal-metadata_address", + "type" : "object", + "properties" : + { "type" : + { "title" : "Address Type", + "description" : "Indicates the type of address.", + "$ref" : "#/definitions/TokenDatatype" }, + "addr-lines" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_addr-line" } }, + "city" : + { "title" : "City", + "description" : "City, town or geographical region for the mailing address.", + "$ref" : "#/definitions/StringDatatype" }, + "state" : + { "title" : "State", + "description" : "State, province or analogous geographical region for a mailing address.", + "$ref" : "#/definitions/StringDatatype" }, + "postal-code" : + { "title" : "Postal Code", + "description" : "Postal or ZIP code for mailing address.", + "$ref" : "#/definitions/StringDatatype" }, + "country" : + { "title" : "Country Code", + "description" : "The ISO 3166-1 alpha-2 country code for the mailing address.", + "$ref" : "#/definitions/StringDatatype" } }, + "additionalProperties" : false }, + "oscal-profile-oscal-metadata:addr-line" : + { "title" : "Address line", + "description" : "A single line of an address.", + "$id" : "#field_oscal-metadata_addr-line", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-profile-oscal-metadata:document-id" : + { "title" : "Document Identifier", + "description" : "A document identifier qualified by an identifier scheme.", + "$id" : "#field_oscal-metadata_document-id", + "type" : "object", + "properties" : + { "scheme" : + { "title" : "Document Identification Scheme", + "description" : "Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters.", + "$ref" : "#/definitions/URIDatatype" }, + "identifier" : + { "type" : "string" } }, + "required" : + [ "identifier" ], + "additionalProperties" : false }, + "oscal-profile-oscal-control-common:part" : + { "title" : "Part", + "description" : "An annotated, markup-based textual element of a control's or catalog group's definition, or a child of another part.", + "$id" : "#assembly_oscal-control-common_part", + "type" : "object", + "properties" : + { "id" : + { "title" : "Part Identifier", + "description" : "A unique identifier for the part.", + "$ref" : "#/definitions/TokenDatatype" }, + "name" : + { "title" : "Part Name", + "description" : "A textual label that uniquely identifies the part's semantic type, which exists in a value space qualified by the ns.", + "$ref" : "#/definitions/TokenDatatype" }, + "ns" : + { "title" : "Part Namespace", + "description" : "An optional namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name.", + "$ref" : "#/definitions/URIDatatype" }, + "class" : + { "title" : "Part Class", + "description" : "An optional textual providing a sub-type or characterization of the part's name, or a category to which the part belongs.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Part Title", + "description" : "An optional name given to the part, which may be used by a tool for display and navigation.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "prose" : + { "title" : "Part Text", + "description" : "Permits multiple paragraphs, lists, tables etc.", + "type" : "string" }, + "parts" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_part" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } } }, + "required" : + [ "name" ], + "additionalProperties" : false }, + "oscal-profile-oscal-control-common:parameter" : + { "title" : "Parameter", + "description" : "Parameters provide a mechanism for the dynamic assignment of value(s) in a control.", + "$id" : "#assembly_oscal-control-common_parameter", + "type" : "object", + "properties" : + { "id" : + { "title" : "Parameter Identifier", + "description" : "A unique identifier for the parameter.", + "$ref" : "#/definitions/TokenDatatype" }, + "class" : + { "title" : "Parameter Class", + "description" : "A textual label that provides a characterization of the type, purpose, use or scope of the parameter.", + "$ref" : "#/definitions/TokenDatatype" }, + "depends-on" : + { "title" : "Depends on", + "description" : "(deprecated) Another parameter invoking this one. This construct has been deprecated and should not be used.", + "$ref" : "#/definitions/TokenDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "label" : + { "title" : "Parameter Label", + "description" : "A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned.", + "type" : "string" }, + "usage" : + { "title" : "Parameter Usage Description", + "description" : "Describes the purpose and use of a parameter.", + "type" : "string" }, + "constraints" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_parameter-constraint" } }, + "guidelines" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_parameter-guideline" } }, + "values" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-control-common_parameter-value" } }, + "select" : + { "$ref" : "#assembly_oscal-control-common_parameter-selection" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "id" ], + "additionalProperties" : false }, + "oscal-profile-oscal-control-common:parameter-constraint" : + { "title" : "Constraint", + "description" : "A formal or informal expression of a constraint or test.", + "$id" : "#assembly_oscal-control-common_parameter-constraint", + "type" : "object", + "properties" : + { "description" : + { "title" : "Constraint Description", + "description" : "A textual summary of the constraint to be applied.", + "type" : "string" }, + "tests" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Constraint Test", + "description" : "A test expression which is expected to be evaluated by a tool.", + "type" : "object", + "properties" : + { "expression" : + { "title" : "Constraint test", + "description" : "A formal (executable) expression of a constraint.", + "$ref" : "#/definitions/StringDatatype" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "expression" ], + "additionalProperties" : false } } }, + "additionalProperties" : false }, + "oscal-profile-oscal-control-common:parameter-guideline" : + { "title" : "Guideline", + "description" : "A prose statement that provides a recommendation for the use of a parameter.", + "$id" : "#assembly_oscal-control-common_parameter-guideline", + "type" : "object", + "properties" : + { "prose" : + { "title" : "Guideline Text", + "description" : "Prose permits multiple paragraphs, lists, tables etc.", + "type" : "string" } }, + "required" : + [ "prose" ], + "additionalProperties" : false }, + "oscal-profile-oscal-control-common:parameter-value" : + { "title" : "Parameter Value", + "description" : "A parameter value or set of values.", + "$id" : "#field_oscal-control-common_parameter-value", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-profile-oscal-control-common:parameter-selection" : + { "title" : "Selection", + "description" : "Presenting a choice among alternatives.", + "$id" : "#assembly_oscal-control-common_parameter-selection", + "type" : "object", + "properties" : + { "how-many" : + { "title" : "Parameter Cardinality", + "description" : "Describes the number of selections that must occur. Without this setting, only one value should be assumed to be permitted.", + "allOf" : + [ + { "$ref" : "#/definitions/TokenDatatype" }, + + { "enum" : + [ "one", + "one-or-more" ] } ] }, + "choice" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Choice", + "description" : "A value selection among several such options.", + "type" : "string" } } }, + "additionalProperties" : false }, + "oscal-profile-oscal-control-common:include-all" : + { "title" : "Include All", + "description" : "Include all controls from the imported catalog or profile resources.", + "$id" : "#assembly_oscal-control-common_include-all", + "type" : "object", + "additionalProperties" : false }, + "Base64Datatype" : + { "type" : "string", + "pattern" : "^[0-9A-Fa-f]+$", + "contentEncoding" : "base64" }, + "BooleanDatatype" : + { "type" : "boolean" }, + "DateTimeWithTimezoneDatatype" : + { "type" : "string", + "format" : "date-time", + "pattern" : "^(((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30)))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]*[1-9])?(Z|(-((0[0-9]|1[0-2]):00|0[39]:30)|\\+((0[0-9]|1[0-4]):00|(0[34569]|10):30|(0[58]|12):45)))$" }, + "EmailAddressDatatype" : + { "type" : "string", + "format" : "email", + "pattern" : "^.+@.+$" }, + "StringDatatype" : + { "type" : "string", + "pattern" : "^\\S(.*\\S)?$" }, + "TokenDatatype" : + { "type" : "string", + "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, + "URIDatatype" : + { "type" : "string", + "format" : "uri", + "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, + "URIReferenceDatatype" : + { "type" : "string", + "format" : "uri-reference" }, + "UUIDDatatype" : + { "type" : "string", + "description" : "A type 4 ('random' or 'pseudorandom') or type 5 UUID per RFC 4122.", + "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" } }, + "properties" : + { "profile" : + { "$ref" : "#assembly_oscal-profile_profile" } }, + "required" : + [ "profile" ], + "additionalProperties" : false, + "maxProperties" : 1 } \ No newline at end of file diff --git a/json/schema/oscal_ssp_schema.json b/json/schema/oscal_ssp_schema.json index d86cfb7d5..af59b9a63 100644 --- a/json/schema/oscal_ssp_schema.json +++ b/json/schema/oscal_ssp_schema.json @@ -1,2113 +1,2057 @@ - { "$schema" : "http://json-schema.org/draft-07/schema#", - "$id" : "http://csrc.nist.gov/ns/oscal/1.0.4/oscal-ssp-schema.json", - "$comment" : "OSCAL System Security Plan (SSP) Model: JSON Schema", + { "$schema" : "http://json-schema.org/draft-07/schema#", + "$id" : "http://csrc.nist.gov/ns/oscal/1.0.4/oscal-ssp-schema.json", + "$comment" : "OSCAL System Security Plan (SSP) Model: JSON Schema", + "type" : "object", + "definitions" : + { "oscal-ssp-oscal-ssp:system-security-plan" : + { "title" : "System Security Plan (SSP)", + "description" : "A system security plan, such as those described in NIST SP 800-18.", + "$id" : "#assembly_oscal-ssp_system-security-plan", "type" : "object", - "definitions" : - { "oscal-ssp-oscal-ssp:system-security-plan" : - { "title" : "System Security Plan (SSP)", - "description" : "A system security plan, such as those described in NIST SP 800-18", - "$id" : "#assembly_oscal-ssp_system-security-plan", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "System Security Plan Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this system security plan (SSP) elsewhere in this or other OSCAL instances. The locally defined UUID of the SSP can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance).This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "metadata" : - { "$ref" : "#assembly_oscal-metadata_metadata" }, - "import-profile" : - { "$ref" : "#assembly_oscal-ssp_import-profile" }, - "system-characteristics" : - { "$ref" : "#assembly_oscal-ssp_system-characteristics" }, - "system-implementation" : - { "$ref" : "#assembly_oscal-ssp_system-implementation" }, - "control-implementation" : - { "$ref" : "#assembly_oscal-ssp_control-implementation" }, - "back-matter" : - { "$ref" : "#assembly_oscal-metadata_back-matter" } }, - "required" : - [ "uuid", - "metadata", - "import-profile", - "system-characteristics", - "system-implementation", - "control-implementation" ], - "additionalProperties" : false }, - "oscal-ssp-oscal-ssp:import-profile" : - { "title" : "Import Profile", - "description" : "Used to import the OSCAL profile representing the system's control baseline.", - "$id" : "#assembly_oscal-ssp_import-profile", - "type" : "object", - "properties" : - { "href" : - { "title" : "Profile Reference", - "description" : "A resolvable URL reference to the profile or catalog to use as the system's control baseline.", - "type" : "string", - "format" : "uri-reference" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "href" ], - "additionalProperties" : false }, - "oscal-ssp-oscal-ssp:system-characteristics" : - { "title" : "System Characteristics", - "description" : "Contains the characteristics of the system, such as its name, purpose, and security impact level.", - "$id" : "#assembly_oscal-ssp_system-characteristics", - "type" : "object", - "properties" : - { "system-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-implementation-common_system-id" } }, - "system-name" : - { "title" : "System Name - Full", - "description" : "The full name of the system.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "system-name-short" : - { "title" : "System Name - Short", - "description" : "A short name for the system, such as an acronym, that is suitable for display in a data table or summary list.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "description" : - { "title" : "System Description", - "description" : "A summary of the system.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "date-authorized" : - { "$ref" : "#field_oscal-ssp_date-authorized" }, - "security-sensitivity-level" : - { "title" : "Security Sensitivity Level", - "description" : "The overall information system sensitivity categorization, such as defined by FIPS-199.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "system-information" : - { "$ref" : "#assembly_oscal-ssp_system-information" }, - "security-impact-level" : - { "$ref" : "#assembly_oscal-ssp_security-impact-level" }, - "status" : - { "$ref" : "#assembly_oscal-ssp_status" }, - "authorization-boundary" : - { "$ref" : "#assembly_oscal-ssp_authorization-boundary" }, - "network-architecture" : - { "$ref" : "#assembly_oscal-ssp_network-architecture" }, - "data-flow" : - { "$ref" : "#assembly_oscal-ssp_data-flow" }, - "responsible-parties" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "system-ids", - "system-name", - "description", - "security-sensitivity-level", - "system-information", - "security-impact-level", - "status", - "authorization-boundary" ], - "additionalProperties" : false }, - "oscal-ssp-oscal-ssp:system-information" : - { "title" : "System Information", - "description" : "Contains details about all information types that are stored, processed, or transmitted by the system, such as privacy information, and those defined in NIST SP 800-60.", - "$id" : "#assembly_oscal-ssp_system-information", - "type" : "object", - "properties" : - { "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "information-types" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Information Type", - "description" : "Contains details about one information type that is stored, processed, or transmitted by the system, such as privacy information, and those defined in NIST SP 800-60.", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Information Type Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this information type elsewhere in this or other OSCAL instances. The locally defined UUID of the information type can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "title field", - "description" : "A human readable name for the information type. This title should be meaningful within the context of the system.", - "type" : "string" }, - "description" : - { "title" : "Information Type Description", - "description" : "A summary of how this information type is used within the system.", - "type" : "string" }, - "categorizations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Information Type Categorization", - "description" : "A set of information type identifiers qualified by the given identification system used, such as NIST SP 800-60.", - "type" : "object", - "properties" : - { "system" : - { "title" : "Information Type Identification System", - "description" : "Specifies the information type identification system used.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "information-type-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Information Type Systematized Identifier", - "description" : "A human-oriented, globally unique identifier qualified by the given identification system used, such as NIST SP 800-60. This identifier has cross-instance scope and can be used to reference this system elsewhere in this or other OSCAL instances. This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" } } }, - "required" : - [ "system" ], - "additionalProperties" : false } }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "confidentiality-impact" : - { "title" : "Confidentiality Impact Level", - "description" : "The expected level of impact resulting from the unauthorized disclosure of the described information.", - "type" : "object", - "properties" : - { "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "base" : - { "$ref" : "#field_oscal-ssp_base" }, - "selected" : - { "$ref" : "#field_oscal-ssp_selected" }, - "adjustment-justification" : - { "$ref" : "#field_oscal-ssp_adjustment-justification" } }, - "required" : - [ "base" ], - "additionalProperties" : false }, - "integrity-impact" : - { "title" : "Integrity Impact Level", - "description" : "The expected level of impact resulting from the unauthorized modification of the described information.", - "type" : "object", - "properties" : - { "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "base" : - { "$ref" : "#field_oscal-ssp_base" }, - "selected" : - { "$ref" : "#field_oscal-ssp_selected" }, - "adjustment-justification" : - { "$ref" : "#field_oscal-ssp_adjustment-justification" } }, - "required" : - [ "base" ], - "additionalProperties" : false }, - "availability-impact" : - { "title" : "Availability Impact Level", - "description" : "The expected level of impact resulting from the disruption of access to or use of the described information or the information system.", - "type" : "object", - "properties" : - { "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "base" : - { "$ref" : "#field_oscal-ssp_base" }, - "selected" : - { "$ref" : "#field_oscal-ssp_selected" }, - "adjustment-justification" : - { "$ref" : "#field_oscal-ssp_adjustment-justification" } }, - "required" : - [ "base" ], - "additionalProperties" : false } }, - "required" : - [ "title", - "description", - "confidentiality-impact", - "integrity-impact", - "availability-impact" ], - "additionalProperties" : false } } }, - "required" : - [ "information-types" ], - "additionalProperties" : false }, - "oscal-ssp-oscal-ssp:base" : - { "title" : "Base Level (Confidentiality, Integrity, or Availability)", - "description" : "The prescribed base (Confidentiality, Integrity, or Availability) security impact level.", - "$id" : "#field_oscal-ssp_base", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "oscal-ssp-oscal-ssp:selected" : - { "title" : "Selected Level (Confidentiality, Integrity, or Availability)", - "description" : "The selected (Confidentiality, Integrity, or Availability) security impact level.", - "$id" : "#field_oscal-ssp_selected", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "oscal-ssp-oscal-ssp:adjustment-justification" : - { "title" : "Adjustment Justification", - "description" : "If the selected security level is different from the base security level, this contains the justification for the change.", - "$id" : "#field_oscal-ssp_adjustment-justification", + "properties" : + { "uuid" : + { "title" : "System Security Plan Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this system security plan (SSP) elsewhere in this or other OSCAL instances. The locally defined UUID of the SSP can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance).This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "metadata" : + { "$ref" : "#assembly_oscal-metadata_metadata" }, + "import-profile" : + { "$ref" : "#assembly_oscal-ssp_import-profile" }, + "system-characteristics" : + { "$ref" : "#assembly_oscal-ssp_system-characteristics" }, + "system-implementation" : + { "$ref" : "#assembly_oscal-ssp_system-implementation" }, + "control-implementation" : + { "$ref" : "#assembly_oscal-ssp_control-implementation" }, + "back-matter" : + { "$ref" : "#assembly_oscal-metadata_back-matter" } }, + "required" : + [ "uuid", + "metadata", + "import-profile", + "system-characteristics", + "system-implementation", + "control-implementation" ], + "additionalProperties" : false }, + "oscal-ssp-oscal-ssp:import-profile" : + { "title" : "Import Profile", + "description" : "Used to import the OSCAL profile representing the system's control baseline.", + "$id" : "#assembly_oscal-ssp_import-profile", + "type" : "object", + "properties" : + { "href" : + { "title" : "Profile Reference", + "description" : "A resolvable URL reference to the profile or catalog to use as the system's control baseline.", + "$ref" : "#/definitions/URIReferenceDatatype" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "href" ], + "additionalProperties" : false }, + "oscal-ssp-oscal-ssp:system-characteristics" : + { "title" : "System Characteristics", + "description" : "Contains the characteristics of the system, such as its name, purpose, and security impact level.", + "$id" : "#assembly_oscal-ssp_system-characteristics", + "type" : "object", + "properties" : + { "system-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-implementation-common_system-id" } }, + "system-name" : + { "title" : "System Name - Full", + "description" : "The full name of the system.", + "$ref" : "#/definitions/StringDatatype" }, + "system-name-short" : + { "title" : "System Name - Short", + "description" : "A short name for the system, such as an acronym, that is suitable for display in a data table or summary list.", + "$ref" : "#/definitions/StringDatatype" }, + "description" : + { "title" : "System Description", + "description" : "A summary of the system.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "date-authorized" : + { "$ref" : "#field_oscal-ssp_date-authorized" }, + "security-sensitivity-level" : + { "title" : "Security Sensitivity Level", + "description" : "The overall information system sensitivity categorization, such as defined by FIPS-199.", + "$ref" : "#/definitions/StringDatatype" }, + "system-information" : + { "$ref" : "#assembly_oscal-ssp_system-information" }, + "security-impact-level" : + { "$ref" : "#assembly_oscal-ssp_security-impact-level" }, + "status" : + { "$ref" : "#assembly_oscal-ssp_status" }, + "authorization-boundary" : + { "$ref" : "#assembly_oscal-ssp_authorization-boundary" }, + "network-architecture" : + { "$ref" : "#assembly_oscal-ssp_network-architecture" }, + "data-flow" : + { "$ref" : "#assembly_oscal-ssp_data-flow" }, + "responsible-parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "system-ids", + "system-name", + "description", + "security-sensitivity-level", + "system-information", + "security-impact-level", + "status", + "authorization-boundary" ], + "additionalProperties" : false }, + "oscal-ssp-oscal-ssp:system-information" : + { "title" : "System Information", + "description" : "Contains details about all information types that are stored, processed, or transmitted by the system, such as privacy information, and those defined in NIST SP 800-60.", + "$id" : "#assembly_oscal-ssp_system-information", + "type" : "object", + "properties" : + { "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "information-types" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Information Type", + "description" : "Contains details about one information type that is stored, processed, or transmitted by the system, such as privacy information, and those defined in NIST SP 800-60.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Information Type Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this information type elsewhere in this or other OSCAL instances. The locally defined UUID of the information type can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "title field", + "description" : "A human readable name for the information type. This title should be meaningful within the context of the system.", + "type" : "string" }, + "description" : + { "title" : "Information Type Description", + "description" : "A summary of how this information type is used within the system.", + "type" : "string" }, + "categorizations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Information Type Categorization", + "description" : "A set of information type identifiers qualified by the given identification system used, such as NIST SP 800-60.", + "type" : "object", + "properties" : + { "system" : + { "title" : "Information Type Identification System", + "description" : "Specifies the information type identification system used.", + "$ref" : "#/definitions/URIDatatype" }, + "information-type-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Information Type Systematized Identifier", + "description" : "A human-oriented, globally unique identifier qualified by the given identification system used, such as NIST SP 800-60. This identifier has cross-instance scope and can be used to reference this system elsewhere in this or other OSCAL instances. This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/StringDatatype" } } }, + "required" : + [ "system" ], + "additionalProperties" : false } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "confidentiality-impact" : + { "$ref" : "#assembly_oscal-ssp_impact" }, + "integrity-impact" : + { "$ref" : "#assembly_oscal-ssp_impact" }, + "availability-impact" : + { "$ref" : "#assembly_oscal-ssp_impact" } }, + "required" : + [ "title", + "description" ], + "additionalProperties" : false } } }, + "required" : + [ "information-types" ], + "additionalProperties" : false }, + "oscal-ssp-oscal-ssp:impact" : + { "title" : "Impact Level", + "description" : "The expected level of impact resulting from the described information.", + "$id" : "#assembly_oscal-ssp_impact", + "type" : "object", + "properties" : + { "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "base" : + { "$ref" : "#field_oscal-ssp_base" }, + "selected" : + { "$ref" : "#field_oscal-ssp_selected" }, + "adjustment-justification" : + { "$ref" : "#field_oscal-ssp_adjustment-justification" } }, + "required" : + [ "base" ], + "additionalProperties" : false }, + "oscal-ssp-oscal-ssp:base" : + { "title" : "Base Level (Confidentiality, Integrity, or Availability)", + "description" : "The prescribed base (Confidentiality, Integrity, or Availability) security impact level.", + "$id" : "#field_oscal-ssp_base", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-ssp-oscal-ssp:selected" : + { "title" : "Selected Level (Confidentiality, Integrity, or Availability)", + "description" : "The selected (Confidentiality, Integrity, or Availability) security impact level.", + "$id" : "#field_oscal-ssp_selected", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-ssp-oscal-ssp:adjustment-justification" : + { "title" : "Adjustment Justification", + "description" : "If the selected security level is different from the base security level, this contains the justification for the change.", + "$id" : "#field_oscal-ssp_adjustment-justification", + "type" : "string" }, + "oscal-ssp-oscal-ssp:security-impact-level" : + { "title" : "Security Impact Level", + "description" : "The overall level of expected impact resulting from unauthorized disclosure, modification, or loss of access to information.", + "$id" : "#assembly_oscal-ssp_security-impact-level", + "type" : "object", + "properties" : + { "security-objective-confidentiality" : + { "title" : "Security Objective: Confidentiality", + "description" : "A target-level of confidentiality for the system, based on the sensitivity of information within the system.", + "$ref" : "#/definitions/StringDatatype" }, + "security-objective-integrity" : + { "title" : "Security Objective: Integrity", + "description" : "A target-level of integrity for the system, based on the sensitivity of information within the system.", + "$ref" : "#/definitions/StringDatatype" }, + "security-objective-availability" : + { "title" : "Security Objective: Availability", + "description" : "A target-level of availability for the system, based on the sensitivity of information within the system.", + "$ref" : "#/definitions/StringDatatype" } }, + "required" : + [ "security-objective-confidentiality", + "security-objective-integrity", + "security-objective-availability" ], + "additionalProperties" : false }, + "oscal-ssp-oscal-ssp:status" : + { "title" : "Status", + "description" : "Describes the operational status of the system.", + "$id" : "#assembly_oscal-ssp_status", + "type" : "object", + "properties" : + { "state" : + { "title" : "State", + "description" : "The current operating status.", + "allOf" : + [ + { "$ref" : "#/definitions/StringDatatype" }, + + { "enum" : + [ "operational", + "under-development", + "under-major-modification", + "disposition", + "other" ] } ] }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "state" ], + "additionalProperties" : false }, + "oscal-ssp-oscal-ssp:date-authorized" : + { "title" : "System Authorization Date", + "description" : "The date the system received its authorization.", + "$id" : "#field_oscal-ssp_date-authorized", + "$ref" : "#/definitions/DateDatatype" }, + "oscal-ssp-oscal-ssp:authorization-boundary" : + { "title" : "Authorization Boundary", + "description" : "A description of this system's authorization boundary, optionally supplemented by diagrams that illustrate the authorization boundary.", + "$id" : "#assembly_oscal-ssp_authorization-boundary", + "type" : "object", + "properties" : + { "description" : + { "title" : "Authorization Boundary Description", + "description" : "A summary of the system's authorization boundary.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "diagrams" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-ssp_diagram" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "description" ], + "additionalProperties" : false }, + "oscal-ssp-oscal-ssp:diagram" : + { "title" : "Diagram", + "description" : "A graphic that provides a visual representation the system, or some aspect of it.", + "$id" : "#assembly_oscal-ssp_diagram", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Diagram ID", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this diagram elsewhere in this or other OSCAL instances. The locally defined UUID of the diagram can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "description" : + { "title" : "Diagram Description", + "description" : "A summary of the diagram.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "caption" : + { "title" : "Caption", + "description" : "A brief caption to annotate the diagram.", + "type" : "string" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid" ], + "additionalProperties" : false }, + "oscal-ssp-oscal-ssp:network-architecture" : + { "title" : "Network Architecture", + "description" : "A description of the system's network architecture, optionally supplemented by diagrams that illustrate the network architecture.", + "$id" : "#assembly_oscal-ssp_network-architecture", + "type" : "object", + "properties" : + { "description" : + { "title" : "Network Architecture Description", + "description" : "A summary of the system's network architecture.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "diagrams" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-ssp_diagram" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "description" ], + "additionalProperties" : false }, + "oscal-ssp-oscal-ssp:data-flow" : + { "title" : "Data Flow", + "description" : "A description of the logical flow of information within the system and across its boundaries, optionally supplemented by diagrams that illustrate these flows.", + "$id" : "#assembly_oscal-ssp_data-flow", + "type" : "object", + "properties" : + { "description" : + { "title" : "Data Flow Description", + "description" : "A summary of the system's data flow.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "diagrams" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-ssp_diagram" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "description" ], + "additionalProperties" : false }, + "oscal-ssp-oscal-ssp:system-implementation" : + { "title" : "System Implementation", + "description" : "Provides information as to how the system is implemented.", + "$id" : "#assembly_oscal-ssp_system-implementation", + "type" : "object", + "properties" : + { "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "leveraged-authorizations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Leveraged Authorization", + "description" : "A description of another authorized system from which this system inherits capabilities that satisfy security requirements. Another term for this concept is a common control provider.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Leveraged Authorization Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope and can be used to reference this leveraged authorization elsewhere in this or other OSCAL instances. The locally defined UUID of the leveraged authorization can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "title field", + "description" : "A human readable name for the leveraged authorization in the context of the system.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "party-uuid" : + { "title" : "party-uuid field", + "description" : "A machine-oriented identifier reference to the party that manages the leveraged system.", + "$ref" : "#/definitions/UUIDDatatype" }, + "date-authorized" : + { "$ref" : "#field_oscal-ssp_date-authorized" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "title", + "party-uuid", + "date-authorized" ], + "additionalProperties" : false } }, + "users" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_system-user" } }, + "components" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_system-component" } }, + "inventory-items" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_inventory-item" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "users", + "components" ], + "additionalProperties" : false }, + "oscal-ssp-oscal-ssp:control-implementation" : + { "title" : "Control Implementation", + "description" : "Describes how the system satisfies a set of controls.", + "$id" : "#assembly_oscal-ssp_control-implementation", + "type" : "object", + "properties" : + { "description" : + { "title" : "Control Implementation Description", + "description" : "A statement describing important things to know about how this set of control satisfaction documentation is approached.", + "type" : "string" }, + "set-parameters" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_set-parameter" } }, + "implemented-requirements" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-ssp_implemented-requirement" } } }, + "required" : + [ "description", + "implemented-requirements" ], + "additionalProperties" : false }, + "oscal-ssp-oscal-ssp:implemented-requirement" : + { "title" : "Control-based Requirement", + "description" : "Describes how the system satisfies the requirements of an individual control.", + "$id" : "#assembly_oscal-ssp_implemented-requirement", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Control Requirement Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this control requirement elsewhere in this or other OSCAL instances. The locally defined UUID of the control requirement can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "control-id" : + { "title" : "Control Identifier Reference", + "description" : "A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference).", + "$ref" : "#/definitions/TokenDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "set-parameters" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_set-parameter" } }, + "responsible-roles" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, + "statements" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-ssp_statement" } }, + "by-components" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-ssp_by-component" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "control-id" ], + "additionalProperties" : false }, + "oscal-ssp-oscal-ssp:statement" : + { "title" : "Specific Control Statement", + "description" : "Identifies which statements within a control are addressed.", + "$id" : "#assembly_oscal-ssp_statement", + "type" : "object", + "properties" : + { "statement-id" : + { "title" : "Control Statement Reference", + "description" : "A human-oriented identifier reference to a control statement.", + "$ref" : "#/definitions/TokenDatatype" }, + "uuid" : + { "title" : "Control Statement Reference Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this control statement elsewhere in this or other OSCAL instances. The UUID of the control statement in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).", + "$ref" : "#/definitions/UUIDDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "responsible-roles" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, + "by-components" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-ssp_by-component" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "statement-id", + "uuid" ], + "additionalProperties" : false }, + "oscal-ssp-oscal-ssp:by-component" : + { "title" : "Component Control Implementation", + "description" : "Defines how the referenced component implements a set of controls.", + "$id" : "#assembly_oscal-ssp_by-component", + "type" : "object", + "properties" : + { "component-uuid" : + { "title" : "Component Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to the component that is implemeting a given control.", + "$ref" : "#/definitions/UUIDDatatype" }, + "uuid" : + { "title" : "By-Component Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this by-component entry elsewhere in this or other OSCAL instances. The locally defined UUID of the by-component entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "description" : + { "title" : "Control Implementation Description", + "description" : "An implementation statement that describes how a control or a control statement is implemented within the referenced system component.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "set-parameters" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_set-parameter" } }, + "implementation-status" : + { "$ref" : "#assembly_oscal-implementation-common_implementation-status" }, + "export" : + { "title" : "Export", + "description" : "Identifies content intended for external consumption, such as with leveraged organizations.", + "type" : "object", + "properties" : + { "description" : + { "title" : "Control Implementation Export Description", + "description" : "An implementation statement that describes the aspects of the control or control statement implementation that can be available to another system leveraging this system.", "type" : "string" }, - "oscal-ssp-oscal-ssp:security-impact-level" : - { "title" : "Security Impact Level", - "description" : "The overall level of expected impact resulting from unauthorized disclosure, modification, or loss of access to information.", - "$id" : "#assembly_oscal-ssp_security-impact-level", - "type" : "object", - "properties" : - { "security-objective-confidentiality" : - { "title" : "Security Objective: Confidentiality", - "description" : "A target-level of confidentiality for the system, based on the sensitivity of information within the system.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "security-objective-integrity" : - { "title" : "Security Objective: Integrity", - "description" : "A target-level of integrity for the system, based on the sensitivity of information within the system.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "security-objective-availability" : - { "title" : "Security Objective: Availability", - "description" : "A target-level of availability for the system, based on the sensitivity of information within the system.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" } }, - "required" : - [ "security-objective-confidentiality", - "security-objective-integrity", - "security-objective-availability" ], - "additionalProperties" : false }, - "oscal-ssp-oscal-ssp:status" : - { "title" : "Status", - "description" : "Describes the operational status of the system.", - "$id" : "#assembly_oscal-ssp_status", - "type" : "object", - "properties" : - { "state" : - { "title" : "State", - "description" : "The current operating status.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$", - "enum" : - [ "operational", - "under-development", - "under-major-modification", - "disposition", - "other" ] }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "state" ], - "additionalProperties" : false }, - "oscal-ssp-oscal-ssp:date-authorized" : - { "title" : "System Authorization Date", - "description" : "The date the system received its authorization.", - "$id" : "#field_oscal-ssp_date-authorized", - "type" : "string", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))(Z|[+-][0-9]{2}:[0-9]{2})?$" }, - "oscal-ssp-oscal-ssp:authorization-boundary" : - { "title" : "Authorization Boundary", - "description" : "A description of this system's authorization boundary, optionally supplemented by diagrams that illustrate the authorization boundary.", - "$id" : "#assembly_oscal-ssp_authorization-boundary", - "type" : "object", - "properties" : - { "description" : - { "title" : "Authorization Boundary Description", - "description" : "A summary of the system's authorization boundary.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "diagrams" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-ssp_diagram" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "description" ], - "additionalProperties" : false }, - "oscal-ssp-oscal-ssp:diagram" : - { "title" : "Diagram", - "description" : "A graphic that provides a visual representation the system, or some aspect of it.", - "$id" : "#assembly_oscal-ssp_diagram", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Diagram ID", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this diagram elsewhere in this or other OSCAL instances. The locally defined UUID of the diagram can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "provided" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Provided Control Implementation", + "description" : "Describes a capability which may be inherited by a leveraging system.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Provided Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this provided entry elsewhere in this or other OSCAL instances. The locally defined UUID of the provided entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, "description" : - { "title" : "Diagram Description", - "description" : "A summary of the diagram.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "caption" : - { "title" : "Caption", - "description" : "A brief caption to annotate the diagram.", - "type" : "string" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid" ], - "additionalProperties" : false }, - "oscal-ssp-oscal-ssp:network-architecture" : - { "title" : "Network Architecture", - "description" : "A description of the system's network architecture, optionally supplemented by diagrams that illustrate the network architecture.", - "$id" : "#assembly_oscal-ssp_network-architecture", - "type" : "object", - "properties" : - { "description" : - { "title" : "Network Architecture Description", - "description" : "A summary of the system's network architecture.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "diagrams" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-ssp_diagram" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "description" ], - "additionalProperties" : false }, - "oscal-ssp-oscal-ssp:data-flow" : - { "title" : "Data Flow", - "description" : "A description of the logical flow of information within the system and across its boundaries, optionally supplemented by diagrams that illustrate these flows.", - "$id" : "#assembly_oscal-ssp_data-flow", - "type" : "object", - "properties" : - { "description" : - { "title" : "Data Flow Description", - "description" : "A summary of the system's data flow.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "diagrams" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-ssp_diagram" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "description" ], - "additionalProperties" : false }, - "oscal-ssp-oscal-ssp:system-implementation" : - { "title" : "System Implementation", - "description" : "Provides information as to how the system is implemented.", - "$id" : "#assembly_oscal-ssp_system-implementation", - "type" : "object", - "properties" : - { "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "leveraged-authorizations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Leveraged Authorization", - "description" : "A description of another authorized system from which this system inherits capabilities that satisfy security requirements. Another term for this concept is a common control provider.", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Leveraged Authorization Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope and can be used to reference this leveraged authorization elsewhere in this or other OSCAL instances. The locally defined UUID of the leveraged authorization can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "title field", - "description" : "A human readable name for the leveraged authorization in the context of the system.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "party-uuid" : - { "title" : "party-uuid field", - "description" : "A machine-oriented identifier reference to the party that manages the leveraged system.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "date-authorized" : - { "$ref" : "#field_oscal-ssp_date-authorized" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "title", - "party-uuid", - "date-authorized" ], - "additionalProperties" : false } }, - "users" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_system-user" } }, - "components" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_system-component" } }, - "inventory-items" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_inventory-item" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "users", - "components" ], - "additionalProperties" : false }, - "oscal-ssp-oscal-ssp:control-implementation" : - { "title" : "Control Implementation", - "description" : "Describes how the system satisfies a set of controls.", - "$id" : "#assembly_oscal-ssp_control-implementation", - "type" : "object", - "properties" : - { "description" : - { "title" : "Control Implementation Description", - "description" : "A statement describing important things to know about how this set of control satisfaction documentation is approached.", - "type" : "string" }, - "set-parameters" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_set-parameter" } }, - "implemented-requirements" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-ssp_implemented-requirement" } } }, - "required" : - [ "description", - "implemented-requirements" ], - "additionalProperties" : false }, - "oscal-ssp-oscal-ssp:implemented-requirement" : - { "title" : "Control-based Requirement", - "description" : "Describes how the system satisfies the requirements of an individual control.", - "$id" : "#assembly_oscal-ssp_implemented-requirement", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Control Requirement Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this control requirement elsewhere in this or other OSCAL instances. The locally defined UUID of the control requirement can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "control-id" : - { "title" : "Control Identifier Reference", - "description" : "A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference).", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "set-parameters" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_set-parameter" } }, - "responsible-roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, - "statements" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-ssp_statement" } }, - "by-components" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-ssp_by-component" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "control-id" ], - "additionalProperties" : false }, - "oscal-ssp-oscal-ssp:statement" : - { "title" : "Specific Control Statement", - "description" : "Identifies which statements within a control are addressed.", - "$id" : "#assembly_oscal-ssp_statement", - "type" : "object", - "properties" : - { "statement-id" : - { "title" : "Control Statement Reference", - "description" : "A human-oriented identifier reference to a control statement.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "uuid" : - { "title" : "Control Statement Reference Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this control statement elsewhere in this or other OSCAL instances. The UUID of the control statement in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, + { "title" : "Provided Control Implementation Description", + "description" : "An implementation statement that describes the aspects of the control or control statement implementation that can be provided to another system leveraging this system.", + "type" : "string" }, "props" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, "links" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, "responsible-roles" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, - "by-components" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-ssp_by-component" } }, + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, "remarks" : { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "statement-id", - "uuid" ], - "additionalProperties" : false }, - "oscal-ssp-oscal-ssp:by-component" : - { "title" : "Component Control Implementation", - "description" : "Defines how the referenced component implements a set of controls.", - "$id" : "#assembly_oscal-ssp_by-component", - "type" : "object", - "properties" : - { "component-uuid" : - { "title" : "Component Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to the component that is implemeting a given control.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "uuid" : - { "title" : "By-Component Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this by-component entry elsewhere in this or other OSCAL instances. The locally defined UUID of the by-component entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, + "required" : + [ "uuid", + "description" ], + "additionalProperties" : false } }, + "responsibilities" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Control Implementation Responsibility", + "description" : "Describes a control implementation responsibility imposed on a leveraging system.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Responsibility Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this responsibility elsewhere in this or other OSCAL instances. The locally defined UUID of the responsibility can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "provided-uuid" : + { "title" : "Provided UUID", + "description" : "A machine-oriented identifier reference to an inherited control implementation that a leveraging system is inheriting from a leveraged system.", + "$ref" : "#/definitions/UUIDDatatype" }, "description" : - { "title" : "Control Implementation Description", - "description" : "An implementation statement that describes how a control or a control statement is implemented within the referenced system component.", - "type" : "string" }, + { "title" : "Control Implementation Responsibility Description", + "description" : "An implementation statement that describes the aspects of the control or control statement implementation that a leveraging system must implement to satisfy the control provided by a leveraged system.", + "type" : "string" }, "props" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, "links" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "set-parameters" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_set-parameter" } }, - "implementation-status" : - { "$ref" : "#assembly_oscal-implementation-common_implementation-status" }, - "export" : - { "title" : "Export", - "description" : "Identifies content intended for external consumption, such as with leveraged organizations.", - "type" : "object", - "properties" : - { "description" : - { "title" : "Control Implementation Export Description", - "description" : "An implementation statement that describes the aspects of the control or control statement implementation that can be available to another system leveraging this system.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "provided" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Provided Control Implementation", - "description" : "Describes a capability which may be inherited by a leveraging system.", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Provided Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this provided entry elsewhere in this or other OSCAL instances. The locally defined UUID of the provided entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "description" : - { "title" : "Provided Control Implementation Description", - "description" : "An implementation statement that describes the aspects of the control or control statement implementation that can be provided to another system leveraging this system.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "responsible-roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "description" ], - "additionalProperties" : false } }, - "responsibilities" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Control Implementation Responsibility", - "description" : "Describes a control implementation responsibility imposed on a leveraging system.", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Responsibility Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this responsibility elsewhere in this or other OSCAL instances. The locally defined UUID of the responsibility can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "provided-uuid" : - { "title" : "Provided UUID", - "description" : "A machine-oriented identifier reference to an inherited control implementation that a leveraging system is inheriting from a leveraged system.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "description" : - { "title" : "Control Implementation Responsibility Description", - "description" : "An implementation statement that describes the aspects of the control or control statement implementation that a leveraging system must implement to satisfy the control provided by a leveraged system.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "responsible-roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "description" ], - "additionalProperties" : false } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "additionalProperties" : false }, - "inherited" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Inherited Control Implementation", - "description" : "Describes a control implementation inherited by a leveraging system.", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Inherited Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inherited entry elsewhere in this or other OSCAL instances. The locally defined UUID of the inherited control implementation can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "provided-uuid" : - { "title" : "Provided UUID", - "description" : "A machine-oriented identifier reference to an inherited control implementation that a leveraging system is inheriting from a leveraged system.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "description" : - { "title" : "Inherited Control Implementation Description", - "description" : "An implementation statement that describes the aspects of a control or control statement implementation that a leveraging system is inheriting from a leveraged system.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "responsible-roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-role" } } }, - "required" : - [ "uuid", - "description" ], - "additionalProperties" : false } }, - "satisfied" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Satisfied Control Implementation Responsibility", - "description" : "Describes how this system satisfies a responsibility imposed by a leveraged system.", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Satisfied Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this satisfied control implementation entry elsewhere in this or other OSCAL instances. The locally defined UUID of the control implementation can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "responsibility-uuid" : - { "title" : "Responsibility UUID", - "description" : "A machine-oriented identifier reference to a control implementation that satisfies a responsibility imposed by a leveraged system.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "description" : - { "title" : "Satisfied Control Implementation Responsibility Description", - "description" : "An implementation statement that describes the aspects of a control or control statement implementation that a leveraging system is implementing based on a requirement from a leveraged system.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "responsible-roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "description" ], - "additionalProperties" : false } }, + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, "responsible-roles" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, "remarks" : { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "component-uuid", - "uuid", + "required" : + [ "uuid", "description" ], - "additionalProperties" : false }, - "oscal-ssp-oscal-metadata:metadata" : - { "title" : "Publication metadata", - "description" : "Provides information about the publication and availability of the containing document.", - "$id" : "#assembly_oscal-metadata_metadata", - "type" : "object", - "properties" : - { "title" : - { "title" : "Document Title", - "description" : "A name given to the document, which may be used by a tool for display and navigation.", - "type" : "string" }, - "published" : - { "$ref" : "#field_oscal-metadata_published" }, - "last-modified" : - { "$ref" : "#field_oscal-metadata_last-modified" }, - "version" : - { "$ref" : "#field_oscal-metadata_version" }, - "oscal-version" : - { "$ref" : "#field_oscal-metadata_oscal-version" }, - "revisions" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_revision" } }, - "document-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_document-id" } }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_role" } }, - "locations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_location" } }, - "parties" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_party" } }, - "responsible-parties" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "title", - "last-modified", - "version", - "oscal-version" ], - "additionalProperties" : false }, - "oscal-ssp-oscal-metadata:revision" : + "additionalProperties" : false } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "additionalProperties" : false }, + "inherited" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Inherited Control Implementation", + "description" : "Describes a control implementation inherited by a leveraging system.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Inherited Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inherited entry elsewhere in this or other OSCAL instances. The locally defined UUID of the inherited control implementation can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "provided-uuid" : + { "title" : "Provided UUID", + "description" : "A machine-oriented identifier reference to an inherited control implementation that a leveraging system is inheriting from a leveraged system.", + "$ref" : "#/definitions/UUIDDatatype" }, + "description" : + { "title" : "Inherited Control Implementation Description", + "description" : "An implementation statement that describes the aspects of a control or control statement implementation that a leveraging system is inheriting from a leveraged system.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "responsible-roles" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-role" } } }, + "required" : + [ "uuid", + "description" ], + "additionalProperties" : false } }, + "satisfied" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Satisfied Control Implementation Responsibility", + "description" : "Describes how this system satisfies a responsibility imposed by a leveraged system.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Satisfied Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this satisfied control implementation entry elsewhere in this or other OSCAL instances. The locally defined UUID of the control implementation can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "responsibility-uuid" : + { "title" : "Responsibility UUID", + "description" : "A machine-oriented identifier reference to a control implementation that satisfies a responsibility imposed by a leveraged system.", + "$ref" : "#/definitions/UUIDDatatype" }, + "description" : + { "title" : "Satisfied Control Implementation Responsibility Description", + "description" : "An implementation statement that describes the aspects of a control or control statement implementation that a leveraging system is implementing based on a requirement from a leveraged system.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "responsible-roles" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "description" ], + "additionalProperties" : false } }, + "responsible-roles" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "component-uuid", + "uuid", + "description" ], + "additionalProperties" : false }, + "oscal-ssp-oscal-metadata:metadata" : + { "title" : "Document Metadata", + "description" : "Provides information about the containing document, and defines concepts that are shared across the document.", + "$id" : "#assembly_oscal-metadata_metadata", + "type" : "object", + "properties" : + { "title" : + { "title" : "Document Title", + "description" : "A name given to the document, which may be used by a tool for display and navigation.", + "type" : "string" }, + "published" : + { "$ref" : "#field_oscal-metadata_published" }, + "last-modified" : + { "$ref" : "#field_oscal-metadata_last-modified" }, + "version" : + { "$ref" : "#field_oscal-metadata_version" }, + "oscal-version" : + { "$ref" : "#field_oscal-metadata_oscal-version" }, + "revisions" : + { "type" : "array", + "minItems" : 1, + "items" : { "title" : "Revision History Entry", - "description" : "An entry in a sequential list of revisions to the containing document in reverse chronological order (i.e., most recent previous revision first).", - "$id" : "#assembly_oscal-metadata_revision", - "type" : "object", - "properties" : - { "title" : - { "title" : "Document Title", - "description" : "A name given to the document revision, which may be used by a tool for display and navigation.", - "type" : "string" }, - "published" : - { "$ref" : "#field_oscal-metadata_published" }, - "last-modified" : - { "$ref" : "#field_oscal-metadata_last-modified" }, - "version" : - { "$ref" : "#field_oscal-metadata_version" }, - "oscal-version" : - { "$ref" : "#field_oscal-metadata_oscal-version" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "version" ], - "additionalProperties" : false }, - "oscal-ssp-oscal-metadata:location" : - { "title" : "Location", - "description" : "A location, with associated metadata that can be referenced.", - "$id" : "#assembly_oscal-metadata_location", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Location Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined location elsewhere in this or other OSCAL instances. The locally defined UUID of the location can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Location Title", - "description" : "A name given to the location, which may be used by a tool for display and navigation.", - "type" : "string" }, - "address" : - { "$ref" : "#assembly_oscal-metadata_address" }, - "email-addresses" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_email-address" } }, - "telephone-numbers" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_telephone-number" } }, - "urls" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Location URL", - "description" : "The uniform resource locator (URL) for a web site or Internet presence associated with the location.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" } }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "address" ], - "additionalProperties" : false }, - "oscal-ssp-oscal-metadata:location-uuid" : - { "title" : "Location Reference", - "description" : "A machine-oriented identifier reference to a location defined in the metadata section of this or another OSCAL instance. The UUID of the location in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).", - "$id" : "#field_oscal-metadata_location-uuid", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "oscal-ssp-oscal-metadata:party" : - { "title" : "Party (organization or person)", - "description" : "A responsible entity which is either a person or an organization.", - "$id" : "#assembly_oscal-metadata_party", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Party Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined party elsewhere in this or other OSCAL instances. The locally defined UUID of the party can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "type" : - { "title" : "Party Type", - "description" : "A category describing the kind of party the object describes.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$", - "enum" : - [ "person", - "organization" ] }, - "name" : - { "title" : "Party Name", - "description" : "The full name of the party. This is typically the legal name associated with the party.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "short-name" : - { "title" : "Party Short Name", - "description" : "A short common name, abbreviation, or acronym for the party.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "external-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Party External Identifier", - "description" : "An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID)", - "type" : "object", - "properties" : - { "scheme" : - { "title" : "External Identifier Schema", - "description" : "Indicates the type of external identifier.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "id" : - { "type" : "string" } }, - "required" : - [ "id", - "scheme" ], - "additionalProperties" : false } }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "email-addresses" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_email-address" } }, - "telephone-numbers" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_telephone-number" } }, - "addresses" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_address" } }, - "location-uuids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_location-uuid" } }, - "member-of-organizations" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Organizational Affiliation", - "description" : "A machine-oriented identifier reference to another party (person or organization) that this subject is associated with. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "type" ], - "additionalProperties" : false }, - "oscal-ssp-oscal-metadata:party-uuid" : - { "title" : "Party Reference", - "description" : "A machine-oriented identifier reference to another party defined in metadata. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance).", - "$id" : "#field_oscal-metadata_party-uuid", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "oscal-ssp-oscal-metadata:role" : + "description" : "An entry in a sequential list of revisions to the containing document, expected to be in reverse chronological order (i.e. latest first).", + "type" : "object", + "properties" : + { "title" : + { "title" : "Document Title", + "description" : "A name given to the document revision, which may be used by a tool for display and navigation.", + "type" : "string" }, + "published" : + { "$ref" : "#field_oscal-metadata_published" }, + "last-modified" : + { "$ref" : "#field_oscal-metadata_last-modified" }, + "version" : + { "$ref" : "#field_oscal-metadata_version" }, + "oscal-version" : + { "$ref" : "#field_oscal-metadata_oscal-version" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "version" ], + "additionalProperties" : false } }, + "document-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_document-id" } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "roles" : + { "type" : "array", + "minItems" : 1, + "items" : { "title" : "Role", - "description" : "Defines a function assumed or expected to be assumed by a party in a specific situation.", - "$id" : "#assembly_oscal-metadata_role", - "type" : "object", - "properties" : - { "id" : - { "title" : "Role Identifier", - "description" : "A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined role elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, the locally defined ID of the Role from the imported OSCAL instance must be referenced in the context of the containing resource (e.g., import, import-component-definition, import-profile, import-ssp or import-ap). This ID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "title" : - { "title" : "Role Title", - "description" : "A name given to the role, which may be used by a tool for display and navigation.", - "type" : "string" }, - "short-name" : - { "title" : "Role Short Name", - "description" : "A short common name, abbreviation, or acronym for the role.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "description" : - { "title" : "Role Description", - "description" : "A summary of the role's purpose and associated responsibilities.", - "type" : "string" }, + "description" : "Defines a function, which might be assigned to a party in a specific situation.", + "type" : "object", + "properties" : + { "id" : + { "title" : "Role Identifier", + "description" : "A unique identifier for the role.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Role Title", + "description" : "A name given to the role, which may be used by a tool for display and navigation.", + "type" : "string" }, + "short-name" : + { "title" : "Role Short Name", + "description" : "A short common name, abbreviation, or acronym for the role.", + "$ref" : "#/definitions/StringDatatype" }, + "description" : + { "title" : "Role Description", + "description" : "A summary of the role's purpose and associated responsibilities.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "id", + "title" ], + "additionalProperties" : false } }, + "locations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Location", + "description" : "A physical point of presence, which may be associated with people, organizations, or other concepts within the current or linked OSCAL document.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Location Universally Unique Identifier", + "description" : "A unique ID for the location, for reference.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Location Title", + "description" : "A name given to the location, which may be used by a tool for display and navigation.", + "type" : "string" }, + "address" : + { "$ref" : "#assembly_oscal-metadata_address" }, + "email-addresses" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_email-address" } }, + "telephone-numbers" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_telephone-number" } }, + "urls" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Location URL", + "description" : "The uniform resource locator (URL) for a web site or other resource associated with the location.", + "$ref" : "#/definitions/URIDatatype" } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid" ], + "additionalProperties" : false } }, + "parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Party", + "description" : "An organization or person, which may be associated with roles or other concepts within the current or linked OSCAL document.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Party Universally Unique Identifier", + "description" : "A unique identifier for the party.", + "$ref" : "#/definitions/UUIDDatatype" }, + "type" : + { "title" : "Party Type", + "description" : "A category describing the kind of party the object describes.", + "allOf" : + [ + { "$ref" : "#/definitions/StringDatatype" }, + + { "enum" : + [ "person", + "organization" ] } ] }, + "name" : + { "title" : "Party Name", + "description" : "The full name of the party. This is typically the legal name associated with the party.", + "$ref" : "#/definitions/StringDatatype" }, + "short-name" : + { "title" : "Party Short Name", + "description" : "A short common name, abbreviation, or acronym for the party.", + "$ref" : "#/definitions/StringDatatype" }, + "external-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Party External Identifier", + "description" : "An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID).", + "type" : "object", + "properties" : + { "scheme" : + { "title" : "External Identifier Schema", + "description" : "Indicates the type of external identifier.", + "$ref" : "#/definitions/URIDatatype" }, + "id" : + { "type" : "string" } }, + "required" : + [ "id", + "scheme" ], + "additionalProperties" : false } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "email-addresses" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_email-address" } }, + "telephone-numbers" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_telephone-number" } }, + "addresses" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_address" } }, + "location-uuids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_location-uuid" } }, + "member-of-organizations" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Organizational Affiliation", + "description" : "A reference to another party by UUID, typically an organization, that this subject is associated with.", + "$ref" : "#/definitions/UUIDDatatype" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "type" ], + "additionalProperties" : false } }, + "responsible-parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, + "actions" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_action" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "title", + "last-modified", + "version", + "oscal-version" ], + "additionalProperties" : false }, + "oscal-ssp-oscal-metadata:location-uuid" : + { "title" : "Location Universally Unique Identifier Reference", + "description" : "Reference to a location by UUID.", + "$id" : "#field_oscal-metadata_location-uuid", + "$ref" : "#/definitions/UUIDDatatype" }, + "oscal-ssp-oscal-metadata:party-uuid" : + { "title" : "Party Universally Unique Identifier Reference", + "description" : "Reference to a party by UUID.", + "$id" : "#field_oscal-metadata_party-uuid", + "$ref" : "#/definitions/UUIDDatatype" }, + "oscal-ssp-oscal-metadata:role-id" : + { "title" : "Role Identifier Reference", + "description" : "Reference to a role by UUID.", + "$id" : "#field_oscal-metadata_role-id", + "$ref" : "#/definitions/TokenDatatype" }, + "oscal-ssp-oscal-metadata:back-matter" : + { "title" : "Back matter", + "description" : "A collection of resources that may be referenced from within the OSCAL document instance.", + "$id" : "#assembly_oscal-metadata_back-matter", + "type" : "object", + "properties" : + { "resources" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Resource", + "description" : "A resource associated with content in the containing document instance. A resource may be directly included in the document using base64 encoding or may point to one or more equivalent internet resources.", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Resource Universally Unique Identifier", + "description" : "A unique identifier for a resource.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "Resource Title", + "description" : "An optional name given to the resource, which may be used by a tool for display and navigation.", + "type" : "string" }, + "description" : + { "title" : "Resource Description", + "description" : "An optional short summary of the resource used to indicate the purpose of the resource.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "document-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_document-id" } }, + "citation" : + { "title" : "Citation", + "description" : "An optional citation consisting of end note text using structured markup.", + "type" : "object", + "properties" : + { "text" : + { "title" : "Citation Text", + "description" : "A line of citation text.", + "type" : "string" }, "props" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, "links" : { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "id", - "title" ], - "additionalProperties" : false }, - "oscal-ssp-oscal-metadata:role-id" : - { "title" : "Role Identifier Reference", - "description" : "A human-oriented identifier reference to roles served by the user.", - "$id" : "#field_oscal-metadata_role-id", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "oscal-ssp-oscal-metadata:back-matter" : - { "title" : "Back matter", - "description" : "A collection of resources, which may be included directly or by reference.", - "$id" : "#assembly_oscal-metadata_back-matter", - "type" : "object", - "properties" : - { "resources" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Resource", - "description" : "A resource associated with content in the containing document. A resource may be directly included in the document base64 encoded or may point to one or more equivalent internet resources.", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Resource Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined resource elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "Resource Title", - "description" : "A name given to the resource, which may be used by a tool for display and navigation.", - "type" : "string" }, - "description" : - { "title" : "Resource Description", - "description" : "A short summary of the resource used to indicate the purpose of the resource.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "document-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_document-id" } }, - "citation" : - { "title" : "Citation", - "description" : "A citation consisting of end note text and optional structured bibliographic data.", - "type" : "object", - "properties" : - { "text" : - { "title" : "Citation Text", - "description" : "A line of citation text.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } } }, - "required" : - [ "text" ], - "additionalProperties" : false }, - "rlinks" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Resource link", - "description" : "A pointer to an external resource with an optional hash for verification and change detection.", - "type" : "object", - "properties" : - { "href" : - { "title" : "Hypertext Reference", - "description" : "A resolvable URI reference to a resource.", - "type" : "string", - "format" : "uri-reference" }, - "media-type" : - { "title" : "Media Type", - "description" : "Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "hashes" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_hash" } } }, - "required" : - [ "href" ], - "additionalProperties" : false } }, - "base64" : - { "title" : "Base64", - "description" : "The Base64 alphabet in RFC 2045 - aligned with XSD.", - "type" : "object", - "properties" : - { "filename" : - { "title" : "File Name", - "description" : "Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded.", - "type" : "string", - "format" : "uri-reference" }, - "media-type" : - { "title" : "Media Type", - "description" : "Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "value" : - { "type" : "string" } }, - "required" : - [ "value" ], - "additionalProperties" : false }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid" ], - "additionalProperties" : false } } }, - "additionalProperties" : false }, - "oscal-ssp-oscal-metadata:property" : - { "title" : "Property", - "description" : "An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.", - "$id" : "#assembly_oscal-metadata_property", - "type" : "object", - "properties" : - { "name" : - { "title" : "Property Name", - "description" : "A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "uuid" : - { "title" : "Property Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "ns" : - { "title" : "Property Namespace", - "description" : "A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "value" : - { "title" : "Property Value", - "description" : "Indicates the value of the attribute, characteristic, or quality.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "class" : - { "title" : "Property Class", - "description" : "A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "name", - "value" ], - "additionalProperties" : false }, - "oscal-ssp-oscal-metadata:link" : - { "title" : "Link", - "description" : "A reference to a local or remote resource", - "$id" : "#assembly_oscal-metadata_link", - "type" : "object", - "properties" : - { "href" : - { "title" : "Hypertext Reference", - "description" : "A resolvable URL reference to a resource.", - "type" : "string", - "format" : "uri-reference" }, - "rel" : - { "title" : "Relation", - "description" : "Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } } }, + "required" : + [ "text" ], + "additionalProperties" : false }, + "rlinks" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Resource link", + "description" : "A URL-based pointer to an external resource with an optional hash for verification and change detection.", + "type" : "object", + "properties" : + { "href" : + { "title" : "Hypertext Reference", + "description" : "A resolvable URL pointing to the referenced resource.", + "$ref" : "#/definitions/URIReferenceDatatype" }, + "media-type" : + { "title" : "Media Type", + "description" : "A label that indicates the nature of a resource, as a data serialization or format.", + "$ref" : "#/definitions/StringDatatype" }, + "hashes" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_hash" } } }, + "required" : + [ "href" ], + "additionalProperties" : false } }, + "base64" : + { "title" : "Base64", + "description" : "A resource encoded using the Base64 alphabet defined by RFC 2045.", + "type" : "object", + "properties" : + { "filename" : + { "title" : "File Name", + "description" : "Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded.", + "$ref" : "#/definitions/TokenDatatype" }, "media-type" : { "title" : "Media Type", - "description" : "Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "text" : - { "title" : "Link Text", - "description" : "A textual label to associate with the link, which may be used for presentation in a tool.", - "type" : "string" } }, - "required" : - [ "href" ], - "additionalProperties" : false }, - "oscal-ssp-oscal-metadata:responsible-party" : - { "title" : "Responsible Party", - "description" : "A reference to a set of organizations or persons that have responsibility for performing a referenced role in the context of the containing object.", - "$id" : "#assembly_oscal-metadata_responsible-party", - "type" : "object", - "properties" : - { "role-id" : - { "title" : "Responsible Role", - "description" : "A human-oriented identifier reference to roles served by the user.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "party-uuids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_party-uuid" } }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "role-id", - "party-uuids" ], - "additionalProperties" : false }, - "oscal-ssp-oscal-metadata:responsible-role" : - { "title" : "Responsible Role", - "description" : "A reference to one or more roles with responsibility for performing a function relative to the containing object.", - "$id" : "#assembly_oscal-metadata_responsible-role", - "type" : "object", - "properties" : - { "role-id" : - { "title" : "Responsible Role ID", - "description" : "A human-oriented identifier reference to roles responsible for the business function.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "party-uuids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_party-uuid" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "role-id" ], - "additionalProperties" : false }, - "oscal-ssp-oscal-metadata:hash" : - { "title" : "Hash", - "description" : "A representation of a cryptographic digest generated over a resource using a specified hash algorithm.", - "$id" : "#field_oscal-metadata_hash", - "type" : "object", - "properties" : - { "algorithm" : - { "title" : "Hash algorithm", - "description" : "Method by which a hash is derived", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, + "description" : "A label that indicates the nature of a resource, as a data serialization or format.", + "$ref" : "#/definitions/StringDatatype" }, "value" : { "type" : "string" } }, - "required" : - [ "value", - "algorithm" ], - "additionalProperties" : false }, - "oscal-ssp-oscal-metadata:remarks" : - { "title" : "Remarks", - "description" : "Additional commentary on the containing object.", - "$id" : "#field_oscal-metadata_remarks", - "type" : "string" }, - "oscal-ssp-oscal-metadata:published" : - { "title" : "Publication Timestamp", - "description" : "The date and time the document was published. The date-time value must be formatted according to RFC 3339 with full time and time zone included.", - "$id" : "#field_oscal-metadata_published", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "oscal-ssp-oscal-metadata:last-modified" : - { "title" : "Last Modified Timestamp", - "description" : "The date and time the document was last modified. The date-time value must be formatted according to RFC 3339 with full time and time zone included.", - "$id" : "#field_oscal-metadata_last-modified", - "type" : "string", - "format" : "date-time", - "pattern" : "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$" }, - "oscal-ssp-oscal-metadata:version" : - { "title" : "Document Version", - "description" : "A string used to distinguish the current version of the document from other previous (and future) versions.", - "$id" : "#field_oscal-metadata_version", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "oscal-ssp-oscal-metadata:oscal-version" : - { "title" : "OSCAL version", - "description" : "The OSCAL model version the document was authored against.", - "$id" : "#field_oscal-metadata_oscal-version", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "oscal-ssp-oscal-metadata:email-address" : - { "title" : "Email Address", - "description" : "An email address as defined by RFC 5322 Section 3.4.1.", - "$id" : "#field_oscal-metadata_email-address", - "type" : "string", - "format" : "email", - "pattern" : "^.+@.+$" }, - "oscal-ssp-oscal-metadata:telephone-number" : - { "title" : "Telephone Number", - "description" : "Contact number by telephone.", - "$id" : "#field_oscal-metadata_telephone-number", - "type" : "object", - "properties" : - { "type" : - { "title" : "type flag", - "description" : "Indicates the type of phone number.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "number" : - { "type" : "string" } }, - "required" : - [ "number" ], - "additionalProperties" : false }, - "oscal-ssp-oscal-metadata:address" : - { "title" : "Address", - "description" : "A postal address for the location.", - "$id" : "#assembly_oscal-metadata_address", - "type" : "object", - "properties" : - { "type" : - { "title" : "Address Type", - "description" : "Indicates the type of address.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "addr-lines" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_addr-line" } }, - "city" : - { "title" : "City", - "description" : "City, town or geographical region for the mailing address.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "state" : - { "title" : "State", - "description" : "State, province or analogous geographical region for mailing address", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "postal-code" : - { "title" : "Postal Code", - "description" : "Postal or ZIP code for mailing address", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "country" : - { "title" : "Country Code", - "description" : "The ISO 3166-1 alpha-2 country code for the mailing address.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" } }, - "additionalProperties" : false }, - "oscal-ssp-oscal-metadata:addr-line" : - { "title" : "Address line", - "description" : "A single line of an address.", - "$id" : "#field_oscal-metadata_addr-line", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "oscal-ssp-oscal-metadata:document-id" : - { "title" : "Document Identifier", - "description" : "A document identifier qualified by an identifier scheme. A document identifier provides a globally unique identifier with a cross-instance scope that is used for a group of documents that are to be treated as different versions of the same document. If this element does not appear, or if the value of this element is empty, the value of \"document-id\" is equal to the value of the \"uuid\" flag of the top-level root element.", - "$id" : "#field_oscal-metadata_document-id", - "type" : "object", - "properties" : - { "scheme" : - { "title" : "Document Identification Scheme", - "description" : "Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "identifier" : - { "type" : "string" } }, - "required" : - [ "identifier" ], - "additionalProperties" : false }, - "oscal-ssp-oscal-implementation-common:system-component" : - { "title" : "Component", - "description" : "A defined component that can be part of an implemented system.", - "$id" : "#assembly_oscal-implementation-common_system-component", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Component Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component elsewhere in this or other OSCAL instances. The locally defined UUID of the component can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "type" : - { "title" : "Component Type", - "description" : "A category describing the purpose of the component.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "title" : - { "title" : "Component Title", - "description" : "A human readable name for the system component.", - "type" : "string" }, - "description" : - { "title" : "Component Description", - "description" : "A description of the component, including information about its function.", - "type" : "string" }, - "purpose" : - { "title" : "Purpose", - "description" : "A summary of the technological or business purpose of the component.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "status" : - { "title" : "Status", - "description" : "Describes the operational status of the system component.", - "type" : "object", - "properties" : - { "state" : - { "title" : "State", - "description" : "The operational status.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$", - "enum" : - [ "under-development", - "operational", - "disposition", - "other" ] }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "state" ], - "additionalProperties" : false }, - "responsible-roles" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, - "protocols" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_protocol" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "type", - "title", - "description", - "status" ], - "additionalProperties" : false }, - "oscal-ssp-oscal-implementation-common:protocol" : - { "title" : "Service Protocol Information", - "description" : "Information about the protocol used to provide a service.", - "$id" : "#assembly_oscal-implementation-common_protocol", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Service Protocol Information Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this service protocol information elsewhere in this or other OSCAL instances. The locally defined UUID of the service protocol can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "name" : - { "title" : "Protocol Name", - "description" : "The common name of the protocol, which should be the appropriate \"service name\" from the IANA Service Name and Transport Protocol Port Number Registry.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "title" : - { "title" : "Protocol Title", - "description" : "A human readable name for the protocol (e.g., Transport Layer Security).", - "type" : "string" }, - "port-ranges" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_port-range" } } }, - "required" : - [ "name" ], - "additionalProperties" : false }, - "oscal-ssp-oscal-implementation-common:port-range" : - { "title" : "Port Range", - "description" : "Where applicable this is the IPv4 port range on which the service operates.", - "$id" : "#assembly_oscal-implementation-common_port-range", - "type" : "object", - "properties" : - { "start" : - { "title" : "Start", - "description" : "Indicates the starting port number in a port range", - "type" : "integer", - "multipleOf" : 1, - "minimum" : 0 }, - "end" : - { "title" : "End", - "description" : "Indicates the ending port number in a port range", - "type" : "integer", - "multipleOf" : 1, - "minimum" : 0 }, - "transport" : - { "title" : "Transport", - "description" : "Indicates the transport type.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$", - "enum" : - [ "TCP", - "UDP" ] } }, - "additionalProperties" : false }, - "oscal-ssp-oscal-implementation-common:implementation-status" : - { "title" : "Implementation Status", - "description" : "Indicates the degree to which the a given control is implemented.", - "$id" : "#assembly_oscal-implementation-common_implementation-status", - "type" : "object", - "properties" : - { "state" : - { "title" : "Implementation State", - "description" : "Identifies the implementation status of the control or control objective.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "state" ], - "additionalProperties" : false }, - "oscal-ssp-oscal-implementation-common:system-user" : - { "title" : "System User", - "description" : "A type of user that interacts with the system based on an associated role.", - "$id" : "#assembly_oscal-implementation-common_system-user", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "User Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this user class elsewhere in this or other OSCAL instances. The locally defined UUID of the system user can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "title" : - { "title" : "User Title", - "description" : "A name given to the user, which may be used by a tool for display and navigation.", - "type" : "string" }, - "short-name" : - { "title" : "User Short Name", - "description" : "A short common name, abbreviation, or acronym for the user.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "description" : - { "title" : "User Description", - "description" : "A summary of the user's purpose within the system.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "role-ids" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-metadata_role-id" } }, - "authorized-privileges" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-implementation-common_authorized-privilege" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid" ], - "additionalProperties" : false }, - "oscal-ssp-oscal-implementation-common:authorized-privilege" : - { "title" : "Privilege", - "description" : "Identifies a specific system privilege held by the user, along with an associated description and/or rationale for the privilege.", - "$id" : "#assembly_oscal-implementation-common_authorized-privilege", - "type" : "object", - "properties" : - { "title" : - { "title" : "Privilege Title", - "description" : "A human readable name for the privilege.", - "type" : "string" }, - "description" : - { "title" : "Privilege Description", - "description" : "A summary of the privilege's purpose within the system.", - "type" : "string" }, - "functions-performed" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-implementation-common_function-performed" } } }, - "required" : - [ "title", - "functions-performed" ], - "additionalProperties" : false }, - "oscal-ssp-oscal-implementation-common:function-performed" : - { "title" : "Functions Performed", - "description" : "Describes a function performed for a given authorized privilege by this user class.", - "$id" : "#field_oscal-implementation-common_function-performed", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "oscal-ssp-oscal-implementation-common:inventory-item" : - { "title" : "Inventory Item", - "description" : "A single managed inventory item within the system.", - "$id" : "#assembly_oscal-implementation-common_inventory-item", - "type" : "object", - "properties" : - { "uuid" : - { "title" : "Inventory Item Universally Unique Identifier", - "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inventory item elsewhere in this or other OSCAL instances. The locally defined UUID of the inventory item can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "description" : - { "title" : "Inventory Item Description", - "description" : "A summary of the inventory item stating its purpose within the system.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "responsible-parties" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, - "implemented-components" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Implemented Component", - "description" : "The set of components that are implemented in a given system inventory item.", - "type" : "object", - "properties" : - { "component-uuid" : - { "title" : "Component Universally Unique Identifier Reference", - "description" : "A machine-oriented identifier reference to a component that is implemented as part of an inventory item.", - "type" : "string", - "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "responsible-parties" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "component-uuid" ], - "additionalProperties" : false } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "uuid", - "description" ], - "additionalProperties" : false }, - "oscal-ssp-oscal-implementation-common:set-parameter" : - { "title" : "Set Parameter Value", - "description" : "Identifies the parameter that will be set by the enclosed value.", - "$id" : "#assembly_oscal-implementation-common_set-parameter", - "type" : "object", - "properties" : - { "param-id" : - { "title" : "Parameter ID", - "description" : "A human-oriented reference to a parameter within a control, who's catalog has been imported into the current implementation context.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "values" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Parameter Value", - "description" : "A parameter value or set of values.", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" } }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "param-id", - "values" ], - "additionalProperties" : false }, - "oscal-ssp-oscal-implementation-common:system-id" : - { "title" : "System Identification", - "description" : "A human-oriented, globally unique identifier with cross-instance scope that can be used to reference this system identification property elsewhere in this or other OSCAL instances. When referencing an externally defined system identification, the system identification must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). This string should be assigned per-subject, which means it should be consistently used to identify the same system across revisions of the document.", - "$id" : "#field_oscal-implementation-common_system-id", - "type" : "object", - "properties" : - { "identifier-type" : - { "title" : "Identification System Type", - "description" : "Identifies the identification system from which the provided identifier was assigned.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "id" : - { "type" : "string" } }, - "required" : - [ "id" ], - "additionalProperties" : false }, - "oscal-ssp-oscal-catalog-common:part" : - { "title" : "Part", - "description" : "A partition of a control's definition or a child of another part.", - "$id" : "#assembly_oscal-catalog-common_part", - "type" : "object", - "properties" : - { "id" : - { "title" : "Part Identifier", - "description" : "A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined part elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "name" : - { "title" : "Part Name", - "description" : "A textual label that uniquely identifies the part's semantic type.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "ns" : - { "title" : "Part Namespace", - "description" : "A namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name.", - "type" : "string", - "format" : "uri", - "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, - "class" : - { "title" : "Part Class", - "description" : "A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "title" : - { "title" : "Part Title", - "description" : "A name given to the part, which may be used by a tool for display and navigation.", - "type" : "string" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "prose" : - { "title" : "Part Text", - "description" : "Permits multiple paragraphs, lists, tables etc.", - "type" : "string" }, - "parts" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_part" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } } }, - "required" : - [ "name" ], - "additionalProperties" : false }, - "oscal-ssp-oscal-catalog-common:parameter" : - { "title" : "Parameter", - "description" : "Parameters provide a mechanism for the dynamic assignment of value(s) in a control.", - "$id" : "#assembly_oscal-catalog-common_parameter", - "type" : "object", - "properties" : - { "id" : - { "title" : "Parameter Identifier", - "description" : "A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined parameter elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "class" : - { "title" : "Parameter Class", - "description" : "A textual label that provides a characterization of the parameter.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "depends-on" : - { "title" : "Depends on", - "description" : "**(deprecated)** Another parameter invoking this one. This construct has been deprecated and should not be used.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, - "props" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_property" } }, - "links" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-metadata_link" } }, - "label" : - { "title" : "Parameter Label", - "description" : "A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned.", - "type" : "string" }, - "usage" : - { "title" : "Parameter Usage Description", - "description" : "Describes the purpose and use of a parameter", - "type" : "string" }, - "constraints" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_parameter-constraint" } }, - "guidelines" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#assembly_oscal-catalog-common_parameter-guideline" } }, - "values" : - { "type" : "array", - "minItems" : 1, - "items" : - { "$ref" : "#field_oscal-catalog-common_parameter-value" } }, - "select" : - { "$ref" : "#assembly_oscal-catalog-common_parameter-selection" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "id" ], - "additionalProperties" : false }, - "oscal-ssp-oscal-catalog-common:parameter-constraint" : - { "title" : "Constraint", - "description" : "A formal or informal expression of a constraint or test", - "$id" : "#assembly_oscal-catalog-common_parameter-constraint", - "type" : "object", - "properties" : - { "description" : - { "title" : "Constraint Description", - "description" : "A textual summary of the constraint to be applied.", - "type" : "string" }, - "tests" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Constraint Test", - "description" : "A test expression which is expected to be evaluated by a tool.", - "type" : "object", - "properties" : - { "expression" : - { "title" : "Constraint test", - "description" : "A formal (executable) expression of a constraint", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "remarks" : - { "$ref" : "#field_oscal-metadata_remarks" } }, - "required" : - [ "expression" ], - "additionalProperties" : false } } }, - "additionalProperties" : false }, - "oscal-ssp-oscal-catalog-common:parameter-guideline" : - { "title" : "Guideline", - "description" : "A prose statement that provides a recommendation for the use of a parameter.", - "$id" : "#assembly_oscal-catalog-common_parameter-guideline", - "type" : "object", - "properties" : - { "prose" : - { "title" : "Guideline Text", - "description" : "Prose permits multiple paragraphs, lists, tables etc.", - "type" : "string" } }, - "required" : - [ "prose" ], - "additionalProperties" : false }, - "oscal-ssp-oscal-catalog-common:parameter-value" : + "required" : + [ "value" ], + "additionalProperties" : false }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid" ], + "additionalProperties" : false } } }, + "additionalProperties" : false }, + "oscal-ssp-oscal-metadata:property" : + { "title" : "Property", + "description" : "An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair.", + "$id" : "#assembly_oscal-metadata_property", + "type" : "object", + "properties" : + { "name" : + { "title" : "Property Name", + "description" : "A textual label, within a namespace, that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.", + "$ref" : "#/definitions/TokenDatatype" }, + "uuid" : + { "title" : "Property Universally Unique Identifier", + "description" : "A unique identifier for a property.", + "$ref" : "#/definitions/UUIDDatatype" }, + "ns" : + { "title" : "Property Namespace", + "description" : "A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name.", + "$ref" : "#/definitions/URIDatatype" }, + "value" : + { "title" : "Property Value", + "description" : "Indicates the value of the attribute, characteristic, or quality.", + "$ref" : "#/definitions/StringDatatype" }, + "class" : + { "title" : "Property Class", + "description" : "A textual label that provides a sub-type or characterization of the property's name.", + "$ref" : "#/definitions/TokenDatatype" }, + "group" : + { "title" : "Property Group", + "description" : "An identifier for relating distinct sets of properties.", + "$ref" : "#/definitions/TokenDatatype" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "name", + "value" ], + "additionalProperties" : false }, + "oscal-ssp-oscal-metadata:link" : + { "title" : "Link", + "description" : "A reference to a local or remote resource, that has a specific relation to the containing object.", + "$id" : "#assembly_oscal-metadata_link", + "type" : "object", + "properties" : + { "href" : + { "title" : "Hypertext Reference", + "description" : "A resolvable URL reference to a resource.", + "$ref" : "#/definitions/URIReferenceDatatype" }, + "rel" : + { "title" : "Link Relation Type", + "description" : "Describes the type of relationship provided by the link's hypertext reference. This can be an indicator of the link's purpose.", + "$ref" : "#/definitions/TokenDatatype" }, + "media-type" : + { "title" : "Media Type", + "description" : "A label that indicates the nature of a resource, as a data serialization or format.", + "$ref" : "#/definitions/StringDatatype" }, + "resource-fragment" : + { "title" : "Resource Fragment", + "description" : "In case where the href points to a back-matter/resource, this value will indicate the URI fragment to append to any rlink associated with the resource. This value MUST be URI encoded.", + "$ref" : "#/definitions/StringDatatype" }, + "text" : + { "title" : "Link Text", + "description" : "A textual label to associate with the link, which may be used for presentation in a tool.", + "type" : "string" } }, + "required" : + [ "href" ], + "additionalProperties" : false }, + "oscal-ssp-oscal-metadata:responsible-party" : + { "title" : "Responsible Party", + "description" : "A reference to a set of persons and/or organizations that have responsibility for performing the referenced role in the context of the containing object.", + "$id" : "#assembly_oscal-metadata_responsible-party", + "type" : "object", + "properties" : + { "role-id" : + { "title" : "Responsible Role", + "description" : "A reference to a role performed by a party.", + "$ref" : "#/definitions/TokenDatatype" }, + "party-uuids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_party-uuid" } }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "role-id", + "party-uuids" ], + "additionalProperties" : false }, + "oscal-ssp-oscal-metadata:action" : + { "title" : "Action", + "description" : "An action applied by a role within a given party to the content.", + "$id" : "#assembly_oscal-metadata_action", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Action Universally Unique Identifier", + "description" : "A unique identifier that can be used to reference this defined action elsewhere in an OSCAL document. A UUID should be consistently used for a given location across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "date" : + { "title" : "Action Occurrence Date", + "description" : "The date and time when the action occurred.", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "type" : + { "title" : "Action Type", + "description" : "The type of action documented by the assembly, such as an approval.", + "$ref" : "#/definitions/TokenDatatype" }, + "system" : + { "title" : "Action Type System", + "description" : "Specifies the action type system used.", + "$ref" : "#/definitions/URIDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "responsible-parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "type", + "system" ], + "additionalProperties" : false }, + "oscal-ssp-oscal-metadata:responsible-role" : + { "title" : "Responsible Role", + "description" : "A reference to a role with responsibility for performing a function relative to the containing object, optionally associated with a set of persons and/or organizations that perform that role.", + "$id" : "#assembly_oscal-metadata_responsible-role", + "type" : "object", + "properties" : + { "role-id" : + { "title" : "Responsible Role ID", + "description" : "A human-oriented identifier reference to a role performed.", + "$ref" : "#/definitions/TokenDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "party-uuids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_party-uuid" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "role-id" ], + "additionalProperties" : false }, + "oscal-ssp-oscal-metadata:hash" : + { "title" : "Hash", + "description" : "A representation of a cryptographic digest generated over a resource using a specified hash algorithm.", + "$id" : "#field_oscal-metadata_hash", + "type" : "object", + "properties" : + { "algorithm" : + { "title" : "Hash algorithm", + "description" : "The digest method by which a hash is derived.", + "$ref" : "#/definitions/StringDatatype" }, + "value" : + { "type" : "string" } }, + "required" : + [ "value", + "algorithm" ], + "additionalProperties" : false }, + "oscal-ssp-oscal-metadata:remarks" : + { "title" : "Remarks", + "description" : "Additional commentary about the containing object.", + "$id" : "#field_oscal-metadata_remarks", + "type" : "string" }, + "oscal-ssp-oscal-metadata:published" : + { "title" : "Publication Timestamp", + "description" : "The date and time the document was last made available.", + "$id" : "#field_oscal-metadata_published", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "oscal-ssp-oscal-metadata:last-modified" : + { "title" : "Last Modified Timestamp", + "description" : "The date and time the document was last stored for later retrieval.", + "$id" : "#field_oscal-metadata_last-modified", + "$ref" : "#/definitions/DateTimeWithTimezoneDatatype" }, + "oscal-ssp-oscal-metadata:version" : + { "title" : "Document Version", + "description" : "Used to distinguish a specific revision of an OSCAL document from other previous and future versions.", + "$id" : "#field_oscal-metadata_version", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-ssp-oscal-metadata:oscal-version" : + { "title" : "OSCAL Version", + "description" : "The OSCAL model version the document was authored against and will conform to as valid.", + "$id" : "#field_oscal-metadata_oscal-version", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-ssp-oscal-metadata:email-address" : + { "title" : "Email Address", + "description" : "An email address as defined by RFC 5322 Section 3.4.1.", + "$id" : "#field_oscal-metadata_email-address", + "$ref" : "#/definitions/EmailAddressDatatype" }, + "oscal-ssp-oscal-metadata:telephone-number" : + { "title" : "Telephone Number", + "description" : "A telephone service number as defined by ITU-T E.164.", + "$id" : "#field_oscal-metadata_telephone-number", + "type" : "object", + "properties" : + { "type" : + { "title" : "type flag", + "description" : "Indicates the type of phone number.", + "$ref" : "#/definitions/StringDatatype" }, + "number" : + { "type" : "string" } }, + "required" : + [ "number" ], + "additionalProperties" : false }, + "oscal-ssp-oscal-metadata:address" : + { "title" : "Address", + "description" : "A postal address for the location.", + "$id" : "#assembly_oscal-metadata_address", + "type" : "object", + "properties" : + { "type" : + { "title" : "Address Type", + "description" : "Indicates the type of address.", + "$ref" : "#/definitions/TokenDatatype" }, + "addr-lines" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_addr-line" } }, + "city" : + { "title" : "City", + "description" : "City, town or geographical region for the mailing address.", + "$ref" : "#/definitions/StringDatatype" }, + "state" : + { "title" : "State", + "description" : "State, province or analogous geographical region for a mailing address.", + "$ref" : "#/definitions/StringDatatype" }, + "postal-code" : + { "title" : "Postal Code", + "description" : "Postal or ZIP code for mailing address.", + "$ref" : "#/definitions/StringDatatype" }, + "country" : + { "title" : "Country Code", + "description" : "The ISO 3166-1 alpha-2 country code for the mailing address.", + "$ref" : "#/definitions/StringDatatype" } }, + "additionalProperties" : false }, + "oscal-ssp-oscal-metadata:addr-line" : + { "title" : "Address line", + "description" : "A single line of an address.", + "$id" : "#field_oscal-metadata_addr-line", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-ssp-oscal-metadata:document-id" : + { "title" : "Document Identifier", + "description" : "A document identifier qualified by an identifier scheme.", + "$id" : "#field_oscal-metadata_document-id", + "type" : "object", + "properties" : + { "scheme" : + { "title" : "Document Identification Scheme", + "description" : "Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters.", + "$ref" : "#/definitions/URIDatatype" }, + "identifier" : + { "type" : "string" } }, + "required" : + [ "identifier" ], + "additionalProperties" : false }, + "oscal-ssp-oscal-implementation-common:system-component" : + { "title" : "Component", + "description" : "A defined component that can be part of an implemented system.", + "$id" : "#assembly_oscal-implementation-common_system-component", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Component Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component elsewhere in this or other OSCAL instances. The locally defined UUID of the component can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "type" : + { "title" : "Component Type", + "description" : "A category describing the purpose of the component.", + "$ref" : "#/definitions/StringDatatype" }, + "title" : + { "title" : "Component Title", + "description" : "A human readable name for the system component.", + "type" : "string" }, + "description" : + { "title" : "Component Description", + "description" : "A description of the component, including information about its function.", + "type" : "string" }, + "purpose" : + { "title" : "Purpose", + "description" : "A summary of the technological or business purpose of the component.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "status" : + { "title" : "Status", + "description" : "Describes the operational status of the system component.", + "type" : "object", + "properties" : + { "state" : + { "title" : "State", + "description" : "The operational status.", + "allOf" : + [ + { "$ref" : "#/definitions/TokenDatatype" }, + + { "enum" : + [ "under-development", + "operational", + "disposition", + "other" ] } ] }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "state" ], + "additionalProperties" : false }, + "responsible-roles" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-role" } }, + "protocols" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_protocol" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "type", + "title", + "description", + "status" ], + "additionalProperties" : false }, + "oscal-ssp-oscal-implementation-common:protocol" : + { "title" : "Service Protocol Information", + "description" : "Information about the protocol used to provide a service.", + "$id" : "#assembly_oscal-implementation-common_protocol", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Service Protocol Information Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this service protocol information elsewhere in this or other OSCAL instances. The locally defined UUID of the service protocol can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "name" : + { "title" : "Protocol Name", + "description" : "The common name of the protocol, which should be the appropriate \"service name\" from the IANA Service Name and Transport Protocol Port Number Registry.", + "$ref" : "#/definitions/StringDatatype" }, + "title" : + { "title" : "Protocol Title", + "description" : "A human readable name for the protocol (e.g., Transport Layer Security).", + "type" : "string" }, + "port-ranges" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_port-range" } } }, + "required" : + [ "name" ], + "additionalProperties" : false }, + "oscal-ssp-oscal-implementation-common:port-range" : + { "title" : "Port Range", + "description" : "Where applicable this is the IPv4 port range on which the service operates.", + "$id" : "#assembly_oscal-implementation-common_port-range", + "type" : "object", + "properties" : + { "start" : + { "title" : "Start", + "description" : "Indicates the starting port number in a port range", + "$ref" : "#/definitions/NonNegativeIntegerDatatype" }, + "end" : + { "title" : "End", + "description" : "Indicates the ending port number in a port range", + "$ref" : "#/definitions/NonNegativeIntegerDatatype" }, + "transport" : + { "title" : "Transport", + "description" : "Indicates the transport type.", + "allOf" : + [ + { "$ref" : "#/definitions/TokenDatatype" }, + + { "enum" : + [ "TCP", + "UDP" ] } ] } }, + "additionalProperties" : false }, + "oscal-ssp-oscal-implementation-common:implementation-status" : + { "title" : "Implementation Status", + "description" : "Indicates the degree to which the a given control is implemented.", + "$id" : "#assembly_oscal-implementation-common_implementation-status", + "type" : "object", + "properties" : + { "state" : + { "title" : "Implementation State", + "description" : "Identifies the implementation status of the control or control objective.", + "$ref" : "#/definitions/TokenDatatype" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "state" ], + "additionalProperties" : false }, + "oscal-ssp-oscal-implementation-common:system-user" : + { "title" : "System User", + "description" : "A type of user that interacts with the system based on an associated role.", + "$id" : "#assembly_oscal-implementation-common_system-user", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "User Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this user class elsewhere in this or other OSCAL instances. The locally defined UUID of the system user can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "title" : + { "title" : "User Title", + "description" : "A name given to the user, which may be used by a tool for display and navigation.", + "type" : "string" }, + "short-name" : + { "title" : "User Short Name", + "description" : "A short common name, abbreviation, or acronym for the user.", + "$ref" : "#/definitions/StringDatatype" }, + "description" : + { "title" : "User Description", + "description" : "A summary of the user's purpose within the system.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "role-ids" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-metadata_role-id" } }, + "authorized-privileges" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-implementation-common_authorized-privilege" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid" ], + "additionalProperties" : false }, + "oscal-ssp-oscal-implementation-common:authorized-privilege" : + { "title" : "Privilege", + "description" : "Identifies a specific system privilege held by the user, along with an associated description and/or rationale for the privilege.", + "$id" : "#assembly_oscal-implementation-common_authorized-privilege", + "type" : "object", + "properties" : + { "title" : + { "title" : "Privilege Title", + "description" : "A human readable name for the privilege.", + "type" : "string" }, + "description" : + { "title" : "Privilege Description", + "description" : "A summary of the privilege's purpose within the system.", + "type" : "string" }, + "functions-performed" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-implementation-common_function-performed" } } }, + "required" : + [ "title", + "functions-performed" ], + "additionalProperties" : false }, + "oscal-ssp-oscal-implementation-common:function-performed" : + { "title" : "Functions Performed", + "description" : "Describes a function performed for a given authorized privilege by this user class.", + "$id" : "#field_oscal-implementation-common_function-performed", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-ssp-oscal-implementation-common:inventory-item" : + { "title" : "Inventory Item", + "description" : "A single managed inventory item within the system.", + "$id" : "#assembly_oscal-implementation-common_inventory-item", + "type" : "object", + "properties" : + { "uuid" : + { "title" : "Inventory Item Universally Unique Identifier", + "description" : "A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inventory item elsewhere in this or other OSCAL instances. The locally defined UUID of the inventory item can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.", + "$ref" : "#/definitions/UUIDDatatype" }, + "description" : + { "title" : "Inventory Item Description", + "description" : "A summary of the inventory item stating its purpose within the system.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "responsible-parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, + "implemented-components" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Implemented Component", + "description" : "The set of components that are implemented in a given system inventory item.", + "type" : "object", + "properties" : + { "component-uuid" : + { "title" : "Component Universally Unique Identifier Reference", + "description" : "A machine-oriented identifier reference to a component that is implemented as part of an inventory item.", + "$ref" : "#/definitions/UUIDDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "responsible-parties" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_responsible-party" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "component-uuid" ], + "additionalProperties" : false } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "uuid", + "description" ], + "additionalProperties" : false }, + "oscal-ssp-oscal-implementation-common:set-parameter" : + { "title" : "Set Parameter Value", + "description" : "Identifies the parameter that will be set by the enclosed value.", + "$id" : "#assembly_oscal-implementation-common_set-parameter", + "type" : "object", + "properties" : + { "param-id" : + { "title" : "Parameter ID", + "description" : "A human-oriented reference to a parameter within a control, who's catalog has been imported into the current implementation context.", + "$ref" : "#/definitions/TokenDatatype" }, + "values" : + { "type" : "array", + "minItems" : 1, + "items" : { "title" : "Parameter Value", - "description" : "A parameter value or set of values.", - "$id" : "#field_oscal-catalog-common_parameter-value", - "type" : "string", - "pattern" : "^\\S(.*\\S)?$" }, - "oscal-ssp-oscal-catalog-common:parameter-selection" : - { "title" : "Selection", - "description" : "Presenting a choice among alternatives", - "$id" : "#assembly_oscal-catalog-common_parameter-selection", - "type" : "object", - "properties" : - { "how-many" : - { "title" : "Parameter Cardinality", - "description" : "Describes the number of selections that must occur. Without this setting, only one value should be assumed to be permitted.", - "type" : "string", - "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$", - "enum" : - [ "one", - "one-or-more" ] }, - "choice" : - { "type" : "array", - "minItems" : 1, - "items" : - { "title" : "Choice", - "description" : "A value selection among several such options", - "type" : "string" } } }, - "additionalProperties" : false }, - "oscal-ssp-oscal-catalog-common:include-all" : - { "title" : "Include All", - "description" : "Include all controls from the imported catalog or profile resources.", - "$id" : "#assembly_oscal-catalog-common_include-all", - "type" : "object", - "additionalProperties" : false } }, + "description" : "A parameter value or set of values.", + "$ref" : "#/definitions/StringDatatype" } }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "param-id", + "values" ], + "additionalProperties" : false }, + "oscal-ssp-oscal-implementation-common:system-id" : + { "title" : "System Identification", + "description" : "A human-oriented, globally unique identifier with cross-instance scope that can be used to reference this system identification property elsewhere in this or other OSCAL instances. When referencing an externally defined system identification, the system identification must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). This string should be assigned per-subject, which means it should be consistently used to identify the same system across revisions of the document.", + "$id" : "#field_oscal-implementation-common_system-id", + "type" : "object", + "properties" : + { "identifier-type" : + { "title" : "Identification System Type", + "description" : "Identifies the identification system from which the provided identifier was assigned.", + "$ref" : "#/definitions/URIDatatype" }, + "id" : + { "type" : "string" } }, + "required" : + [ "id" ], + "additionalProperties" : false }, + "oscal-ssp-oscal-control-common:part" : + { "title" : "Part", + "description" : "An annotated, markup-based textual element of a control's or catalog group's definition, or a child of another part.", + "$id" : "#assembly_oscal-control-common_part", + "type" : "object", "properties" : - { "system-security-plan" : - { "$ref" : "#assembly_oscal-ssp_system-security-plan" } }, + { "id" : + { "title" : "Part Identifier", + "description" : "A unique identifier for the part.", + "$ref" : "#/definitions/TokenDatatype" }, + "name" : + { "title" : "Part Name", + "description" : "A textual label that uniquely identifies the part's semantic type, which exists in a value space qualified by the ns.", + "$ref" : "#/definitions/TokenDatatype" }, + "ns" : + { "title" : "Part Namespace", + "description" : "An optional namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name.", + "$ref" : "#/definitions/URIDatatype" }, + "class" : + { "title" : "Part Class", + "description" : "An optional textual providing a sub-type or characterization of the part's name, or a category to which the part belongs.", + "$ref" : "#/definitions/TokenDatatype" }, + "title" : + { "title" : "Part Title", + "description" : "An optional name given to the part, which may be used by a tool for display and navigation.", + "type" : "string" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "prose" : + { "title" : "Part Text", + "description" : "Permits multiple paragraphs, lists, tables etc.", + "type" : "string" }, + "parts" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_part" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } } }, "required" : - [ "system-security-plan" ], - "additionalProperties" : false, - "maxProperties" : 1 } \ No newline at end of file + [ "name" ], + "additionalProperties" : false }, + "oscal-ssp-oscal-control-common:parameter" : + { "title" : "Parameter", + "description" : "Parameters provide a mechanism for the dynamic assignment of value(s) in a control.", + "$id" : "#assembly_oscal-control-common_parameter", + "type" : "object", + "properties" : + { "id" : + { "title" : "Parameter Identifier", + "description" : "A unique identifier for the parameter.", + "$ref" : "#/definitions/TokenDatatype" }, + "class" : + { "title" : "Parameter Class", + "description" : "A textual label that provides a characterization of the type, purpose, use or scope of the parameter.", + "$ref" : "#/definitions/TokenDatatype" }, + "depends-on" : + { "title" : "Depends on", + "description" : "(deprecated) Another parameter invoking this one. This construct has been deprecated and should not be used.", + "$ref" : "#/definitions/TokenDatatype" }, + "props" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_property" } }, + "links" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-metadata_link" } }, + "label" : + { "title" : "Parameter Label", + "description" : "A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned.", + "type" : "string" }, + "usage" : + { "title" : "Parameter Usage Description", + "description" : "Describes the purpose and use of a parameter.", + "type" : "string" }, + "constraints" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_parameter-constraint" } }, + "guidelines" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#assembly_oscal-control-common_parameter-guideline" } }, + "values" : + { "type" : "array", + "minItems" : 1, + "items" : + { "$ref" : "#field_oscal-control-common_parameter-value" } }, + "select" : + { "$ref" : "#assembly_oscal-control-common_parameter-selection" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "id" ], + "additionalProperties" : false }, + "oscal-ssp-oscal-control-common:parameter-constraint" : + { "title" : "Constraint", + "description" : "A formal or informal expression of a constraint or test.", + "$id" : "#assembly_oscal-control-common_parameter-constraint", + "type" : "object", + "properties" : + { "description" : + { "title" : "Constraint Description", + "description" : "A textual summary of the constraint to be applied.", + "type" : "string" }, + "tests" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Constraint Test", + "description" : "A test expression which is expected to be evaluated by a tool.", + "type" : "object", + "properties" : + { "expression" : + { "title" : "Constraint test", + "description" : "A formal (executable) expression of a constraint.", + "$ref" : "#/definitions/StringDatatype" }, + "remarks" : + { "$ref" : "#field_oscal-metadata_remarks" } }, + "required" : + [ "expression" ], + "additionalProperties" : false } } }, + "additionalProperties" : false }, + "oscal-ssp-oscal-control-common:parameter-guideline" : + { "title" : "Guideline", + "description" : "A prose statement that provides a recommendation for the use of a parameter.", + "$id" : "#assembly_oscal-control-common_parameter-guideline", + "type" : "object", + "properties" : + { "prose" : + { "title" : "Guideline Text", + "description" : "Prose permits multiple paragraphs, lists, tables etc.", + "type" : "string" } }, + "required" : + [ "prose" ], + "additionalProperties" : false }, + "oscal-ssp-oscal-control-common:parameter-value" : + { "title" : "Parameter Value", + "description" : "A parameter value or set of values.", + "$id" : "#field_oscal-control-common_parameter-value", + "$ref" : "#/definitions/StringDatatype" }, + "oscal-ssp-oscal-control-common:parameter-selection" : + { "title" : "Selection", + "description" : "Presenting a choice among alternatives.", + "$id" : "#assembly_oscal-control-common_parameter-selection", + "type" : "object", + "properties" : + { "how-many" : + { "title" : "Parameter Cardinality", + "description" : "Describes the number of selections that must occur. Without this setting, only one value should be assumed to be permitted.", + "allOf" : + [ + { "$ref" : "#/definitions/TokenDatatype" }, + + { "enum" : + [ "one", + "one-or-more" ] } ] }, + "choice" : + { "type" : "array", + "minItems" : 1, + "items" : + { "title" : "Choice", + "description" : "A value selection among several such options.", + "type" : "string" } } }, + "additionalProperties" : false }, + "oscal-ssp-oscal-control-common:include-all" : + { "title" : "Include All", + "description" : "Include all controls from the imported catalog or profile resources.", + "$id" : "#assembly_oscal-control-common_include-all", + "type" : "object", + "additionalProperties" : false }, + "Base64Datatype" : + { "type" : "string", + "pattern" : "^[0-9A-Fa-f]+$", + "contentEncoding" : "base64" }, + "DateDatatype" : + { "type" : "string", + "pattern" : "^(((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30)))(Z|[+-][0-9]{2}:[0-9]{2})?$" }, + "DateTimeWithTimezoneDatatype" : + { "type" : "string", + "format" : "date-time", + "pattern" : "^(((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30)))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]*[1-9])?(Z|(-((0[0-9]|1[0-2]):00|0[39]:30)|\\+((0[0-9]|1[0-4]):00|(0[34569]|10):30|(0[58]|12):45)))$" }, + "EmailAddressDatatype" : + { "type" : "string", + "format" : "email", + "pattern" : "^.+@.+$" }, + "IntegerDatatype" : + { "type" : "integer" }, + "NonNegativeIntegerDatatype" : + { "allOf" : + [ + { "$ref" : "#/definitions/IntegerDatatype" }, + + { "minimum" : 0, + "type" : "number" } ] }, + "StringDatatype" : + { "type" : "string", + "pattern" : "^\\S(.*\\S)?$" }, + "TokenDatatype" : + { "type" : "string", + "pattern" : "^(\\p{L}|_)(\\p{L}|\\p{N}|[.\\-_])*$" }, + "URIDatatype" : + { "type" : "string", + "format" : "uri", + "pattern" : "^[a-zA-Z][a-zA-Z0-9+\\-.]+:.+$" }, + "URIReferenceDatatype" : + { "type" : "string", + "format" : "uri-reference" }, + "UUIDDatatype" : + { "type" : "string", + "description" : "A type 4 ('random' or 'pseudorandom') or type 5 UUID per RFC 4122.", + "pattern" : "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" } }, + "properties" : + { "system-security-plan" : + { "$ref" : "#assembly_oscal-ssp_system-security-plan" } }, + "required" : + [ "system-security-plan" ], + "additionalProperties" : false, + "maxProperties" : 1 } \ No newline at end of file diff --git a/src/metaschema/examples/cis-sp-800-53-mapping.xml b/src/metaschema/examples/cis-sp-800-53-mapping.xml new file mode 100644 index 000000000..c2407e36c --- /dev/null +++ b/src/metaschema/examples/cis-sp-800-53-mapping.xml @@ -0,0 +1,37 @@ + + + + + Example mapping between CIS controls and SP 800-53 rev5 + 2022-04-13T08:37:21.323321800-04:00 + 0.0.1 + 1.1.0 + + + + + + + subset-of + + + + + + + +

The combination of SP 800-53 CM-8 and CM-8(1) describe similar implementation requirements to CIS 1.1.

+
+
+
+ + + + + + + + +
\ No newline at end of file diff --git a/src/metaschema/examples/computer-build_metaschema.xml b/src/metaschema/examples/computer-build_metaschema.xml deleted file mode 100644 index 41416466d..000000000 --- a/src/metaschema/examples/computer-build_metaschema.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - Computer Build - 1.0 - computer-build - http://csrc.nist.gov/ns/computer-build/1.0 - http://csrc.nist.gov/ns/computer-build/1.0 - - - Computer Build - A description of the components used to build a computer. - - Computer Build Identifier - A unique id for a given build - - - - - - - - - - Computer Component - A description of a component used to build a computer. - - Computer Component Identifier - A unique id for a given component - - - - - - - - - - Component Name - A name of a component used to build a computer. - - - - Description - A description of a component used in a computer build. - - - - Model - The model code of a computer component. - - diff --git a/src/metaschema/metaschema-author.css b/src/metaschema/metaschema-author.css new file mode 100644 index 000000000..064a793e4 --- /dev/null +++ b/src/metaschema/metaschema-author.css @@ -0,0 +1,159 @@ +METASCHEMA { font-family: Calibri, Verdana, sans-serif } + +* { display: block } + +pre { color: darkgrey } + +tag { color: black; font-family: monospace; font-size: 80%; font-weight: bold } + +METASCHEMA { } + +title { } + +import:before + { content: 'import module ' oxy_urlChooser(edit, '@href', columns 60) } + + + +define-assembly, +define-field, +define-flag { margin-top: 1ex; margin-bottom: 1ex; border: thin inset black; padding: 0.5em } + + +define-assembly:before, +define-field:before, +define-flag:before + { content: + oxy_name() + oxy_textfield(edit, '@name', columns, 12) + } + +root-name:before { content: "Root name: " } + + +prop:before + { content: 'property ' + oxy_textfield(edit, '@name', columns, 25) + oxy_textfield(edit, '@value', columns, 30) + } + + +define-assembly[group-as]:before, +define-field[group-as]:before, +define-flag[group-as]:before + { content: + oxy_name() + oxy_textfield(edit, '@name', columns, 12) } +define-assembly *, +define-field *, +define-flag * { margin: 0em } + +define-assembly > * { margin-top: 1em } + +pre { padding: 0.5em; background-color: gainsboro } + +define-assembly { } + +define-field { } + +define-flag { } + +flag { } + +formal-name { font-size: 120%; font-weight: bold; margin: 0.5em 0em } + +description, remarks { max-width: 60em } + +remarks { border-left: thin solid black; padding-left: 1em; margin-left: 1em } +remarks p { margin-top: 1em } + + +example { } + +prose { } + + +p { } + +code { display: inline; font-family: monospace } +q { display: inline; background-color: lemonchiffon } +em, i { display: inline; font-style: italic } +strong, b { display: inline; font-weight: bold } + +example { background-color: lavender; white-space: pre; } + +example *:before { content: '<' oxy_name() '>'; font-family: monospace; font-size: 80% } +example *:after { content: ''; font-family: monospace; font-size: 80% } + +model { padding-left: 0.5em; border-left: medium solid blue; font-size: 80%; padding-right: 2em } + +model model { font-size: 100%; } + +flag:before { content: + oxy_name() + ' ref: ' oxy_textfield(edit, '@ref', columns, 12) + } + +assembly:before, field:before { + content: + oxy_name() ' named ' + oxy_textfield(edit, '@ref', columns, 12) } + +group-as { margin-left: 2em } + +group-as:before { content: 'group as ' + oxy_textfield(edit, '@name', columns, 12) } + + +choice:before { content: + 'a choice between' + } + +prose:before { font-weight: bold; content: + 'prose' + } + +choice > * { margin-left: 2em } + +a { display: inline; color: blue } +a:before { content: oxy_urlChooser( + edit, "@href", + columns 42); } + + +/* CONSTRAINTS */ + +constraint > * { border: thin solid black; padding: 0.6em } + +allowed-values:before { content: "Allowed values" + ' level: ' oxy_combobox(edit, '@level', editable, false, values, "ERROR, WARNING" ) } + +enum { margin-left: 2em; display: list-item; + font-size: 90%; padding-left: 1em } +enum:before { content: oxy_textfield(edit, '@value', columns, 24); } + +index { } +index:before { content: "Index: " + ' name: ' oxy_textfield(edit, '@name', columns, 24) + ' target: ' oxy_textfield(edit, '@target', columns, 52) + ' level: ' oxy_combobox(edit, '@level', editable, false, values, "ERROR, WARNING" ); } + +key-field { margin-left: 2em } +key-field:before { content: "Key field " + ' target: ' oxy_textfield(edit, '@target', columns, 52) + ' level: ' oxy_combobox(edit, '@level', editable, false, values, "ERROR, WARNING" ); } + +expect { } +expect:before { content: "Expect " + ' target: ' oxy_textfield(edit, '@target', columns, 52) + ' test: ' oxy_textfield(edit, '@test', columns, 36) + ' level: ' oxy_combobox(edit, '@level', editable, false, values, "ERROR, WARNING" ); } + +index-has-key { } + +index-has-key:before { content: "Index has key: " + ' name: ' oxy_textfield(edit, '@name', columns, 24) + ' target: ' oxy_textfield(edit, '@target', columns, 52) + ' level: ' oxy_combobox(edit, '@level', editable, false, values, "ERROR, WARNING" ); } + + diff --git a/src/metaschema/oscal_assessment-common_metaschema.xml b/src/metaschema/oscal_assessment-common_metaschema.xml index 6ee50bb1c..47dbbe28b 100644 --- a/src/metaschema/oscal_assessment-common_metaschema.xml +++ b/src/metaschema/oscal_assessment-common_metaschema.xml @@ -19,13 +19,16 @@ Import System Security Plan Used by the assessment plan and POA&M to import information about the system. - + System Security Plan Reference A resolvable URL reference to the system security plan for the system being assessed. -

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

-

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

-

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

+

This value may be one of:

+
    +
  1. an absolute URI that points to a network resolvable resource,
  2. +
  3. a relative reference pointing to a network resolvable resource whose base URI is the URI of the containing document, or
  4. +
  5. a bare URI fragment (i.e., `#uuid`) pointing to a back-matter resource in this or an imported document (see linking to another OSCAL object).
  6. +
@@ -59,7 +62,7 @@ - + **(deprecated)** Use 'assessment-objective' instead. **(deprecated)** Use 'assessment-method' instead. The part defines an assessment objective. @@ -77,7 +80,7 @@ Assessment Method Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment method elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment method can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment method elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment method can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -101,7 +104,7 @@ Assessment Activity Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment activity elsewhere in this or other OSCAL instances. The locally defined UUID of the activity can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment activity elsewhere in this or other OSCAL instances. The locally defined UUID of the activity can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -125,7 +128,7 @@ Step Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this step elsewhere in this or other OSCAL instances. The locally defined UUID of the step (in a series of steps) can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this step elsewhere in this or other OSCAL instances. The locally defined UUID of the step (in a series of steps) can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -180,11 +183,11 @@ - + 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. @@ -204,7 +207,7 @@ Task Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this task elsewhere in this or other OSCAL instances. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this task elsewhere in this or other OSCAL instances. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Task Type @@ -289,7 +292,7 @@ Task Universally Unique Identifier Reference - A machine-oriented identifier reference to a unique task. + A machine-oriented identifier reference to a unique task. @@ -306,7 +309,7 @@ Activity Universally Unique Identifier Reference - A machine-oriented identifier reference to an activity defined in the list of activities. + A machine-oriented identifier reference to an activity defined in the list of activities. @@ -490,7 +493,7 @@ Assessment Subject Placeholder Universally Unique Identifier - A machine-oriented, globally unique identifier for a set of assessment subjects that will be identified by a task or an activity that is part of a task. The locally defined UUID of the assessment subject placeholder can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier for a set of assessment subjects that will be identified by a task or an activity that is part of a task. The locally defined UUID of the assessment subject placeholder can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -504,7 +507,7 @@ Task Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference (in this or other OSCAL instances) an assessment activity to be performed as part of the event. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference (in this or other OSCAL instances) an assessment activity to be performed as part of the event. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document.
@@ -583,7 +586,7 @@ Subject Universally Unique Identifier Reference - A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID. + A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID. @@ -604,7 +607,7 @@ Identifies the Subject - A human-oriented identifier reference to a resource. Use type to indicate whether the identified resource is a component, inventory item, location, user, or something else. + A human-oriented identifier reference to a resource. Use type to indicate whether the identified resource is a component, inventory item, location, user, or something else. type @@ -649,7 +652,7 @@ Assessment Platform Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment platform elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment platform can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment platform elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment platform can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -669,7 +672,7 @@ Component Universally Unique Identifier Reference - A machine-oriented identifier reference to a component that is implemented as part of an inventory item. + A machine-oriented identifier reference to a component that is implemented as part of an inventory item. @@ -726,7 +729,7 @@ Finding Target Identifier Reference - A machine-oriented identifier reference for a specific target qualified by the type. + A machine-oriented identifier reference for a specific target qualified by the type. @@ -783,13 +786,79 @@ + + Finding + Describes an individual finding. + + Finding Universally Unique Identifier + + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this finding in this or other OSCAL instances. The locally defined UUID of the finding can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + + + + Finding Title + The title for this finding. + + + + Finding Description + A human-readable description of this finding. + + + + + + + + + + + + +

Used to identify the individual and/or tool generated this finding.

+
+
+ + target + + + Implementation Statement UUID + + A machine-oriented identifier reference to the implementation statement in the SSP to which this finding is related. + + + + Related Observation + Relates the finding to a set of referenced observations that were used to determine the finding. + + + Observation Universally Unique Identifier Reference + + A machine-oriented identifier reference to an observation defined in the list of observations. + + + + + Associated Risk + Relates the finding to a set of referenced risks that were used to determine the finding. + + + Risk Universally Unique Identifier Reference + + A machine-oriented identifier reference to a risk defined in the list of risks. + + + +
+
+ Observation Describes an individual observation. Observation Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this observation elsewhere in this or other OSCAL instances. The locally defined UUID of the observation can be used to reference the data item locally or globally (e.g., in an imorted OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this observation elsewhere in this or other OSCAL instances. The locally defined UUID of the observation can be used to reference the data item locally or globally (e.g., in an imorted OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -853,13 +922,16 @@ Relevant Evidence Links this observation to relevant evidence. - + Relevant Evidence Reference A resolvable URL reference to relevant evidence. -

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter resource in the same document.

-

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

-

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

+

This value may be one of:

+
    +
  1. an absolute URI that points to a network resolvable resource,
  2. +
  3. a relative reference pointing to a network resolvable resource whose base URI is the URI of the containing document, or
  4. +
  5. a bare URI fragment (i.e., `#uuid`) pointing to a back-matter resource in this or an imported document (see linking to another OSCAL object).
  6. +
@@ -930,7 +1002,7 @@ Actor Universally Unique Identifier Reference - A machine-oriented identifier reference to the tool or person based on the associated type. + A machine-oriented identifier reference to the tool or person based on the associated type. Actor Role @@ -952,7 +1024,7 @@ Task Universally Unique Identifier Reference - A machine-oriented identifier reference to a unique task. + A machine-oriented identifier reference to a unique task. @@ -981,7 +1053,7 @@ Assessment Subject Placeholder Universally Unique Identifier Reference - A machine-oriented identifier reference to a unique assessment subject placeholder defined by this task. + A machine-oriented identifier reference to a unique assessment subject placeholder defined by this task. @@ -1019,10 +1091,22 @@ The value conforms to FedRAMP definitions. + +

This value must be an absolute URI that serves as a naming system identifier.

+
+ Threat Information Resource Reference An optional location for the threat data, from which this ID originates. + +

This value may be one of:

+
    +
  1. an absolute URI that points to a network resolvable resource,
  2. +
  3. a relative reference pointing to a network resolvable resource whose base URI is the URI of the containing document, or
  4. +
  5. a bare URI fragment (i.e., `#uuid`) pointing to a back-matter resource in this or an imported document (see linking to another OSCAL object).
  6. +
+
@@ -1032,7 +1116,7 @@ Risk Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk elsewhere in this or other OSCAL instances. The locally defined UUID of the risk can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk elsewhere in this or other OSCAL instances. The locally defined UUID of the risk can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -1055,7 +1139,7 @@ - + status @@ -1079,12 +1163,12 @@ Mitigating Factor Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this mitigating factor elsewhere in this or other OSCAL instances. The locally defined UUID of the mitigating factor can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this mitigating factor elsewhere in this or other OSCAL instances. The locally defined UUID of the mitigating factor can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Implementation UUID - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this implementation statement elsewhere in this or other OSCAL instancess. The locally defined UUID of the implementation statement can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this implementation statement elsewhere in this or other OSCAL instancess. The locally defined UUID of the implementation statement can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -1126,7 +1210,7 @@ Risk Log Entry Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk log entry elsewhere in this or other OSCAL instances. The locally defined UUID of the risk log entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk log entry elsewhere in this or other OSCAL instances. The locally defined UUID of the risk log entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -1167,7 +1251,7 @@ Response Universally Unique Identifier Reference - A machine-oriented identifier reference to a unique risk response. + A machine-oriented identifier reference to a unique risk response. @@ -1188,10 +1272,10 @@ - + The type of remediation tracking entry. Can be multi-valued. - + Contacted vendor to determine the status of a pending fix to a known vulnerability. Information related to the current state of response to this risk. A significant step in the response plan has been achieved. @@ -1216,18 +1300,18 @@ Observation Universally Unique Identifier Reference - A machine-oriented identifier reference to an observation defined in the list of observations. + A machine-oriented identifier reference to an observation defined in the list of observations.
- + The risk has been confirmed to be a false positive. The risk has been accepted. No further action will be taken. The risk has been adjusted. A numeric value indicating the sequence in which risks should be addressed. (Lower numbers are higher priority) - + @@ -1237,7 +1321,7 @@ Party UUID Reference - A machine-oriented identifier reference to the party who is making the log entry. + A machine-oriented identifier reference to the party who is making the log entry. Actor Role @@ -1299,6 +1383,9 @@ + +

This value must be an absolute URI that serves as a naming system identifier.

+
Facet Value @@ -1314,21 +1401,21 @@ - + Indicates if the facet is 'initial' as first identified, or 'adjusted' indicating that the value has be changed after some adjustments have been made (e.g., to identify residual risk). - + As first identified. Indicates that residual risk remains after some adjustments have been made. - + General likelihood rating. General impact rating. General risk rating. General severity rating. - + Likelihood as defined by FedRAMP. The class can be used to specify 'initial' and 'adjusted' risk states. Impact as defined by FedRAMP. The class can be used to specify 'initial' and 'adjusted' risk states. Risk as calculated according to FedRAMP. The class can be used to specify 'initial' and 'adjusted' risk states. @@ -1520,7 +1607,7 @@ Remediation Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this remediation elsewhere in this or other OSCAL instances. The locally defined UUID of the risk response can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this remediation elsewhere in this or other OSCAL instances. The locally defined UUID of the risk response can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Remediation Intent @@ -1563,7 +1650,7 @@ Required Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this required asset elsewhere in this or other OSCAL instances. The locally defined UUID of the asset can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this required asset elsewhere in this or other OSCAL instances. The locally defined UUID of the asset can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -1596,10 +1683,10 @@ - + - + The risk will be eliminated. The risk will be reduced. The risk will be transferred to another organization or entity. @@ -1626,7 +1713,7 @@ Part Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this part elsewhere in this or other OSCAL instances. The locally defined UUID of the part can be used to reference the data item locally or globally (e.g., in an ported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this part elsewhere in this or other OSCAL instances. The locally defined UUID of the part can be used to reference the data item locally or globally (e.g., in an ported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Part Name @@ -1640,13 +1727,12 @@ - + Part Namespace A namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name. -

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated text used in a part. This allows the semantics associated with a given name to be defined on an organization-by-organization basis.

-

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

+

This value must be an absolute URI that serves as a naming system identifier.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

@@ -1680,11 +1766,11 @@ - + 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. diff --git a/src/metaschema/oscal_assessment-plan_metaschema.xml b/src/metaschema/oscal_assessment-plan_metaschema.xml index 790af4fcb..2c58c68cc 100644 --- a/src/metaschema/oscal_assessment-plan_metaschema.xml +++ b/src/metaschema/oscal_assessment-plan_metaschema.xml @@ -21,7 +21,7 @@ Assessment Plan Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment plan in this or other OSCAL instances. The locally defined UUID of the assessment plan can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment plan in this or other OSCAL instances. The locally defined UUID of the assessment plan can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -91,7 +91,7 @@ - + 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. diff --git a/src/metaschema/oscal_assessment-results_metaschema.xml b/src/metaschema/oscal_assessment-results_metaschema.xml index 93433080c..39e963892 100644 --- a/src/metaschema/oscal_assessment-results_metaschema.xml +++ b/src/metaschema/oscal_assessment-results_metaschema.xml @@ -23,7 +23,7 @@ Assessment Results Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment results instance in this or other OSCAL instances. The locally defined UUID of the assessment result can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment results instance in this or other OSCAL instances. The locally defined UUID of the assessment result can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -67,7 +67,7 @@ Results Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this set of results in this or other OSCAL instances. The locally defined UUID of the assessment result can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this set of results in this or other OSCAL instances. The locally defined UUID of the assessment result can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -193,7 +193,7 @@ Assessment Log Entry Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference an assessment event in this or other OSCAL instances. The locally defined UUID of the assessment log entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference an assessment event in this or other OSCAL instances. The locally defined UUID of the assessment log entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -248,71 +248,7 @@ - - Finding - Describes an individual finding. - - Finding Universally Unique Identifier - - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this finding in this or other OSCAL instances. The locally defined UUID of the finding can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - - Finding Title - The title for this finding. - - - - Finding Description - A human-readable description of this finding. - - - - - - - - - - - - -

Used to identify the individual and/or tool generated this finding.

-
-
- - target - - - Implementation Statement UUID - - A machine-oriented identifier reference to the implementation statement in the SSP to which this finding is related. - - - - Related Observation - Relates the finding to a set of referenced observations that were used to determine the finding. - - - Observation Universally Unique Identifier Reference - - A machine-oriented identifier reference to an observation defined in the list of observations. - - - - - Associated Risk - Relates the finding to a set of referenced risks that were used to determine the finding. - - - Risk Universally Unique Identifier Reference - - A machine-oriented identifier reference to a risk defined in the list of risks. - - - -
-
+ @@ -322,11 +258,12 @@ Assessment Plan Reference A resolvable URL reference to the assessment plan governing the assessment activities. -

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter - resource in the same document.

- -

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

-

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

+

This value may be one of:

+
    +
  1. an absolute URI that points to a network resolvable resource,
  2. +
  3. a relative reference pointing to a network resolvable resource whose base URI is the URI of the containing document, or
  4. +
  5. a bare URI fragment (i.e., `#uuid`) pointing to a back-matter resource in this or an imported document (see linking to another OSCAL object).
  6. +
diff --git a/src/metaschema/oscal_catalog_metaschema.xml b/src/metaschema/oscal_catalog_metaschema.xml index de9d57965..fc2a4d25a 100644 --- a/src/metaschema/oscal_catalog_metaschema.xml +++ b/src/metaschema/oscal_catalog_metaschema.xml @@ -5,33 +5,36 @@ ]> - + + OSCAL Control Catalog Model 1.0.4 oscal-catalog http://csrc.nist.gov/ns/oscal/1.0 http://csrc.nist.gov/ns/oscal -

The OSCAL Control Catalog format can be used to describe a collection of security controls and related control enhancements, along with contextualizing documentation and metadata. The root of the Control Catalog format is catalog. -

+

The OSCAL Control Catalog format can be used to describe a collection of security controls and related control enhancements, along with contextualizing documentation and metadata. The root of the Control Catalog format is catalog.

+ Catalog - A collection of controls. + A structured, organized collection of control information. catalog Catalog Universally Unique Identifier - A globally unique identifier with cross-instance scope for this catalog instance. This UUID should be changed when this document is revised. + Provides a globally unique means to identify a given catalog instance. + + + + + - @@ -49,21 +52,38 @@ The tool used to produce a resolved profile. + The document-level uuid of the source profile from which the catalog was produced by profile resolution. - - The tool used to produce a resolved profile. + + The profile from which the catalog was produced by profile resolution. + The document-level uuid of the profile from which the catalog was produced by profile resolution. + + + + + + + + + + + + + + +

Catalogs may use one or more group objects to subdivide the control contents of a catalog.

-

An OSCAL catalog model provides a structured representation of control information.

- A small catalog with a single control - + A small catalog with a single control. + A Miniature Catalog A Single Control + @@ -72,10 +92,15 @@ Control Group A group of controls, or of groups of controls. - + Group Identifier - A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined group elsewhere in in this and other OSCAL instances (e.g., profiles). This id should be assigned per-subject, which means it should be consistently used to identify the same group across revisions of the document. + Identifies the group for the purpose of cross-linking within the defining instance or from other instances that reference the catalog. + + + + + Group Class @@ -91,7 +116,6 @@ A name given to the group, which may be used by a tool for display and navigation. - @@ -115,7 +139,6 @@
- &allowed-values-control-group-property-name; @@ -124,11 +147,11 @@ -

Catalogs can use a group to collect related controls into a single grouping. That can be useful to group controls into a family or other logical grouping.

-

A group may have its own properties, statements, parameters, and references, which are inherited by all members of that group.

+

Catalogs can use the catalog group construct to organize related controls into a single grouping, such as a family of controls or other logical organizational structure.

+

A group may have its own properties, statements, parameters, and references, which are inherited by all controls of that are a member of the group.

- + My Group @@ -139,28 +162,41 @@
Control - A structured information object representing a security or privacy control. Each security or privacy control within the Catalog is defined by a distinct control instance. + A structured object representing a requirement or guideline, which when + implemented will reduce an aspect of risk related to an information system and its + information. Control Identifier - A human-oriented, locally unique identifier with instance scope that can be used to reference this control elsewhere in this and other OSCAL instances (e.g., profiles). This id should be assigned per-subject, which means it should be consistently used to identify the same control across revisions of the document. + Identifies a control such that it can be referenced in the defining + catalog and other OSCAL instances (e.g., profiles). + + + + + Control Class - A textual label that provides a sub-type or characterization of the control. + A textual label that provides a sub-type or characterization of the + control. -

A class can be used in validation rules to express extra constraints over named items of a specific class value.

-

A class can also be used in an OSCAL profile as a means to target an alteration to control content.

+

A class can be used in validation rules to express extra + constraints over named items of a specific class + value.

+

A class can also be used in an OSCAL profile as a means to + target an alteration to control content.

Control Title - A name given to the control, which may be used by a tool for display and navigation. + A name given to the control, which may be used by a tool for + display and navigation. - @@ -173,6 +209,23 @@ + + Mapping + A mapping between the containing control and another + resource. + + Mapping Identifier + The unique identifier for the mapping. + + + + target-resource + + + + + + @@ -180,69 +233,100 @@ - - - &allowed-values-control-group-property-name; - The status of a control. For example, a value of 'withdrawn' can indicate that the control has been withdrawn and should no longer be used. + + + &allowed-values-control-group-property-name; + The status of a control. For example, a + value of 'withdrawn' can indicate that the control has + been withdrawn and should no longer be used. - + The control is no longer used. + **(deprecated)*** Use 'withdrawn' + instead. - The link cites an external resource related to this control. - The link identifies another control with bearing to this control. - The link identifies another control that must be present if this control is present. - The link identifies other control content where this control content is now addressed. - The containing control definition was moved to the referenced control. + The link cites an external resource related to this + control. + The link identifies another control with bearing to + this control. + The link identifies another control that must be + present if this control is present. + The link identifies other control content + where this control content is now addressed. + The containing control definition was moved to the + referenced control. - - - An introduction to a control or a group of controls. + + + + + + An introduction to a control or a group of + controls. A set of control implementation requirements. - Additional information to consider when selecting, implementing, assessing, and monitoring a control. - **(deprecated)** Use 'assessment-method' instead. - The part describes a method-based assessment over a set of assessment objects. + Additional information to consider when selecting, + implementing, assessing, and monitoring a control. + **(deprecated)** Use + 'assessment-method' instead. + The part describes a method-based assessment + over a set of assessment objects. - + An individual item within a control statement.

Nested statement parts are "item" parts.

- - **(deprecated)** Use 'assessment-objective' instead. - The part describes a set of assessment objectives. + + **(deprecated)** Use + 'assessment-objective' instead. + The part describes a set of assessment + objectives.

Objectives can be nested.

- - **(deprecated)** Use 'assessment-objects' instead. - Provides a listing of assessment objects. + + **(deprecated)** Use + 'assessment-objects' instead. + Provides a listing of assessment + objects.

Assessment objects appear on assessment methods.

- - - **(deprecated)** Use 'method' in the 'http://csrc.nist.gov/ns/rmf' namespace. The assessment method to use. This typically appears on parts with the name "assessment". + + **(deprecated)** Use 'method' in the 'http://csrc.nist.gov/ns/rmf' namespace. The assessment method to use. This typically appears on parts with the name "assessment-method". - - The assessment method to use. This typically appears on parts with the name "assessment". + + The assessment method to use. This typically appears on + parts with the name "assessment-method". - + 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.
-

Controls may be grouped using group, and controls may be partitioned using part or further enhanced (extended) using control.

-

A control must have a part with the name "statement", which represents the textual narrative of the control. This "statement" part must occur only once, but may have nested parts to allow for multiple paragraphs or sections of text.

+

Each security or privacy control within the catalog is defined by a distinct control instance. Controls may be as complex or as simple as a catalog defines them. They may be decomposed or further specified into child control objects, for example to represent control enhancements or specific breakouts of control functionality, to be maintained as discrete requirements. Controls may also contain structured parts (using part) and they may be grouped together in families or classes with group.

+

Control structures in OSCAL will also exhibit regularities and rules that are not codified in OSCAL but in its applications or domains of application. For example, for catalogs describing controls as defined by NIST SP 800-53, a control must have a part with the name "statement", which represents the textual narrative of the control. This "statement" part must occur only once, but may have nested parts to allow for multiple paragraphs or sections of text. This organization supports addressability of this data content as long as, and only insofar as, it is consistently implemented across the control set. As given with these model definitions, constraints defined and assigned here can aid in ensuring this regularity; but other such constraints and other useful patterns of use remain to be discovered and described.

- + Control 1 diff --git a/src/metaschema/oscal_complete_metaschema.xml b/src/metaschema/oscal_complete_metaschema.xml index 7a916ef79..09ab98b22 100644 --- a/src/metaschema/oscal_complete_metaschema.xml +++ b/src/metaschema/oscal_complete_metaschema.xml @@ -15,6 +15,7 @@

This format represents a combination of all of the OSCAL models.

+ diff --git a/src/metaschema/oscal_component_metaschema.xml b/src/metaschema/oscal_component_metaschema.xml index c757be4c8..b5812a32d 100644 --- a/src/metaschema/oscal_component_metaschema.xml +++ b/src/metaschema/oscal_component_metaschema.xml @@ -19,10 +19,11 @@ http://csrc.nist.gov/ns/oscal/1.0 http://csrc.nist.gov/ns/oscal -

The OSCAL Component Definition Model can be used to describe the implementation of controls in a component or a set of components grouped as a capability. A component can be either a technical component, or a documentary component. A technical component is a component that is implemented in hardware (physical or virtual) or software. A documentary component is a component implemented in a document, such as a process, procedure, or policy.

-

The root of the OSCAL Implementation Component format is component-definition. -

-

NOTE: This documentation is a work in progress. As a result, documentation for many of the information elements is missing or incomplete.

+

The OSCAL Component Definition Model can be used to describe the implementation of controls in a component or a set of components grouped as a capability. A component can be either a technical component, or a documentary component.

+

A technical component is a component that is implemented in hardware (physical or virtual) or software. Suppliers may document components in an OSCAL component definition that describes the implementation of controls in their hardware and software.

+

A documentary component is a component implemented for a documented process, procedure, or policy. Suppliers may document components in an OSCAL component definition that describes the implementation of controls in their process, procedure, or policy.

+

The information provided by a technical or documentary component can be used by component consumers to provide starting narratives for documenting control implementations in an OSCAL SSP.

+

The root of the OSCAL Implementation Layer Component Definition model is component-definition.

@@ -34,7 +35,12 @@ Component Definition Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component definition elsewhere in this or other OSCAL instances. The locally defined UUID of the component definition can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Provides a globally unique means to identify a given component definition instance. + + + + + @@ -72,6 +78,14 @@ Hyperlink Reference A link to a resource that defines a set of components and/or capabilities to import into this collection. + +

This value may be one of:

+
    +
  1. an absolute URI that points to a network resolvable resource,
  2. +
  3. a relative reference pointing to a network resolvable resource whose base URI is the URI of the containing document, or
  4. +
  5. a bare URI fragment (i.e., `#uuid`) pointing to a back-matter resource in this or an imported document (see linking to another OSCAL object).
  6. +
+
@@ -81,7 +95,12 @@ Component Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component elsewhere in this or other OSCAL instances. The locally defined UUID of the component can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Provides a globally unique means to identify a given component. + + + + + type @@ -129,7 +148,7 @@
- + @@ -158,7 +177,7 @@ &allowed-values-responsible-roles-component-production; - + &allowed-values-property-name-asset-type-values; @@ -166,22 +185,22 @@ - + The component allows an authenticated scan. The component does not allow an authenticated scan. - + The component is virtualized. The component is not virtualized. - + The component is publicly accessible. The component is not publicly accessible. - + The component is implemented within the system boundary. The component is implemented outside the system boundary. @@ -191,8 +210,8 @@ - - + + @@ -202,7 +221,7 @@ - + &allowed-values-component_component_software; @@ -252,7 +271,12 @@ Capability Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this capability elsewhere in this or other OSCAL instances. The locally defined UUID of the capability can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance).This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Provides a globally unique means to identify a given capability. + + + + + Capability Name @@ -284,16 +308,17 @@

A given component must not be referenced more than once within the same capability.

+
Incorporates Component - TBD + The collection of components comprising this capability. Component Reference - A machine-oriented identifier reference to a component. + A machine-oriented identifier reference to a component. @@ -309,13 +334,25 @@ Control Implementation Set Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference a set of implemented controls elsewhere in this or other OSCAL instances. The locally defined UUID of the control implementation set can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Provides a means to identify a set of control implementations that are supported by a given component or capability. + + + + + - + + Source Resource Reference + A reference to an OSCAL catalog or profile providing the referenced control or subcontrol definition. -

A URL reference to the source catalog or profile for which this component is implementing controls for.

+

This value may be one of:

+
    +
  1. an absolute URI that points to a network resolvable resource,
  2. +
  3. a relative reference pointing to a network resolvable resource whose base URI is the URI of the containing document, or
  4. +
  5. a bare URI fragment (i.e., `#uuid`) pointing to a back-matter resource in this or an imported document (see linking to another OSCAL object).
  6. +
-
+
Control Implementation Description @@ -352,13 +389,18 @@ Control Implementation Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference a specific control implementation elsewhere in this or other OSCAL instances. The locally defined UUID of the control implementation can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance).This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Provides a globally unique means to identify a given control implementation by a component. + + + + + Control Implementation Description - A suggestion for how the specified control may be implemented if the containing component or capability is instantiated in a system security plan. + A suggestion from the supplier (e.g., component vendor or author) for how the specified control may be implemented if the containing component or capability is instantiated in a system security plan. @@ -398,7 +440,7 @@ -

Implemented requirements within a component or capability in a component definition provide a means to suggest possible control implementation details, which may be used by a different party when authoring a system security plan. Thus, these requirements defined in a component definition are only a suggestion of how to implement, which may be adopted wholesale, changed, or ignored by a person defining an information system implementation.

+

Implemented requirements within a component or capability in a component definition provide a means for component suppliers to suggest possible control implementation details, which may be used by a different party (e.g., component consumers) when authoring a system security plan. Thus, these requirements defined in a component definition are only a suggestion of how to implement, which may be adopted wholesale, changed, or ignored by a person defining an information system implementation.

Use of set-parameter in this context, sets the parameter for the referenced control and any associated statements.

@@ -413,7 +455,7 @@ Control Statement Reference Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this control statement elsewhere in this or other OSCAL instances. The UUID of the control statement in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this control statement elsewhere in this or other OSCAL instances. The UUID of the control statement in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). diff --git a/src/metaschema/oscal_control-common_metaschema.xml b/src/metaschema/oscal_control-common_metaschema.xml index 1f3443fc8..e5506cd4c 100644 --- a/src/metaschema/oscal_control-common_metaschema.xml +++ b/src/metaschema/oscal_control-common_metaschema.xml @@ -5,11 +5,12 @@ ]> - + + OSCAL Control Catalog Format -- Common Models 1.0.4 - oscal-catalog-common + oscal-control-common http://csrc.nist.gov/ns/oscal/1.0 http://csrc.nist.gov/ns/oscal @@ -18,32 +19,38 @@ Part - A partition of a control's definition or a child of another part. + An annotated, markup-based textual element of a control's or catalog group's definition, or a child of another part. Part Identifier - A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined part elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A unique identifier for the part. + + + + + + +

While a part is not required to have an id, it is often desirable for an identifier to be provided, which allows the part to be referenced elsewhere in OSCAL document instances. For this reason, it is RECOMMENDED to provide a part identifier.

+
Part Name - A textual label that uniquely identifies the part's semantic type. + A textual label that uniquely identifies the part's semantic type, which exists in a value space qualified by the ns. - - + Part Namespace - A namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name. + An optional namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name. -

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated text used in a part. This allows the semantics associated with a given name to be defined on an organization-by-organization basis.

-

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

+

This value must be an absolute URI that serves as a naming system identifier.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

Part Class - A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns. - + An optional textual providing a sub-type or characterization of the part's name, or a category to which the part belongs. +

One use of this flag is to distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns (since even within a given namespace it can be useful to overload a name).

A class can be used in validation rules to express extra constraints over named items of a specific class value.

A class can also be used in an OSCAL profile as a means to target an alteration to control content.

@@ -51,7 +58,7 @@ Part Title - A name given to the part, which may be used by a tool for display and navigation. + An optional name given to the part, which may be used by a tool for display and navigation. @@ -69,52 +76,60 @@ - &allowed-values-control-group-property-name;

A part provides for logical partitioning of prose, and can be thought of as a grouping structure (e.g., section). A part can have child parts allowing for arbitrary nesting of prose content (e.g., statement hierarchy). A part can contain prop objects that allow for enriching prose text with structured name/value information.

-

A part can be assigned an optional id, which allows for internal and external references to the textual concept contained within a part. A id provides a means for an OSCAL profile, or a higher layer OSCAL model to reference a specific part within a catalog. For example, an id can be used to reference or to make modifications to a control statement in a profile.

+

A part can be assigned an optional id, which allows references to this part from within a catalog, or within an instance of another OSCAL model that has a need to reference the part. Examples of where part referencing is used in OSCAL include:

+
    +
  • Referencing a part by id to tailor (make modifications to) a control statement in a profile.
  • +
  • Referencing a control statement represented by a part in a system security plan implemented-requirement where a statement-level response is desired.
  • +

Use of part and prop provides for a wide degree of extensibility within the OSCAL catalog model. The optional ns provides a means to qualify a part's name, allowing for organization-specific vocabularies to be defined with clear semantics. Any organization that extends OSCAL in this way should consistently assign a ns value that represents the organization, making a given namespace qualified name unique to that organization. This allows the combination of ns and name to always be unique and unambiguous, even when mixed with extensions from other organizations. Each organization is responsible for governance of their own extensions, and is strongly encouraged to publish their extensions as standards to their user community. If no ns is provided, the name is expected to be in the "OSCAL" namespace.

To ensure a ns is unique to an organization and naming conflicts are avoided, a URI containing a DNS or other globally defined organization name should be used. For example, if FedRAMP and DoD both extend OSCAL, FedRAMP will use the ns http://fedramp.gov/ns/oscal, while DoD might use the ns https://defense.gov for any organization specific name.

Tools that process OSCAL content are not required to interpret unrecognized OSCAL extensions; however, OSCAL compliant tools should not modify or remove unrecognized extensions, unless there is a compelling reason to do so, such as data sensitivity.

- Multiple Parts with Different Organization-Specific Names - - Something FedRAMP Cares About - Something DoD Cares About - + Multiple Parts with Different Organization-Specific Names. + + A requirement specific to FedRAMP stakeholders. + A requirement specific to the Department of Defense stakeholders. +
+ Parameter Parameters provide a mechanism for the dynamic assignment of value(s) in a control. - param Parameter Identifier - - A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined parameter elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A unique identifier for the parameter. + + + + + Parameter Class - A textual label that provides a characterization of the parameter. + A textual label that provides a characterization of the type, + purpose, use or scope of the parameter.

A class can be used in validation rules to express extra constraints over named items of a specific class value.

Depends on - **(deprecated)** Another parameter invoking this one. This construct has been deprecated and should not be used. + (deprecated) Another parameter invoking this one. This construct has been deprecated and should not be used. @@ -128,12 +143,13 @@ Parameter Label A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned. -

The label value should be suitable for inline display in a rendered catalog.

+

The label value is intended use when rendering a parameter in generated documentation or a user interface when a parameter is referenced. Note that labels are not required to be distinctive, which means that parameters within the same control may have the same label.

Parameter Usage Description - Describes the purpose and use of a parameter + Describes the purpose and use of a + parameter. constraint @@ -141,27 +157,26 @@ guideline - - value -

A set of values provided in a catalog can be redefined at any higher layer of OSCAL (e.g., Profile).

+

A set of values provided in a catalog can be redefined in OSCAL's profile or system-security-plan models.

select -

A set of parameter value choices, that may be picked from to set the parameter value.

+

The OSCAL parameter value construct can be used to prescribe a specific parameter value in a catalog or profile. In cases where a prescriptive value is not possible in a catalog or profile, it may be possible to constrain the set of possible values to a few options. Use of select in a parameter instead of value is a way of defining value options that may be set.

+

A set of allowed parameter values expressed as a set of options which may be selected. These options constrain the permissible values that may be selected for the containing parameter. When the value assignment is made, such as in an OSCAL profile or system security plan, the actual selected value can be examined to determine if it matches one of the permissible choices for the parameter value.

+

When the value of how-many is set to "one-or-more", multiple values may be assigned reflecting more than one choice.

-
@@ -169,7 +184,9 @@ 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. + The parent parameter provides an + aggregation of two or more other parameters, each described + by this property. depends-on is deprecated @@ -182,16 +199,13 @@ - Constraint - A formal or informal expression of a constraint or test + A formal or informal expression of a constraint or test. - Constraint Description A textual summary of the constraint to be applied. - Constraint Test A test expression which is expected to be evaluated by a tool. @@ -199,7 +213,8 @@ Constraint test - A formal (executable) expression of a constraint + A formal (executable) expression of a + constraint. @@ -214,24 +229,22 @@ Guideline Text Prose permits multiple paragraphs, lists, tables etc.
-
- Parameter Value A parameter value or set of values. Selection - Presenting a choice among alternatives + Presenting a choice among alternatives. Parameter Cardinality Describes the number of selections that must occur. Without this setting, only one value should be assumed to be permitted. - + Only one value is permitted. One or more values are permitted. @@ -240,13 +253,12 @@ Choice - A value selection among several such options + A value selection among several such + options. choice value - -

A set of parameter value choices, that may be picked from to set the parameter value.

@@ -258,7 +270,10 @@ Control Identifier Reference - A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). + A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). + + + Include All diff --git a/src/metaschema/oscal_implementation-common_metaschema.xml b/src/metaschema/oscal_implementation-common_metaschema.xml index 199eb552e..29d57fec3 100644 --- a/src/metaschema/oscal_implementation-common_metaschema.xml +++ b/src/metaschema/oscal_implementation-common_metaschema.xml @@ -31,7 +31,7 @@ Component Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component elsewhere in this or other OSCAL instances. The locally defined UUID of the component can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component elsewhere in this or other OSCAL instances. The locally defined UUID of the component can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -87,7 +87,7 @@ - + Relative placement of component ('internal' or 'external') to the system. UUID of the related leveraged-authorization assembly in this SSP. @@ -109,6 +109,7 @@ &allowed-values-component_component_link-rel; This component uses the network provided by the identified network component. + The hyperlink identifies a URI pointing to the component in a component-definition that originally defined the component. @@ -119,26 +120,26 @@ &allowed-values-responsible-roles-component-production; - + &allowed-values-property-name-asset-type-values; - + 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. @@ -147,14 +148,14 @@ - - + + - + The name of the company or organization @@ -171,7 +172,7 @@ - + &allowed-values-component_component_software; @@ -187,7 +188,7 @@ - + Title of the Interconnection Security Agreement (ISA). Date of the Interconnection Security Agreement (ISA). The name of the remote interconnected system. @@ -195,7 +196,7 @@ 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. @@ -209,10 +210,10 @@ 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. @@ -251,7 +252,7 @@ Service Protocol Information Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this service protocol information elsewhere in this or other OSCAL instances. The locally defined UUID of the service protocol can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this service protocol information elsewhere in this or other OSCAL instances. The locally defined UUID of the service protocol can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Protocol Name @@ -345,7 +346,7 @@ User Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this user class elsewhere in this or other OSCAL instances. The locally defined UUID of the system user can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this user class elsewhere in this or other OSCAL instances. The locally defined UUID of the system user can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -376,16 +377,16 @@ - + 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. @@ -431,7 +432,7 @@ Inventory Item Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inventory item elsewhere in this or other OSCAL instances. The locally defined UUID of the inventory item can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inventory item elsewhere in this or other OSCAL instances. The locally defined UUID of the inventory item can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - A machine-oriented identifier reference to a component that is implemented as part of an inventory item. + A machine-oriented identifier reference to a component that is implemented as part of an inventory item. @@ -505,13 +506,13 @@ - + &allowed-values-component_component_property-name; &allowed-values-component_inventory-item_property-name; - + @@ -531,7 +532,7 @@ - + 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. @@ -563,16 +564,16 @@ &allowed-values-component_inventory-item_property-name; - + &allowed-values-property-name-asset-type-values; - + The name of the company or organization - + The asset is included in periodic vulnerability scanning. The asset is not included in periodic vulnerability scanning. @@ -603,10 +604,7 @@ - - Source Resource Reference - A reference to an OSCAL catalog or profile providing the referenced control or subcontrol definition. - + - A human-oriented identifier reference to a control statement. + A human-oriented identifier reference to a control statement.
Set Parameter Value @@ -665,7 +663,14 @@ System Identification - A human-oriented, globally unique identifier with cross-instance scope that can be used to reference this system identification property elsewhere in this or other OSCAL instances. When referencing an externally defined system identification, the system identification must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). This string should be assigned per-subject, which means it should be consistently used to identify the same system across revisions of the document. + + A human-oriented, globally unique identifier with cross-instance scope that can be used to reference this system identification property elsewhere in this or other OSCAL instances. When referencing an externally defined system identification, the system identification must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). This string should be assigned per-subject, which means it should be consistently used to identify the same system across revisions of the document. id Identification System Type @@ -678,6 +683,9 @@ A Universally Unique Identifier (UUID) as defined by RFC4122. + +

This value must be an absolute URI that serves as a naming system identifier.

+
@@ -686,7 +694,7 @@ Parameter ID - A human-oriented reference to a parameter within a control, who's catalog has been imported into the current implementation context. + A human-oriented reference to a parameter within a control, who's catalog has been imported into the current implementation context. System ISSO diff --git a/src/metaschema/oscal_mapping-common_metaschema.xml b/src/metaschema/oscal_mapping-common_metaschema.xml new file mode 100644 index 000000000..1956eb9f9 --- /dev/null +++ b/src/metaschema/oscal_mapping-common_metaschema.xml @@ -0,0 +1,125 @@ + + + + OSCAL Mapping Model -- Common Models + 1.0.0 + oscal-mapping-common + http://csrc.nist.gov/ns/oscal/1.0 + http://csrc.nist.gov/ns/oscal + + + + + Mapping Entry + A relationship-based mapping between a source and target set consisting of members (i.e., controls, control statements) from the respective source and target. + + Mapping Entry Identifier + The unique identifier for the mapping entry. + + + + + + + + + + Mapping Entry Relationship + The relationship type for the mapping entry, which describes the relationship between the effective requirements of the specified source and target sets. + type + + Relationship Value Namespace + A namespace qualifying the relationship's value. This allows different organizations to associate distinct semantics for relationships with the same name. + +

This value must be an absolute URI that serves as a naming system identifier.

+

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

+
+
+ + + The effective requirements of the source is equivalent in semantic meaning to the effective requirements of the target. The words may differ, but both mapped sets convey similar information with the same effective meaning. This relationship may be reversed, since `A equivalent-to B` also means that `B equivalent-to A`. + The actual requirements of the source are the same as the actual requirements target. Differences in capitalization, spelling, and grammar can be ignored, if these differences do not change the meaning. This relationship may be reversed, since `A equal-to B` also means that `B equal-to A`. + The effective requirements of the source is a semantic subset of the effective requirements of the target. This relationship may be reversed as a `superset-of`, since `A subset-of B` also means that `B superset-of A`. + The effective requirements of the source is a semantic superset of the effective requirements of the target. This relationship may be reversed as a `subset-of`, since `A superset-of B` also means that `B subset-of A`. + The effective requirements of the source and target have some semantic equivalence, but not all effective requirements from each are contained within the other. This relationship may be reversed, since `A intersects-with B` also means that `B intersects-with A`. A lower granularity mapping, such as a statement level mapping using 'equivalent-to', 'subset-of', and/or 'superset-of', may provide a more functional mapping that allows for more inference than using this relationship type. + + + +

When establishing relationships, mapping SHOULD be done at the control statement level where possible. This approach allows for more use of 'equivalent-to', which represents a stronger relationship than the other relationship types.

+
+
+ + source + + + + target + + + +
+
+ + Mapping Entry Item (source or target) + Identifies a specific edge within a source or target that is the subject of a mapping. + + Subject Type + The semantic type of the subject. + + + A control as defined by OSCAL. + A textual element of a control that defines part of the control's requirements. + + + + + Subject Identifier Reference + A reference to an identified subject that is of the specified type. + + + + + + + + + + + + + + Mapped Resource Reference + A reference to a resource that is either the source or target of a mapping. + + Resource Type + The semantic type of the resource. + + + The mapped resource is a control catalog. + + + + + Catalog or Profile Reference + A resolvable URL reference to the base catalog or profile that this profile is tailoring. + +

This value may be one of:

+
    +
  1. an absolute URI that points to a network resolvable resource,
  2. +
  3. a relative reference pointing to a network resolvable resource whose base URI is the URI of the containing document, or
  4. +
  5. a bare URI fragment (i.e., `#uuid`) pointing to a back-matter resource in this or an imported document (see linking to another OSCAL object).
  6. +
+
+
+ + + + + + + + + +
+
\ No newline at end of file diff --git a/src/metaschema/oscal_mapping_metaschema.xml b/src/metaschema/oscal_mapping_metaschema.xml new file mode 100644 index 000000000..cb4b8bfb1 --- /dev/null +++ b/src/metaschema/oscal_mapping_metaschema.xml @@ -0,0 +1,66 @@ + + + + + +]> + + OSCAL Control Mapping Model + 1.0.3 + oscal-mapping + http://csrc.nist.gov/ns/oscal/1.0 + http://csrc.nist.gov/ns/oscal + +

The OSCAL Control mapping format can be used to describe how a collection of security controls and related control enhancements relate to another collection of controls. The root of the Control Catalog format is mapping-collection. +

+
+ + + + + Mapping Collection + A collection of relationship-based control and/or control statement mappings. + mapping-collection + + Mapping Collection Universally Unique Identifier + A globally unique identifier with cross-instance scope for this catalog instance. This UUID should be changed when this document is revised. + + + + + + + + + +

Back matter including references and resources.

+
+
+
+ +

A mapping collection affirmatively declares the relationships that exist between sets of controls and/or control statements in a source and target. It is expected that inferences can be made based on what is mapped; however, no inferences should be made based on what is not mapped, since it is impossible to quantify how complete or granular a given mapping is.

+
+
+ + Control Mapping + A mapping between two target resources. + + Mapping Universally Unique Identifier + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this mapping definition elsewhere in this or other OSCAL instances. The locally defined UUID of the mapping can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same mapping across revisions of the document. + + + + source-resource + + + target-resource + + + + + + +
diff --git a/src/metaschema/oscal_metadata_metaschema.xml b/src/metaschema/oscal_metadata_metaschema.xml index 59ede0c38..3c665a32e 100644 --- a/src/metaschema/oscal_metadata_metaschema.xml +++ b/src/metaschema/oscal_metadata_metaschema.xml @@ -2,8 +2,9 @@ + + xmlns="http://csrc.nist.gov/ns/oscal/metaschema/1.0" abstract="yes"> OSCAL Document Metadata Description 1.0.4 oscal-metadata @@ -14,8 +15,8 @@ - Publication metadata - Provides information about the publication and availability of the containing document. + Document Metadata + Provides information about the containing document, and defines concepts that are shared across the document. Document Title @@ -25,12 +26,43 @@ - - - - - - + + Revision History Entry + An entry in a sequential list of revisions to the containing document, expected to be in reverse chronological order (i.e. latest first). + + + Document Title + A name given to the document revision, which may be used by a tool for display and navigation. + + + + + + + + + + + + + + + + + The link identifies the authoritative location for this resource. Defined by RFC 6596. + The link identifies an alternative location or format for this resource. 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. + This link identifies a resource containing the version history of this document. Defined by RFC 5829. + + + + +

While published, last-modified, and oscal-version are not required, values for these entries should be provided if the information is known. A link with a rel of source should be provided if the information is known.

+
+
@@ -40,22 +72,281 @@ - + + Role + Defines a function, which might be assigned to a party in a specific situation. - - + + + Role Identifier + A unique identifier for the role. + + + + + + + + + + Role Title + A name given to the role, which may be used by a tool for display and navigation. + + + Role Short Name + A short common name, abbreviation, or acronym for the role. + + + + Role Description + A summary of the role's purpose and associated responsibilities. + + + + + + + + + + + + + + +

Permissible values to be determined closer to the application (e.g. by a receiving authority).

+

OSCAL has defined a set of standardized roles for consistent use in OSCAL documents. This allows tools consuming OSCAL content to infer specific semantics when these roles are used. These roles are documented in the specific contexts of their use (e.g., responsible-party, responsible-role). When using such a role, it is necessary to define these roles in this list, which will then allow such a role to be referenced.

+
+
+ + Location + A physical point of presence, which may be associated with people, organizations, or other concepts within the current or linked OSCAL document. -
- + + Location Universally Unique Identifier + A unique ID for the location, for reference. + + + + Location Title + A name given to the location, which may be used by a tool for display and navigation. + + + +

The physical address of the location, which will provided for physical locations. Virtual locations can omit this data item.

+
+
+ + + +

A contact email associated with the location.

+
+
+ + + +

A phone number used to contact the location.

+
+
+ + Location URL + The uniform resource locator (URL) for a web site or other resource associated with the location. + + +

This data field is deprecated in favor of using a link with an appropriate relationship.

+
+
+ + + + + + + +
+ + + 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. + + + In most cases, it is useful to define a location. In some cases, defining an explicit location may represent a security risk. + + + A location must have at least a title, address, email-address, or telephone number. + + + +

An address might be sensitive in nature. In such cases a title, mailing address, email-address, and/or phone number may be used instead.

+
+ + + Party + An organization or person, which may be associated with roles or other concepts within the current or linked OSCAL document. -
+ + Party Universally Unique Identifier + + A unique identifier for the party. + + + + + + + + Party Type + A category describing the kind of party the object describes. + + + A human being regarded as an individual. + An organized group of one or more person individuals with a specific purpose. + + + + + + Party Name + The full name of the party. This is typically the legal name associated with the party. + + + Party Short Name + A short common name, abbreviation, or acronym for the party. + + + + Party External Identifier + An identifier for a person or organization using a designated + scheme. e.g. an Open Researcher and Contributor ID + (ORCID). + id + + + External Identifier Schema + Indicates the type of external identifier. + + + The identifier is Open Researcher and Contributor ID (ORCID). + + + +

This value must be an absolute URI that serves as a naming system identifier.

+
+
+
+ + + + + + + + + +

This is a contact email associated with the party.

+
+
+ + + +

A phone number used to contact the party.

+
+
+ + + + + + + + + + Organizational Affiliation + + A reference to another party by UUID, typically an organization, that this subject is associated with. + + + + + + + + + + + +

Since the reference target of an organizational affiliation must be another party (whether further qualified as person or organization) as inidcated by its uuid. As a machine-oriented identifier with uniqueness across document and trans-document scope, this uuid value is sufficient to reference the data item locally or globally across related documents, e.g., in an imported OSCAL instance.

+

Parties of both the person or organization type can be associated with an organization using the member-of-organization.

+
+
+ +
+ + + A mail stop associated with the party. + The name or number of the party's office. + The formal job title of a person. + + + +

A party can be optionally associated with either an address or a location. While providing a meaningful location for a party is desired, there are some cases where it might not be possible to provide an exact location or even any location.

+
+ + + + + @@ -67,9 +358,11 @@ + + @@ -78,6 +371,7 @@ + + + + @@ -101,126 +398,45 @@ - 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. + Indicates the person or organization that created this content. + Indicates the person or organization that prepared this content. + Indicates the person or organization for which this content was created. + Indicates the person or organization responsible for all content represented in the "document". + Indicates the person or 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 + The link identifies the authoritative location for this resource. Defined by RFC 6596. + The link identifies an alternative location or format for this resource. 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. - - - - - Revision History Entry - An entry in a sequential list of revisions to the containing document in reverse chronological order (i.e., most recent previous revision first). - - - Document Title - A name given to the document revision, which may be used by a tool for display and navigation. - - - - - - - - - - - - - - - - - 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. - - - -

While published, last-modified, oscal-version, and version are not required, values for these entries should be provided if the information is known. For a revision entry to be considered valid, at least one of the following items must be provided: published, last-modified, version, or a link with a rel of source.

-
-
- - - Location - A location, with associated metadata that can be referenced. - - Location Universally Unique Identifier - - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined location elsewhere in this or other OSCAL instances. The locally defined UUID of the location can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - - Location Title - A name given to the location, which may be used by a tool for display and navigation. - - - -

Typically, the physical address of the location will be used here. If this information is sensitive, then a mailing address can be used instead.

-
-
- - - - -

This is a contact email associated with the location.

-
-
- - - + + + -

A phone number used to contact the location.

+

The combination of scheme and the field value must be unique.

-
- - Location URL - The uniform resource locator (URL) for a web site or Internet presence associated with the location. - - - - - - - - - - -
- - - 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. - + + +

All OSCAL documents use the same metadata structure, that provides a consistent way of expressing OSCAL document metadata across all OSCAL models. The metadata section also includes declarations of individual objects (i.e., roles, location, parties) that may be referenced within and across linked OSCAL documents.

+

The metadata in an OSCAL document has few required fields, representing only the bare minimum data needed to differentiate one instance from another. Tools and users creating OSCAL documents may choose to use any of the optional fields, as well as extension mechanisms (e.g., properties, links) to go beyond this minimum to suit their use cases.

+

A publisher of OSCAL content can use the published, last-modified, and version fields to establish information about an individual in a sequence of successive revisions of a given OSCAL-based publication. The metadata for a previous revision can be represented as a revision within this object. Links may also be provided using the predecessor-version and successor-version link relations to provide for direct access to the related resource. These relations can be provided as a link child of this object or as link within a given revision.

+

A responsible-party entry in this context refers to roles and parties that have responsibility relative to the production, review, publication, and use of the containing document.

+
- Location Reference - - A machine-oriented identifier reference to a location defined in the metadata section of this or another OSCAL instance. The UUID of the location in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). - + Location Universally Unique Identifier Reference + + Reference to a location by UUID. + + + @@ -231,178 +447,42 @@ - Location Reference - - A machine-oriented identifier reference to a location defined in the metadata section of this or another OSCAL instance. The UUID of the location in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). - + Location Universally Unique Identifier Reference + + Reference to a location by UUID. + + + - -

See the Concepts - Identifier Use page for additional information about the referenced identifier's scope.

-
- - Party (organization or person) - A responsible entity which is either a person or an organization. - - Party Universally Unique Identifier - - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined party elsewhere in this or other OSCAL instances. The locally defined UUID of the party can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - Party Type - A category describing the kind of party the object describes. - - - An individual. - A group of individuals formed for a specific purpose. - - - - - - - Party Name - The full name of the party. This is typically the legal name associated with the party. - - - Party Short Name - A short common name, abbreviation, or acronym for the party. - - - - Party External Identifier - An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID) - id - - - - External Identifier Schema - Indicates the type of external identifier. - - - The identifier is Open Researcher and Contributor ID (ORCID). - - - - - - - - - - - - - - -

This is a contact email associated with the party.

-
-
- - - - -

A phone number used to contact the party.

-
-
- - - - - - - - - - - Organizational Affiliation - - A machine-oriented identifier reference to another party (person or organization) that this subject is associated with. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). - - - - - - - - -

Parties of both the person or organization type can be associated with an organization using the member-of-organization.

-
-
- -
- - - A mail stop associated with the party. - The name or number of the party's office. - The formal job title of a person. - - -
- - Party Reference - - A machine-oriented identifier reference to another party defined in metadata. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). - + Party Universally Unique Identifier Reference + + Reference to a party by UUID. + + + - -

See the Concepts - Identifier Use page for additional information about the referenced identifier's scope.

-
- - Role - Defines a function assumed or expected to be assumed by a party in a specific situation. - - - - Role Identifier - A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined role elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, the locally defined ID of the Role from the imported OSCAL instance must be referenced in the context of the containing resource (e.g., import, import-component-definition, import-profile, import-ssp or import-ap). This ID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - - Role Title - A name given to the role, which may be used by a tool for display and navigation. - - - Role Short Name - A short common name, abbreviation, or acronym for the role. - - - - Role Description - A summary of the role's purpose and associated responsibilities. - - - - - - - - - - -

Permissible values to be determined closer to the application (e.g. by a receiving authority).

-

OSCAL has defined a set of standardized roles for consistent use in OSCAL documents. This allows tools consuming OSCAL content to infer specific semantics when these roles are used. These roles are documented in the specific contexts of their use (e.g., responsible-party, responsible-role). When using such a role, it is necessary to define these roles in this list, which will then allow such a role to be referenced.

-
-
- Role Identifier Reference - - A human-oriented identifier reference to roles served by the user. + + Reference to a role by UUID. + + + @@ -416,37 +496,35 @@ Back matter - A collection of resources, which may be included directly or by reference. + A collection of resources that may be referenced from within the OSCAL document instance. Resource - A resource associated with content in the containing document. A resource may be directly included in the document base64 encoded or may point to one or more equivalent internet resources. + A resource associated with content in the containing document instance. A resource may be directly included in the document using base64 encoding or may point to one or more equivalent internet resources. Resource Universally Unique Identifier + A unique identifier for a resource. - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined resource elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Resource Title - A name given to the resource, which may be used by a tool for display and navigation. + An optional name given to the resource, which may be used by a tool for display and navigation. - Resource Description - A short summary of the resource used to indicate the purpose of the resource. + An optional short summary of the resource used to indicate the purpose of the resource. - Citation - A citation consisting of end note text and optional structured bibliographic data. + An optional citation consisting of end note text using structured markup. Citation Text @@ -459,49 +537,60 @@ - +--> + + Resource link - A pointer to an external resource with an optional hash for verification and change detection. + A URL-based pointer to an external resource with an optional hash for verification and change detection. Hypertext Reference - A resolvable URI reference to a resource. + A resolvable URL pointing to the referenced resource. + +

This value may be either:

+
    +
  1. an absolute URI that points to a network resolvable resource,
  2. +
  3. a relative reference pointing to a network resolvable resource whose base URI is the URI of the containing document, or
  4. +
+
+ A hash of the resource identified by href, which can be used to verify the resource was not changed since it was hashed. -

When appearing as part of a resource/rlink, the hash applies to the resource referenced by the href. -

+

The hash value can be used to confirm that the resource referenced by the href is the same resources that was hashed by retrieving the resource, calculating a hash, and comparing the result to this value.

-

This construct is different from link, which makes no provision for a hash or formal title.

-

Multiple rlink can be included for a resource. In such a case, all provided rlink items are intended to be equivalent in content, but may differ in structure. A media-type is used to identify the format of a given rlink, and can be used to differentiate a items in a collection of rlinks. The media-type also provides a hint to the OSCAL document consumer about the structure of the resource referenced by the rlink. +

Multiple rlink objects can be included for a resource. In such a case, all provided rlink items are intended to be equivalent in content, but may differ in structure or format.

+

A media-type is used to identify the format of a given rlink, and can be used to differentiate items in a collection of rlinks. The media-type provides a hint to the OSCAL document consumer about the structure of the resource referenced by the rlink.

Base64 - The Base64 alphabet in RFC 2045 - aligned with XSD. + A resource encoded using the Base64 alphabet defined by RFC 2045. value - + File Name Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded. @@ -511,14 +600,13 @@
- - Identifies the type of resource represented. + + Identifies the type of resource represented. The most specific appropriate type value SHOULD be used. 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. @@ -539,7 +627,7 @@ 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 evidence, such as to support an assessment finding. 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. @@ -547,28 +635,26 @@ Indicates the resource is a report. Indicates the resource is a formal agreement between two or more parties. - + + A resource should provide at least an rlink or base64 object. + + Ensure that each rlink item references a unique resource. - -

Ensures that each rlink item references a unique resource.

-
+
+ Ensure that all base64 resources have a unique filename. - -

Ensures that all base64 resources have a unique filename. -

-
- -

A title is required when a citation is provided.

-
+ A title is required when a citation is provided.
-

A resource can be used in two ways. 1) it may point to an specific retrievable network resource using a rlink, or 2) it may be included as an attachment using a base64. A resource may contain multiple rlink and base64 entries that represent alternative download locations (rlink) and attachments (base64) for the same resource. Both rlink and base64 allow for a media-type to be specified, which is used to distinguish between different representations of the same resource (e.g., Microsoft Word, PDF). When multiple rlink and base64 items are included for a given resource, all items must contain equivalent information. This allows the document consumer to choose a preferred item to process based on a the selected item's media-type. This is extremely important when the items represent OSCAL content that is represented in alternate formats (i.e., XML, JSON, YAML), allowing the same OSCAL data to be processed from any of the available formats indicated by the items.

+ +

A resource can be used in two ways. 1) it may point to an specific retrievable network resource using a rlink, or 2) it may be included as an attachment using a base64. A resource may contain multiple rlink and base64 entries that represent alternative download locations (rlink) and attachments (base64) for the same resource.

+

Both rlink and base64 allow for a media-type to be specified, which is used to distinguish between different representations of the same resource (e.g., Microsoft Word, PDF). When multiple rlink and base64 items are included for a given resource, all items must contain equivalent information. This allows the document consumer to choose a preferred item to process based on a the selected item's media-type. This is extremely important when the items represent OSCAL content that is represented in alternate formats (i.e., XML, JSON, YAML), allowing the same OSCAL data to be processed from any of the available formats indicated by the items.

When a resource includes a citation, then the title and citation properties must both be included.

@@ -579,7 +665,7 @@
-

Provides a collection of identified resource objects that can be referenced by a link with a rel value of "reference" and an href value that is a fragment "#" followed by a reference to a reference identifier. Other specialized link "rel" values also use this pattern when indicated in that context of use.

+

Provides a collection of identified resource objects that can be referenced by a link with a rel value of "reference" and an href value that is a fragment "#" followed by a reference to a reference's uuid. Other specialized link "rel" values also use this pattern when indicated in that context of use.

@@ -589,10 +675,10 @@ - My citation + My citation - + @@ -605,30 +691,22 @@ Property - An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values. + An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. prop Property Name - A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object. - - - 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 textual label, within a namespace, that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object. Property Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A unique identifier for a property. - - - + Property Namespace A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name. -

Provides a means to segment the value space for the name, so that different organizations and individuals can assert control over the allowed names and associated values used in a property. This allows the semantics associated with a given name/value pair to be defined on an organization-by-organization basis.

-

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

+

This value must be an absolute URI that serves as a naming system identifier.

When a ns is not provided, its value should be assumed to be http://csrc.nist.gov/ns/oscal and the name should be a name defined by the associated OSCAL model.

@@ -638,15 +716,28 @@
Property Class - A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns. - + A textual label that provides a sub-type or characterization of the + property's name. -

A class can be used in validation rules to express extra constraints over named items of a specific class value.

+

This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns, or to group properties into categories.

+

A class can be used in validation rules to express extra constraints over named items of a specific class value. It is available for grouping, but unlike group is not expected specifically to designate any group membership as such.

+
+
+ + Property Group + An identifier for relating distinct sets of properties. + +

Different sets of properties may relate to separate contexts. Declare a group on a property to associate it with one or more other properties in a given 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. + +

Properties permit the deployment and management of arbitrary controlled values, within OSCAL objects. A property can be included for any purpose useful to an application or implementation. Typically, properties will be used to sort, filter, select, order, and arrange OSCAL content objects, to relate OSCAL objects to one another, or to associate an OSCAL object to class hierarchies, taxonomies, or external authorities. Thus, the lexical composition of properties may be constrained by external processes to ensure consistency.

Property allows for associated remarks that describe why the specific property value was applied to the containing object, or the significance of the value in the context of the containing object.

@@ -655,32 +746,38 @@ Link - A reference to a local or remote resource + A reference to a local or remote resource, that has a specific relation to the containing object. Hypertext Reference A resolvable URL reference to a resource. -

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter - resource in the same document.

- -

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document.

-

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the referenced resource. A relative URI will be resolved relative to the location of the document containing the link.

+

This value may be one of:

+
    +
  1. an absolute URI that points to a network resolvable resource,
  2. +
  3. a relative reference pointing to a network resolvable resource whose base URI is the URI of the containing document, or
  4. +
  5. a bare URI fragment (i.e., `#uuid`) pointing to an OSCAL object by the objects identifier (e.g., id, uuid) in this or an imported document (see linking to another OSCAL object). The specific object type will differ based on the link relationship type.
  6. +
- Relation - Describes the type of relationship provided by the link. This can be an indicator of the link's purpose. + Link Relation Type + Describes the type of relationship provided by the link's hypertext reference. This can be an indicator of the link's purpose. - Reference + A generalized reference to a network resource (relative or absolute) or to a back-matter resource by UUID expressed as a bare URI fragment. + Link Media Type

The media-type provides a hint about the content model of the referenced resource. A valid entry from the IANA Media Types registry SHOULD be used.

+ + Resource Fragment + In case where the href points to a back-matter/resource, this value will indicate the URI fragment to append to any rlink associated with the resource. This value MUST be URI encoded. + Link Text @@ -688,11 +785,22 @@ + + A local reference SHOULD NOT have a media-type. + +

Since both link and back-matter/resource both allow specification of a media-type, the media-type on link may conflict with the any media-type entries on a resource's rlink or base64 objects. This constraint prevents this from occurring.

+
+
+ + +

This pattern is based on the fragment Augmented Backus-Naur form (ABNF) syntax provided in [RFC3986 section 3.5](https://www.rfc-editor.org/rfc/rfc3986#section-3.5). Uppercase alpha hex digits are required, which is the preferred normalized form defined in RFC3986.

+
+

To provide a cryptographic hash for a remote target resource, a local reference to a back matter resource is needed. The resource allows one or more hash values to be provided using the rlink/hash object.

@@ -720,19 +828,19 @@ Responsible Party - A reference to a set of organizations or persons that have responsibility for performing a referenced role in the context of the containing object. + A reference to a set of persons and/or organizations that have responsibility for performing the referenced role in the context of the containing object. Responsible Role - - A human-oriented identifier reference to roles served by the user. + + A reference to a role performed by a party. + + + + Specifies one or more parties responsible for performing the associated role. - -

Specifies one or more parties that are responsible for performing the associated role. -

-
@@ -746,18 +854,71 @@ - - + + +

A responsible-party requires one or more party-uuid references creating a strong relationship arc between the referenced role-id and the reference parties. This differs in semantics from responsible-role which doesn't require that a party-uuid is referenced.

+

The scope of use of this object determines if the responsibility has been performed or will be performed in the future. The containing object will describe the intent.

+
+
+ + + Action + An action applied by a role within a given party to the content. + + Action Universally Unique Identifier + A unique identifier that can be used to reference this defined action elsewhere in an OSCAL document. A UUID should be consistently used for a given location across revisions of the document. + + + Action Occurrence Date + The date and time when the action occurred. + + + Action Type + The type of action documented by the assembly, such as an approval. + + + Action Type System + Specifies the action type system used. + +

Provides a means to segment the value space for the type, so that different organizations and individuals can assert control over the allowed action's type. This allows the semantics associated with a given type to be defined on an organization-by-organization basis.

+

An organization MUST use a URI that they have control over. e.g., a domain registered to the organization in a URI, a registered uniform resource names (URN) namespace.

+
+
+ + + + + + + + + + + + + + + + + + + + This value identifies action types defined in the NIST OSCAL namespace. + + + An approval of a document instance's content. + A request from the responisble party or parties to change the content. +
+ Responsible Role - A reference to one or more roles with responsibility for performing a function relative to the containing object. + A reference to a role with responsibility for performing a function relative to the containing object, optionally associated with a set of persons and/or organizations that perform that role. Responsible Role ID - - A human-oriented identifier reference to roles responsible for the business function. + A human-oriented identifier reference to a role performed. @@ -767,20 +928,25 @@ + Specifies zero or more parties responsible for performing the associated role. + +

A responsible-role allows zero or more party-uuid references, each of which creates a relationship arc between the referenced role-id and the referenced party. This differs in semantics from responsible-party, which requires that at least one party-uuid is referenced.

+

The scope of use of this object determines if the responsibility has been performed or will be performed in the future. The containing object will describe the intent.

+
- + Hash A representation of a cryptographic digest generated over a resource using a specified hash algorithm. value Hash algorithm - Method by which a hash is derived + The digest method by which a hash is derived. The SHA-224 algorithm as defined by NIST FIPS 180-4. @@ -802,26 +968,38 @@ -

Any other value used MUST be a value defined in the W3C XML Security Algorithm Cross-Reference Digest Methods (W3C, April 2013) or RFC 6931 Section 2.1.5 New SHA Functions.

+

Any other value used MUST be a value defined in the W3C XML Security Algorithm Cross-Reference Digest Methods (W3C, April 2013) or RFC 6931 Section 2.1.5 New SHA Functions.

- -

A hash value can be used to authenticate that a referenced resource is the same resources as was pointed to by the author of the reference.

-
+ + + + + +
Media Type - Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. - + A label that indicates the nature of a resource, as a data serialization or + format. -

The IANA Media Types Registry should be used, but currently there is no official media type for YAML. OSCAL documents should specify application/yaml for general YAML content, or application/oscal+yaml for YAML-based OSCAL content. This approach aligns with use of a structured name suffix, per RFC 6838 Section 4.2.8.

+

The Internet Assigned Numbers Authority (IANA) Media + Types Registry defines a standardized set of media types, which may be used + here.

+

The application/oscal+xml, application/oscal+json or application/oscal+yaml media types SHOULD be used when referencing OSCAL XML, JSON, or YAML resources respectively.

+

**Note: There is no official media type for YAML at this time.** OSCAL documents should specify application/yaml for general YAML content, or application/oscal+yaml for YAML-based OSCAL content. This approach aligns with use of a structured name suffix, per RFC 6838 Section 4.2.8.

+

Some earlier OSCAL content incorporated the model into the media type. For example: application/oscal.catalog+xml. This practice SHOULD be avoided, since the OSCAL model can be detected by parsing the initial content of the referenced resource.

Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. + +

The remarks field SHOULD not be used to store arbitrary data. Instead, a prop or link should be used to annotate or reference any additional data not formally supported by OSCAL.

+
@@ -829,49 +1007,51 @@ Publication Timestamp - The date and time the document was published. The date-time value must be formatted according to RFC 3339 with full time and time zone included. + The date and time the document was last made available. -

This value represents the point in time when the OSCAL document was published. Typically, this date value will be machine generated at the time the containing document is published.

-

In some cases, an OSCAL document may be derived from some source material in a different format. In such a case, the published value should indicate when the OSCAL document was published, not the source material. Where necessary, the publication date of the original source material can be captured as a named property or custom metadata construct.

-

A publisher of OSCAL content can use this data point along with its siblings last-modified and version to establish a sequence of successive revisions of a given OSCAL-based publication. The metadata for previous revisions can be represented as a revision in this object.

+

Typically, this date value will be machine-generated at the time the containing document is published.

+

In some cases, an OSCAL document may be derived from some source material provided in a different format. In such a case, the published value should indicate when the OSCAL document instance was last published, not the source material.

+
Last Modified Timestamp - The date and time the document was last modified. The date-time value must be formatted according to RFC 3339 with full time and time zone included. + The date and time the document was last stored for later retrieval. -

This value represents the point in time when the OSCAL document was last updated, or at the point of creation the creation date. Typically, this date value will be machine generated at time of creation or modification.

-

In some cases, an OSCAL document may be derived from some source material in a different format. In such a case, the last-modified value should indicate the modification time of the OSCAL document, not the source material.

-

A publisher of OSCAL content can use this data point along with its siblings published and version to establish a sequence of successive revisions of a given OSCAL-based publication. The metadata for previous revisions can be represented as a revision in this object.

+

This value represents the point in time when the OSCAL document was last updated, or at the point of creation the creation date. Typically, this date value will be machine generated at time of creation or modification. Ideally, this field will be managed by the editing tool or service used to make modifications when storing the modified document.

+

The intent of the last modified timestamp is to distinguish between significant change milestones when the document may be accessed by multiple entities. This allows a given entity to differentiate between mutiple document states at specific points in time. It is possible to make multiple modifications to the document without storing these changes. In such a case, the last modified timestamp might not be updated until the document is finally stored.

+

In some cases, an OSCAL document may be derived from some source material in a different format. In such a case, the last-modified value should indicate the last modification time of the OSCAL document instance, not the source material.

Document Version - A string used to distinguish the current version of the document from other previous (and future) versions. + Used to distinguish a specific revision of an OSCAL document from other previous and future versions. -

A version string may be a release number, sequence number, date, or other identifier suffcient to distinguish between different document versions. This version is typically set by the document owner or by the tool used to maintain the content.

-

While not required, it is recommended that OSCAL content authors use Semantic Versioning as a format for version strings. This allows for the easy identification of a version tree consisting of major, minor, and patch numbers.

-

A publisher of OSCAL content can use this data point along with its siblings published and last-modified to establish a sequence of successive revisions of a given OSCAL-based publication. The metadata for previous revisions can be represented as a revision in this object.

+

A version may be a release number, sequence number, date, or other identifier sufficient to distinguish between different document revisions.

+

While not required, it is recommended that OSCAL content authors use Semantic Versioning as the version format. This allows for the easy identification of a version tree consisting of major, minor, and patch numbers.

+

A version is typically set by the document owner or by the tool used to maintain the content.

- OSCAL version - The OSCAL model version the document was authored against. + OSCAL Version + The OSCAL model version the document was authored against and will conform to as valid. -

Indicates the version of the OSCAL model to which this data set conforms, for example 1.1.0 or 1.0.0-M1. That can be used as a hint by a tool to indicate which version of the OSCAL XML or JSON schema to use for validation.

+

Indicates the version of the OSCAL model to which the document conforms, for example 1.1.0 or 1.0.0-milestone1. That can be used as a hint for a tool indicating which version of the OSCAL XML or JSON schema to use for validation.

+

The OSCAL version serves a different purpose from the document version and is used to represent a different concept. If both have the same value, this is coincidental.

Email Address - An email address as defined by RFC 5322 Section 3.4.1. - + An email address as defined by RFC 5322 Section + 3.4.1. Telephone Number - Contact number by telephone. + A telephone service number as defined by ITU-T E.164. number type flag @@ -884,6 +1064,13 @@ + + + +

Providing a country code provides an international means to interpret the phone number.

+
+
+
@@ -903,11 +1090,12 @@
State - State, province or analogous geographical region for mailing address + State, province or analogous geographical region for a mailing + address. Postal Code - Postal or ZIP code for mailing address + Postal or ZIP code for mailing address. Country Code @@ -936,31 +1124,30 @@ - Document Identifier - A document identifier qualified by an identifier scheme. A document identifier provides a globally unique identifier with a cross-instance scope that is used for a group of documents that are to be treated as different versions of the same document. If this element does not appear, or if the value of this element is empty, the value of "document-id" is equal to the value of the "uuid" flag of the top-level root element. + A document identifier qualified by an identifier + scheme. identifier - - - + Document Identification Scheme - Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters. + Qualifies the kind of document identifier using a URI. If the scheme is not + provided the value of the element will be interpreted as a string of + characters. A Digital Object Identifier (DOI); use is preferred, since this allows for retrieval of a full bibliographic record. + +

This value must be an absolute URI that serves as a naming system identifier.

+
-

This element is optional, but it will always have a valid value, as if it is missing the value of "document-id" is assumed to be equal to the UUID of the root. This requirement allows for document creators to retroactively link an update to the original version, by providing a document-id on the new document that is equal to the uuid of the original document.

+

A document identifier provides a globally unique identifier with a cross-instance scope that is used for a group of documents that are to be treated as different versions, representations or digital surrogates of the same document.

+

A document identifier provides an additional data point for identifying a document that can be assigned by a publisher or organization for purposes in a wider system, such as a digital object identifier (DOI) or a local content management system identifier.

+

Use of a document identifier allows for document creators to associate sets of documents that are related in some way by the same document-id.

+

An OSCAL document always has an implicit document identifier provided by the document's UUID, defined by the uuid on the top-level object. Having a default UUID-based identifier ensures all documents can be minimally identified when other document identifiers are not provided.

- - - diff --git a/src/metaschema/oscal_poam_metaschema.xml b/src/metaschema/oscal_poam_metaschema.xml index 2351f071d..10bac9562 100644 --- a/src/metaschema/oscal_poam_metaschema.xml +++ b/src/metaschema/oscal_poam_metaschema.xml @@ -24,7 +24,7 @@ POA&M Universally Unique Identifier - A machine-oriented, globally unique identifier with instancescope that can be used to reference this POA&M instance in this OSCAL instance. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with instancescope that can be used to reference this POA&M instance in this OSCAL instance. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -44,6 +44,9 @@ + + + @@ -72,6 +75,12 @@

Used to add any inventory-items, not defined via the System Security Plan (AR->AP->SSP)

+ + + +

Specifies components or assessment-platforms used in the assessment.

+
+
@@ -90,7 +99,7 @@ POA&M Item Universally Unique Identifier - A machine-oriented, globally unique identifier with instance scope that can be used to reference this POA&M item entry in this OSCAL instance. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with instance scope that can be used to reference this POA&M item entry in this OSCAL instance. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -123,6 +132,16 @@ + + Related Finding + Relates the poam-item to referenced finding(s). + + + Finding Universally Unique Identifier Reference + A machine-oriented identifier reference to a finding defined in the list of findings. + + + @@ -135,7 +154,7 @@ Observation Universally Unique Identifier Reference - A machine-oriented identifier reference to an observation defined in the list of observations. + A machine-oriented identifier reference to an observation defined in the list of observations. @@ -147,7 +166,7 @@ Risk Universally Unique Identifier Reference - A machine-oriented identifier reference to a risk defined in the list of risks. + A machine-oriented identifier reference to a risk defined in the list of risks. diff --git a/src/metaschema/oscal_profile_metaschema.xml b/src/metaschema/oscal_profile_metaschema.xml index 7bc073364..f60103e09 100644 --- a/src/metaschema/oscal_profile_metaschema.xml +++ b/src/metaschema/oscal_profile_metaschema.xml @@ -3,15 +3,29 @@ ]> + + xmlns="http://csrc.nist.gov/ns/oscal/metaschema/1.0"> OSCAL Profile Model 1.0.4 oscal-profile http://csrc.nist.gov/ns/oscal/1.0 http://csrc.nist.gov/ns/oscal -

A profile designates a selection and configuration of controls from one or more catalogs, along with a series of operations over them. The topmost element in the OSCAL profile XML schema is profile.

+

In OSCAL a profile represents a set of selected controls from one or more control catalogs. Such a set of controls can + be referenced by an OSCAL system security plan (SSP) to establish a control baseline. This effective set of controls is produced from an OSCAL + profile using a deterministic, predictable process called profile resolution.

+

A profile references one or more OSCAL catalogs or profiles to import controls for control selection and tailoring. A profile can also describe how a resulting catalog is structured. When the profile is resolved, these selections and modifications are processed to produce a resulting OSCAL catalog.

+

OSCAL profiles have uses beyond establishing control baselines, such as documentation + generation or as reference tables for validations.

@@ -19,12 +33,18 @@ Profile - Each OSCAL profile is defined by a Profile element + Each OSCAL profile is defined by a profile + element. profile Profile Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this profile elsewhere in this or other OSCAL instances. The locally defined UUID of the profile can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance).This identifier should be assigned per-subject, which means it should be consistently used to identify the same profile across revisions of the document. + Provides a globally unique means to identify a given profile instance. + + + + + @@ -37,21 +57,21 @@

An OSCAL document that describes a tailoring of controls from one or more catalogs, with possible modification of multiple controls. It provides mechanisms by which controls may be selected (import), merged or (re)structured (merge), and amended (modify). OSCAL profiles may select subsets of controls, set parameter values for them in application, and even adjust the representation of controls as given in and by a catalog. They may also serve as sources for further modification in and by other profiles, that import them.

-

See the Concepts - Identifier Use page for additional information regarding this identifier's uniqueness and scope.

- Import resource - The import designates a catalog or profile to be included (referenced and potentially modified) by this profile. The import also identifies which controls to select using the include-all, include-controls, and exclude-controls directives. + Import Resource + Designates a referenced source catalog or profile that provides a source of control information for use in creating a new overlay or baseline. Catalog or Profile Reference A resolvable URL reference to the base catalog or profile that this profile is tailoring. -

The value of the href can be an internet resource, or an internal reference using a fragment e.g. #fragment that points to a back-matter - resource in the same document.

- -

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references the uuid value of a resource in the document's back-matter.

-

If an internet resource is used, the href value will be an absolute or relative URL pointing to the location of the referenced resource. A relative URL will be resolved relative to the location of the document containing the link.

+

This value may be one of:

+
    +
  1. an absolute URI that points to a network resolvable resource,
  2. +
  3. a relative reference pointing to a network resolvable resource whose base URI is the URI of the containing document, or
  4. +
  5. a bare URI fragment (i.e., `#uuid`) pointing to a back-matter resource in this or an imported document (see linking to another OSCAL object).
  6. +
@@ -78,7 +98,6 @@ -

A profile must be based on an existing OSCAL catalog or another OSCAL profile. An import indicates such a source whose controls are to be included (referenced and modified) in a profile. This source will either be a catalog whose controls are given (by value), or a profile with its own control imports.

The contents of the import element indicate which controls from the source will be included. Controls from the source catalog or profile may be either selected, using the include-all or include-controls directives, or de-selected (using an exclude-controls directive).

@@ -88,44 +107,43 @@
- Merge controls - A Merge element provides structuring directives that drive how controls are organized after resolution. + Merge Controls + Provides structuring directives that instruct how controls are organized after profile resolution. - Combination rule - A Combine element defines how to combine multiple (competing) versions of the same control. + Combination Rule + A Combine element defines how to resolve duplicate instances of the same control (e.g., controls with the same ID). - Combination method - How clashing controls should be handled + Combination Method + Declare how clashing controls should be + handled. 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 + **(deprecated)** **(unspecified)** + Merge - controls with the same ID are + combined Keep - controls with the same ID are kept, retaining the clash - + - -

Whenever combining controls from multiple (import) pathways, an issue arises of what to do with clashing invocations (multiple competing versions of a control).

-

This setting permits a profile designer to apply a rule for the resolution of such cases. In a well-designed profile (e.g. one that uses mapping), such collisions would ordinarily be avoided, but this setting can be useful for defining what to do when it occurs.

-

If no combine element appears, it is considered equivalent to providing a combine element with a method of value keep.

-
- Flat - Use the flat structuring method. + Flat Without Grouping + Directs that controls appear without any grouping structure. - As-Is Structuring Directive - An As-is element indicates that the controls should be structured in resolution as they are structured in their source catalogs. It does not contain any elements or attributes. + Group As-Is + Indicates that the controls selected should retain their original grouping as defined in the import source. - - Custom grouping - A Custom element frames a structure for embedding represented controls in resolution. + + Custom Grouping + Provides an alternate grouping structure that selected controls will be placed in. @@ -135,25 +153,28 @@ -

The custom element represents a custom arrangement or organization of controls in the resolution of a catalog.

-

While the as-is element provides for a restitution of a control set's organization (in one or more source catalogs), this element permits the definition of an entirely different structure.

+

The custom element represents a custom arrangement or organization of controls in the resolution of a catalog. This structuring directive gives the profile author the ability to define an entirely different organization of controls as compared to their source catalog(s).

- -

The contents of the merge element may be used to reorder or restructure controls by indicating an order and/or structure in resolution.

-

Implicitly, a merge element is also a filter: controls that are included in a profile, but not included (implicitly or explicitly) in the scope of a merge element, will not be merged into (will be dropped) in the resulting resolution.

-
- Control group - A group of (selected) controls or of groups of controls + Control Group + A group of (selected) controls or of groups of controls. - + Group Identifier - A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined group elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same group across revisions of the document. + Identifies the group. + + + + + + +

This optional data element is available to support hyperlinking to formal groups or families as defined in control catalogs, among other operations.

+
Group Class @@ -166,7 +187,7 @@ Group Title - A name given to the group, which may be used by a tool for display and navigation. + A name to be given to the group for use in display. @@ -194,18 +215,24 @@
- Modify controls - Set parameters or amend controls in resolution + Modify Controls + Set parameters or amend controls in resolution. Parameter Setting - A parameter setting, to be propagated to points of insertion + A parameter setting, to be propagated to points of + insertion. Parameter ID - A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined parameter elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + An identifier for the parameter. + + + + + Parameter Class @@ -215,7 +242,7 @@ - Depends on + Depends On **(deprecated)** Another parameter invoking this one. This construct has been deprecated and should not be used. @@ -234,7 +261,8 @@
Parameter Usage Description - Describes the purpose and use of a parameter + Describes the purpose and use of a + parameter. constraint @@ -258,9 +286,113 @@
- + + Alteration + Specifies changes to be made to an included control when a profile is resolved. - + + + + Removal + Specifies objects to be removed from a control based on specific aspects of the object that must all match. + + + Reference by (assigned) name + Identify items remove by matching their + assigned name. + + + Reference by class + Identify items to remove by matching their class. + + + Reference by ID + Identify items to remove indicated by their id. + + + Item Name Reference + Identify items to remove by the name of the + item's information object name, e.g. + title or + prop. + + + A descendant parameter and all of its descendants. + A descendant property and all of its descendants. + A descendant link and all of its descendants. + A descendant parameter and all of its descendants. + A descendant mapping and all of its descendants. + A descendant mapping entry (map) and all of its descendants. + + + + + Item Namespace Reference + Identify items to remove by the item's ns, which is the namespace associated with a part, or prop. + + +

Use by-name, by-class, by-id or by-item-name to indicate class tokens or ID reference, or the formal name, of the component to be removed or erased from a control, when a catalog is resolved. The control affected is indicated by the pointer on the removal's parent (containing) alter element.

+

To change an element, use remove to remove the element, then add to add it back again with changes.

+
+
+ + Addition + Specifies contents to be added into controls, in + resolution. + + + Position + Where to add the new content with respect to + the targeted element (beside it or inside + it). + + + Preceding the by-id target + Following the by-id target + Inside the control or by-id target, at the start + Inside the control or by-id target, at the end + + + + + Reference by ID + Target location of the addition. + + + + Title Change + A name given to the control, which may be used by a tool for display and navigation. + + + + + + + + + + + + + + + + + &allowed-values-control-group-property-name; + + + +

When no by-id is given, the addition is inserted into the control targeted by the alteration at the start or end as indicated by position. Only position values of "starting" or "ending" are permitted when there is no by-id.

+

by-id, when given, should indicate, by its ID, an element inside the control to serve as the anchor point for the addition. In this case, position value may be any of the permitted values.

+
+
+
+ +

Use @control-id to indicate the scope of alteration.

+

It is an error for two alter elements to apply to the same control. In practice, multiple alterations can be applied (together), but it creates confusion.

+

At present, no provision is made for altering many controls at once (for example, to systematically remove properties or add global properties); extending this element to match multiple control IDs could provide for this.

+
+ @@ -273,7 +405,7 @@ - Select controls + Select Controls Specifies which controls to use in the containing context. Order @@ -308,18 +440,19 @@ - Call - Call a control by its ID + Select Control + Select a control or controls from an imported control set. Match Controls by Identifier - + Selecting a control by its ID given as a literal. Match Controls by Pattern - Select controls by (regular expression) match on ID + Selecting a set of controls by matching their IDs with a + wildcard pattern. @@ -328,103 +461,8 @@

If with-child-controls is yes on the call to a control, no sibling callelements need to be used to call any controls appearing within it. Since generally, this is how control enhancements are represented (as controls within controls), this provides a way to include controls with all their dependent controls (enhancements) without having to call them individually.

- - Alteration - An Alter element specifies changes to be made to an included control when a profile is resolved. - - - - - - - - - - -

Use @control-id to indicate the scope of alteration.

-

It is an error for two alter elements to apply to the same control. In practice, multiple alterations can be applied (together), but it creates confusion.

-

At present, no provision is made for altering many controls at once (for example, to systematically remove properties or add global properties); extending this element to match multiple control IDs could provide for this.

-
-
- - Removal - Specifies objects to be removed from a control based on specific aspects of the object that must all match. - - Reference by (assigned) name - Identify items to remove by matching their assigned name - - - Reference by class - Identify items to remove by matching their class. - - - Reference by ID - Identify items to remove indicated by their id. - - - Item Name Reference - Identify items to remove by the name of the item's information element name, e.g. title or prop - - - Item Namespace Reference - Identify items to remove by the item's ns, which is the namespace associated with a part, or prop. - - -

Use name-ref, class-ref, id-ref or generic-identifier to indicate class tokens or ID reference, or the formal name, of the component to be removed or erased from a control, when a catalog is resolved. The control affected is indicated by the pointer on the removal's parent (containing) alter element.

-

To change an element, use remove to remove the element, then add to add it back again with changes.

-
-
- - Addition - Specifies contents to be added into controls, in resolution - - Position - Where to add the new content with respect to the targeted element (beside it or inside it) - - - 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 - - - - - Reference by ID - Target location of the addition. - - - - Title Change - A name given to the control, which may be used by a tool for display and navigation. - - - - - - - - - - - - - - - - - - - &allowed-values-control-group-property-name; - - - -

When no id-ref is given, the addition is inserted into the control targeted by the alteration at the start or end as indicated by position. Only position values of "starting" or "ending" are permitted when there is no id-ref.

-

id-ref, when given, should indicate, by its ID, an element inside the control to serve as the anchor point for the addition. In this case, position value may be any of the permitted values.

-
-
- Include contained controls with control + Include Contained Controls with Control When a control is included, whether its child (dependent) controls are also included. diff --git a/src/metaschema/oscal_ssp_metaschema.xml b/src/metaschema/oscal_ssp_metaschema.xml index e6bee63bf..d311b2af0 100644 --- a/src/metaschema/oscal_ssp_metaschema.xml +++ b/src/metaschema/oscal_ssp_metaschema.xml @@ -30,12 +30,12 @@ System Security Plan (SSP) - A system security plan, such as those described in NIST SP 800-18 + A system security plan, such as those described in NIST SP 800-18. system-security-plan System Security Plan Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this system security plan (SSP) elsewhere in this or other OSCAL instances. The locally defined UUID of the SSP can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance).This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this system security plan (SSP) elsewhere in this or other OSCAL instances. The locally defined UUID of the SSP can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance).This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -45,6 +45,11 @@ + + + + + @@ -57,12 +62,13 @@ Profile Reference A resolvable URL reference to the profile or catalog to use as the system's control baseline. -

The value of the href can be an internet resource, or a local reference using a fragment e.g. #fragment that points to a back-matter - resource in the same document.

- -

If a local reference using a fragment is used, this will be indicated by a fragment "#" followed by an identifier which references an identified resource in the document's back-matter or another object that is within the scope of the containing OSCAL document. The identified resource will be used instead as the target resource.

-

If an internet resource is used, the href value will be an absolute or relative URI pointing to the location of the target resource. A relative URI will be resolved relative to the location of the document containing the link.

-

If the resource is an OSCAL profile, it is expected that a tool will resolve the profile according to the OSCAL [profile resolution specification](https://pages.nist.gov/OSCAL/concepts/processing/profile-resolution/) to produce a resolved profile for use when processing the containing system security plan. This allows a system security plan processor to use the baseline as a catalog of controls.

+

This value may be one of:

+
    +
  1. an absolute URI that points to a network resolvable resource,
  2. +
  3. a relative reference pointing to a network resolvable resource whose base URI is the URI of the containing document, or
  4. +
  5. a bare URI fragment (i.e., `#uuid`) pointing to a back-matter resource in this or an imported document (see linking to another OSCAL object).
  6. +
+

If the resource is an OSCAL profile, it is expected that a tool will resolve the profile according to the OSCAL profile resolution specification to produce a resolved profile for use when processing the containing system security plan. This allows a system security plan processor to use the baseline as a catalog of controls.

While it is possible to reference a previously resolved OSCAL profile as a catalog, this practice is discouraged since the unresolved form of the profile communicates more information about selections and changes to the underlying catalog. Furthermore, the underlying catalog can be maintained separately from the profile, which also has maintenance advantages for distinct maintainers, ensuring that the best available information is produced through profile resolution.

@@ -88,6 +94,9 @@ System Name - Short A short name for the system, such as an acronym, that is suitable for display in a data table or summary list. + +

Since system-name-short is optional, if the system-name-short is not provided, the system-name can be used as a substitute.

+
System Description @@ -102,8 +111,7 @@ Security Sensitivity Level - The overall information system sensitivity categorization, such as defined by FIPS-199. - + The overall information system sensitivity categorization, such as defined by FIPS-199.

Often, organizations require the security sensitivity level to correspond with the highest confidentiality, integrity, or availability level identified by security-impact-level.

@@ -121,7 +129,7 @@ - + A value of 1, 2, or 3 as defined by SP 800-63-3. A value of 1, 2, or 3 as defined by SP 800-63-3. @@ -137,11 +145,11 @@ As defined by SP 800-63-3. - + The associated value is one of: public-cloud, private-cloud, community-cloud, government-only-cloud, hybrid-cloud, or other. The associated value is one of: saas, paas, iaas, or other. - + The public cloud deployment model as defined by The NIST Definition of Cloud Computing. The private cloud deployment model as defined by The NIST Definition of Cloud Computing. @@ -155,7 +163,7 @@

The hybrid cloud deployment model, as defined by The NIST Definition of Cloud Computing, can be supported by selecting two or more of the existing deployment models.

- + Software as a service (SaaS) cloud service model as defined by The NIST Definition of Cloud Computing. Platform as a service (PaaS) cloud service model as defined by The NIST Definition of Cloud Computing. @@ -177,8 +185,7 @@ System Information - Contains details about all information types that are stored, processed, or transmitted by the system, such as privacy information, and those defined in NIST SP 800-60. - + Contains details about all information types that are stored, processed, or transmitted by the system, such as privacy information, and those defined in NIST SP 800-60. @@ -188,13 +195,12 @@ Information Type - Contains details about one information type that is stored, processed, or transmitted by the system, such as privacy information, and those defined in NIST SP 800-60. - + Contains details about one information type that is stored, processed, or transmitted by the system, such as privacy information, and those defined in NIST SP 800-60. Information Type Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this information type elsewhere in this or other OSCAL instances. The locally defined UUID of the information type can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this information type elsewhere in this or other OSCAL instances. The locally defined UUID of the information type can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -218,13 +224,16 @@ Based on the section identifiers in NIST Special Publication 800-60 Volume II Revision 1.
+ +

This value must be an absolute URI that serves as a naming system identifier.

+
Information Type Systematized Identifier - A human-oriented, globally unique identifier qualified by the given identification system used, such as NIST SP 800-60. This identifier has cross-instance scope and can be used to reference this system elsewhere in this or other OSCAL instances. This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A human-oriented, globally unique identifier qualified by the given identification system used, such as NIST SP 800-60. This identifier has cross-instance scope and can be used to reference this system elsewhere in this or other OSCAL instances. This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. id @@ -236,51 +245,21 @@ - + Confidentiality Impact Level The expected level of impact resulting from the unauthorized disclosure of the described information. - - - - - - - - - - - - - + confidentiality-impact + + Integrity Impact Level The expected level of impact resulting from the unauthorized modification of the described information. - - - - - - - - - - - - - + integrity-impact + + Availability Impact Level The expected level of impact resulting from the disruption of access to or use of the described information or the information system. - - - - - - - - - - - - + availability-impact + @@ -290,20 +269,24 @@ - + Is this a privacy sensitive system? yes or no - + The system is privacy sensitive. The system is not privacy sensitive. - + A link to the privacy impact assessment. + A 'low' sensitivity level as defined in FIPS-199. @@ -318,6 +301,21 @@ + + Impact Level + The expected level of impact resulting from the described information. + + + + + + + + + + + + Base Level (Confidentiality, Integrity, or Availability) The prescribed base (Confidentiality, Integrity, or Availability) security impact level. @@ -334,18 +332,19 @@ Security Impact Level The overall level of expected impact resulting from unauthorized disclosure, modification, or loss of access to information. + - Security Objective: Confidentiality A target-level of confidentiality for the system, based on the sensitivity of information within the system. - Security Objective: Integrity A target-level of integrity for the system, based on the sensitivity of information within the system. - Security Objective: Availability A target-level of availability for the system, based on the sensitivity of information within the system. @@ -416,7 +415,7 @@ Diagram ID - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this diagram elsewhere in this or other OSCAL instances. The locally defined UUID of the diagram can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this diagram elsewhere in this or other OSCAL instances. The locally defined UUID of the diagram can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -440,7 +439,7 @@ - + A reference to the diagram image. @@ -538,13 +537,12 @@ Leveraged Authorization - A description of another authorized system from which this system inherits capabilities that satisfy security requirements. Another term for this concept is a common control provider. - + A description of another authorized system from which this system inherits capabilities that satisfy security requirements. Another term for this concept is a common control provider. Leveraged Authorization Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope and can be used to reference this leveraged authorization elsewhere in this or other OSCAL instances. The locally defined UUID of the leveraged authorization can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope and can be used to reference this leveraged authorization elsewhere in this or other OSCAL instances. The locally defined UUID of the leveraged authorization can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -560,13 +558,13 @@ party-uuid field - A machine-oriented identifier reference to the party that manages the leveraged system. + A machine-oriented identifier reference to the party that manages the leveraged system. - + A reference to the system security plan for the leveraged authorization. @@ -641,7 +639,8 @@ - + + The component allows an authenticated scan. The component does not allow an authenticated scan. @@ -679,7 +678,7 @@

Since multiple set-parameter entries can be provided, each parameter must be set only once.

- +
@@ -693,7 +692,7 @@ Control Requirement Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this control requirement elsewhere in this or other OSCAL instances. The locally defined UUID of the control requirement can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this control requirement elsewhere in this or other OSCAL instances. The locally defined UUID of the control requirement can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -720,17 +719,17 @@ - - Identifies the source of the implemented control. + + Identifies the source of the implemented control. Any control-origination prop defined in a child context will override the parent value. - + The control is implemented by the organization owning the system, but is not specific to the system itself. The control is implemented specifically to this system. The control is provided by the system, but must be configured by the customer. The control must be implemented by the customer. This control is inherited from an underlying system. - + Indicates all or some portion of this control is inherited from an underlying authorized system. @@ -787,7 +786,7 @@ Control Statement Reference Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this control statement elsewhere in this or other OSCAL instances. The UUID of the control statement in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this control statement elsewhere in this or other OSCAL instances. The UUID of the control statement in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). @@ -830,12 +829,12 @@ Component Universally Unique Identifier Reference - A machine-oriented identifier reference to the component that is implemeting a given control. + A machine-oriented identifier reference to the component that is implemeting a given control. By-Component Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this by-component entry elsewhere in this or other OSCAL instances. The locally defined UUID of the by-component entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this by-component entry elsewhere in this or other OSCAL instances. The locally defined UUID of the by-component entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -879,7 +878,7 @@ Provided Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this provided entry elsewhere in this or other OSCAL instances. The locally defined UUID of the provided entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this provided entry elsewhere in this or other OSCAL instances. The locally defined UUID of the provided entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -914,7 +913,7 @@ Responsibility Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this responsibility elsewhere in this or other OSCAL instances. The locally defined UUID of the responsibility can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this responsibility elsewhere in this or other OSCAL instances. The locally defined UUID of the responsibility can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -963,7 +962,7 @@ Inherited Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inherited entry elsewhere in this or other OSCAL instances. The locally defined UUID of the inherited control implementation can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inherited entry elsewhere in this or other OSCAL instances. The locally defined UUID of the inherited control implementation can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -999,7 +998,7 @@ Satisfied Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this satisfied control implementation entry elsewhere in this or other OSCAL instances. The locally defined UUID of the control implementation can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this satisfied control implementation entry elsewhere in this or other OSCAL instances. The locally defined UUID of the control implementation can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -1035,6 +1034,10 @@ + + + The hyperlink identifies a URI pointing to the component in a component-definition that originally described the component this component was based on. + &allowed-values-responsible-roles-operations; &allowed-values-responsible-roles-component-production; @@ -1045,6 +1048,13 @@

Since multiple set-parameter entries can be provided, each parameter must be set only once.

+ + + A reference to the UUID of a control or statement by-component object that is used as evidence of implementation. + + + +

Use of set-parameter in this context, sets the parameter for the control referenced in the containing implemented-requirement applied to the referenced component. If the by-component is used as a child of a statement, then the parameter value also applies only in the context of the referenced statement. If the same parameter is also set in the control-implementation or a specific implemented-requirement, then this by-component/set-parameter value will override the other value(s) in the context of the referenced component, control, and statement (if parent).

@@ -1054,12 +1064,12 @@ Provided UUID - A machine-oriented identifier reference to an inherited control implementation that a leveraging system is inheriting from a leveraged system. + A machine-oriented identifier reference to an inherited control implementation that a leveraging system is inheriting from a leveraged system. Responsibility UUID - A machine-oriented identifier reference to a control implementation that satisfies a responsibility imposed by a leveraged system. + A machine-oriented identifier reference to a control implementation that satisfies a responsibility imposed by a leveraged system. diff --git a/src/specifications/profile-resolution/profile-resolution-examples/catalogs/abc-full_catalog.xml b/src/specifications/profile-resolution/profile-resolution-examples/catalogs/abc-full_catalog.xml index c0ffe9ce3..955838df2 100644 --- a/src/specifications/profile-resolution/profile-resolution-examples/catalogs/abc-full_catalog.xml +++ b/src/specifications/profile-resolution/profile-resolution-examples/catalogs/abc-full_catalog.xml @@ -107,13 +107,13 @@ Control C3-A - +

C3 A ccccc cccccccccccccc.

Control C3-A-1 - +

C3 A-1 ccccc cccccccccccccc.

diff --git a/src/specifications/profile-resolution/profile-resolution-examples/catalogs/abc-simple_catalog.xml b/src/specifications/profile-resolution/profile-resolution-examples/catalogs/abc-simple_catalog.xml index b838be9ad..f41d41f06 100644 --- a/src/specifications/profile-resolution/profile-resolution-examples/catalogs/abc-simple_catalog.xml +++ b/src/specifications/profile-resolution/profile-resolution-examples/catalogs/abc-simple_catalog.xml @@ -20,7 +20,7 @@ -

A1 aaaaa aaaaaaaaaa

+

A1 aaaaa aaaaaaaaaa

@@ -37,7 +37,7 @@ -

A3 aaaaa aaaaaaaaaa

+

A3 aaaaa aaaaaaaaaa

@@ -90,13 +90,13 @@ Control C3-A - +

C3 A ccccc cccccccccccccc.

Control C3-A-1 - +

C3 A-1 ccccc cccccccccccccc.

diff --git a/src/specifications/profile-resolution/profile-resolution-examples/example-set.xspec b/src/specifications/profile-resolution/profile-resolution-examples/example-set.xspec index b5d8326d7..e17d79042 100644 --- a/src/specifications/profile-resolution/profile-resolution-examples/example-set.xspec +++ b/src/specifications/profile-resolution/profile-resolution-examples/example-set.xspec @@ -3,7 +3,8 @@ xmlns:opr="http://csrc.nist.gov/ns/oscal/profile-resolution" stylesheet="../../../utils/util/resolver-pipeline/oscal-profile-RESOLVE.xsl" run-as="external"> - + - + + + + + + + + + + + + +

A1 bbbbb bbbbb

+
+
+ + +

A1 ccc ccc

+
+
diff --git a/src/specifications/profile-resolution/profile-resolution-examples/output-expected/base-test_profile_RESOLVED.xml b/src/specifications/profile-resolution/profile-resolution-examples/output-expected/base-test_profile_RESOLVED.xml index ba4c5907a..adbad2826 100644 --- a/src/specifications/profile-resolution/profile-resolution-examples/output-expected/base-test_profile_RESOLVED.xml +++ b/src/specifications/profile-resolution/profile-resolution-examples/output-expected/base-test_profile_RESOLVED.xml @@ -11,9 +11,12 @@ Control A1 + + + -

A1 aaaaa aaaaaaaaaa

+

A1 aaaaa aaaaaaaaaa

@@ -43,17 +46,14 @@ Control C3-A - +

C3 A ccccc cccccccccccccc.

Control C3-A-1 - - + +

C3 A-1 ccccc cccccccccccccc.

diff --git a/src/specifications/profile-resolution/profile-resolution-examples/output-expected/base2-test_profile_RESOLVED.xml b/src/specifications/profile-resolution/profile-resolution-examples/output-expected/base2-test_profile_RESOLVED.xml index 282ff9435..45889b711 100644 --- a/src/specifications/profile-resolution/profile-resolution-examples/output-expected/base2-test_profile_RESOLVED.xml +++ b/src/specifications/profile-resolution/profile-resolution-examples/output-expected/base2-test_profile_RESOLVED.xml @@ -11,9 +11,12 @@ Control A1 + + + -

A1 aaaaa aaaaaaaaaa

+

A1 aaaaa aaaaaaaaaa

diff --git a/src/specifications/profile-resolution/profile-resolution-examples/output-expected/exclude-call-test_profile_RESOLVED.xml b/src/specifications/profile-resolution/profile-resolution-examples/output-expected/exclude-call-test_profile_RESOLVED.xml index 14b60e834..6b00a7c98 100644 --- a/src/specifications/profile-resolution/profile-resolution-examples/output-expected/exclude-call-test_profile_RESOLVED.xml +++ b/src/specifications/profile-resolution/profile-resolution-examples/output-expected/exclude-call-test_profile_RESOLVED.xml @@ -18,9 +18,12 @@ Control A3 + + + -

A3 aaaaa aaaaaaaaaa

+

A3 aaaaa aaaaaaaaaa

@@ -68,14 +71,14 @@ Control C3-A - +

C3 A ccccc cccccccccccccc.

Control C3-A-1 - +

C3 A-1 ccccc cccccccccccccc.

diff --git a/src/specifications/profile-resolution/profile-resolution-examples/output-expected/import-twice_profile_RESOLVED.xml b/src/specifications/profile-resolution/profile-resolution-examples/output-expected/import-twice_profile_RESOLVED.xml index ba2af7bf1..bf1757825 100644 --- a/src/specifications/profile-resolution/profile-resolution-examples/output-expected/import-twice_profile_RESOLVED.xml +++ b/src/specifications/profile-resolution/profile-resolution-examples/output-expected/import-twice_profile_RESOLVED.xml @@ -11,9 +11,12 @@ Control A1 + + + -

A1 aaaaa aaaaaaaaaa

+

A1 aaaaa aaaaaaaaaa

diff --git a/src/specifications/profile-resolution/profile-resolution-examples/output-expected/include-all-no-children-test_profile_RESOLVED.xml b/src/specifications/profile-resolution/profile-resolution-examples/output-expected/include-all-no-children-test_profile_RESOLVED.xml index ed4ab1ea9..a92c76e5a 100644 --- a/src/specifications/profile-resolution/profile-resolution-examples/output-expected/include-all-no-children-test_profile_RESOLVED.xml +++ b/src/specifications/profile-resolution/profile-resolution-examples/output-expected/include-all-no-children-test_profile_RESOLVED.xml @@ -98,14 +98,14 @@ Control C3-A - +

C3 A ccccc cccccccccccccc.

Control C3-A-1 - +

C3 A-1 ccccc cccccccccccccc.

diff --git a/src/specifications/profile-resolution/profile-resolution-examples/output-expected/include-all-test_profile_RESOLVED.xml b/src/specifications/profile-resolution/profile-resolution-examples/output-expected/include-all-test_profile_RESOLVED.xml index 1467b2616..ade04767d 100644 --- a/src/specifications/profile-resolution/profile-resolution-examples/output-expected/include-all-test_profile_RESOLVED.xml +++ b/src/specifications/profile-resolution/profile-resolution-examples/output-expected/include-all-test_profile_RESOLVED.xml @@ -105,13 +105,13 @@ Control C3-A - +

C3 A ccccc cccccccccccccc.

Control C3-A-1 - +

C3 A-1 ccccc cccccccccccccc.

diff --git a/src/specifications/profile-resolution/profile-resolution-examples/output-expected/include-call-with-children-test_profile_RESOLVED.xml b/src/specifications/profile-resolution/profile-resolution-examples/output-expected/include-call-with-children-test_profile_RESOLVED.xml index f07802e74..1930894e2 100644 --- a/src/specifications/profile-resolution/profile-resolution-examples/output-expected/include-call-with-children-test_profile_RESOLVED.xml +++ b/src/specifications/profile-resolution/profile-resolution-examples/output-expected/include-call-with-children-test_profile_RESOLVED.xml @@ -11,9 +11,12 @@ Control A1 + + + -

A1 aaaaa aaaaaaaaaa

+

A1 aaaaa aaaaaaaaaa

@@ -44,7 +47,7 @@ + id="c3.a-stmt">

C3 A ccccc cccccccccccccc.

@@ -53,7 +56,7 @@ + id="c3.a-1-stmt">

C3 A-1 ccccc cccccccccccccc.

diff --git a/src/specifications/profile-resolution/profile-resolution-examples/output-expected/merge-implicit-keep_profile_RESOLVED.xml b/src/specifications/profile-resolution/profile-resolution-examples/output-expected/merge-implicit-keep_profile_RESOLVED.xml index d4816f91e..3b08c70d4 100644 --- a/src/specifications/profile-resolution/profile-resolution-examples/output-expected/merge-implicit-keep_profile_RESOLVED.xml +++ b/src/specifications/profile-resolution/profile-resolution-examples/output-expected/merge-implicit-keep_profile_RESOLVED.xml @@ -11,9 +11,12 @@ Control A1 + + + -

A1 aaaaa aaaaaaaaaa

+

A1 aaaaa aaaaaaaaaa

@@ -25,9 +28,12 @@ Control A1 + + + -

A1 aaaaa aaaaaaaaaa

+

A1 aaaaa aaaaaaaaaa

diff --git a/src/specifications/profile-resolution/profile-resolution-examples/output-expected/modify-adds_profile_RESOLVED.xml b/src/specifications/profile-resolution/profile-resolution-examples/output-expected/modify-adds_profile_RESOLVED.xml index c331b3d7c..5c50e01bf 100644 --- a/src/specifications/profile-resolution/profile-resolution-examples/output-expected/modify-adds_profile_RESOLVED.xml +++ b/src/specifications/profile-resolution/profile-resolution-examples/output-expected/modify-adds_profile_RESOLVED.xml @@ -13,7 +13,12 @@ Group A of C Control A1 + + + + + @@ -22,13 +27,19 @@ - + -

A1 aaaaa aaaaaaaaaa

+

A1 aaaaa aaaaaaaaaa

+ +

A1 ccc ccc

+
+
+ +

A1 bbbbb bbbbb

@@ -41,9 +52,9 @@
- + -

A3 aaaaa aaaaaaaaaa

+

A3 aaaaa aaaaaaaaaa

diff --git a/src/specifications/profile-resolution/profile-resolution-specml.xml b/src/specifications/profile-resolution/profile-resolution-specml.xml index 5fcffde02..763445a43 100644 --- a/src/specifications/profile-resolution/profile-resolution-specml.xml +++ b/src/specifications/profile-resolution/profile-resolution-specml.xml @@ -303,7 +303,7 @@ profile: -

If the object fetched cannot be found or is not a valid OSCAL object, the tool MUST cease processing and provide an error.

+

If the object fetched cannot be found, or does not parse as an OSCAL catalog or profile, the tool MUST cease processing and provide an error.

-

Under this directive, colliding controls will result in invalid results, as they will both appear in the results with the same ID. Accordingly, this setting may be useful in ensuring integrity of references to controls as given in the profile: if any included control is called only once, clashing controls will not be produced and validation will succeed.

+

Under this directive, colliding controls will result in invalid results, as they will both appear in the results with the same ID. Accordingly, this setting may be useful in ensuring integrity of references to controls as given in the profile: if any included control is called only once, clashing controls will not be produced, disambiguating the result and avoiding validation errors.

For the following objects inside the source: class, depends-on, label, usage, values, select; the object MUST be copied into the target from the source, first removing any existing objects with the same name.

  • -

    For the following objects inside the source: props, links, constraints, guidelines; the contents of the object MUST be added to the contents of the target object of the same name. If no such object exists in the target, it is created.

    +

    For the following objects inside the source: prop, link, constraint, guideline; the contents of the object MUST be added to the contents of the target object of the same name. If no such object exists in the target, it is created.

  • -
  • For the following objects inside the source: prop, link; the object MUST be copied into the target from the source, first removing any existing objects with the same distinctive ID. ().

  • +
  • For the following objects inside the source: prop, link; the object MUST be copied into the target from the source, first removing any existing objects with the same distinctive ID. ().

  • If more than one set-parameter directive is given for the same parameter, all MUST BE applied, in the sequence given in the profile. @@ -1325,27 +1325,28 @@ control:

    • - The remove directive criteria by-id MUST match an object if and only if its value is identical to the id value of that object. Because - id values are unique, this criteria will result in the remove directive removing only a single object. + The remove directive criterion by-id MUST match an object if and only if its value is identical to the id value of that object. Because + id values are unique, this criterion has the effect of removing a single object.

    • - The remove directive criteria name-ref MUST match an object if and only if its value is identical to the value of that object's name child. + The remove directive criterion by-name MUST match an object if and only if its value is identical to the value of that object's name child.

    • -

      The remove directive criteria ns-ref MUST match an object if and only if its value is identical to the value of that object's ns child.

      +

      The remove directive criterion by-ns MUST match an object if and only if its value is identical to the value of that object's ns child. This directive + is intended to be used in combination with by-name but may also be used to match all objects assigned to a given namespace (ns). Note that by-ns="http://csrc.nist.gov/ns/oscal" will address objects assigned to that namespace by default (where no explicit ns is given).

    • -

      The remove directive criteria class-ref MUST match an object if and only if its value is identical to the value of that object's class child.

      +

      The remove directive criterion by-class MUST match an object if and only if its value is identical to the value of that object's class child.

    • -

      The remove directive criteria item-name MUST match an object if and only if its value is identical to the value of that object's serialized name. For example, - remove:item-name:prop has the effect of removing all - propobjects from inside the control. +

      The remove directive criterion by-item-name MUST match an object if and only if its value is identical to the value of that object's serialized name. For example, + remove.by-item-name: "prop" has the effect of removing all + prop objects from inside the control.

      -

      In serialization formats that use arrays of objects in the OSCAL model, an object's name MUST be referenced as singular form of its containing parent array. For example, in the JSON format, remove:item-name:link would remove all of the objects inside of the links array.

      +

      In serialization formats that represent objects as (unlabeled) members of arrays, an object's name MUST be referenced in its (implicit) singular form, not the name of its containing array. For example, in the JSON format, remove.item-name: "link" would remove all members of the links array, along with the array itself (as being empty it would no longer be valid).

    @@ -1389,7 +1390,8 @@ control:

    The value of metadata:version in the target MUST be set with a string that identifies the version of that document. The metadata:version SHOULD be used to track updates to this specific output document.

  • -

    The value of metadata:oscal-version in the target MUST be set with a string that identifies the version of OSCAL used by this tool to resolve the profile (ex. 1.0.0). This value MUST be determined by compiling the oscal-versions from each imported document and the source profile, and taking the most recent minor version. If this version is more recent than what the resolution tool is using, then the value of oscal-version MUST be the version that the tool used internally. If any of the above OSCAL versions (imported document versions, source profile version, tool version) are of a different major version (the first digit differs), the tool SHOULD provide an error and cease processing.

    +

    The value of metadata:oscal-version in the target MUST be set to the value of the corresponding object (oscal-version) in the source profile.

    +

    If, in processing, a resolver encounters an imported profile or catalog source whose stated oscal-version denotes a version after the oscal-version of the profile, the resolver MAY report a fatal processing error and stop processing. "After" is defined according to the [precedence rules](https://semver.org/#spec-item-11) of Semantic Versioning 2.0, in which 1.0.1 is after 1.0.1-draft.

  • The value of metadata:last-modified in the target MUST be set with a valid timestamp representing the time the profile resolution completed.

    diff --git a/src/utils/schematron/oscal-profile.sch b/src/utils/schematron/oscal-profile.sch index b0d227b7a..36364d15a 100644 --- a/src/utils/schematron/oscal-profile.sch +++ b/src/utils/schematron/oscal-profile.sch @@ -1,5 +1,5 @@ - diff --git a/src/utils/util/resolver-pipeline/message-handler.xsl b/src/utils/util/resolver-pipeline/message-handler.xsl new file mode 100644 index 000000000..7b0420fbb --- /dev/null +++ b/src/utils/util/resolver-pipeline/message-handler.xsl @@ -0,0 +1,19 @@ + + + + + + + + + { + string-join(($message-type, $error-code, $text),': ') + } + + + \ No newline at end of file diff --git a/src/utils/util/resolver-pipeline/oscal-profile-RESOLVE.xsl b/src/utils/util/resolver-pipeline/oscal-profile-RESOLVE.xsl index 025a5785a..e4ba2066b 100644 --- a/src/utils/util/resolver-pipeline/oscal-profile-RESOLVE.xsl +++ b/src/utils/util/resolver-pipeline/oscal-profile-RESOLVE.xsl @@ -1,11 +1,10 @@ + + off - - - - - - - ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-4[0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$ - - - - - - - - - - - - - - - - - - 00000000-0000-4000-B000-000000000000 - - - + - + + + + @@ -109,8 +86,10 @@ - - + + + + diff --git a/src/utils/util/resolver-pipeline/oscal-profile-resolve-finish.xsl b/src/utils/util/resolver-pipeline/oscal-profile-resolve-finish.xsl index 0d41da751..b2720a86e 100644 --- a/src/utils/util/resolver-pipeline/oscal-profile-resolve-finish.xsl +++ b/src/utils/util/resolver-pipeline/oscal-profile-resolve-finish.xsl @@ -16,17 +16,22 @@ - - - - - - - - - - + - + - - - - - - + + + + + + + + - + - + + @@ -92,20 +92,23 @@ - + + - - + - + + @@ -116,6 +119,8 @@ - + + diff --git a/src/utils/util/resolver-pipeline/oscal-profile-resolve-merge.xsl b/src/utils/util/resolver-pipeline/oscal-profile-resolve-merge.xsl index d6464f550..2cc3b21aa 100644 --- a/src/utils/util/resolver-pipeline/oscal-profile-resolve-merge.xsl +++ b/src/utils/util/resolver-pipeline/oscal-profile-resolve-merge.xsl @@ -1,6 +1,7 @@ - - + + + @@ -25,34 +28,43 @@ templates not this one. --> - + + - + + - + - + - + - + + + - - - + + + - + @@ -64,7 +76,8 @@ - + + @@ -77,18 +90,42 @@ - - - + + + + + + + + Found multiple structuring directives. Choose at most one from: flat (default), as-is, custom. + Error + + + + + + + + - + + + + - + + + - + @@ -96,64 +133,58 @@ - - - - - - - - + + - + - - + + - - - - - - + - - + + + + + + + - + - + + - + + - - - - - - --> - - + + - + @@ -177,6 +208,7 @@ + @@ -194,15 +226,26 @@ - - ... elements of different types combining ... + + + + + + Combining elements of different types is not supported. + Error + + + - + - @@ -219,7 +262,7 @@ - + diff --git a/src/utils/util/resolver-pipeline/oscal-profile-resolve-metadata.xsl b/src/utils/util/resolver-pipeline/oscal-profile-resolve-metadata.xsl index 2f45c909b..e2eb01e80 100644 --- a/src/utils/util/resolver-pipeline/oscal-profile-resolve-metadata.xsl +++ b/src/utils/util/resolver-pipeline/oscal-profile-resolve-metadata.xsl @@ -1,34 +1,59 @@ - - + + - - - ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-4[0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$ + b) Any other caller of this transform should pass in + $uuid-method and, if applicable, $top-uuid and $uuid-service, + but not $top-uuid-computed. As a result, this transform + will compute $top-uuid-computed. + --> + + + + + + - - - + + + + + + urn:UNKNOWN + + + + + + + - + @@ -55,13 +81,55 @@ + + + + + + + + + + + + + + + + + + + Import uses oscal-version of {. + }, which is newer than profile oscal-version of { + $source}. + + + + + + + - + - + diff --git a/src/utils/util/resolver-pipeline/oscal-profile-resolve-modify.xsl b/src/utils/util/resolver-pipeline/oscal-profile-resolve-modify.xsl index d49e6bf56..74d6315a2 100644 --- a/src/utils/util/resolver-pipeline/oscal-profile-resolve-modify.xsl +++ b/src/utils/util/resolver-pipeline/oscal-profile-resolve-modify.xsl @@ -1,20 +1,20 @@ - - + - + @@ -26,115 +26,161 @@ + - + + + + + + + + + set-parameter with param-id="{@param-id}" does not match any param id. + Warning + + + - + - + - - - + + + + + + + + + + + + - - + + + + + + + - - - - - - - - - - - + got here! removable is + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + - + + - + - + - - - - - - + - + - - - - + + + - - - - + + + + - - - - - - - + + + + + + + + diff --git a/src/utils/util/resolver-pipeline/oscal-profile-resolve-select.xsl b/src/utils/util/resolver-pipeline/oscal-profile-resolve-select.xsl index f4654e100..52ea10a3b 100644 --- a/src/utils/util/resolver-pipeline/oscal-profile-resolve-select.xsl +++ b/src/utils/util/resolver-pipeline/oscal-profile-resolve-select.xsl @@ -1,5 +1,5 @@ - - + @@ -94,7 +93,16 @@ - + + + + + + Document not acquired for resource with uuid {@uuid + }: No rlink with media-type='xml' or href ending with '.xml' + + @@ -104,7 +112,7 @@ - + @@ -118,29 +126,6 @@ - - - - - - - - - - - - - - - - - - - - - - @@ -161,68 +146,17 @@ --> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - Document not acquired: ' - - ' resolved as ' - - ' (as OSCAL XML) - - - - + Document not acquired: {$href} resolved as { + $resolved-href} (as OSCAL XML) + - + @@ -237,7 +171,7 @@ - + diff --git a/src/utils/util/resolver-pipeline/random-util.xsl b/src/utils/util/resolver-pipeline/random-util.xsl index 25e7701df..3fe4bdd66 100644 --- a/src/utils/util/resolver-pipeline/random-util.xsl +++ b/src/utils/util/resolver-pipeline/random-util.xsl @@ -27,8 +27,8 @@ v4 UUID --> - + @@ -49,49 +49,64 @@ v4 UUID - + + - - - - - - - - - - - + - - + + - + + ________-____-4___-=___-____________ + + - - + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - ________-____-4___-=___-____________ - - - diff --git a/src/utils/util/resolver-pipeline/readme.md b/src/utils/util/resolver-pipeline/readme.md index aa9cadeb6..0e8913a01 100644 --- a/src/utils/util/resolver-pipeline/readme.md +++ b/src/utils/util/resolver-pipeline/readme.md @@ -1,33 +1,49 @@ -## Resolver pipeline +## Profile Resolver Pipeline -Profile resolution is implemented here as a set of XSLT transformations to be performed in sequence, applied to defined inputs (a **source profile** with imported **catalog** sources) to produce defined outputs (a **profile resolution result** in the form of a catalog). The word **baseline** is also used to refer to a particular profile in application, whether in its unprocessed form or its resolved, serialized form. +Profile resolution is implemented here as a sequence of XSLT transformations. The sequence applies to defined inputs (a **source profile** with imported **catalog** sources) and produces defined outputs (a **profile resolution result** in the form of a catalog). The word **baseline** also refers to a particular profile in application, whether in its unprocessed form or its resolved, serialized form. -The sequence reflects and roughly corresponds to the three steps in profile resolution described for OSCAL in the [Profile Resolution Specification](https://pages.nist.gov/OSCAL/concepts/processing/profile-resolution/): +The sequence of XSLT transformations reflects and roughly corresponds to the steps in profile resolution described for OSCAL in the [Profile Resolution Specification](https://pages.nist.gov/OSCAL/concepts/processing/profile-resolution/): -- **selection** (importing catalogs or profiles and selecting controls from them) +- **selection**: importing catalogs or profiles, and selecting controls from them -- **organization (merging)** i.e. specifying how selected controls are to be organized in representation +- **organization (merging)**: organizing the selected controls for the output representation -- **modification** - setting parameters and potentially supplementing, amending or editing control text +- **modification**: setting parameters and potentially supplementing, amending or editing control text -For demonstration, the expected interim results for test files are kept in the testing/\* folders +### Tests for this Implementation -Note that these interim results are *not always valid to any OSCAL schema* while at the same time they are quite close to OSCAL profile and catalog syntax. +The `testing/*` folders contain XSpec tests that indicate expected interim results of each XSLT transformation in the sequence. -Testing files for profile resolution in general are kept [with the specification](../../../specifications/profile-resolution). The testing files in this subdirectory are only for this implementation. +Note that these interim results are *not necessarily valid to any OSCAL schema*, although they are quite close to OSCAL profile and catalog syntax. -### Invoking the XSLT: +The files in `testing/*` are only for this implementation. Implementation-independent tests and sample files for profile resolution are [with the specification](../../../specifications/profile-resolution). -Use a recent version of Saxon for best results -- although we would also be *very interested* to hear from users of other XSLT engines conformant to the 3.1 family of XML standards (XSLT/XPath/XDM/XQuery). +### Invoking the XSLT -The main entry point for the transformation pipeline is the dynamic build XSLT called `oscal-profile-RESOLVE.xsl`, which invokes the core transformation steps in sequence, taking the source profile document as primary input. Load Saxon with your document and this stylesheet as follows (for example): +Use a recent version of Saxon for best results — although we would also be *very interested* to hear from users of other XSLT engines conformant to the 3.1 family of XML standards (XSLT/XPath/XDM/XQuery). + +The entry point for the transformation pipeline is `oscal-profile-RESOLVE.xsl`, which invokes the transformation steps in sequence, taking the source profile document as primary input. Load Saxon with your document and this stylesheet as follows (for example): ```bash > java -cp saxon-he-10.0.jar net.sf.saxon.Transform -t -s:YOUR_PROFILE_DOCUMENT.xml -xsl:path/to/oscal-profile-RESOLVE.xsl -o:YOUR_RESULT_BASELINE.xml ``` -Alternatively, set up the bindings in an IDE or programmed environment that has XSLT 3.1 support. +You can optionally set one or more of the parameters listed in the following table, using syntax `name=value` at the end of the command above. The sequence of parameters is not significant. + +For example, +```bash +> java -cp saxon-he-10.0.jar net.sf.saxon.Transform -t -s:YOUR_PROFILE_DOCUMENT.xml -xsl:path/to/oscal-profile-RESOLVE.xsl -o:YOUR_RESULT_BASELINE.xml uuid-method=random-xslt hide-source-profile-uri=true +``` +| Name | Description | Default | +|---|---|---| +| `hide-source-profile-uri` | If `true`, the output catalog's metadata does not record the source profile's URI. | `false` | +| `path-to-source` | Path from output catalog to location of source profile. | None | +| `top-uuid` | UUID value for top-level element in output catalog, if `uuid-method` is `user-provided`. | None | +| `uuid-method` | Method for computing UUID of top-level element in output catalog. Valid values are: `random-xslt`, in which case the `random-number-generator` XPath function must be available; `random-java`, in which case the `java.util.UUID.randomUUID()` Java method must be available; `user-provided`, in which case you must specify the `top-uuid` parameter; `web-service`, referring to the `uuid-service` parameter value; and `fixed`. | `fixed`| +| `uuid-service` | URI for a web service that produces a UUID, if `uuid-method` is `web-service`.| `https://www.uuidgenerator.net/api/version4`| + +Alternatively, set up the bindings in an IDE or programming environment that has XSLT 3.1 support. -Note that URIs (addresses) given in a profile document must link correctly as absolute or relative paths to their imported catalogs, as demonstrated in examples. +Note that URIs (addresses) given in a profile document must link correctly as absolute or relative paths to their imported catalogs, as demonstrated in [examples](../../../specifications/profile-resolution/profile-resolution-examples). -A captured and serialized profile resolution will take the form of an OSCAL catalog, and be valid to the catalog schema for correctly formed inputs. +A serialized output of profile resolution takes the form of an OSCAL catalog. Assuming inputs are correctly formed, the output is valid to the catalog schema. diff --git a/src/utils/util/resolver-pipeline/select-or-custom-merge.xsl b/src/utils/util/resolver-pipeline/select-or-custom-merge.xsl new file mode 100644 index 000000000..62c652ffd --- /dev/null +++ b/src/utils/util/resolver-pipeline/select-or-custom-merge.xsl @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/utils/util/resolver-pipeline/testing/1_selected/catalog-no-uuid.xml b/src/utils/util/resolver-pipeline/testing/1_selected/catalog-no-uuid.xml new file mode 100644 index 000000000..78beab588 --- /dev/null +++ b/src/utils/util/resolver-pipeline/testing/1_selected/catalog-no-uuid.xml @@ -0,0 +1,2 @@ + + diff --git a/src/utils/util/resolver-pipeline/testing/1_selected/catalog-nonstandard-file-name-ext.xmlcat b/src/utils/util/resolver-pipeline/testing/1_selected/catalog-nonstandard-file-name-ext.xmlcat new file mode 100644 index 000000000..a506f8457 --- /dev/null +++ b/src/utils/util/resolver-pipeline/testing/1_selected/catalog-nonstandard-file-name-ext.xmlcat @@ -0,0 +1,2 @@ + + diff --git a/src/utils/util/resolver-pipeline/testing/1_selected/glob-rewrite.xspec b/src/utils/util/resolver-pipeline/testing/1_selected/glob-rewrite.xspec index add11d3ed..e417e4641 100644 --- a/src/utils/util/resolver-pipeline/testing/1_selected/glob-rewrite.xspec +++ b/src/utils/util/resolver-pipeline/testing/1_selected/glob-rewrite.xspec @@ -1,12 +1,10 @@ - -]> + ac @@ -30,5 +28,12 @@ ac-1(*) + + + + + + + diff --git a/src/utils/util/resolver-pipeline/testing/1_selected/resource-media-type.xml b/src/utils/util/resolver-pipeline/testing/1_selected/resource-media-type.xml new file mode 100644 index 000000000..5db728163 --- /dev/null +++ b/src/utils/util/resolver-pipeline/testing/1_selected/resource-media-type.xml @@ -0,0 +1,26 @@ + + + + + + Test Profile with Nonstandard File Name Extension in resource/rlink + 2020-05-30T14:39:37.3-04:00 + 1.0 + 1.0.0-rc2 + + + + + + + + + + + + + + + diff --git a/src/utils/util/resolver-pipeline/testing/1_selected/resource-multiple-rlinks.xml b/src/utils/util/resolver-pipeline/testing/1_selected/resource-multiple-rlinks.xml new file mode 100644 index 000000000..1f41a3616 --- /dev/null +++ b/src/utils/util/resolver-pipeline/testing/1_selected/resource-multiple-rlinks.xml @@ -0,0 +1,21 @@ + + + + + + Test Profile with Nonstandard File Name Extension in resource/rlink + 2020-05-30T14:39:37.3-04:00 + 1.0 + 1.0.0-rc2 + + + + + + + + + + + diff --git a/src/utils/util/resolver-pipeline/testing/1_selected/select-mapping-controls.xspec b/src/utils/util/resolver-pipeline/testing/1_selected/select-mapping-controls.xspec new file mode 100644 index 000000000..950e4a241 --- /dev/null +++ b/src/utils/util/resolver-pipeline/testing/1_selected/select-mapping-controls.xspec @@ -0,0 +1,243 @@ + + + + + + + + + + + + + + + + x1 + + + + + + + + + + + ... + + Group X of XYZ + + Control X1 + + + ... + ... + + + + + + + + + x1 + + + + + + + + + + x1 + + + + + + + + + + + ... + + Group X of XYZ + + Control X1 + + + ... + ... + + + ... + + Group X of XYZ + + Control X1 + + + ... + ... + + + + + + + + z3 + + + + + + + + + + Control Z3 + Control Z3-A + Control Z3-A-1 + + + + + + + + + z3 + + + + + + + + + + Control Z3 + Control Z3-A + Control Z3-A-1 + + + + + + + + + x1 + + + + + + + + + + + + + + + + x1 + + + + + + + + + + + + + + + + x1 + + + map-x1 + + + + + + + + + + + + + + + x1 + + + + + + + + + + + + + + + x1 + + + + + + + + + + + + + diff --git a/src/utils/util/resolver-pipeline/testing/1_selected/select-rlink.xspec b/src/utils/util/resolver-pipeline/testing/1_selected/select-rlink.xspec index 65f5006cf..cb70e5529 100644 --- a/src/utils/util/resolver-pipeline/testing/1_selected/select-rlink.xspec +++ b/src/utils/util/resolver-pipeline/testing/1_selected/select-rlink.xspec @@ -1,15 +1,18 @@ - -]> + + + + - + z3 @@ -50,7 +53,7 @@ Tiny Catalog - + @@ -95,13 +98,13 @@ Tiny Catalog - - + + - + diff --git a/src/utils/util/resolver-pipeline/testing/1_selected/select.xspec b/src/utils/util/resolver-pipeline/testing/1_selected/select.xspec index 7df1cae86..7f94a578e 100644 --- a/src/utils/util/resolver-pipeline/testing/1_selected/select.xspec +++ b/src/utils/util/resolver-pipeline/testing/1_selected/select.xspec @@ -1,367 +1,1517 @@ - -]> - - - - + xmlns:xs="http://www.w3.org/2001/XMLSchema" + stylesheet="../../oscal-profile-resolve-select.xsl" + xslt-version="3.0"> - - - - - - - - - - + + - - - - - XYZ Tiny Catalog - 2020-05-30T14:51:42.355-04:00 - 1.0 - 1.0.0-rc2 - - - Group X of XYZ - - - Group Y of XYZ - - - Group Z of XYZ - - - - + + + + + ... + ... + ... + ... + + + + + + text + + + + + + + + + - - - - - - - - - - - - - XYZ Tiny Catalog - 2020-05-30T14:51:42.355-04:00 - 1.0 - 1.0.0-rc2 - - - Group X of XYZ - Control X1 - Control X2 - Control X3 - - - Group Y of XYZ - Control Y1 - Control Y2 - Control Y3 - - - Group Z of XYZ - Control Z1 - Control Z2 - Control Z3 - Control Z3-A - Control Z3-A-1 - - - - - - + + + + + + + + + + - - - - - - x1 - - - - - - - - - XYZ Tiny Catalog - 2020-05-30T14:51:42.355-04:00 - 1.0 - 1.0.0-rc2 - - + + + + + + + + + + + + + + + + + + + + + + XYZ Tiny Catalog + 2020-05-30T14:51:42.355-04:00 + 1.0 + 1.0.0-rc2 + + + Group X of XYZ + + + Group Y of XYZ + + + Group Z of XYZ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ... + + Group X of XYZ + Control X1 + Control X2 + Control X3 + + + Group Y of XYZ + Control Y1 + Control Y2 + Control Y3 + + + Group Z of XYZ + Control Z1 + Control Z2 + Control Z3 + Control Z3-A + Control Z3-A-1 + + + + + + + + + + + + + + + + + + x2 + x1 + + + + + + + + + ... + Group X of XYZ Control X1 + Control X2 Group Y of XYZ Group Z of XYZ - - + + + + + + + + + + + + + + + + + + + + + + + ... + + Group X of XYZ + Control X1 + Control X2 + Control X3 + + Group Y of XYZ + Group Z of XYZ + + + + + + + + + + + + x1 + y1 + z1 + + + + + + + + + ... + + Group X of XYZ + Control X2 + Control X3 + + + Group Y of XYZ + Control Y2 + Control Y3 + + + Group Z of XYZ + Control Z2 + Control Z3 + Control Z3-A + Control Z3-A-1 + + + + + + + + + + + + + + z3 + + + + + + + + + ... + + Group X of XYZ + + + Group Y of XYZ + + + Group Z of XYZ + Control Z3 + Control Z3-A + Control Z3-A-1 + + + + + + + + + + + + + + z3.a-1 + + + + + + + + + ... + + Group X of XYZ + + + Group Y of XYZ + + + Group Z of XYZ + Control Z3 + Control Z3-A + Control Z3-A-1 + + + + + + + + + + + + + + z3.a-1 + + + + + + + + + ... + + Group X of XYZ + + + Group Y of XYZ + + + Group Z of XYZ + Control Z3-A-1 + + + + + + + + + + + + x1 + + + + + y1 + + + + + + + + + ... + + Group X of XYZ + Control X1 + + Group Y of XYZ + Group Z of XYZ + + + ... + + Group X of XYZ + + + Group Y of XYZ + Control Y1 + + Group Z of XYZ + + + + + + + + + + + + + + a1 + b1 + + + + + + + + + ... + + Group A of C + + + A.a value + + + + + + Control A1 + + + a1.a value + + + +

    A1 aaaaa aaaaaaaaaa

    +

    Parameter A.a is set:

    +

    Parameter a1.a is set:

    +
    +
    +
    + + Group B of C + + Control B1 + + +

    B1 bbbb bbbbbbb.

    +
    +
    +
    + + Group C of C + + + + + A citation to an out of line document. + + + + + A citation to an out of line document. + + + + + + A citation to an out of line document. + + + +
    +
    +
    +
    - - - - - - - - - - - + + + + + + + + + + + + + + ... + + + - - - - - XYZ Tiny Catalog - 2020-05-30T14:51:42.355-04:00 - 1.0 - 1.0.0-rc2 - - - Group X of XYZ - Control X1 - Control X2 - Control X3 - - Group Y of XYZ - Group Z of XYZ - - - + + + + + + + + + + + + + + + + + - - - - - - - x1 - y1 - z1 - - - - + + + + + + + + + ... + ... + + + + + + + + + + - - - - - XYZ Tiny Catalog - 2020-05-30T14:51:42.355-04:00 - 1.0 - 1.0.0-rc2 - - - Group X of XYZ - Control X2 - Control X3 - - - Group Y of XYZ - Control Y2 - Control Y3 - - - Group Z of XYZ - Control Z2 - Control Z3 - Control Z3-A - Control Z3-A-1 - - - - - - + + + + + + + + + + + + + + ... + + + + + + ... + + + + + + + + + Document not acquired for resource with uuid foo: No rlink with media-type='xml' or href ending with '.xml' + + + + - - - - - - z3 - - - - + + + + + + + + + + + + + + + + + + - - - - - XYZ Tiny Catalog - 2020-05-30T14:51:42.355-04:00 - 1.0 - 1.0.0-rc2 - - - Group X of XYZ - - - Group Y of XYZ - - - Group Z of XYZ - Control Z3 - Control Z3-A - Control Z3-A-1 - - - - - + + + + + Group X of XYZ + + + + + + Group X of XYZ + - - - - - - x1 - - - - - y1 - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - XYZ Tiny Catalog - 2020-05-30T14:51:42.355-04:00 - 1.0 - 1.0.0-rc2 - - - Group X of XYZ - Control X1 - - Group Y of XYZ - Group Z of XYZ - - - - XYZ Tiny Catalog - 2020-05-30T14:51:42.355-04:00 - 1.0 - 1.0.0-rc2 - - - Group X of XYZ - - - Group Y of XYZ - Control Y1 - - Group Z of XYZ - - - + + + + + + + + ... + + + + + + + + + + + - - - - - - a1 - b1 - - - + + + + + + Control A1 + + + + + - - - - - - ABC Catalog - 2020-05-30T14:51:38.311-04:00 - 1.0 - 1.0.0-rc2 - - - Group A of C - - - A.a value - - - - - - Control A1 - - - a1.a value - - - -

    A1 aaaaa aaaaaaaaaa

    -

    Parameter A.a is set: ...

    -

    Parameter a1.a is set: ...

    -

    Also, we refer to a citation.

    -
    -
    -
    - - Group B of C - - Control B1 - - -

    B1 bbbb bbbbbbb.

    -
    -
    -
    - - Group C of C - - - - - A citation to an out of line document. - - - -
    -
    + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + abc + + + + + + + + + + + + + + + abc + + + + + + + + + + + + + + + level-four + + + + + + + + + + + + + level-four + + + + + + + + + + + + + level-four + + + + + + + + + + + + + level-two + + + + + + + + + + + + + level-two + + + + + + + + + + + + + level-two + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + level-four + + + level-three + + + + + + + + + + + + + level-two + + + level-three + + + + + + + + + + + + + + + + + + + + + + + + + + + abc + + + + + + + + + + + + + + + + abc + + + + + + + + + + + + + + + + level-four + + + + + + + + + + + + + + level-four + + + + + + + + + + + + + + level-four + + + + + + + + + + + + + + level-two + + + + + + + + + + + + + + level-two + + + + + + + + + + + + + + level-two + + + + + + + + + + + + + level-two + + + level-three + + + + + + + + + + + + + level-two + + + level-three + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + level-four + + + + + + + + + + + + + + + + level-four + + + + + + + + + + + + + + level-four + + + level-four + + + + + + + + + + + + + level-four + + + level-four + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ... + + +
    diff --git a/src/utils/util/resolver-pipeline/testing/2_metadata/metadata.xspec b/src/utils/util/resolver-pipeline/testing/2_metadata/metadata.xspec index a670f3b29..7c759423b 100644 --- a/src/utils/util/resolver-pipeline/testing/2_metadata/metadata.xspec +++ b/src/utils/util/resolver-pipeline/testing/2_metadata/metadata.xspec @@ -1,162 +1,328 @@ - - - - - - - - - + + - - - + + + + Test Profile + 2021-05-30T14:39:35.84-04:00 + 1.3 + 1.0.1 + + - Small Profile for Testing - 2019-11-13T12:13:58.517-05:00 + XYZ Tiny Catalog + 2020-05-30T14:51:42.355-04:00 1.0 - 1.0-rc2 + 1.0.0 + + Internal link within catalog - - + + Group X of XYZ + +
    +
    +
    - - - - Small Profile for Testing - ... - 1.0 - 1.0-rc2 - - - - + + + text + + + + + + + + + - + + + + - + + + + + + + + + + + + + + + + + + - Pathological Profile - 2019-11-13T12:41:07.061-05:00 - 1.0 - 1.0-rc2 + Test Profile + ... + 1.3 + ... + + - + + + + + + - ABC Catalog - 2019-11-01T10:16:22.939-04:00 + Pathological Profile + 2019-11-13T12:41:07.061-05:00 + 2019-11-13T12:41:07.061-05:00 1.0 1.0-rc2 + ...doi... + + + Standing Committee + + - - - - - - + + + - Pathological Profile + ... + 2019-11-13T12:41:07.061-05:00 ... - 1.0 - 1.0-rc2 - - - - - - - - - - - Pathological Profile - 2019-11-13T12:41:07.061-05:00 - 1.0 - 1.0-rc2 + ... + ... + ...doi... + + Standing Committee - + + + + + - ABC Catalog - 2019-11-01T10:16:22.939-04:00 + Pathological Profile + 2019-11-13T12:41:07.061-05:00 1.0 1.0-rc2 + + - - - - - - + + + - Pathological Profile + ... ... - 1.0 - 1.0-rc2 - - - - Standing Committee - - - - - - - - - - - - Pathological Profile - 2019-11-13T12:41:07.061-05:00 - 1.0 - 1.0-rc2 - Internal link - - - Standing Committee - - + ... + ... + + + + - + + + + + - ABC Catalog - 2019-11-01T10:16:22.939-04:00 + Pathological Profile + 2019-11-13T12:41:07.061-05:00 1.0 1.0-rc2 + Internal link - - - - - - + + + - Pathological Profile + ... ... - 1.0 - 1.0-rc2 - + ... + ... + + Internal link - - - Standing Committee - - - - - + + + + + + + + + + + + + + + + ... + + + + + + + + + + + + + + + + + + + + 1.3 + + + + + ... + + + + + + + + 1.0.3 + + + + + 1.0.1 + + + + + 1.0.4 + + + + + 1.0.2 + + + + + + + + + + + 1.0.4 + + + + 1.0.1 + + + + + + 1.0.4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    diff --git a/src/utils/util/resolver-pipeline/testing/2_metadata/random-util.xspec b/src/utils/util/resolver-pipeline/testing/2_metadata/random-util.xspec new file mode 100644 index 000000000..daa5ea447 --- /dev/null +++ b/src/utils/util/resolver-pipeline/testing/2_metadata/random-util.xspec @@ -0,0 +1,207 @@ + + + + + x + + ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-4[0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + {codepoints-to-string($ov:charnum)} + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/utils/util/resolver-pipeline/testing/2_metadata/uuid-method-choice.xspec b/src/utils/util/resolver-pipeline/testing/2_metadata/uuid-method-choice.xspec new file mode 100644 index 000000000..f1a5f6b8e --- /dev/null +++ b/src/utils/util/resolver-pipeline/testing/2_metadata/uuid-method-choice.xspec @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/utils/util/resolver-pipeline/testing/2_metadata/uuid-value.txt b/src/utils/util/resolver-pipeline/testing/2_metadata/uuid-value.txt new file mode 100644 index 000000000..a8e02be09 --- /dev/null +++ b/src/utils/util/resolver-pipeline/testing/2_metadata/uuid-value.txt @@ -0,0 +1 @@ +309deb03-491b-4677-9148-bc1b79a21c9c \ No newline at end of file diff --git a/src/utils/util/resolver-pipeline/testing/2_metadata/version-util.xspec b/src/utils/util/resolver-pipeline/testing/2_metadata/version-util.xspec new file mode 100644 index 000000000..112fbdd6b --- /dev/null +++ b/src/utils/util/resolver-pipeline/testing/2_metadata/version-util.xspec @@ -0,0 +1,508 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/utils/util/resolver-pipeline/testing/3_merged/merge-as-is.xspec b/src/utils/util/resolver-pipeline/testing/3_merged/merge-as-is.xspec index f26245211..f08929c15 100644 --- a/src/utils/util/resolver-pipeline/testing/3_merged/merge-as-is.xspec +++ b/src/utils/util/resolver-pipeline/testing/3_merged/merge-as-is.xspec @@ -1,52 +1,46 @@ - - - - + stylesheet="../../oscal-profile-resolve-merge.xsl" + xslt-version="3.0"> - - - - - - - - - - Group X of XYZ - Control X1 - Control X2 - Control X3 - - - Group Y of XYZ - Control Y1 - Control Y2 - Control Y3 - - - Group Z of XYZ - Control Z1 - Control Z2 - Control Z3 - Control Z3-A - Control Z3-A-1 + + + + + + + Group X of XYZ + Control X1 + Control X2 + Control X3 + + + Group Y of XYZ + Control Y1 + Control Y2 + Control Y3 + + + Group Z of XYZ + Control Z1 + Control Z2 + Control Z3 + Control Z3-A + Control Z3-A-1 + - - - - - true - - - - - - + + + + true + + + + + Group X of XYZ Control X1 @@ -69,182 +63,568 @@ - - - - - - - - + + + + + + + + + Group X of XYZ + Control X1 + + + Group Z of XYZ + Control Z1 + Control Z3 + Control Z3-A + Control Z3-A-1 + + + + + + + Group X of XYZ + Control X1 + Control X2 + + + Group Y of XYZ + Control Y1 + Control Y2 + Control Y3 + + + Group Z of XYZ + Control Z3 + Control Z3-A + Control Z3-A-1 + + + + + + true + + + + + + Group X of XYZ - Control X1 + Control X1 + Control X1 + Control X2 - + Group Z of XYZ - Control Z1 - Control Z3 - Control Z3-A - Control Z3-A-1 + Control Z1 + Control Z3 + Control Z3-A + Control Z3-A-1 + + + Control Z3 + Control Z3-A + Control Z3-A-1 - - - - Group X of XYZ - Control X1 - Control X2 - - + Group Y of XYZ - Control Y1 - Control Y2 - Control Y3 + Control Y1 + Control Y2 + Control Y3 - - Group Z of XYZ - Control Z3 - Control Z3-A - Control Z3-A-1 - - + + + + + + + + + Group X of XYZ + + + + no control + + Control X1 + + + + + Group X of XYZ + + + + + Control X1 + Control X2 + + + + true + + + + + + + Group X of XYZ + + + + + no control + + + + + Control X1 + Control X1 + Control X2 - - - true - - - - - - - Group X of XYZ + + + + + + + + Test Profile + 2019-11-13T12:41:07.061-05:00 + 1.3 + 1.0.2 + + + + + Control X1 + + + true + + + + + +

    at least every 3 years

    +
    +
    +
    +
    +
    +
    + + + + Test Profile + 2019-11-13T12:41:07.061-05:00 + 1.3 + 1.0.2 + + + Control X1 + + + + +

    at least every 3 years

    +
    +
    +
    +
    +
    +
    +
    + + + + + Control X1 + + + Ref BBB + + Bbb bbbbb Bbb b. + + + + + + + true + + + + Ref AAA + + Aaaa aaaa aaaa + + + + + + + + Control X1 - Control X2 - - - Group Z of XYZ - Control Z1 - Control Z3 - Control Z3-A - Control Z3-A-1 - - - Control Z3 - Control Z3-A - Control Z3-A-1 - - - - - Group Y of XYZ - Control Y1 - Control Y2 - Control Y3 - - - + + + Ref BBB + + Bbb bbbbb Bbb b. + + + + + Ref AAA + + Aaaa aaaa aaaa + + + + +
    + + - - - - - + + + + + + + uuid a + uuid a again + opr:id b + opr:id b again + uuid c + opr:id c + + + + uuid a + opr:id b + uuid c + + + + + + + + + + + no control + + Control X1 + + + Ref AAA + + + + + true + + + + + + + + + + + Ref AAA + + + + + no control + + Control X1 + + + + + + + + + + Group X of XYZ + Control X1 + + + + Ref AAA + + + + + true + + + + + + + + + + Ref AAA + + + + Group X of XYZ + Control X1 + + + + + + + + + + + Group X of XYZ + + + + true + + + + + + + + + + + + + + + Group X of XYZ + + Group XX + Control X1 + + + + + true + + + + + + + + Group X of XYZ + + Group XX + Control X1 + + + + + + + + + + + + + no control + + Control X1 + + + + + no control + + Control X1 + + + true + + + + + + + + + + no control + + Control X1 + + + + + + + + + id a + id a again + opr:id b + opr:id b again + id c + opr:id c + + + + id a + opr:id b + id c + + + + + + + + + Group X of XYZ + + + + no control + + Control X1 + + + Group Y of XYZ + Control Y1 + + + + true + + + + + + Group X of XYZ no control - Control X1 + Control X1 - - Group Z of XYZ - Control Z1 - Control Z3 - Control Z3-A - Control Z3-A-1 - - + + Group Y of XYZ + Control Y1 - - - + + + + + + + + + Group X of XYZ + + + + no control + + Control X1 + + + Group Y of XYZ + + Group YY + Control Y1 + + + + + true + + + + + + Group X of XYZ - + + no control - Control X1 - Control X2 + Control X1 - + Group Y of XYZ - Control Y1 - Control Y2 - Control Y3 + + Group YY + Control Y1 + - - Group Z of XYZ - Control Z3 - Control Z3-A - Control Z3-A-1 - - + + + + + + + + + Group X of XYZ + + Group XX + Control X1 + + + + + true + + + + + + + Group X of XYZ + + Group XX + Control X1 + - - - true - -
    - - - - - Group X of XYZ - - - - - no control - - - - - Control X1 - Control X1 - Control X2 - - - Group Z of XYZ - Control Z1 - Control Z3 - Control Z3-A - Control Z3-A-1 - - - Control Z3 - Control Z3-A - Control Z3-A-1 - - - - - Group Y of XYZ - Control Y1 - Control Y2 - Control Y3 - - - + + + + + + + + + - diff --git a/src/utils/util/resolver-pipeline/testing/3_merged/merge-back-matter.xspec b/src/utils/util/resolver-pipeline/testing/3_merged/merge-back-matter.xspec deleted file mode 100644 index 3c1e92ee7..000000000 --- a/src/utils/util/resolver-pipeline/testing/3_merged/merge-back-matter.xspec +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - - - - - - - - - - - Group X of XYZ - Control X1 - - - Group Z of XYZ - Control Z1 - Control Z3 - Control Z3-A - Control Z3-A-1 - - - - - - Ref AAA - - Aaaa aaaa aaaa - - - - - Ref BBB - - Bbb bbbbb Bbb b. - - - - - - - - - - - Control X1 - Control Z1 - Control Z3 - Control Z3-A - - Control Z3-A-1 - - - - - Ref AAA - - Aaaa aaaa aaaa - - - - - Ref BBB - - Bbb bbbbb Bbb b. - - - - - - - - - - - - - - Group X of XYZ - Control X1 - - - Group Z of XYZ - Control Z1 - Control Z3 - Control Z3-A - Control Z3-A-1 - - - - - - Ref AAA - - Aaaa aaaa aaaa - - - - - Ref BBB - - Bbb bbbbb Bbb b. - - - - - - - true - - - - - - - Group X of XYZ - Control X1 - - - Group Z of XYZ - Control Z1 - Control Z3 - Control Z3-A - - Control Z3-A-1 - - - - - - Ref AAA - - Aaaa aaaa aaaa - - - - - Ref BBB - - Bbb bbbbb Bbb b. - - - - - - - - diff --git a/src/utils/util/resolver-pipeline/testing/3_merged/merge-combine.xspec b/src/utils/util/resolver-pipeline/testing/3_merged/merge-combine.xspec new file mode 100644 index 000000000..6a514161b --- /dev/null +++ b/src/utils/util/resolver-pipeline/testing/3_merged/merge-combine.xspec @@ -0,0 +1,275 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Control A + Control B + Control A1 + + + + + + + + + + + Control A + Control A1 + + Control B + + + + + + + + + Control A + + + + + + + + + Control A + Control B + Control A1 + + + + + + + + + + + + + + + + + + + + + + + + + + Control A + Control A1 + + + + Control A + Control A1 + + + + + + + Control A + Control B + Control A1 + + + + + + Control A + Control A1 + + + Control B + + + + + + + + Control A + Control B + Control A1 + + + + + + Control A + Control A1 + + + Control B + + + + + + + + + + + + + + + + + + + + + + + + + + + + Control A + Control A1 + + + + + + Control A + + + + + + + + Control A + Control B + Control A1 + + + + + + Control A + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Control A + Control A1 + + + + + Control A + Control A1 + + + + + + + Control A + Control B + Control A1 + + + + + Control A + Control B + Control A1 + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/utils/util/resolver-pipeline/testing/3_merged/merge-custom.xspec b/src/utils/util/resolver-pipeline/testing/3_merged/merge-custom.xspec index 10ec033a7..4cf7ba997 100644 --- a/src/utils/util/resolver-pipeline/testing/3_merged/merge-custom.xspec +++ b/src/utils/util/resolver-pipeline/testing/3_merged/merge-custom.xspec @@ -1,28 +1,16 @@ - - - - - - - - - - - - - - - + + + + + Group X of XYZ Control X1 @@ -49,7 +37,7 @@ - + New Group 1 @@ -59,8 +47,8 @@ - - New Group 1 + + New Group 2 x2 @@ -71,93 +59,577 @@ - - - - - - New Group 1 - Control X1 - Control Y1 - Control Z1 - - - New Group 1 - Control X2 - Control Y2 - Control Z2 - - - + + + + + ... + ... + + + - - - - - - Group X of XYZ - Control X1 + + + + + + + + + + + + + + + + + + Group X of XYZ + Control X1 + Control X2 + Control X3 + + + Group Y of XYZ + Control Y1 + Control Y2 + Control Y3 + + + Group Z of XYZ + Control Z1 + Control Z2 + Control Z3 + Control Z3-A + + Control Z3-A-1 + + + + + + + + New Group 1 + + + x1 + y1 + z1 + + + + + New Group 2 + + + x2 + y2 + z2 + + + + + + + + + + New Group 1 + Control X1 + Control Y1 + Control Z1 - - Group Z of XYZ - Control Z1 - Control Z3 - Control Z3-A - Control Z3-A-1 + + New Group 2 + Control X2 + Control Y2 + Control Z2 + + + + + + + + + Group X of XYZ + Control X1 + Control X2 + Control X3 + + + + + Parent of Group Y + + Group Y of XYZ + Control Y1 + Control Y2 + Control Y3 + + + + + Control Z1 + Control Z2 + Control Z3 + Control Z3-A + + Control Z3-A-1 + - + + + + + New Group 1 + + + x1 + y1 + z1 + + + + + New Group 2 + + + x2 + y2 + z2 + + + + + + + + + + New Group 1 + Control X1 + Control Y1 + Control Z1 - - - - Group X of XYZ - - Control X1 - - - Control X2 + + New Group 2 + Control X2 + Control Y2 + Control Z2 - - Group Y of XYZ - Control Y1 - Control Y2 - Control Y3 + + + + + + + Control X1 + Control X2 + Control X3 + + + + + Group A + + + + x2 + + + + + Group B + + + x2 + + + + + + + + + + Group A + Control X1 + Control X3 - - Group Z of XYZ - Control Z3 - Control Z3-A - Control Z3-A-1 - - + + + + Group B + Control X2 + + + + + + + Control X1 + Control X2 + Control X3 + + + + + Group A + + Group A.1 + + + x2 + nonexistent + + + + + + Group B + + Group B.1 + + + q* + + + + + + + + + + + Group A + + Group A.1 + Control X2 + + + + + + Group B + + Group B.1 + + + + + + + + + + + + + Control X1 + Control X2 + Control X3 + + + + + + + x2 + + + + + + + + + Control X3 + + + + + + + Control X1 + Control X2 + Control X3 + + + + + + + nonexistent + + + + + + + + + + + + + Control X3 + Control X1 + Control X2 + + + + + + + Control X2 + Control X1 + Control X3 + + + + + + + + Control X1 + Control X2 + Control X3 + + + + + + + Control X1 + Control X2 + Control X3 + + + + + + + + + Control X1 + Control X2 + Control X3 + + + + + x1 + x3 + ax2 + + + + - - - Control X1 - Control Z1 - Control Z3 - Control Z3-A - Control Z3-A-1 - - - - Control X1 - + + + + + + + + + + + + + + + + a1 + + + + + + + + + + + + + + + + + + + + + nonexistent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a1 + + + + + + + + + + + + + + + + + + + + + + + a1 + + + + + + + + + - Control X2 - Control Y1 - Control Y2 - Control Y3 - Control Z3 - Control Z3-A - Control Z3-A-1 - + + + + + + + + + + + + + + + a1.1 + + + + + + + + + - - + + + + + + + + + + + + + + + a1.1 + + + + + + + + + + + + + + + + x1 + + + diff --git a/src/utils/util/resolver-pipeline/testing/3_merged/merge.xspec b/src/utils/util/resolver-pipeline/testing/3_merged/merge.xspec index c4619ccbe..a20f18833 100644 --- a/src/utils/util/resolver-pipeline/testing/3_merged/merge.xspec +++ b/src/utils/util/resolver-pipeline/testing/3_merged/merge.xspec @@ -1,17 +1,57 @@ - - + + + + + + + + text + + + + + + + + + + + + + + - + + + - - + + + + + + + + + + + - - - - + + + + + + + Group X of XYZ Control X1 @@ -36,29 +76,206 @@ - - - - - - Control X1 - Control X2 - Control X3 - Control Y1 - Control Y2 - Control Y3 - Control Z1 - Control Z2 - Control Z3 - Control Z3-A - Control Z3-A-1 + + + + + + Control X1 + Control X2 + Control X3 + Control Y1 + Control Y2 + Control Y3 + Control Z1 + Control Z2 + Control Z3 + Control Z3-A + Control Z3-A-1 + - - - + + + + + + + + + Group X of XYZ + Control X1 + + + Group Z of XYZ + Control Z1 + Control Z3 + Control Z3-A + Control Z3-A-1 + + + + + + + Group X of XYZ + + Control X1 + + + Control X2 + + + Group Y of XYZ + Control Y1 + Control Y2 + Control Y3 + + + Group Z of XYZ + Control Z3 + Control Z3-A + Control Z3-A-1 + + + + + + + + + + Control X1 + Control Z1 + Control Z3 + Control Z3-A + Control Z3-A-1 + + + + Control X1 + + + Control X2 + Control Y1 + Control Y2 + Control Y3 + Control Z3 + Control Z3-A + Control Z3-A-1 + + + + + + + + + + Test Profile + 2019-11-13T12:41:07.061-05:00 + 1.3 + 1.0.2 + + + + + Control X1 + + + + + + +

    at least every 3 years

    +
    +
    +
    +
    +
    +
    + + + + Test Profile + 2019-11-13T12:41:07.061-05:00 + 1.3 + 1.0.2 + + + + Control X1 + + + + +

    at least every 3 years

    +
    +
    +
    +
    +
    +
    +
    + + + + + Control X1 + + + Ref BBB + + Bbb bbbbb Bbb b. + + + + + + + + + Ref AAA + + Aaaa aaaa aaaa + + + + + + + + + Control X1 + + + Ref BBB + + Bbb bbbbb Bbb b. + + + + + Ref AAA + + Aaaa aaaa aaaa + + + + + + + + + 0 + + + + + + - + @@ -66,65 +283,571 @@ Group X of XYZ Control X1 - - Group Z of XYZ - Control Z1 - Control Z3 - Control Z3-A - Control Z3-A-1 - - - - - - - Group X of XYZ - - Control X1 - - - Control X2 - Group Y of XYZ Control Y1 - Control Y2 - Control Y3 - - - Group Z of XYZ - Control Z3 - Control Z3-A - Control Z3-A-1 - - + + {$ov:as-is-content} + - + Control X1 - Control Z1 - Control Z3 - Control Z3-A - Control Z3-A-1 - - - - Control X1 - - - Control X2 Control Y1 - Control Y2 - Control Y3 - Control Z3 - Control Z3-A - Control Z3-A-1 - - + + + + + + + + + + + 1 + + + + + + + + + + + + true + + + + + + + + + + + true + 1 + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + Ref CCC + + + Ref BBB + + + Ref AAA + + + + + + + + + Ref CCC + + + Ref BBB + + + Ref AAA + + + + + + + + + Control X1 + + + Ref CCC + + + Ref BBB + + + + + Control X2 + + + Ref AAA + + + + + + + + + + Ref CCC + + + Ref BBB + + + Ref AAA + + + + + + + + + Control X1 + + + Ref CCC + + + Ref BBB, first + + + Ref AAA + + + + + Control X2 + + + Ref CCC + + + Ref BBB, second + + + Ref AAA + + + + + + Ref CCC + + + Ref BBB, third + + + Ref AAA + + + + + + + + + Ref CCC + + + Ref BBB, third + + + Ref AAA + + + Ref CCC + + + Ref CCC + + + + + + + + + + Control X1 + + + Ref BBB, first + + + + + + Control X2 + + + Ref BBB, second + + + + + + Ref BBB, third + + + + + + + + + Ref BBB, first + + + + Ref BBB, third + + + + + + + + + Control X1 + + + Ref BBB, first + + + + + + Control X2 + + + Ref BBB, second + + + + + + Ref BBB, third + + + + + + + + + + Ref BBB, third + + + + + + + + + + Control X1 + + + Ref BBB, first + + + + + + Control X2 + + + Ref BBB, second + + + + + + + Ref BBB, third + + + + + + + + + Ref BBB, second + + + + Ref BBB, third + + + + + + + + + + + + + + + + + + + + + + + + + + + + no control + + + Group X of XYZ + + + no control + + + + no control + + + Group X2 + + + no control + + + + no control + + + + + + + + + + no control + + + + no control + + + + no control + + + + no control + + + + no control + + + + + + + + Control A + + Group X of XYZ + Control X1 + Control Y1 + + Group X2 + Control X2 + Control Y2 + + + + + + + Control A + Control X1 + Control Y1 + Control X2 + Control Y2 + + + + + + + + + no control + + Control A + + Group X of XYZ + + + no control + + Control X1 + + + + + + ... + ... + ... + ... + + + + + + + + + Control X1 + + + + + + Control X1 + + + + + + + + + + + + + + + + + + + + + Control X1 + + + + + + + + + + + + + + + + + + + + + + + Control X1 + + + + + + + + + + + + + + + + + + + + + + + Control X1 + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    diff --git a/src/utils/util/resolver-pipeline/testing/4_modified/modify.xspec b/src/utils/util/resolver-pipeline/testing/4_modified/modify.xspec index e1bea3647..40eb7e302 100644 --- a/src/utils/util/resolver-pipeline/testing/4_modified/modify.xspec +++ b/src/utils/util/resolver-pipeline/testing/4_modified/modify.xspec @@ -1,301 +1,1723 @@ - - - - - - + stylesheet="../../oscal-profile-resolve-modify.xsl" + xslt-version="3.0"> - - - + + + + Control A + + + Context to consider + + + + + + + + + + + + + text + + + + + + + + + + + + + - - - - - - - - - - - Control A - - + + + + + + + + + + + + + + + + - + - - - - - New a123-1 - - - - - - - - - - - - - - - - - Control A - - - New a123-1 + + Control A + + + + + + + + + + + New a123-1 + + + + + + + + + + + - + - - - - + + Control A + + + New a123-1 + + + + + + + + + + + + + + Control A + + + + + + + + + + + + + Control A + + + + + + + + + + Control A + + + + + + + + + + + + + + + Control A + + + + + + + + + + + Control A + + + + + + + + + + + + + + + Control A + + + + + + + + + + + + Control A + + + + + + +

    Statement

    +
    +
    +
    +
    +
    + + + + Control A + + +

    Statement

    +
    +
    +
    +
    + + + + + + Control A + + + + + + + + + + Control A + + + Context to consider + No context + + + + + + + + + + + + + Control A + + Context to consider + + + + + + + + + Control A + + + Context to consider + + + + + + + + + + + + + Control A + + + + +
    - - - - Control A - - - - - - - - - - - - - Control A - - - - + + + - - - - - Control A - - - - - - - - - - - - - - - Control A - - - - - + + + + + + + + + + + at least every 3 years + + + + + + - - - - - Control A - - - - - - - - - - - - - - - Control A - - - - - + + + + + + + + + + + at least every 3 years + + + + + + + + + + + at least every 3 years + + + + + + + + + + ORIGINAL constraint +

    ORIGINAL guideline

    +

    ORIGINAL remarks

    + + + + + NEW constraint +

    NEW guideline

    +
    +
    +
    +
    + + + + + + + + + ORIGINAL constraint + NEW constraint +

    ORIGINAL guideline

    +

    NEW guideline

    +

    ORIGINAL remarks

    + +
    +
    + + + + + +

    Usage

    + in the first quarter + ORIGINAL + + + + + at least every 3 years + NEW + + +

    NEW Usage

    +
    + + +

    NEWER Usage

    + NEWER +
    +
    +
    +
    + + + + + + +

    NEWER Usage

    + in the first quarter + at least every 3 years + NEWER + +
    +
    + + + + + + ORIGINAL + + + + ORIGINAL + + + + NEW + + + + + + + + + NEW + + + + + + + + + + + + + + + NEW + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    - - - - + + + + + + + + + Control A + + + + + + + + + + + + + Control A + + + + + + + + + + + + + Control A + + + + + + + + + + + + + Control A + + + + + + + + + + + + + Control A + + + + + + + + + + + + Control A + + + + + + New Title + + + + + + + + + + + Control A + New Title + + + + + + + + + Control A + + + Control A.1 + + + +

    Text

    +
    +
    +
    + + + + + + + New Title + + + +
    +
    + + + + +
    + + + + + Control A + + + + + + + + + + + + + + + + + + + + + + + + + Control A + + + + + + + + + + + + + + Control A + + + + + + + + + + + + + + + + + + + + + + + + + Control A + + + + + + + + + + + + + + Control A + + + + + + + + + + + + + + + + + + + + + + + Control A + + + + + + + + + +
    + + + + + + + + Control A.1 + +

    New text

    +
    + + + +

    Text

    +
    +
    +
    +
    + + + + + + + Control A.1 + + + +

    Text

    +
    + +

    New text

    +
    +
    +
    +
    + + + + + + + Control A.1 + + + +

    Text

    +
    + +

    New text

    +
    +
    +
    +
    + + + + + + +

    New text

    +
    + + Control A.1 + + + +

    Text

    +
    +
    +
    +
    + + + + + + + Control A.1 + + + +

    Text

    +
    +
    + +

    New text

    +
    +
    +
    + + + + + Control A + + Control A.1 + + + + + + + New Title + + + + + + + + + + + Control A.1 + New Title + + + + + + + + + Control A + + + Control A.1 + + + +

    Text

    +
    +
    +
    + + + + + New Title + + + +
    +
    + + + + +
    +
    + + + + + Control A - + + + +

    Text

    +
    + + Control A.1 + + + +

    Text

    +
    +
    - - - - -

    Statement

    -
    -
    -
    -
    -
    - - - + +
    + + + + + Control A + + + +

    Text

    +
    +
    + + + + +

    New text

    +
    +
    +
    +
    +
    +
    + + + + + Control A - - -

    Statement

    + + + +

    Text

    +
    +
    +
    +
    + + + + + + + + Control A + + + + + + + + + + + + + + + + + + + + + + + + Control A + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Control A + + + + + + + + + + + + + + + + + + + + Control A + + Control A1 + + Control A1-1 + + + + + + + + + + + + + + + + + + + + + + + + + + + Control A + + Control A1 + + Control A1-1 + + + + + + + + + + + + + + + + + + + + + + + + + + + Control A + + Control A1 + + Control A1-1 + + + + + + + + + + + + + + + + + + + + + + + + + + + Control A + + + + + + + + + + + + + + + + + + + +

    New text

    +
    +

    Text

    + +

    Text

    +
    +
    +
    +
    + + + + + + +

    Text

    + +

    Text

    +
    + +

    New text

    +
    +
    +
    +
    + + + + + + +

    Text

    + +

    Text

    +
    + +

    New text

    +
    +
    +
    +
    + + + + + + +

    New text

    +
    + +

    Text

    + +

    Text

    +
    +
    +
    +
    + + + + + + +

    Text

    + +

    Text

    +
    +
    + +

    New text

    +
    +
    +
    + + + + + Control A + + Statement + + + + + + New Title + + + + + + + + + + + Statement + New Title + + + +
    + + + + + + + +

    New text

    +
    +

    Text

    +
    +
    +
    + + + + + + + +

    New text

    +
    +

    Text

    +
    +
    +
    + + + + + Control A + + + +

    Text

    +
    + +

    Text

    +
    +
    + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Group X + + Control X1 + + + + + + + Context to consider + + Control X2 + Control X3 + + + Group Z + Control Z1 + Control Z2 + Control Z3 + Control Z3-A + Control Z3-A-1 + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + - - Control A - - - Context to consider + Control Z3 + Control Z3-A + + Control Z3-A-1 + + + + - - - + + + + + + - - - - - Control A - - - - + + + + + + + - - + + + + + + + + - + Control A - - - Context to consider - No context + + - - - + + + + + + + + - - - - Control A - - Context to consider - - - - - + + - + Control A - - - Context to consider + + + +

    Text

    + +

    Text

    +
    +
    + + Control A.1 + + + +

    Text

    +
    +
    - - - + + + +

    New text

    +
    +
    +
    + + - - - - Control A - - - -
    - - - - - - - - Control A - - - - - at least every 3 years - - - - - - - - - at least every 3 years - - - Control A - - - - - - -
    diff --git a/src/utils/util/resolver-pipeline/testing/5_finished/finish.xspec b/src/utils/util/resolver-pipeline/testing/5_finished/finish.xspec index 7ecb1e686..9fdca33ca 100644 --- a/src/utils/util/resolver-pipeline/testing/5_finished/finish.xspec +++ b/src/utils/util/resolver-pipeline/testing/5_finished/finish.xspec @@ -1,171 +1,572 @@ - - - - - - - + + + + text + + + + + + + + + - - - - - Catalog - - - - - - Control A - - - - - - - Catalog - - - Control A - - - - - - - - - Catalog - - - - - - Control A - -

    goes here.

    -
    -
    -
    - - - - Catalog - - - - - - Control A - -

    goes here.

    -
    -
    -
    -
    + + + + + + + + + + + + + + + + + + Group 1 + + + Control A + +

    goes here.

    +
    +
    + + + + + + Catalog + +
    +
    + + + ... + + ... + ... + ... + ... + + +
    + + + + + Catalog X + 1.2 + + + Catalog Y + 1.3 + + + + + + + + + + + + + Catalog Y + 1.3 + + + + + + + + + + + + + Catalog + + + + + + Control A + + + + + + + Catalog + + + Control A + + + + + + + + + Catalog + + + + + + Control A + +

    goes here.

    +
    +
    +
    +
    + + + + Catalog + + + + + + Control A + +

    goes here.

    +
    +
    +
    +
    +
    +
    - - - + + + + - Catalog + + + + + + + + + + + + + + </metadata> - <control id="control_A"> - <title>Control A - A link - property - - - - - + + - Catalog - - - Control A - property - A link - - - - - - - + + <published/> + <last-modified/> + <version/> + <oscal-version/> + <revisions/> + <document-id/> + <prop/> + <link/> + <role/> + <location/> + <party/> + <responsible-party/> + <remarks/> + </metadata> + </x:expect> + </x:scenario> + <x:scenario label="Metadata with multiple elements of same type"> + <x:context> <metadata> - <title>Catalog + Title 1 + Title 2 + 2019-11-13T12:41:07.061-05:00 + 2019-11-13T12:41:07.061-05:00 + 2021-11-13T12:41:07.061-05:00 + 2021-11-13T12:41:07.061-05:00 + 1.0 + 1.0.1 + 1.1 + 1.0.2 + + + 1.0 + + + + + 1.1 + + +

    Remark 1

    +

    Remark 2

    - - citation - -
    -
    - - + + - Catalog + Title 2 + 2021-11-13T12:41:07.061-05:00 + 2021-11-13T12:41:07.061-05:00 + 1.1 + 1.0.2 + + + 1.1 + + +

    Remark 2

    -
    -
    + +
    - - - - - Catalog - - - Control A - link to good citation - - - unclaimed citation - good citation - - - - - - - Catalog - - - Control A - link to good citation - - - good citation - - - + + + + + + + + Catalog + + + Group A + A link + property + + + + + + Group A + property + A link + + + + + + + + Group A + Link Me + +

    Statement

    + +
    +
    +
    + + + Group A + + + Link Me +

    Statement

    +
    +
    +
    + + + + + + +

    goes here.

    +
    + Link Me + + + Group A +
    +
    + + + Group A + ... + + ... + ... + + + + +
    +
    + + + + Original title + Revised title + + + + + Revised title + + +
    - - - + + + + + + + + Catalog + + + Control A + A link + property + + + + + + Control A + property + A link + + + + + + + + Control A + Link Me + +

    Statement

    + +
    +
    +
    + + + Control A + + + Link Me +

    Statement

    +
    +
    +
    + + + + +

    Statement

    + Link Me + + + Control A +
    +
    + + + Control A + + + Link Me +

    Statement

    + + +
    +
    +
    + + - Control A - Link Me - -

    Statement

    - + Original title + First revision added during modify phase + Second revision added during modify phase
    -
    -
    - - + + - Control A - - - Link Me -

    Statement

    + Second revision added during modify phase
    -
    -
    + +
    +
    + + + + + + + + Group 1 + + + + + Control A + + + + + + + + + + + Group 1 + + + + + + + + Control A + +

    goes here.

    +
    +
    +
    +
    +
    + +
    + + + + + Group 1 + + + + + + Control A + + + + + + + + + + + +
    + + + + + + + Catalog + + + citation + + + + + + + + + + + + Catalog + + + Control A + link to good citation + + + unclaimed citation + good citation + + + + + + good citation + + + + + + + + Control A + + + + + + unclaimed citation + + + + + + + + + + + + + + + + + + + + + Catalog + + + Control A + link to good citation + + + + good citation + + + + +
    diff --git a/src/utils/util/resolver-pipeline/uuid-method-choice.xsl b/src/utils/util/resolver-pipeline/uuid-method-choice.xsl new file mode 100644 index 000000000..97c028fb5 --- /dev/null +++ b/src/utils/util/resolver-pipeline/uuid-method-choice.xsl @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + + ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-4[0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$ + 00000000-0000-4000-B000-000000000000 + + + + + + + + Warning + top-uuid value, '{$top-uuid}', does not meet UUID requirements. Using default UUID instead. + + + + + + + + + + + + + + Warning + uuid-method, '{$uuid-method}', is not available. Using default UUID instead. + + + + + + + + + Warning + uuid-service, '{$uuid-service}', is not available. Using default UUID instead. + + + + + + + + + Warning + uuid-method, '{$uuid-method}', is not recognized. Using default UUID instead. + + + + + + + \ No newline at end of file diff --git a/src/utils/util/resolver-pipeline/version-util.xsl b/src/utils/util/resolver-pipeline/version-util.xsl new file mode 100644 index 000000000..9bbb19c3d --- /dev/null +++ b/src/utils/util/resolver-pipeline/version-util.xsl @@ -0,0 +1,346 @@ + + + + + + + + + + + + + + + + {$A} is not a valid semantic version. + + + {$B} is not a valid semantic version. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/xml/README.md b/xml/README.md index 5a6f6b7b4..60598e7a7 100644 --- a/xml/README.md +++ b/xml/README.md @@ -36,7 +36,7 @@ XML Schema based on the [XML Schema Definition Language (XSD) 1.1](https://www.w ## Validating OSCAL XML Content -The OSCAL project uses [xmllint](http://xmlsoft.org/xmllint.html) to perform automated validation of all XML-based OSCAL [content](../content) provided in this repository. *xmllint* is an open source tool that can be [downloaded](http://xmlsoft.org/downloads.html), installed, and run on OSX, Linux, and Windows environments. +The OSCAL project uses [xmllint](https://linux.die.net/man/1/xmllint/) to perform automated validation of all XML-based OSCAL [content](../content) provided in this repository. *xmllint* is an open source tool that can be downloaded, installed, and run on OSX, Linux, and Windows environments with your preferred package manager. The following example uses **xmllint** to perform validation of an OSCAL catalog XML file. @@ -44,7 +44,7 @@ The following example uses **xmllint** to perform validation of an OSCAL catalog xmllint --noout --schema "oscal_catalog_schema.xsd" "catalog.xml" ``` -The [online documentation](http://xmlsoft.org/xmllint.html) for *xmllint* provides more information on the commandline arguments. +The [online documentation](https://linux.die.net/man/1/xmllint/) for *xmllint* provides more information on the commandline arguments. # OSCAL JSON to XML Converters diff --git a/xml/convert/oscal_assessment-plan_json-to-xml-converter.xsl b/xml/convert/oscal_assessment-plan_json-to-xml-converter.xsl index 67dbacb47..2de90331f 100644 --- a/xml/convert/oscal_assessment-plan_json-to-xml-converter.xsl +++ b/xml/convert/oscal_assessment-plan_json-to-xml-converter.xsl @@ -1,12 +1,12 @@ + xmlns:j="http://www.w3.org/2005/xpath-functions" + xmlns:m="http://csrc.nist.gov/ns/oscal/metaschema/1.0" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel" + version="3.0" + exclude-result-prefixes="#all"> @@ -31,7 +31,7 @@ + select="unparsed-text($file) ! json-to-xml(.)"> {{ $err:description }} @@ -130,6 +130,7 @@ +
    @@ -142,6 +143,7 @@ + @@ -152,64 +154,32 @@ + - - - - - - - - - - - - - - + - - - - - - - - + + + + - + - - + + + - - - - - - - - - - - - - - - - - - - + + @@ -369,8 +339,8 @@ + key="reviewed-controls" + gi="reviewed-controls"> reviewed-controls @@ -386,9 +356,9 @@ + name="include-all" + key="include-all" + gi="include-all"> include-all @@ -398,8 +368,8 @@ + name="select-objective-by-id" + gi="include-objective"> @@ -407,8 +377,8 @@ + name="select-objective-by-id" + gi="exclude-objective"> @@ -416,8 +386,8 @@ + key="related-controls" + gi="related-controls"> related-controls @@ -469,8 +439,8 @@ + key="assessment-assets" + gi="assessment-assets"> assessment-assets @@ -525,12 +495,12 @@ + collapsible="no" + as-type="markup-multiline" + name="remarks" + key="remarks" + gi="remarks" + in-json="SCALAR"> remarks @@ -538,8 +508,8 @@ + mode="get-value-property" + priority="8"> @@ -548,16 +518,16 @@ + as-type="uuid" + name="location-uuid" + gi="location-uuid" + in-json="SCALAR"> + mode="get-value-property" + priority="8"> @@ -566,16 +536,16 @@ + as-type="uuid" + name="party-uuid" + gi="party-uuid" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> @@ -584,16 +554,16 @@ + as-type="token" + name="role-id" + gi="role-id" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> @@ -602,16 +572,16 @@ + as-type="string" + name="function-performed" + gi="function-performed" + in-json="SCALAR"> + mode="get-value-property" + priority="9"> @@ -631,797 +601,890 @@ + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="3"> + as-type="token" + name="name" + key="name" + gi="name"> + mode="keep-value-property" + priority="8"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="8"> - + + mode="keep-value-property" + priority="8"> + as-type="string" + name="value" + key="value" + gi="value"> + mode="keep-value-property" + priority="8"> + as-type="token" + name="class" + key="class" + gi="class"> + mode="keep-value-property" + priority="8"> + + + + + + + as-type="uri-reference" + name="href" + key="href" + gi="href"> + mode="keep-value-property" + priority="8"> + as-type="token" + name="rel" + key="rel" + gi="rel"> + mode="keep-value-property" + priority="8"> + as-type="string" + name="media-type" + key="media-type" + gi="media-type"> + mode="keep-value-property" + priority="8"> + + + + + + + priority="6"> + as-type="uri" + name="scheme" + key="scheme" + gi="scheme"> - + mode="keep-value-property" + priority="6"> + - - + + + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - + + as-type="token" + name="location-type" + key="type" + gi="type"> + mode="keep-value-property" + priority="7"> + priority="8"> + as-type="string" + name="type" + key="type" + gi="type"> - + mode="keep-value-property" + priority="8"> + + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - - + + + as-type="string" + name="type" + key="type" + gi="type"> - + + priority="8"> + as-type="uri" + name="scheme" + key="scheme" + gi="scheme"> + mode="keep-value-property" + priority="8"> + priority="1"> + as-type="token" + name="role-id" + key="role-id" + gi="role-id"> + mode="keep-value-property" + priority="6"> + + + + + + + + + + + + + + + + + + + + + + + + + as-type="uri-reference" + name="href" + key="href" + gi="href"> + mode="keep-value-property" + priority="4"> + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="6"> + as-type="string" + name="system-component-type" + key="type" + gi="type"> + mode="keep-value-property" + priority="6"> + priority="7"> + as-type="token" + name="state" + key="state" + gi="state"> + mode="keep-value-property" + priority="7"> + priority="1"> + as-type="token" + name="role-id" + key="role-id" + gi="role-id"> + mode="keep-value-property" + priority="8"> + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="8"> + priority="1"> + as-type="string" + name="name" + key="name" + gi="name"> + mode="keep-value-property" + priority="8"> + priority="1"> + as-type="nonNegativeInteger" + name="start" + key="start" + gi="start"> + mode="keep-value-property" + priority="10"> + priority="1"> + as-type="nonNegativeInteger" + name="end" + key="end" + gi="end"> + mode="keep-value-property" + priority="10"> + priority="1"> + as-type="token" + name="transport" + key="transport" + gi="transport"> + mode="keep-value-property" + priority="10"> + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="6"> + priority="8"> + as-type="uuid" + name="component-uuid" + key="component-uuid" + gi="component-uuid"> + mode="keep-value-property" + priority="8"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="6"> + as-type="token" + name="control-id" + key="control-id" + gi="control-id"> + mode="keep-value-property" + priority="6"> + mode="keep-value-property" + priority="8"> + as-type="token" + name="name" + key="name" + gi="name"> + mode="keep-value-property" + priority="8"> - + + mode="keep-value-property" + priority="8"> + as-type="token" + name="class" + key="class" + gi="class"> + mode="keep-value-property" + priority="8"> + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="6"> + priority="8"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="8"> + as-type="token" + name="control-id" + key="control-id" + gi="control-id"> + mode="keep-value-property" + priority="14"> + as-type="token" + name="objective-id" + key="objective-id" + gi="objective-id"> + mode="keep-value-property" + priority="14"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="6"> + as-type="token" + name="name" + key="name" + gi="name"> + mode="keep-value-property" + priority="6"> - + + mode="keep-value-property" + priority="6"> + as-type="token" + name="class" + key="class" + gi="class"> + mode="keep-value-property" + priority="6"> + priority="1"> + as-type="token" + name="type" + key="type" + gi="type"> + mode="keep-value-property" + priority="5"> + as-type="uuid" + name="subject-uuid" + key="subject-uuid" + gi="subject-uuid"> + mode="keep-value-property" + priority="8"> + as-type="token" + name="subject-type" + key="type" + gi="type"> + mode="keep-value-property" + priority="8"> + priority="6"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="6"> + priority="8"> + as-type="uuid" + name="component-uuid" + key="component-uuid" + gi="component-uuid"> + mode="keep-value-property" + priority="8"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="5"> + as-type="token" + name="type" + key="type" + gi="type"> + mode="keep-value-property" + priority="5"> + priority="8"> + as-type="dateTime-with-timezone" + name="date" + key="date" + gi="date"> + mode="keep-value-property" + priority="8"> + priority="8"> + as-type="dateTime-with-timezone" + name="start" + key="start" + gi="start"> + mode="keep-value-property" + priority="8"> + priority="8"> + as-type="dateTime-with-timezone" + name="end" + key="end" + gi="end"> + mode="keep-value-property" + priority="8"> + priority="8"> + as-type="positiveInteger" + name="period" + key="period" + gi="period"> + mode="keep-value-property" + priority="8"> + priority="8"> + as-type="string" + name="unit" + key="unit" + gi="unit"> + mode="keep-value-property" + priority="8"> + priority="7"> + as-type="uuid" + name="task-uuid" + key="task-uuid" + gi="task-uuid"> + mode="keep-value-property" + priority="7"> + priority="7"> + as-type="uuid" + name="activity-uuid" + key="activity-uuid" + gi="activity-uuid"> + mode="keep-value-property" + priority="7"> + priority="6"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="6"> + priority="8"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + mode="keep-value-property" + priority="8"> + as-type="string" + name="media-type" + key="media-type" + gi="media-type"> + mode="keep-value-property" + priority="8"> + priority="3"> + as-type="string" + name="algorithm" + key="algorithm" + gi="algorithm"> + mode="keep-value-property" + priority="10"> + priority="7"> + as-type="token" + name="filename" + key="filename" + gi="filename"> + mode="keep-value-property" + priority="7"> + as-type="string" + name="media-type" + key="media-type" + gi="media-type"> + mode="keep-value-property" + priority="7"> + priority="4"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -1429,22 +1492,22 @@ + mode="get-value-property" + priority="4"> + priority="4"> + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> published @@ -1452,22 +1515,22 @@ + mode="get-value-property" + priority="4"> + priority="4"> + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> last-modified @@ -1475,22 +1538,22 @@ + mode="get-value-property" + priority="4"> + priority="4"> + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> version @@ -1498,22 +1561,22 @@ + mode="get-value-property" + priority="4"> + priority="4"> + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> oscal-version @@ -1521,14 +1584,14 @@ + mode="get-value-property" + priority="4"> + priority="5"> @@ -1543,14 +1606,14 @@ + priority="4"> + gi="revisions" + group-json="ARRAY" + name="revision" + key="revisions"> revisions @@ -1558,15 +1621,15 @@ + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -1574,22 +1637,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> published @@ -1597,22 +1660,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> last-modified @@ -1620,22 +1683,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> version @@ -1643,22 +1706,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> oscal-version @@ -1666,22 +1729,22 @@ + mode="get-value-property" + priority="6"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1689,41 +1752,41 @@ + mode="get-value-property" + priority="8"> + priority="5"> + as-type="string" + name="document-id" + gi="document-id"> + mode="get-value-property"> + priority="6"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1731,22 +1794,36 @@ + mode="get-value-property" + priority="6"> + + + + + + + + + + + + + + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -1754,22 +1831,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -1777,23 +1854,23 @@ + mode="get-value-property" + priority="6"> + priority="6"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -1801,22 +1878,22 @@ + mode="get-value-property" + priority="6"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1824,22 +1901,38 @@ + mode="get-value-property" + priority="8"> + + + + + + + + + + + + + + + + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -1847,14 +1940,14 @@ + mode="get-value-property" + priority="6"> + priority="6"> @@ -1870,34 +1963,34 @@ + priority="8"> + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> + mode="get-value-property" + priority="8"> + priority="7"> + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> city @@ -1905,22 +1998,22 @@ + mode="get-value-property" + priority="7"> + priority="7"> + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> state @@ -1928,22 +2021,22 @@ + mode="get-value-property" + priority="7"> + priority="7"> + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> postal-code @@ -1951,22 +2044,22 @@ + mode="get-value-property" + priority="7"> + priority="7"> + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> country @@ -1974,79 +2067,80 @@ + mode="get-value-property" + priority="7"> + priority="7"> + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> + priority="7"> + as-type="string" + name="telephone-number" + gi="telephone-number"> + mode="get-value-property"> + priority="7"> + as-type="uri" + name="url" + deprecated="1.1.0" + gi="url" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2054,22 +2148,42 @@ + mode="get-value-property" + priority="8"> + + + + + + + + + + + + + + + + + + + + priority="6"> + as-type="string" + name="name" + key="name" + gi="name" + in-json="SCALAR"> name @@ -2077,22 +2191,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -2100,41 +2214,41 @@ + mode="get-value-property" + priority="6"> + priority="7"> + as-type="string" + name="external-id" + gi="external-id"> + mode="get-value-property"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2142,52 +2256,52 @@ + mode="get-value-property" + priority="8"> + priority="7"> + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> + priority="7"> + as-type="string" + name="telephone-number" + gi="telephone-number"> + mode="get-value-property"> + priority="8"> @@ -2200,34 +2314,34 @@ + priority="10"> + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> + mode="get-value-property" + priority="10"> + priority="9"> + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> city @@ -2235,22 +2349,22 @@ + mode="get-value-property" + priority="9"> + priority="9"> + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> state @@ -2258,22 +2372,22 @@ + mode="get-value-property" + priority="9"> + priority="9"> + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> postal-code @@ -2281,22 +2395,22 @@ + mode="get-value-property" + priority="9"> + priority="9"> + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> country @@ -2304,41 +2418,41 @@ + mode="get-value-property" + priority="9"> + priority="7"> + as-type="uuid" + name="member-of-organization" + gi="member-of-organization" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2346,19 +2460,65 @@ + mode="get-value-property" + priority="8"> + + + + + + + + + + text + + + + + + + + + + + + + + + text + + + + + + priority="3"> + key="local-definitions" + gi="local-definitions"> local-definitions @@ -2371,15 +2531,15 @@ + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2387,23 +2547,23 @@ + mode="get-value-property" + priority="6"> + priority="6"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -2411,22 +2571,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="markup-line" + name="purpose" + key="purpose" + gi="purpose" + in-json="SCALAR"> purpose @@ -2434,22 +2594,22 @@ + mode="get-value-property" + priority="6"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2457,14 +2617,14 @@ + mode="get-value-property" + priority="8"> + priority="6"> @@ -2476,15 +2636,15 @@ + priority="10"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2492,22 +2652,22 @@ + mode="get-value-property" + priority="10"> + priority="8"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2515,23 +2675,23 @@ + mode="get-value-property" + priority="8"> + priority="6"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -2539,22 +2699,22 @@ + mode="get-value-property" + priority="6"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2562,22 +2722,22 @@ + mode="get-value-property" + priority="8"> + priority="10"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2585,14 +2745,14 @@ + mode="get-value-property" + priority="10"> + priority="7"> @@ -2604,15 +2764,15 @@ + priority="10"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2620,22 +2780,22 @@ + mode="get-value-property" + priority="10"> + priority="12"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2643,22 +2803,22 @@ + mode="get-value-property" + priority="12"> + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2666,22 +2826,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -2689,23 +2849,23 @@ + mode="get-value-property" + priority="6"> + priority="6"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -2713,22 +2873,22 @@ + mode="get-value-property" + priority="6"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2736,22 +2896,22 @@ + mode="get-value-property" + priority="8"> + priority="8"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2759,23 +2919,23 @@ + mode="get-value-property" + priority="8"> + priority="8"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -2783,23 +2943,23 @@ + mode="get-value-property" + priority="8"> + priority="6"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -2807,22 +2967,22 @@ + mode="get-value-property" + priority="6"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2830,22 +2990,22 @@ + mode="get-value-property" + priority="8"> + priority="8"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2853,46 +3013,46 @@ + mode="get-value-property" + priority="8"> + match="j:map[@key='assessment-plan']/j:map[@key='local-definitions']/j:array[@key='objectives-and-methods']/j:map//j:array[@key='parts']/j:map/j:string[@key='prose']"> + _step="prose" + _key="prose" + _metaschema-xml-id="/assembly/oscal-control-common/part/prose" + _metaschema-json-id="/assembly/oscal-control-common/part/prose" + in-xml="UNWRAPPED" + collapsible="no" + as-type="markup-multiline" + name="prose" + key="prose" + _using-name="prose" + _in-xml-name="p ul ol pre table h1 h2 h3 h4 h5 h6" + _in-json-name="prose"> + _metaschema-xml-id="/assembly/oscal-control-common/part/prose/PROSE" + _metaschema-json-id="/assembly/oscal-control-common/part/prose/PROSE" + in-json="string"> + priority="10"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2900,22 +3060,22 @@ + mode="get-value-property" + priority="10"> + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2923,23 +3083,23 @@ + mode="get-value-property" + priority="6"> + priority="6"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -2947,22 +3107,22 @@ + mode="get-value-property" + priority="6"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2970,14 +3130,14 @@ + mode="get-value-property" + priority="8"> + priority="7"> @@ -2992,15 +3152,15 @@ + priority="8"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -3008,23 +3168,23 @@ + mode="get-value-property" + priority="8"> + priority="8"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -3032,22 +3192,22 @@ + mode="get-value-property" + priority="8"> + priority="10"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3055,23 +3215,23 @@ + mode="get-value-property" + priority="10"> + priority="9"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -3079,22 +3239,22 @@ + mode="get-value-property" + priority="9"> + priority="11"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3102,14 +3262,14 @@ + mode="get-value-property" + priority="11"> + priority="10"> @@ -3123,16 +3283,16 @@ + priority="11"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -3140,22 +3300,22 @@ + mode="get-value-property" + priority="11"> + priority="13"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3163,14 +3323,14 @@ + mode="get-value-property" + priority="13"> + priority="13"> @@ -3179,26 +3339,26 @@ + priority="15"> + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> + mode="get-value-property" + priority="15"> + priority="12"> @@ -3207,26 +3367,26 @@ + priority="14"> + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> + mode="get-value-property" + priority="14"> + priority="10"> @@ -3240,16 +3400,16 @@ + priority="11"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -3257,22 +3417,22 @@ + mode="get-value-property" + priority="11"> + priority="13"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3280,22 +3440,22 @@ + mode="get-value-property" + priority="13"> + priority="12"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3303,23 +3463,23 @@ + mode="get-value-property" + priority="12"> + priority="7"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -3327,22 +3487,22 @@ + mode="get-value-property" + priority="7"> + priority="9"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3350,14 +3510,14 @@ + mode="get-value-property" + priority="9"> + priority="8"> @@ -3371,16 +3531,16 @@ + priority="9"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -3388,22 +3548,22 @@ + mode="get-value-property" + priority="9"> + priority="11"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3411,14 +3571,14 @@ + mode="get-value-property" + priority="11"> + priority="11"> @@ -3427,26 +3587,26 @@ + priority="13"> + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> + mode="get-value-property" + priority="13"> + priority="10"> @@ -3455,26 +3615,26 @@ + priority="12"> + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> + mode="get-value-property" + priority="12"> + priority="8"> @@ -3488,16 +3648,16 @@ + priority="9"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -3505,22 +3665,22 @@ + mode="get-value-property" + priority="9"> + priority="11"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3528,22 +3688,22 @@ + mode="get-value-property" + priority="11"> + priority="10"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3551,19 +3711,19 @@ + mode="get-value-property" + priority="10"> + priority="3"> + key="terms-and-conditions" + gi="terms-and-conditions"> terms-and-conditions @@ -3571,15 +3731,15 @@ + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -3587,46 +3747,46 @@ + mode="get-value-property" + priority="6"> + match="j:map[@key='assessment-plan']/j:map[@key='terms-and-conditions']//j:array[@key='parts']/j:map/j:string[@key='prose']"> + _step="prose" + _key="prose" + _metaschema-xml-id="/assembly/oscal-assessment-common/assessment-part/prose" + _metaschema-json-id="/assembly/oscal-assessment-common/assessment-part/prose" + in-xml="UNWRAPPED" + collapsible="no" + as-type="markup-multiline" + name="prose" + key="prose" + _using-name="prose" + _in-xml-name="p ul ol pre table h1 h2 h3 h4 h5 h6" + _in-json-name="prose"> + _metaschema-xml-id="/assembly/oscal-assessment-common/assessment-part/prose/PROSE" + _metaschema-json-id="/assembly/oscal-assessment-common/assessment-part/prose/PROSE" + in-json="string"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3634,23 +3794,23 @@ + mode="get-value-property" + priority="8"> + priority="4"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -3658,22 +3818,22 @@ + mode="get-value-property" + priority="4"> + priority="6"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3681,14 +3841,14 @@ + mode="get-value-property" + priority="6"> + priority="5"> @@ -3702,16 +3862,16 @@ + priority="6"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -3719,22 +3879,22 @@ + mode="get-value-property" + priority="6"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3742,14 +3902,14 @@ + mode="get-value-property" + priority="8"> + priority="8"> @@ -3758,26 +3918,26 @@ + priority="10"> + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> + mode="get-value-property" + priority="10"> + priority="7"> @@ -3786,26 +3946,26 @@ + priority="9"> + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> + mode="get-value-property" + priority="9"> + priority="5"> @@ -3819,16 +3979,16 @@ + priority="6"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -3836,22 +3996,22 @@ + mode="get-value-property" + priority="6"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3859,23 +4019,23 @@ + mode="get-value-property" + priority="8"> + priority="5"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -3883,22 +4043,22 @@ + mode="get-value-property" + priority="5"> + priority="7"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3906,22 +4066,22 @@ + mode="get-value-property" + priority="7"> + priority="10"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3929,22 +4089,22 @@ + mode="get-value-property" + priority="10"> + priority="9"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3952,22 +4112,22 @@ + mode="get-value-property" + priority="9"> + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -3975,23 +4135,23 @@ + mode="get-value-property" + priority="6"> + priority="6"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -3999,22 +4159,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="markup-line" + name="purpose" + key="purpose" + gi="purpose" + in-json="SCALAR"> purpose @@ -4022,22 +4182,22 @@ + mode="get-value-property" + priority="6"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4045,14 +4205,14 @@ + mode="get-value-property" + priority="8"> + priority="6"> @@ -4064,15 +4224,15 @@ + priority="10"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4080,22 +4240,22 @@ + mode="get-value-property" + priority="10"> + priority="8"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -4103,14 +4263,14 @@ + mode="get-value-property" + priority="8"> + priority="5"> @@ -4123,15 +4283,15 @@ + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -4139,22 +4299,22 @@ + mode="get-value-property" + priority="6"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4162,14 +4322,14 @@ + mode="get-value-property" + priority="8"> + priority="7"> @@ -4181,15 +4341,15 @@ + priority="10"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4197,22 +4357,22 @@ + mode="get-value-property" + priority="10"> + priority="12"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4220,22 +4380,22 @@ + mode="get-value-property" + priority="12"> + priority="5"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -4243,23 +4403,23 @@ + mode="get-value-property" + priority="5"> + priority="5"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -4267,22 +4427,22 @@ + mode="get-value-property" + priority="5"> + priority="7"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4290,14 +4450,14 @@ + mode="get-value-property" + priority="7"> + priority="5"> @@ -4310,7 +4470,7 @@ + priority="7"> @@ -4321,13 +4481,13 @@ + priority="7"> + name="within-date-range" + key="within-date-range" + gi="within-date-range"> within-date-range @@ -4336,13 +4496,13 @@ + priority="7"> + name="at-frequency" + key="at-frequency" + gi="at-frequency"> at-frequency @@ -4351,7 +4511,7 @@ + priority="6"> @@ -4360,7 +4520,7 @@ + priority="6"> @@ -4373,15 +4533,15 @@ + priority="9"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4389,22 +4549,22 @@ + mode="get-value-property" + priority="9"> + priority="11"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4412,23 +4572,23 @@ + mode="get-value-property" + priority="11"> + priority="9"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -4436,22 +4596,22 @@ + mode="get-value-property" + priority="9"> + priority="11"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4459,22 +4619,22 @@ + mode="get-value-property" + priority="11"> + priority="14"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4482,22 +4642,22 @@ + mode="get-value-property" + priority="14"> + priority="13"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4505,23 +4665,23 @@ + mode="get-value-property" + priority="13"> + priority="7"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -4529,22 +4689,22 @@ + mode="get-value-property" + priority="7"> + priority="9"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4552,22 +4712,22 @@ + mode="get-value-property" + priority="9"> + priority="12"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4575,22 +4735,22 @@ + mode="get-value-property" + priority="12"> + priority="11"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4598,22 +4758,22 @@ + mode="get-value-property" + priority="11"> + priority="9"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4621,14 +4781,14 @@ + mode="get-value-property" + priority="9"> + priority="5"> @@ -4644,15 +4804,15 @@ + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -4660,23 +4820,23 @@ + mode="get-value-property" + priority="6"> + priority="6"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -4684,33 +4844,33 @@ + mode="get-value-property" + priority="6"> + priority="7"> + as-type="string" + name="document-id" + gi="document-id"> + mode="get-value-property"> + priority="6"> @@ -4723,15 +4883,15 @@ + priority="7"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4739,22 +4899,22 @@ + mode="get-value-property" + priority="7"> + priority="9"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4762,14 +4922,14 @@ + mode="get-value-property" + priority="9"> + priority="7"> @@ -4779,14 +4939,14 @@ + priority="6"> + as-type="base64Binary" + name="base64" + key="base64" + gi="base64"> base64 @@ -4797,7 +4957,7 @@ + mode="get-value-property"> @@ -4811,8 +4971,8 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel" + match="value[@as-type=('markup-line')]"> @@ -4822,8 +4982,8 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel" + match="value[@as-type=('markup-multiline')]"> @@ -4852,15 +5012,15 @@ + group-starting-with=".[matches(., '^```')]"> + select="not((position() mod 2) + number($starts-with-code))"/>

    + expand-text="true" + select="(replace(.,'^```','') ! normalize-space(.))[matches(.,'\S')]"/> @@ -4891,9 +5051,9 @@ + priority="1" + match="p[exists(@code)]" + expand-text="true">

              
                 language-{.}
    @@ -4931,8 +5091,8 @@
           
        
        
    +                  priority="5"
    +                  mode="make-row"/>
        
           
              
    @@ -4943,7 +5103,7 @@
           
        
        
    +                  mode="make-row">
           
              
                 
    @@ -4962,9 +5122,9 @@
        
           
              
    +                              select="tokenize(., '\n')">
                 
  • + type="{ if (matches(.,'\s*\d')) then 'ol' else 'ul' }">
    @@ -4978,7 +5138,7 @@ + namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -4992,9 +5152,9 @@ + namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + group-starting-with="li[(@level = $level) or not(@type = preceding-sibling::*[1]/@type)]">
  • @@ -5173,40 +5333,40 @@ { insertion } + elements="s:*"/> + elements="s:flag s:value"/> + name="write-xml"/> + match="s:*[exists(@gi)]" + mode="write-xml"> + match="s:value[@as-type=('markup-line','markup-multiline')]" + mode="write-xml"> + match="p | ul | ol | pre | h1 | h2 | h3 | h4 | h5 | h6 | table" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + priority="2" + match="s:flag" + mode="write-xml"> + match="*" + mode="cast-prose"> diff --git a/xml/convert/oscal_assessment-results_json-to-xml-converter.xsl b/xml/convert/oscal_assessment-results_json-to-xml-converter.xsl index 0e2925a27..e680ab39b 100644 --- a/xml/convert/oscal_assessment-results_json-to-xml-converter.xsl +++ b/xml/convert/oscal_assessment-results_json-to-xml-converter.xsl @@ -1,12 +1,12 @@ + xmlns:j="http://www.w3.org/2005/xpath-functions" + xmlns:m="http://csrc.nist.gov/ns/oscal/metaschema/1.0" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel" + version="3.0" + exclude-result-prefixes="#all"> @@ -31,7 +31,7 @@ + select="unparsed-text($file) ! json-to-xml(.)"> {{ $err:description }} @@ -92,8 +92,8 @@ + key="assessment-results" + gi="assessment-results"> assessment-results @@ -128,6 +128,7 @@ + @@ -140,6 +141,7 @@ + @@ -150,64 +152,32 @@ + - - - - - - - - - - - - - - + - - - - - - - - + + + + - + - - + + + - - - - - - - - - - - - - - - - - - - + + @@ -283,8 +253,8 @@ + key="reviewed-controls" + gi="reviewed-controls"> reviewed-controls @@ -300,9 +270,9 @@ + name="include-all" + key="include-all" + gi="include-all"> include-all @@ -312,8 +282,8 @@ + name="select-objective-by-id" + gi="include-objective"> @@ -321,8 +291,8 @@ + name="select-objective-by-id" + gi="exclude-objective"> @@ -341,8 +311,8 @@ + key="related-controls" + gi="related-controls"> related-controls @@ -452,8 +422,8 @@ + key="assessment-assets" + gi="assessment-assets"> assessment-assets @@ -669,8 +639,8 @@ + key="implementation-status" + gi="implementation-status"> implementation-status @@ -692,12 +662,12 @@ + collapsible="no" + as-type="markup-multiline" + name="remarks" + key="remarks" + gi="remarks" + in-json="SCALAR"> remarks @@ -705,8 +675,8 @@ + mode="get-value-property" + priority="8"> @@ -715,16 +685,16 @@ + as-type="uuid" + name="location-uuid" + gi="location-uuid" + in-json="SCALAR"> + mode="get-value-property" + priority="8"> @@ -733,16 +703,16 @@ + as-type="uuid" + name="party-uuid" + gi="party-uuid" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> @@ -751,16 +721,16 @@ + as-type="token" + name="role-id" + gi="role-id" + in-json="SCALAR"> + mode="get-value-property" + priority="9"> @@ -769,16 +739,16 @@ + as-type="string" + name="function-performed" + gi="function-performed" + in-json="SCALAR"> + mode="get-value-property" + priority="11"> @@ -787,11 +757,11 @@ + as-type="token" + name="risk-status" + key="status" + gi="status" + in-json="SCALAR"> status @@ -799,8 +769,8 @@ + mode="get-value-property" + priority="7"> @@ -824,11 +794,11 @@ + as-type="token" + name="risk-status" + key="status-change" + gi="status-change" + in-json="SCALAR"> status-change @@ -836,8 +806,8 @@ + mode="get-value-property" + priority="10"> @@ -857,1248 +827,1341 @@ + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="3"> + as-type="token" + name="name" + key="name" + gi="name"> + mode="keep-value-property" + priority="8"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="8"> - + + mode="keep-value-property" + priority="8"> + as-type="string" + name="value" + key="value" + gi="value"> + mode="keep-value-property" + priority="8"> + as-type="token" + name="class" + key="class" + gi="class"> + mode="keep-value-property" + priority="8"> + + + + + + + as-type="uri-reference" + name="href" + key="href" + gi="href"> + mode="keep-value-property" + priority="8"> + as-type="token" + name="rel" + key="rel" + gi="rel"> + mode="keep-value-property" + priority="8"> + as-type="string" + name="media-type" + key="media-type" + gi="media-type"> + mode="keep-value-property" + priority="8"> + + + + + + + priority="6"> + as-type="uri" + name="scheme" + key="scheme" + gi="scheme"> - + mode="keep-value-property" + priority="6"> + - - + + + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - + + as-type="token" + name="location-type" + key="type" + gi="type"> + mode="keep-value-property" + priority="7"> + priority="8"> + as-type="string" + name="type" + key="type" + gi="type"> - + mode="keep-value-property" + priority="8"> + + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - - + + + as-type="string" + name="type" + key="type" + gi="type"> - + + priority="8"> + as-type="uri" + name="scheme" + key="scheme" + gi="scheme"> + mode="keep-value-property" + priority="8"> + priority="1"> + as-type="token" + name="role-id" + key="role-id" + gi="role-id"> + mode="keep-value-property" + priority="6"> + + + + + + + + + + + + + + + + + + + + + + + + + as-type="uri-reference" + name="href" + key="href" + gi="href"> + mode="keep-value-property" + priority="4"> + as-type="token" + name="control-id" + key="control-id" + gi="control-id"> + mode="keep-value-property" + priority="6"> + mode="keep-value-property" + priority="8"> + as-type="token" + name="name" + key="name" + gi="name"> + mode="keep-value-property" + priority="8"> - + + mode="keep-value-property" + priority="8"> + as-type="token" + name="class" + key="class" + gi="class"> + mode="keep-value-property" + priority="8"> + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="6"> + priority="8"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="8"> + as-type="token" + name="control-id" + key="control-id" + gi="control-id"> + mode="keep-value-property" + priority="14"> + as-type="token" + name="objective-id" + key="objective-id" + gi="objective-id"> + mode="keep-value-property" + priority="14"> + priority="1"> + as-type="token" + name="role-id" + key="role-id" + gi="role-id"> + mode="keep-value-property" + priority="10"> + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="5"> + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="8"> + as-type="string" + name="system-component-type" + key="type" + gi="type"> + mode="keep-value-property" + priority="8"> + priority="9"> + as-type="token" + name="state" + key="state" + gi="state"> + mode="keep-value-property" + priority="9"> + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="10"> + priority="1"> + as-type="string" + name="name" + key="name" + gi="name"> + mode="keep-value-property" + priority="10"> + priority="1"> + as-type="nonNegativeInteger" + name="start" + key="start" + gi="start"> + mode="keep-value-property" + priority="12"> + priority="1"> + as-type="nonNegativeInteger" + name="end" + key="end" + gi="end"> + mode="keep-value-property" + priority="12"> + priority="1"> + as-type="token" + name="transport" + key="transport" + gi="transport"> + mode="keep-value-property" + priority="12"> + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="8"> + priority="10"> + as-type="uuid" + name="component-uuid" + key="component-uuid" + gi="component-uuid"> + mode="keep-value-property" + priority="10"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="8"> + priority="9"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="9"> + priority="11"> + as-type="uuid" + name="component-uuid" + key="component-uuid" + gi="component-uuid"> + mode="keep-value-property" + priority="11"> + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="8"> + priority="1"> + as-type="token" + name="type" + key="type" + gi="type"> + mode="keep-value-property" + priority="8"> + priority="11"> + as-type="dateTime-with-timezone" + name="date" + key="date" + gi="date"> + mode="keep-value-property" + priority="11"> + priority="11"> + as-type="dateTime-with-timezone" + name="start" + key="start" + gi="start"> + mode="keep-value-property" + priority="11"> + priority="11"> + as-type="dateTime-with-timezone" + name="end" + key="end" + gi="end"> + mode="keep-value-property" + priority="11"> + priority="11"> + as-type="positiveInteger" + name="period" + key="period" + gi="period"> + mode="keep-value-property" + priority="11"> + priority="11"> + as-type="string" + name="unit" + key="unit" + gi="unit"> + mode="keep-value-property" + priority="11"> + priority="10"> + as-type="uuid" + name="task-uuid" + key="task-uuid" + gi="task-uuid"> + mode="keep-value-property" + priority="10"> + priority="10"> + as-type="uuid" + name="activity-uuid" + key="activity-uuid" + gi="activity-uuid"> + mode="keep-value-property" + priority="10"> + priority="1"> + as-type="token" + name="type" + key="type" + gi="type"> + mode="keep-value-property" + priority="12"> + as-type="uuid" + name="subject-uuid" + key="subject-uuid" + gi="subject-uuid"> + mode="keep-value-property" + priority="15"> + as-type="token" + name="subject-type" + key="type" + gi="type"> + mode="keep-value-property" + priority="15"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="9"> + as-type="token" + name="name" + key="name" + gi="name"> + mode="keep-value-property" + priority="9"> - + + mode="keep-value-property" + priority="9"> + as-type="token" + name="class" + key="class" + gi="class"> + mode="keep-value-property" + priority="9"> + priority="8"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="8"> + priority="1"> + as-type="uuid" + name="party-uuid" + key="party-uuid" + gi="party-uuid"> + mode="keep-value-property" + priority="10"> + priority="1"> + as-type="token" + name="role-id" + key="role-id" + gi="role-id"> + mode="keep-value-property" + priority="10"> + priority="1"> + as-type="uuid" + name="task-uuid" + key="task-uuid" + gi="task-uuid"> + mode="keep-value-property" + priority="10"> + priority="11"> + as-type="uuid" + name="subject-placeholder-uuid" + key="subject-placeholder-uuid" + gi="subject-placeholder-uuid"> + mode="keep-value-property" + priority="11"> + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="7"> + as-type="token" + name="type" + key="type" + gi="type"> + mode="keep-value-property" + priority="11"> + priority="1"> + as-type="uuid" + name="actor-uuid" + key="actor-uuid" + gi="actor-uuid"> + mode="keep-value-property" + priority="11"> + priority="1"> + as-type="token" + name="role-id" + key="role-id" + gi="role-id"> + mode="keep-value-property" + priority="11"> + as-type="uuid" + name="subject-uuid" + key="subject-uuid" + gi="subject-uuid"> + mode="keep-value-property" + priority="9"> + as-type="token" + name="subject-type" + key="type" + gi="type"> + mode="keep-value-property" + priority="9"> + priority="9"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + mode="keep-value-property" + priority="9"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="7"> + priority="1"> + as-type="uri" + name="system" + key="system" + gi="system"> + mode="keep-value-property" + priority="9"> + priority="1"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + mode="keep-value-property" + priority="9"> + priority="11"> + as-type="token" + name="name" + key="name" + gi="name"> + mode="keep-value-property" + priority="11"> + priority="11"> + as-type="uri" + name="system" + key="system" + gi="system"> + mode="keep-value-property" + priority="11"> + priority="11"> + as-type="string" + name="value" + key="value" + gi="value"> + mode="keep-value-property" + priority="11"> + priority="9"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="9"> + priority="9"> + as-type="uuid" + name="implementation-uuid" + key="implementation-uuid" + gi="implementation-uuid"> + mode="keep-value-property" + priority="9"> + priority="9"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="9"> + priority="9"> + as-type="token" + name="lifecycle" + key="lifecycle" + gi="lifecycle"> + mode="keep-value-property" + priority="9"> + priority="11"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="11"> + priority="10"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="10"> + priority="12"> + as-type="uuid" + name="response-uuid" + key="response-uuid" + gi="response-uuid"> + mode="keep-value-property" + priority="12"> + priority="9"> + as-type="uuid" + name="observation-uuid" + key="observation-uuid" + gi="observation-uuid"> + mode="keep-value-property" + priority="9"> + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="7"> + as-type="string" + name="type" + key="type" + gi="type"> + mode="keep-value-property" + priority="8"> + as-type="token" + name="target-id" + key="target-id" + gi="target-id"> + mode="keep-value-property" + priority="8"> + priority="9"> + as-type="token" + name="state" + key="state" + gi="state"> + mode="keep-value-property" + priority="9"> + priority="9"> + as-type="token" + name="reason" + key="reason" + gi="reason"> + mode="keep-value-property" + priority="9"> + priority="1"> + as-type="token" + name="state" + key="state" + gi="state"> + mode="keep-value-property" + priority="9"> + priority="9"> + as-type="uuid" + name="observation-uuid" + key="observation-uuid" + gi="observation-uuid"> + mode="keep-value-property" + priority="9"> + priority="9"> + as-type="uuid" + name="risk-uuid" + key="risk-uuid" + gi="risk-uuid"> + mode="keep-value-property" + priority="9"> + priority="6"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="6"> + priority="8"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + mode="keep-value-property" + priority="8"> + as-type="string" + name="media-type" + key="media-type" + gi="media-type"> + mode="keep-value-property" + priority="8"> + priority="3"> + as-type="string" + name="algorithm" + key="algorithm" + gi="algorithm"> + mode="keep-value-property" + priority="10"> + priority="7"> + as-type="token" + name="filename" + key="filename" + gi="filename"> + mode="keep-value-property" + priority="7"> + as-type="string" + name="media-type" + key="media-type" + gi="media-type"> + mode="keep-value-property" + priority="7"> + priority="4"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2106,22 +2169,22 @@ + mode="get-value-property" + priority="4"> + priority="4"> + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> published @@ -2129,22 +2192,22 @@ + mode="get-value-property" + priority="4"> + priority="4"> + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> last-modified @@ -2152,22 +2215,22 @@ + mode="get-value-property" + priority="4"> + priority="4"> + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> version @@ -2175,22 +2238,22 @@ + mode="get-value-property" + priority="4"> + priority="4"> + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> oscal-version @@ -2198,14 +2261,14 @@ + mode="get-value-property" + priority="4"> + priority="5"> @@ -2220,14 +2283,14 @@ + priority="4"> + gi="revisions" + group-json="ARRAY" + name="revision" + key="revisions"> revisions @@ -2235,15 +2298,15 @@ + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2251,22 +2314,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> published @@ -2274,22 +2337,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> last-modified @@ -2297,22 +2360,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> version @@ -2320,22 +2383,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> oscal-version @@ -2343,22 +2406,22 @@ + mode="get-value-property" + priority="6"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2366,41 +2429,41 @@ + mode="get-value-property" + priority="8"> + priority="5"> + as-type="string" + name="document-id" + gi="document-id"> + mode="get-value-property"> + priority="6"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2408,22 +2471,36 @@ + mode="get-value-property" + priority="6"> + + + + + + + + + + + + + + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2431,22 +2508,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -2454,23 +2531,23 @@ + mode="get-value-property" + priority="6"> + priority="6"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -2478,22 +2555,22 @@ + mode="get-value-property" + priority="6"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2501,22 +2578,38 @@ + mode="get-value-property" + priority="8"> + + + + + + + + + + + + + + + + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2524,14 +2617,14 @@ + mode="get-value-property" + priority="6"> + priority="6"> @@ -2547,34 +2640,34 @@ + priority="8"> + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> + mode="get-value-property" + priority="8"> + priority="7"> + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> city @@ -2582,22 +2675,22 @@ + mode="get-value-property" + priority="7"> + priority="7"> + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> state @@ -2605,22 +2698,22 @@ + mode="get-value-property" + priority="7"> + priority="7"> + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> postal-code @@ -2628,22 +2721,22 @@ + mode="get-value-property" + priority="7"> + priority="7"> + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> country @@ -2651,79 +2744,80 @@ + mode="get-value-property" + priority="7"> + priority="7"> + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> + priority="7"> + as-type="string" + name="telephone-number" + gi="telephone-number"> + mode="get-value-property"> + priority="7"> + as-type="uri" + name="url" + deprecated="1.1.0" + gi="url" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2731,22 +2825,42 @@ + mode="get-value-property" + priority="8"> + + + + + + + + + + + + + + + + + + + + priority="6"> + as-type="string" + name="name" + key="name" + gi="name" + in-json="SCALAR"> name @@ -2754,22 +2868,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -2777,41 +2891,41 @@ + mode="get-value-property" + priority="6"> + priority="7"> + as-type="string" + name="external-id" + gi="external-id"> + mode="get-value-property"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2819,52 +2933,52 @@ + mode="get-value-property" + priority="8"> + priority="7"> + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> + priority="7"> + as-type="string" + name="telephone-number" + gi="telephone-number"> + mode="get-value-property"> + priority="8"> @@ -2877,34 +2991,34 @@ + priority="10"> + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> + mode="get-value-property" + priority="10"> + priority="9"> + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> city @@ -2912,22 +3026,22 @@ + mode="get-value-property" + priority="9"> + priority="9"> + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> state @@ -2935,22 +3049,22 @@ + mode="get-value-property" + priority="9"> + priority="9"> + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> postal-code @@ -2958,22 +3072,22 @@ + mode="get-value-property" + priority="9"> + priority="9"> + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> country @@ -2981,41 +3095,41 @@ + mode="get-value-property" + priority="9"> + priority="7"> + as-type="uuid" + name="member-of-organization" + gi="member-of-organization" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3023,19 +3137,65 @@ + mode="get-value-property" + priority="8"> + + + + + + + + + + text + + + + + + + + + + + + + + + text + + + + + + priority="3"> + key="local-definitions" + gi="local-definitions"> local-definitions @@ -3045,16 +3205,16 @@ + priority="6"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -3062,22 +3222,22 @@ + mode="get-value-property" + priority="6"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3085,22 +3245,22 @@ + mode="get-value-property" + priority="8"> + priority="8"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -3108,46 +3268,46 @@ + mode="get-value-property" + priority="8"> + match="j:map[@key='assessment-results']/j:map[@key='local-definitions']/j:array[@key='objectives-and-methods']/j:map//j:array[@key='parts']/j:map/j:string[@key='prose']"> + _step="prose" + _key="prose" + _metaschema-xml-id="/assembly/oscal-control-common/part/prose" + _metaschema-json-id="/assembly/oscal-control-common/part/prose" + in-xml="UNWRAPPED" + collapsible="no" + as-type="markup-multiline" + name="prose" + key="prose" + _using-name="prose" + _in-xml-name="p ul ol pre table h1 h2 h3 h4 h5 h6" + _in-json-name="prose"> + _metaschema-xml-id="/assembly/oscal-control-common/part/prose/PROSE" + _metaschema-json-id="/assembly/oscal-control-common/part/prose/PROSE" + in-json="string"> + priority="10"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3155,22 +3315,22 @@ + mode="get-value-property" + priority="10"> + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -3178,23 +3338,23 @@ + mode="get-value-property" + priority="6"> + priority="6"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -3202,22 +3362,22 @@ + mode="get-value-property" + priority="6"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3225,14 +3385,14 @@ + mode="get-value-property" + priority="8"> + priority="7"> @@ -3247,15 +3407,15 @@ + priority="8"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -3263,23 +3423,23 @@ + mode="get-value-property" + priority="8"> + priority="8"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -3287,22 +3447,22 @@ + mode="get-value-property" + priority="8"> + priority="10"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3310,23 +3470,23 @@ + mode="get-value-property" + priority="10"> + priority="9"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -3334,22 +3494,22 @@ + mode="get-value-property" + priority="9"> + priority="11"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3357,14 +3517,14 @@ + mode="get-value-property" + priority="11"> + priority="10"> @@ -3378,16 +3538,16 @@ + priority="11"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -3395,22 +3555,22 @@ + mode="get-value-property" + priority="11"> + priority="13"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3418,14 +3578,14 @@ + mode="get-value-property" + priority="13"> + priority="13"> @@ -3434,26 +3594,26 @@ + priority="15"> + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> + mode="get-value-property" + priority="15"> + priority="12"> @@ -3462,26 +3622,26 @@ + priority="14"> + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> + mode="get-value-property" + priority="14"> + priority="10"> @@ -3495,16 +3655,16 @@ + priority="11"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -3512,22 +3672,22 @@ + mode="get-value-property" + priority="11"> + priority="13"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3535,22 +3695,22 @@ + mode="get-value-property" + priority="13"> + priority="12"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3558,23 +3718,23 @@ + mode="get-value-property" + priority="12"> + priority="7"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -3582,22 +3742,22 @@ + mode="get-value-property" + priority="7"> + priority="9"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3605,14 +3765,14 @@ + mode="get-value-property" + priority="9"> + priority="8"> @@ -3626,16 +3786,16 @@ + priority="9"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -3643,22 +3803,22 @@ + mode="get-value-property" + priority="9"> + priority="11"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3666,14 +3826,14 @@ + mode="get-value-property" + priority="11"> + priority="11"> @@ -3682,26 +3842,26 @@ + priority="13"> + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> + mode="get-value-property" + priority="13"> + priority="10"> @@ -3710,26 +3870,26 @@ + priority="12"> + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> + mode="get-value-property" + priority="12"> + priority="8"> @@ -3743,16 +3903,16 @@ + priority="9"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -3760,22 +3920,22 @@ + mode="get-value-property" + priority="9"> + priority="11"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3783,22 +3943,22 @@ + mode="get-value-property" + priority="11"> + priority="10"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3806,22 +3966,22 @@ + mode="get-value-property" + priority="10"> + priority="5"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -3829,23 +3989,23 @@ + mode="get-value-property" + priority="5"> + priority="5"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -3853,22 +4013,22 @@ + mode="get-value-property" + priority="5"> + priority="5"> + as-type="dateTime-with-timezone" + name="start" + key="start" + gi="start" + in-json="SCALAR"> start @@ -3876,22 +4036,22 @@ + mode="get-value-property" + priority="5"> + priority="5"> + as-type="dateTime-with-timezone" + name="end" + key="end" + gi="end" + in-json="SCALAR"> end @@ -3899,22 +4059,22 @@ + mode="get-value-property" + priority="5"> + priority="7"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3922,19 +4082,19 @@ + mode="get-value-property" + priority="7"> + priority="5"> + key="local-definitions" + gi="local-definitions"> local-definitions @@ -3946,15 +4106,15 @@ + priority="8"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -3962,23 +4122,23 @@ + mode="get-value-property" + priority="8"> + priority="8"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -3986,22 +4146,22 @@ + mode="get-value-property" + priority="8"> + priority="8"> + as-type="markup-line" + name="purpose" + key="purpose" + gi="purpose" + in-json="SCALAR"> purpose @@ -4009,22 +4169,22 @@ + mode="get-value-property" + priority="8"> + priority="10"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4032,14 +4192,14 @@ + mode="get-value-property" + priority="10"> + priority="8"> @@ -4051,15 +4211,15 @@ + priority="12"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4067,22 +4227,22 @@ + mode="get-value-property" + priority="12"> + priority="10"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -4090,23 +4250,23 @@ + mode="get-value-property" + priority="10"> + priority="8"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -4114,22 +4274,22 @@ + mode="get-value-property" + priority="8"> + priority="10"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4137,22 +4297,22 @@ + mode="get-value-property" + priority="10"> + priority="12"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4160,14 +4320,14 @@ + mode="get-value-property" + priority="12"> + priority="9"> @@ -4179,15 +4339,15 @@ + priority="12"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4195,22 +4355,22 @@ + mode="get-value-property" + priority="12"> + priority="14"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4218,22 +4378,22 @@ + mode="get-value-property" + priority="14"> + priority="8"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -4241,22 +4401,22 @@ + mode="get-value-property" + priority="8"> + priority="8"> + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -4264,23 +4424,23 @@ + mode="get-value-property" + priority="8"> + priority="8"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -4288,22 +4448,22 @@ + mode="get-value-property" + priority="8"> + priority="10"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4311,22 +4471,22 @@ + mode="get-value-property" + priority="10"> + priority="10"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -4334,23 +4494,23 @@ + mode="get-value-property" + priority="10"> + priority="10"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -4358,22 +4518,22 @@ + mode="get-value-property" + priority="10"> + priority="9"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -4381,23 +4541,23 @@ + mode="get-value-property" + priority="9"> + priority="9"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -4405,22 +4565,22 @@ + mode="get-value-property" + priority="9"> + priority="9"> + as-type="markup-line" + name="purpose" + key="purpose" + gi="purpose" + in-json="SCALAR"> purpose @@ -4428,22 +4588,22 @@ + mode="get-value-property" + priority="9"> + priority="11"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4451,14 +4611,14 @@ + mode="get-value-property" + priority="11"> + priority="9"> @@ -4470,15 +4630,15 @@ + priority="13"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4486,22 +4646,22 @@ + mode="get-value-property" + priority="13"> + priority="11"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -4509,14 +4669,14 @@ + mode="get-value-property" + priority="11"> + priority="8"> @@ -4529,15 +4689,15 @@ + priority="9"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -4545,22 +4705,22 @@ + mode="get-value-property" + priority="9"> + priority="11"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4568,14 +4728,14 @@ + mode="get-value-property" + priority="11"> + priority="10"> @@ -4587,15 +4747,15 @@ + priority="13"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4603,22 +4763,22 @@ + mode="get-value-property" + priority="13"> + priority="15"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4626,22 +4786,22 @@ + mode="get-value-property" + priority="15"> + priority="8"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -4649,23 +4809,23 @@ + mode="get-value-property" + priority="8"> + priority="8"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -4673,22 +4833,22 @@ + mode="get-value-property" + priority="8"> + priority="10"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4696,14 +4856,14 @@ + mode="get-value-property" + priority="10"> + priority="8"> @@ -4716,7 +4876,7 @@ + priority="10"> @@ -4727,13 +4887,13 @@ + priority="10"> + name="within-date-range" + key="within-date-range" + gi="within-date-range"> within-date-range @@ -4742,13 +4902,13 @@ + priority="10"> + name="at-frequency" + key="at-frequency" + gi="at-frequency"> at-frequency @@ -4757,7 +4917,7 @@ + priority="9"> @@ -4766,7 +4926,7 @@ + priority="9"> @@ -4779,15 +4939,15 @@ + priority="12"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4795,22 +4955,22 @@ + mode="get-value-property" + priority="12"> + priority="14"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4818,23 +4978,23 @@ + mode="get-value-property" + priority="14"> + priority="12"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -4842,22 +5002,22 @@ + mode="get-value-property" + priority="12"> + priority="14"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4865,22 +5025,22 @@ + mode="get-value-property" + priority="14"> + priority="17"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4888,22 +5048,22 @@ + mode="get-value-property" + priority="17"> + priority="16"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4911,23 +5071,23 @@ + mode="get-value-property" + priority="16"> + priority="10"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -4935,22 +5095,22 @@ + mode="get-value-property" + priority="10"> + priority="12"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4958,22 +5118,22 @@ + mode="get-value-property" + priority="12"> + priority="15"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4981,22 +5141,22 @@ + mode="get-value-property" + priority="15"> + priority="14"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5004,22 +5164,22 @@ + mode="get-value-property" + priority="14"> + priority="12"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5027,23 +5187,23 @@ + mode="get-value-property" + priority="12"> + priority="6"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -5051,22 +5211,22 @@ + mode="get-value-property" + priority="6"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5074,14 +5234,14 @@ + mode="get-value-property" + priority="8"> + priority="7"> @@ -5095,16 +5255,16 @@ + priority="8"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -5112,22 +5272,22 @@ + mode="get-value-property" + priority="8"> + priority="10"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5135,14 +5295,14 @@ + mode="get-value-property" + priority="10"> + priority="10"> @@ -5151,26 +5311,26 @@ + priority="12"> + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> + mode="get-value-property" + priority="12"> + priority="9"> @@ -5179,26 +5339,26 @@ + priority="11"> + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> + mode="get-value-property" + priority="11"> + priority="7"> @@ -5212,16 +5372,16 @@ + priority="8"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -5229,22 +5389,22 @@ + mode="get-value-property" + priority="8"> + priority="10"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5252,14 +5412,14 @@ + mode="get-value-property" + priority="10"> + priority="6"> @@ -5268,15 +5428,15 @@ + priority="11"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5284,22 +5444,22 @@ + mode="get-value-property" + priority="11"> + priority="9"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -5307,46 +5467,46 @@ + mode="get-value-property" + priority="9"> + match="j:map[@key='assessment-results']/j:array[@key='results']/j:map/j:array[@key='attestations']/j:map//j:array[@key='parts']/j:map/j:string[@key='prose']"> + _step="prose" + _key="prose" + _metaschema-xml-id="/assembly/oscal-assessment-common/assessment-part/prose" + _metaschema-json-id="/assembly/oscal-assessment-common/assessment-part/prose" + in-xml="UNWRAPPED" + collapsible="no" + as-type="markup-multiline" + name="prose" + key="prose" + _using-name="prose" + _in-xml-name="p ul ol pre table h1 h2 h3 h4 h5 h6" + _in-json-name="prose"> + _metaschema-xml-id="/assembly/oscal-assessment-common/assessment-part/prose/PROSE" + _metaschema-json-id="/assembly/oscal-assessment-common/assessment-part/prose/PROSE" + in-json="string"> + priority="11"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5354,14 +5514,14 @@ + mode="get-value-property" + priority="11"> + priority="5"> @@ -5372,7 +5532,7 @@ + priority="7"> @@ -5389,15 +5549,15 @@ + priority="8"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -5405,23 +5565,23 @@ + mode="get-value-property" + priority="8"> + priority="8"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -5429,22 +5589,22 @@ + mode="get-value-property" + priority="8"> + priority="8"> + as-type="dateTime-with-timezone" + name="start" + key="start" + gi="start" + in-json="SCALAR"> start @@ -5452,22 +5612,22 @@ + mode="get-value-property" + priority="8"> + priority="8"> + as-type="dateTime-with-timezone" + name="end" + key="end" + gi="end" + in-json="SCALAR"> end @@ -5475,22 +5635,22 @@ + mode="get-value-property" + priority="8"> + priority="10"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5498,22 +5658,22 @@ + mode="get-value-property" + priority="10"> + priority="12"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5521,22 +5681,22 @@ + mode="get-value-property" + priority="12"> + priority="14"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5544,23 +5704,23 @@ + mode="get-value-property" + priority="14"> + priority="12"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -5568,22 +5728,22 @@ + mode="get-value-property" + priority="12"> + priority="14"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5591,22 +5751,22 @@ + mode="get-value-property" + priority="14"> + priority="17"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5614,22 +5774,22 @@ + mode="get-value-property" + priority="17"> + priority="16"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5637,19 +5797,19 @@ + mode="get-value-property" + priority="16"> + priority="10"> + key="identified-subject" + gi="identified-subject"> identified-subject @@ -5658,16 +5818,16 @@ + priority="13"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -5675,22 +5835,22 @@ + mode="get-value-property" + priority="13"> + priority="15"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5698,22 +5858,22 @@ + mode="get-value-property" + priority="15"> + priority="18"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5721,22 +5881,22 @@ + mode="get-value-property" + priority="18"> + priority="17"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5744,22 +5904,22 @@ + mode="get-value-property" + priority="17"> + priority="7"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -5767,23 +5927,23 @@ + mode="get-value-property" + priority="7"> + priority="7"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -5791,22 +5951,22 @@ + mode="get-value-property" + priority="7"> + priority="9"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5814,60 +5974,60 @@ + mode="get-value-property" + priority="9"> + priority="8"> + as-type="string" + name="method" + gi="method" + in-json="SCALAR"> + mode="get-value-property" + priority="8"> + priority="8"> + as-type="token" + name="type" + gi="type" + in-json="SCALAR"> + mode="get-value-property" + priority="8"> + priority="13"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5875,22 +6035,22 @@ + mode="get-value-property" + priority="13"> + priority="13"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5898,22 +6058,22 @@ + mode="get-value-property" + priority="13"> + priority="15"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5921,23 +6081,23 @@ + mode="get-value-property" + priority="15"> + priority="13"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -5945,22 +6105,22 @@ + mode="get-value-property" + priority="13"> + priority="15"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5968,22 +6128,22 @@ + mode="get-value-property" + priority="15"> + priority="18"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5991,22 +6151,22 @@ + mode="get-value-property" + priority="18"> + priority="17"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6014,19 +6174,19 @@ + mode="get-value-property" + priority="17"> + priority="11"> + key="identified-subject" + gi="identified-subject"> identified-subject @@ -6035,16 +6195,16 @@ + priority="14"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -6052,22 +6212,22 @@ + mode="get-value-property" + priority="14"> + priority="16"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6075,22 +6235,22 @@ + mode="get-value-property" + priority="16"> + priority="19"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6098,22 +6258,22 @@ + mode="get-value-property" + priority="19"> + priority="18"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6121,14 +6281,14 @@ + mode="get-value-property" + priority="18"> + priority="8"> @@ -6141,15 +6301,15 @@ + priority="9"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -6157,22 +6317,22 @@ + mode="get-value-property" + priority="9"> + priority="11"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6180,14 +6340,14 @@ + mode="get-value-property" + priority="11"> + priority="8"> @@ -6199,16 +6359,16 @@ + priority="9"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -6216,22 +6376,22 @@ + mode="get-value-property" + priority="9"> + priority="11"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6239,22 +6399,22 @@ + mode="get-value-property" + priority="11"> + priority="7"> + as-type="dateTime-with-timezone" + name="collected" + key="collected" + gi="collected" + in-json="SCALAR"> collected @@ -6262,22 +6422,22 @@ + mode="get-value-property" + priority="7"> + priority="7"> + as-type="dateTime-with-timezone" + name="expires" + key="expires" + gi="expires" + in-json="SCALAR"> expires @@ -6285,22 +6445,22 @@ + mode="get-value-property" + priority="7"> + priority="7"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -6308,23 +6468,23 @@ + mode="get-value-property" + priority="7"> + priority="7"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -6332,23 +6492,23 @@ + mode="get-value-property" + priority="7"> + priority="7"> + collapsible="no" + as-type="markup-multiline" + name="statement" + key="statement" + gi="statement" + in-json="SCALAR"> statement @@ -6356,22 +6516,22 @@ + mode="get-value-property" + priority="7"> + priority="9"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6379,22 +6539,22 @@ + mode="get-value-property" + priority="9"> + priority="13"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6402,22 +6562,22 @@ + mode="get-value-property" + priority="13"> + priority="13"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6425,22 +6585,22 @@ + mode="get-value-property" + priority="13"> + priority="15"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6448,23 +6608,23 @@ + mode="get-value-property" + priority="15"> + priority="13"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -6472,22 +6632,22 @@ + mode="get-value-property" + priority="13"> + priority="15"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6495,22 +6655,22 @@ + mode="get-value-property" + priority="15"> + priority="18"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6518,22 +6678,22 @@ + mode="get-value-property" + priority="18"> + priority="17"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6541,19 +6701,19 @@ + mode="get-value-property" + priority="17"> + priority="11"> + key="identified-subject" + gi="identified-subject"> identified-subject @@ -6562,16 +6722,16 @@ + priority="14"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -6579,22 +6739,22 @@ + mode="get-value-property" + priority="14"> + priority="16"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6602,22 +6762,22 @@ + mode="get-value-property" + priority="16"> + priority="19"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6625,22 +6785,22 @@ + mode="get-value-property" + priority="19"> + priority="18"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6648,22 +6808,22 @@ + mode="get-value-property" + priority="18"> + priority="11"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6671,22 +6831,22 @@ + mode="get-value-property" + priority="11"> + priority="14"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6694,22 +6854,22 @@ + mode="get-value-property" + priority="14"> + priority="14"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6717,22 +6877,22 @@ + mode="get-value-property" + priority="14"> + priority="16"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6740,23 +6900,23 @@ + mode="get-value-property" + priority="16"> + priority="14"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -6764,22 +6924,22 @@ + mode="get-value-property" + priority="14"> + priority="16"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6787,22 +6947,22 @@ + mode="get-value-property" + priority="16"> + priority="19"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6810,22 +6970,22 @@ + mode="get-value-property" + priority="19"> + priority="18"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6833,19 +6993,19 @@ + mode="get-value-property" + priority="18"> + priority="12"> + key="identified-subject" + gi="identified-subject"> identified-subject @@ -6854,16 +7014,16 @@ + priority="15"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -6871,22 +7031,22 @@ + mode="get-value-property" + priority="15"> + priority="17"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6894,22 +7054,22 @@ + mode="get-value-property" + priority="17"> + priority="20"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6917,22 +7077,22 @@ + mode="get-value-property" + priority="20"> + priority="19"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6940,14 +7100,14 @@ + mode="get-value-property" + priority="19"> + priority="10"> @@ -6960,15 +7120,15 @@ + priority="13"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -6976,14 +7136,14 @@ + mode="get-value-property" + priority="13"> + priority="8"> @@ -6996,16 +7156,16 @@ + priority="9"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -7013,22 +7173,22 @@ + mode="get-value-property" + priority="9"> + priority="11"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7036,14 +7196,14 @@ + mode="get-value-property" + priority="11"> + priority="10"> @@ -7056,15 +7216,15 @@ + priority="11"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -7072,22 +7232,22 @@ + mode="get-value-property" + priority="11"> + priority="13"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7095,22 +7255,22 @@ + mode="get-value-property" + priority="13"> + priority="7"> + as-type="dateTime-with-timezone" + name="deadline" + key="deadline" + gi="deadline" + in-json="SCALAR"> deadline @@ -7118,14 +7278,14 @@ + mode="get-value-property" + priority="7"> + priority="8"> @@ -7142,15 +7302,15 @@ + priority="9"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -7158,23 +7318,23 @@ + mode="get-value-property" + priority="9"> + priority="9"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -7182,22 +7342,22 @@ + mode="get-value-property" + priority="9"> + priority="11"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7205,22 +7365,22 @@ + mode="get-value-property" + priority="11"> + priority="15"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7228,22 +7388,22 @@ + mode="get-value-property" + priority="15"> + priority="15"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7251,22 +7411,22 @@ + mode="get-value-property" + priority="15"> + priority="17"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7274,23 +7434,23 @@ + mode="get-value-property" + priority="17"> + priority="15"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -7298,22 +7458,22 @@ + mode="get-value-property" + priority="15"> + priority="17"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7321,22 +7481,22 @@ + mode="get-value-property" + priority="17"> + priority="20"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7344,22 +7504,22 @@ + mode="get-value-property" + priority="20"> + priority="19"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7367,19 +7527,19 @@ + mode="get-value-property" + priority="19"> + priority="13"> + key="identified-subject" + gi="identified-subject"> identified-subject @@ -7388,16 +7548,16 @@ + priority="16"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -7405,22 +7565,22 @@ + mode="get-value-property" + priority="16"> + priority="18"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7428,22 +7588,22 @@ + mode="get-value-property" + priority="18"> + priority="21"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7451,22 +7611,22 @@ + mode="get-value-property" + priority="21"> + priority="20"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7474,14 +7634,14 @@ + mode="get-value-property" + priority="20"> + priority="10"> @@ -7495,7 +7655,7 @@ + priority="12"> @@ -7508,15 +7668,15 @@ + priority="13"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -7524,22 +7684,22 @@ + mode="get-value-property" + priority="13"> + priority="15"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7547,22 +7707,22 @@ + mode="get-value-property" + priority="15"> + priority="11"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -7570,23 +7730,23 @@ + mode="get-value-property" + priority="11"> + priority="11"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -7594,22 +7754,22 @@ + mode="get-value-property" + priority="11"> + priority="13"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7617,22 +7777,22 @@ + mode="get-value-property" + priority="13"> + priority="11"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -7640,23 +7800,23 @@ + mode="get-value-property" + priority="11"> + priority="11"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -7664,22 +7824,22 @@ + mode="get-value-property" + priority="11"> + priority="13"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7687,14 +7847,14 @@ + mode="get-value-property" + priority="13"> + priority="11"> @@ -7707,7 +7867,7 @@ + priority="13"> @@ -7718,13 +7878,13 @@ + priority="13"> + name="within-date-range" + key="within-date-range" + gi="within-date-range"> within-date-range @@ -7733,13 +7893,13 @@ + priority="13"> + name="at-frequency" + key="at-frequency" + gi="at-frequency"> at-frequency @@ -7748,7 +7908,7 @@ + priority="12"> @@ -7757,7 +7917,7 @@ + priority="12"> @@ -7770,15 +7930,15 @@ + priority="15"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7786,22 +7946,22 @@ + mode="get-value-property" + priority="15"> + priority="17"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7809,23 +7969,23 @@ + mode="get-value-property" + priority="17"> + priority="15"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -7833,22 +7993,22 @@ + mode="get-value-property" + priority="15"> + priority="17"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7856,22 +8016,22 @@ + mode="get-value-property" + priority="17"> + priority="20"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7879,22 +8039,22 @@ + mode="get-value-property" + priority="20"> + priority="19"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7902,23 +8062,23 @@ + mode="get-value-property" + priority="19"> + priority="13"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -7926,22 +8086,22 @@ + mode="get-value-property" + priority="13"> + priority="15"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7949,22 +8109,22 @@ + mode="get-value-property" + priority="15"> + priority="18"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7972,22 +8132,22 @@ + mode="get-value-property" + priority="18"> + priority="17"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -7995,22 +8155,22 @@ + mode="get-value-property" + priority="17"> + priority="15"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8018,14 +8178,14 @@ + mode="get-value-property" + priority="15"> + priority="7"> @@ -8036,7 +8196,7 @@ + priority="9"> @@ -8054,15 +8214,15 @@ + priority="10"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -8070,23 +8230,23 @@ + mode="get-value-property" + priority="10"> + priority="10"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -8094,22 +8254,22 @@ + mode="get-value-property" + priority="10"> + priority="10"> + as-type="dateTime-with-timezone" + name="start" + key="start" + gi="start" + in-json="SCALAR"> start @@ -8117,22 +8277,22 @@ + mode="get-value-property" + priority="10"> + priority="10"> + as-type="dateTime-with-timezone" + name="end" + key="end" + gi="end" + in-json="SCALAR"> end @@ -8140,22 +8300,22 @@ + mode="get-value-property" + priority="10"> + priority="12"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8163,14 +8323,14 @@ + mode="get-value-property" + priority="12"> + priority="11"> @@ -8182,15 +8342,15 @@ + priority="14"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8198,22 +8358,22 @@ + mode="get-value-property" + priority="14"> + priority="16"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8221,22 +8381,22 @@ + mode="get-value-property" + priority="16"> + priority="18"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8244,23 +8404,23 @@ + mode="get-value-property" + priority="18"> + priority="16"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -8268,22 +8428,22 @@ + mode="get-value-property" + priority="16"> + priority="18"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8291,22 +8451,22 @@ + mode="get-value-property" + priority="18"> + priority="21"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8314,22 +8474,22 @@ + mode="get-value-property" + priority="21"> + priority="20"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8337,19 +8497,19 @@ + mode="get-value-property" + priority="20"> + priority="14"> + key="identified-subject" + gi="identified-subject"> identified-subject @@ -8358,16 +8518,16 @@ + priority="17"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -8375,22 +8535,22 @@ + mode="get-value-property" + priority="17"> + priority="19"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8398,22 +8558,22 @@ + mode="get-value-property" + priority="19"> + priority="22"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8421,22 +8581,22 @@ + mode="get-value-property" + priority="22"> + priority="21"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8444,14 +8604,14 @@ + mode="get-value-property" + priority="21"> + priority="8"> @@ -8459,15 +8619,15 @@ + priority="7"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -8475,23 +8635,23 @@ + mode="get-value-property" + priority="7"> + priority="7"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -8499,22 +8659,22 @@ + mode="get-value-property" + priority="7"> + priority="9"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8522,22 +8682,22 @@ + mode="get-value-property" + priority="9"> + priority="13"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8545,22 +8705,22 @@ + mode="get-value-property" + priority="13"> + priority="13"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8568,22 +8728,22 @@ + mode="get-value-property" + priority="13"> + priority="15"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8591,23 +8751,23 @@ + mode="get-value-property" + priority="15"> + priority="13"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -8615,22 +8775,22 @@ + mode="get-value-property" + priority="13"> + priority="15"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8638,22 +8798,22 @@ + mode="get-value-property" + priority="15"> + priority="18"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8661,22 +8821,22 @@ + mode="get-value-property" + priority="18"> + priority="17"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8684,19 +8844,19 @@ + mode="get-value-property" + priority="17"> + priority="11"> + key="identified-subject" + gi="identified-subject"> identified-subject @@ -8705,16 +8865,16 @@ + priority="14"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -8722,22 +8882,22 @@ + mode="get-value-property" + priority="14"> + priority="16"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8745,22 +8905,22 @@ + mode="get-value-property" + priority="16"> + priority="19"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8768,22 +8928,22 @@ + mode="get-value-property" + priority="19"> + priority="18"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8791,22 +8951,22 @@ + mode="get-value-property" + priority="18"> + priority="8"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -8814,23 +8974,23 @@ + mode="get-value-property" + priority="8"> + priority="8"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -8838,22 +8998,22 @@ + mode="get-value-property" + priority="8"> + priority="10"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -8861,14 +9021,14 @@ + mode="get-value-property" + priority="10"> + priority="8"> @@ -8881,15 +9041,15 @@ + priority="7"> + as-type="uuid" + name="implementation-statement-uuid" + key="implementation-statement-uuid" + gi="implementation-statement-uuid" + in-json="SCALAR"> implementation-statement-uuid @@ -8897,14 +9057,14 @@ + mode="get-value-property" + priority="7"> + priority="8"> @@ -8912,7 +9072,7 @@ + priority="8"> @@ -8920,7 +9080,7 @@ + priority="5"> @@ -8936,15 +9096,15 @@ + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -8952,23 +9112,23 @@ + mode="get-value-property" + priority="6"> + priority="6"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -8976,33 +9136,33 @@ + mode="get-value-property" + priority="6"> + priority="7"> + as-type="string" + name="document-id" + gi="document-id"> + mode="get-value-property"> + priority="6"> @@ -9015,15 +9175,15 @@ + priority="7"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -9031,22 +9191,22 @@ + mode="get-value-property" + priority="7"> + priority="9"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -9054,14 +9214,14 @@ + mode="get-value-property" + priority="9"> + priority="7"> @@ -9071,14 +9231,14 @@ + priority="6"> + as-type="base64Binary" + name="base64" + key="base64" + gi="base64"> base64 @@ -9089,7 +9249,7 @@ + mode="get-value-property"> @@ -9103,8 +9263,8 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel" + match="value[@as-type=('markup-line')]"> @@ -9114,8 +9274,8 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel" + match="value[@as-type=('markup-multiline')]"> @@ -9144,15 +9304,15 @@ + group-starting-with=".[matches(., '^```')]"> + select="not((position() mod 2) + number($starts-with-code))"/>

    + expand-text="true" + select="(replace(.,'^```','') ! normalize-space(.))[matches(.,'\S')]"/> @@ -9183,9 +9343,9 @@ + priority="1" + match="p[exists(@code)]" + expand-text="true">

              
                 language-{.}
    @@ -9223,8 +9383,8 @@
           
        
        
    +                  priority="5"
    +                  mode="make-row"/>
        
           
              
    @@ -9235,7 +9395,7 @@
           
        
        
    +                  mode="make-row">
           
              
                 
    @@ -9254,9 +9414,9 @@
        
           
              
    +                              select="tokenize(., '\n')">
                 
  • + type="{ if (matches(.,'\s*\d')) then 'ol' else 'ul' }">
    @@ -9270,7 +9430,7 @@ + namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -9284,9 +9444,9 @@ + namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + group-starting-with="li[(@level = $level) or not(@type = preceding-sibling::*[1]/@type)]">
  • @@ -9465,40 +9625,40 @@ { insertion } + elements="s:*"/> + elements="s:flag s:value"/> + name="write-xml"/> + match="s:*[exists(@gi)]" + mode="write-xml"> + match="s:value[@as-type=('markup-line','markup-multiline')]" + mode="write-xml"> + match="p | ul | ol | pre | h1 | h2 | h3 | h4 | h5 | h6 | table" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + priority="2" + match="s:flag" + mode="write-xml"> + match="*" + mode="cast-prose"> diff --git a/xml/convert/oscal_catalog_json-to-xml-converter.xsl b/xml/convert/oscal_catalog_json-to-xml-converter.xsl index e0a647346..cfc827089 100644 --- a/xml/convert/oscal_catalog_json-to-xml-converter.xsl +++ b/xml/convert/oscal_catalog_json-to-xml-converter.xsl @@ -1,12 +1,12 @@ + xmlns:j="http://www.w3.org/2005/xpath-functions" + xmlns:m="http://csrc.nist.gov/ns/oscal/metaschema/1.0" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel" + version="3.0" + exclude-result-prefixes="#all"> @@ -31,7 +31,7 @@ + select="unparsed-text($file) ! json-to-xml(.)"> {{ $err:description }} @@ -126,6 +126,7 @@ + @@ -138,6 +139,7 @@ + @@ -148,64 +150,32 @@ + - - - - - - - - - - - - - - + - - - - - - - - + + + + - + - - + + + - - - - - - - - - - - - - - - - - - - + + @@ -264,6 +234,7 @@ + @@ -282,6 +253,57 @@ + + + + + + target-resource + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -311,12 +333,12 @@ + collapsible="no" + as-type="markup-multiline" + name="remarks" + key="remarks" + gi="remarks" + in-json="SCALAR"> remarks @@ -324,8 +346,8 @@ + mode="get-value-property" + priority="8"> @@ -334,16 +356,16 @@ + as-type="uuid" + name="location-uuid" + gi="location-uuid" + in-json="SCALAR"> + mode="get-value-property" + priority="8"> @@ -352,16 +374,16 @@ + as-type="uuid" + name="party-uuid" + gi="party-uuid" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> @@ -370,16 +392,16 @@ + as-type="string" + name="parameter-value" + gi="value" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> @@ -400,434 +422,613 @@ + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="3"> + as-type="token" + name="name" + key="name" + gi="name"> + mode="keep-value-property" + priority="8"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="8"> - + + mode="keep-value-property" + priority="8"> + as-type="string" + name="value" + key="value" + gi="value"> + mode="keep-value-property" + priority="8"> + as-type="token" + name="class" + key="class" + gi="class"> + mode="keep-value-property" + priority="8"> + + + + + + + as-type="uri-reference" + name="href" + key="href" + gi="href"> + mode="keep-value-property" + priority="8"> + as-type="token" + name="rel" + key="rel" + gi="rel"> + mode="keep-value-property" + priority="8"> + as-type="string" + name="media-type" + key="media-type" + gi="media-type"> + mode="keep-value-property" + priority="8"> + + + + + + + priority="6"> + as-type="uri" + name="scheme" + key="scheme" + gi="scheme"> - + mode="keep-value-property" + priority="6"> + - - + + + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - + + as-type="token" + name="location-type" + key="type" + gi="type"> + mode="keep-value-property" + priority="7"> + priority="8"> + as-type="string" + name="type" + key="type" + gi="type"> - + mode="keep-value-property" + priority="8"> + + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - - + + + as-type="string" + name="type" + key="type" + gi="type"> - + + priority="8"> + as-type="uri" + name="scheme" + key="scheme" + gi="scheme"> + mode="keep-value-property" + priority="8"> + priority="1"> + as-type="token" + name="role-id" + key="role-id" + gi="role-id"> + mode="keep-value-property" + priority="6"> + + + + + + + + + + + + + + + + + + + + + + + + + mode="keep-value-property" + priority="5"> + priority="1"> + as-type="token" + name="class" + key="class" + gi="class"> + mode="keep-value-property" + priority="5"> + priority="1"> + as-type="token" + name="depends-on" + key="depends-on" + deprecated="1.0.1" + gi="depends-on"> + mode="keep-value-property" + priority="5"> + as-type="token" + name="how-many" + key="how-many" + gi="how-many"> + mode="keep-value-property" + priority="7"> + mode="keep-value-property" + priority="5"> + priority="1"> + as-type="token" + name="class" + key="class" + gi="class"> + mode="keep-value-property" + priority="5"> + mode="keep-value-property" + priority="7"> + as-type="token" + name="name" + key="name" + gi="name"> + mode="keep-value-property" + priority="7"> - + + mode="keep-value-property" + priority="7"> + as-type="token" + name="class" + key="class" + gi="class"> + mode="keep-value-property" + priority="7"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + mode="keep-value-property" + priority="5"> + priority="1"> + as-type="token" + name="class" + key="class" + gi="class"> + mode="keep-value-property" + priority="5"> + priority="6"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="6"> + priority="8"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + mode="keep-value-property" + priority="8"> + as-type="string" + name="media-type" + key="media-type" + gi="media-type"> + mode="keep-value-property" + priority="8"> + priority="3"> + as-type="string" + name="algorithm" + key="algorithm" + gi="algorithm"> + mode="keep-value-property" + priority="10"> + priority="7"> + as-type="token" + name="filename" + key="filename" + gi="filename"> + mode="keep-value-property" + priority="7"> + as-type="string" + name="media-type" + key="media-type" + gi="media-type"> + mode="keep-value-property" + priority="7"> + priority="4"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -835,22 +1036,22 @@ + mode="get-value-property" + priority="4"> + priority="4"> + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> published @@ -858,22 +1059,22 @@ + mode="get-value-property" + priority="4"> + priority="4"> + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> last-modified @@ -881,22 +1082,22 @@ + mode="get-value-property" + priority="4"> + priority="4"> + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> version @@ -904,22 +1105,22 @@ + mode="get-value-property" + priority="4"> + priority="4"> + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> oscal-version @@ -927,14 +1128,14 @@ + mode="get-value-property" + priority="4"> + priority="5"> @@ -949,14 +1150,14 @@ + priority="4"> + gi="revisions" + group-json="ARRAY" + name="revision" + key="revisions"> revisions @@ -964,15 +1165,15 @@ + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -980,22 +1181,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> published @@ -1003,22 +1204,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> last-modified @@ -1026,22 +1227,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> version @@ -1049,22 +1250,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> oscal-version @@ -1072,22 +1273,22 @@ + mode="get-value-property" + priority="6"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1095,41 +1296,41 @@ + mode="get-value-property" + priority="8"> + priority="5"> + as-type="string" + name="document-id" + gi="document-id"> + mode="get-value-property"> + priority="6"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1137,22 +1338,36 @@ + mode="get-value-property" + priority="6"> + + + + + + + + + + + + + + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -1160,22 +1375,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -1183,23 +1398,23 @@ + mode="get-value-property" + priority="6"> + priority="6"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -1207,22 +1422,22 @@ + mode="get-value-property" + priority="6"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1230,22 +1445,38 @@ + mode="get-value-property" + priority="8"> + + + + + + + + + + + + + + + + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -1253,14 +1484,14 @@ + mode="get-value-property" + priority="6"> + priority="6"> @@ -1276,34 +1507,34 @@ + priority="8"> + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> + mode="get-value-property" + priority="8"> + priority="7"> + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> city @@ -1311,22 +1542,22 @@ + mode="get-value-property" + priority="7"> + priority="7"> + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> state @@ -1334,22 +1565,22 @@ + mode="get-value-property" + priority="7"> + priority="7"> + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> postal-code @@ -1357,22 +1588,22 @@ + mode="get-value-property" + priority="7"> + priority="7"> + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> country @@ -1380,79 +1611,80 @@ + mode="get-value-property" + priority="7"> + priority="7"> + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> + priority="7"> + as-type="string" + name="telephone-number" + gi="telephone-number"> + mode="get-value-property"> + priority="7"> + as-type="uri" + name="url" + deprecated="1.1.0" + gi="url" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1460,22 +1692,42 @@ + mode="get-value-property" + priority="8"> + + + + + + + + + + + + + + + + + + + + priority="6"> + as-type="string" + name="name" + key="name" + gi="name" + in-json="SCALAR"> name @@ -1483,22 +1735,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -1506,41 +1758,41 @@ + mode="get-value-property" + priority="6"> + priority="7"> + as-type="string" + name="external-id" + gi="external-id"> + mode="get-value-property"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1548,52 +1800,52 @@ + mode="get-value-property" + priority="8"> + priority="7"> + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> + priority="7"> + as-type="string" + name="telephone-number" + gi="telephone-number"> + mode="get-value-property"> + priority="8"> @@ -1606,34 +1858,34 @@ + priority="10"> + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> + mode="get-value-property" + priority="10"> + priority="9"> + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> city @@ -1641,22 +1893,22 @@ + mode="get-value-property" + priority="9"> + priority="9"> + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> state @@ -1664,22 +1916,22 @@ + mode="get-value-property" + priority="9"> + priority="9"> + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> postal-code @@ -1687,22 +1939,22 @@ + mode="get-value-property" + priority="9"> + priority="9"> + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> country @@ -1710,41 +1962,41 @@ + mode="get-value-property" + priority="9"> + priority="7"> + as-type="uuid" + name="member-of-organization" + gi="member-of-organization" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1752,22 +2004,68 @@ + mode="get-value-property" + priority="8"> + + + + + + + + + + text + + + + + + + + + + + + + + + text + + + + + + priority="7"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1775,22 +2073,22 @@ + mode="get-value-property" + priority="7"> + priority="5"> + as-type="markup-line" + name="label" + key="label" + gi="label" + in-json="SCALAR"> label @@ -1798,23 +2096,23 @@ + mode="get-value-property" + priority="5"> + priority="5"> + collapsible="no" + as-type="markup-multiline" + name="usage" + key="usage" + gi="usage" + in-json="SCALAR"> usage @@ -1822,23 +2120,23 @@ + mode="get-value-property" + priority="5"> + priority="7"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -1846,14 +2144,14 @@ + mode="get-value-property" + priority="7"> + priority="8"> @@ -1862,15 +2160,15 @@ + priority="9"> + as-type="string" + name="expression" + key="expression" + gi="expression" + in-json="SCALAR"> expression @@ -1878,65 +2176,65 @@ + mode="get-value-property" + priority="9"> + match="j:map[@key='catalog']/j:array[@key='params']/j:map/j:array[@key='guidelines']/j:map/j:string[@key='prose']"> + _step="prose" + _key="prose" + _metaschema-xml-id="/assembly/oscal-control-common/parameter-guideline/prose" + _metaschema-json-id="/assembly/oscal-control-common/parameter-guideline/prose" + in-xml="UNWRAPPED" + collapsible="no" + as-type="markup-multiline" + name="prose" + key="prose" + _using-name="prose" + _in-xml-name="p ul ol pre table h1 h2 h3 h4 h5 h6" + _in-json-name="prose"> + _metaschema-xml-id="/assembly/oscal-control-common/parameter-guideline/prose/PROSE" + _metaschema-json-id="/assembly/oscal-control-common/parameter-guideline/prose/PROSE" + in-json="string"> + priority="8"> + as-type="markup-line" + name="parameter-choice" + gi="choice" + in-json="SCALAR"> + mode="get-value-property" + priority="8"> + priority="5"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -1944,22 +2242,22 @@ + mode="get-value-property" + priority="5"> + priority="9"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1967,22 +2265,22 @@ + mode="get-value-property" + priority="9"> + priority="7"> + as-type="markup-line" + name="label" + key="label" + gi="label" + in-json="SCALAR"> label @@ -1990,23 +2288,23 @@ + mode="get-value-property" + priority="7"> + priority="7"> + collapsible="no" + as-type="markup-multiline" + name="usage" + key="usage" + gi="usage" + in-json="SCALAR"> usage @@ -2014,23 +2312,23 @@ + mode="get-value-property" + priority="7"> + priority="9"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -2038,14 +2336,14 @@ + mode="get-value-property" + priority="9"> + priority="10"> @@ -2054,15 +2352,15 @@ + priority="11"> + as-type="string" + name="expression" + key="expression" + gi="expression" + in-json="SCALAR"> expression @@ -2070,65 +2368,65 @@ + mode="get-value-property" + priority="11"> + match="j:map[@key='catalog']//j:array[@key='controls']/j:map/j:array[@key='params']/j:map/j:array[@key='guidelines']/j:map/j:string[@key='prose']"> + _step="prose" + _key="prose" + _metaschema-xml-id="/assembly/oscal-control-common/parameter-guideline/prose" + _metaschema-json-id="/assembly/oscal-control-common/parameter-guideline/prose" + in-xml="UNWRAPPED" + collapsible="no" + as-type="markup-multiline" + name="prose" + key="prose" + _using-name="prose" + _in-xml-name="p ul ol pre table h1 h2 h3 h4 h5 h6" + _in-json-name="prose"> + _metaschema-xml-id="/assembly/oscal-control-common/parameter-guideline/prose/PROSE" + _metaschema-json-id="/assembly/oscal-control-common/parameter-guideline/prose/PROSE" + in-json="string"> + priority="10"> + as-type="markup-line" + name="parameter-choice" + gi="choice" + in-json="SCALAR"> + mode="get-value-property" + priority="10"> + priority="7"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2136,22 +2434,22 @@ + mode="get-value-property" + priority="7"> + priority="7"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2159,46 +2457,46 @@ + mode="get-value-property" + priority="7"> + match="j:map[@key='catalog']//j:array[@key='controls']/j:map//j:array[@key='parts']/j:map/j:string[@key='prose']"> + _step="prose" + _key="prose" + _metaschema-xml-id="/assembly/oscal-control-common/part/prose" + _metaschema-json-id="/assembly/oscal-control-common/part/prose" + in-xml="UNWRAPPED" + collapsible="no" + as-type="markup-multiline" + name="prose" + key="prose" + _using-name="prose" + _in-xml-name="p ul ol pre table h1 h2 h3 h4 h5 h6" + _in-json-name="prose"> + _metaschema-xml-id="/assembly/oscal-control-common/part/prose/PROSE" + _metaschema-json-id="/assembly/oscal-control-common/part/prose/PROSE" + in-json="string"> + priority="9"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2206,22 +2504,150 @@ + mode="get-value-property" + priority="9"> + + + + + + + + + + mapping + + + + + + + + + + + + text + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + relationship + + + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + text + + + + + + priority="5"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2229,22 +2655,22 @@ + mode="get-value-property" + priority="5"> + priority="9"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2252,22 +2678,22 @@ + mode="get-value-property" + priority="9"> + priority="7"> + as-type="markup-line" + name="label" + key="label" + gi="label" + in-json="SCALAR"> label @@ -2275,23 +2701,23 @@ + mode="get-value-property" + priority="7"> + priority="7"> + collapsible="no" + as-type="markup-multiline" + name="usage" + key="usage" + gi="usage" + in-json="SCALAR"> usage @@ -2299,23 +2725,23 @@ + mode="get-value-property" + priority="7"> + priority="9"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -2323,14 +2749,14 @@ + mode="get-value-property" + priority="9"> + priority="10"> @@ -2339,15 +2765,15 @@ + priority="11"> + as-type="string" + name="expression" + key="expression" + gi="expression" + in-json="SCALAR"> expression @@ -2355,65 +2781,65 @@ + mode="get-value-property" + priority="11"> + match="j:map[@key='catalog']//j:array[@key='groups']/j:map/j:array[@key='params']/j:map/j:array[@key='guidelines']/j:map/j:string[@key='prose']"> + _step="prose" + _key="prose" + _metaschema-xml-id="/assembly/oscal-control-common/parameter-guideline/prose" + _metaschema-json-id="/assembly/oscal-control-common/parameter-guideline/prose" + in-xml="UNWRAPPED" + collapsible="no" + as-type="markup-multiline" + name="prose" + key="prose" + _using-name="prose" + _in-xml-name="p ul ol pre table h1 h2 h3 h4 h5 h6" + _in-json-name="prose"> + _metaschema-xml-id="/assembly/oscal-control-common/parameter-guideline/prose/PROSE" + _metaschema-json-id="/assembly/oscal-control-common/parameter-guideline/prose/PROSE" + in-json="string"> + priority="10"> + as-type="markup-line" + name="parameter-choice" + gi="choice" + in-json="SCALAR"> + mode="get-value-property" + priority="10"> + priority="7"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2421,22 +2847,22 @@ + mode="get-value-property" + priority="7"> + priority="7"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2444,46 +2870,46 @@ + mode="get-value-property" + priority="7"> + match="j:map[@key='catalog']//j:array[@key='groups']/j:map//j:array[@key='parts']/j:map/j:string[@key='prose']"> + _step="prose" + _key="prose" + _metaschema-xml-id="/assembly/oscal-control-common/part/prose" + _metaschema-json-id="/assembly/oscal-control-common/part/prose" + in-xml="UNWRAPPED" + collapsible="no" + as-type="markup-multiline" + name="prose" + key="prose" + _using-name="prose" + _in-xml-name="p ul ol pre table h1 h2 h3 h4 h5 h6" + _in-json-name="prose"> + _metaschema-xml-id="/assembly/oscal-control-common/part/prose/PROSE" + _metaschema-json-id="/assembly/oscal-control-common/part/prose/PROSE" + in-json="string"> + priority="9"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2491,22 +2917,22 @@ + mode="get-value-property" + priority="9"> + priority="8"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2514,22 +2940,22 @@ + mode="get-value-property" + priority="8"> + priority="12"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2537,22 +2963,22 @@ + mode="get-value-property" + priority="12"> + priority="10"> + as-type="markup-line" + name="label" + key="label" + gi="label" + in-json="SCALAR"> label @@ -2560,23 +2986,23 @@ + mode="get-value-property" + priority="10"> + priority="10"> + collapsible="no" + as-type="markup-multiline" + name="usage" + key="usage" + gi="usage" + in-json="SCALAR"> usage @@ -2584,23 +3010,23 @@ + mode="get-value-property" + priority="10"> + priority="12"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -2608,14 +3034,14 @@ + mode="get-value-property" + priority="12"> + priority="13"> @@ -2624,15 +3050,15 @@ + priority="14"> + as-type="string" + name="expression" + key="expression" + gi="expression" + in-json="SCALAR"> expression @@ -2640,65 +3066,65 @@ + mode="get-value-property" + priority="14"> + match="j:map[@key='catalog']//j:array[@key='groups']/j:map//j:array[@key='controls']/j:map/j:array[@key='params']/j:map/j:array[@key='guidelines']/j:map/j:string[@key='prose']"> + _step="prose" + _key="prose" + _metaschema-xml-id="/assembly/oscal-control-common/parameter-guideline/prose" + _metaschema-json-id="/assembly/oscal-control-common/parameter-guideline/prose" + in-xml="UNWRAPPED" + collapsible="no" + as-type="markup-multiline" + name="prose" + key="prose" + _using-name="prose" + _in-xml-name="p ul ol pre table h1 h2 h3 h4 h5 h6" + _in-json-name="prose"> + _metaschema-xml-id="/assembly/oscal-control-common/parameter-guideline/prose/PROSE" + _metaschema-json-id="/assembly/oscal-control-common/parameter-guideline/prose/PROSE" + in-json="string"> + priority="13"> + as-type="markup-line" + name="parameter-choice" + gi="choice" + in-json="SCALAR"> + mode="get-value-property" + priority="13"> + priority="10"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2706,22 +3132,22 @@ + mode="get-value-property" + priority="10"> + priority="10"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2729,46 +3155,46 @@ + mode="get-value-property" + priority="10"> + match="j:map[@key='catalog']//j:array[@key='groups']/j:map//j:array[@key='controls']/j:map//j:array[@key='parts']/j:map/j:string[@key='prose']"> + _step="prose" + _key="prose" + _metaschema-xml-id="/assembly/oscal-control-common/part/prose" + _metaschema-json-id="/assembly/oscal-control-common/part/prose" + in-xml="UNWRAPPED" + collapsible="no" + as-type="markup-multiline" + name="prose" + key="prose" + _using-name="prose" + _in-xml-name="p ul ol pre table h1 h2 h3 h4 h5 h6" + _in-json-name="prose"> + _metaschema-xml-id="/assembly/oscal-control-common/part/prose/PROSE" + _metaschema-json-id="/assembly/oscal-control-common/part/prose/PROSE" + in-json="string"> + priority="12"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2776,14 +3202,142 @@ + mode="get-value-property" + priority="12"> + + + + + + + + + + mapping + + + + + + + + + + + + text + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + relationship + + + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + text + + + + + + priority="5"> @@ -2799,15 +3353,15 @@ + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2815,23 +3369,23 @@ + mode="get-value-property" + priority="6"> + priority="6"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -2839,33 +3393,33 @@ + mode="get-value-property" + priority="6"> + priority="7"> + as-type="string" + name="document-id" + gi="document-id"> + mode="get-value-property"> + priority="6"> @@ -2878,15 +3432,15 @@ + priority="7"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2894,22 +3448,22 @@ + mode="get-value-property" + priority="7"> + priority="9"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2917,14 +3471,14 @@ + mode="get-value-property" + priority="9"> + priority="7"> @@ -2934,14 +3488,14 @@ + priority="6"> + as-type="base64Binary" + name="base64" + key="base64" + gi="base64"> base64 @@ -2952,7 +3506,7 @@ + mode="get-value-property"> @@ -2966,8 +3520,8 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel" + match="value[@as-type=('markup-line')]"> @@ -2977,8 +3531,8 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel" + match="value[@as-type=('markup-multiline')]"> @@ -3007,15 +3561,15 @@ + group-starting-with=".[matches(., '^```')]"> + select="not((position() mod 2) + number($starts-with-code))"/>

    + expand-text="true" + select="(replace(.,'^```','') ! normalize-space(.))[matches(.,'\S')]"/> @@ -3046,9 +3600,9 @@ + priority="1" + match="p[exists(@code)]" + expand-text="true">

              
                 language-{.}
    @@ -3086,8 +3640,8 @@
           
        
        
    +                  priority="5"
    +                  mode="make-row"/>
        
           
              
    @@ -3098,7 +3652,7 @@
           
        
        
    +                  mode="make-row">
           
              
                 
    @@ -3117,9 +3671,9 @@
        
           
              
    +                              select="tokenize(., '\n')">
                 
  • + type="{ if (matches(.,'\s*\d')) then 'ol' else 'ul' }">
    @@ -3133,7 +3687,7 @@ + namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -3147,9 +3701,9 @@ + namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + group-starting-with="li[(@level = $level) or not(@type = preceding-sibling::*[1]/@type)]">
  • @@ -3328,40 +3882,40 @@ { insertion } + elements="s:*"/> + elements="s:flag s:value"/> + name="write-xml"/> + match="s:*[exists(@gi)]" + mode="write-xml"> + match="s:value[@as-type=('markup-line','markup-multiline')]" + mode="write-xml"> + match="p | ul | ol | pre | h1 | h2 | h3 | h4 | h5 | h6 | table" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + priority="2" + match="s:flag" + mode="write-xml"> + match="*" + mode="cast-prose"> diff --git a/xml/convert/oscal_complete_json-to-xml-converter.xsl b/xml/convert/oscal_complete_json-to-xml-converter.xsl index 10fd4d71f..b012c6b05 100644 --- a/xml/convert/oscal_complete_json-to-xml-converter.xsl +++ b/xml/convert/oscal_complete_json-to-xml-converter.xsl @@ -1,12 +1,12 @@ + xmlns:j="http://www.w3.org/2005/xpath-functions" + xmlns:m="http://csrc.nist.gov/ns/oscal/metaschema/1.0" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel" + version="3.0" + exclude-result-prefixes="#all"> @@ -31,7 +31,7 @@ + select="unparsed-text($file) ! json-to-xml(.)"> {{ $err:description }} @@ -126,6 +126,7 @@ + @@ -138,6 +139,7 @@ + @@ -148,64 +150,32 @@ + - - - - - - - - - - - - - - + - - - - - - - - + + + + - + - - + + + - - - - - - - - - - - - - - - - - - - + + @@ -264,6 +234,7 @@ + @@ -297,6 +268,75 @@ + + + + + + target-resource + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + target + + + + + + + + + + + + @@ -337,6 +377,53 @@ + + + + + + mapping-collection + + + http://csrc.nist.gov/ns/oscal/1.0 + + + + + + + + + + + + + mapping + + + + + + + + + + + + + source-resource + + + + + + + + @@ -369,9 +456,9 @@ + name="include-all" + key="include-all" + gi="include-all"> include-all @@ -411,45 +498,12 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + key="component-definition" + gi="component-definition"> component-definition @@ -468,8 +522,8 @@ + name="import-component-definition" + gi="import-component-definition"> @@ -490,9 +544,9 @@ - + - + @@ -572,8 +626,8 @@ + key="system-security-plan" + gi="system-security-plan"> system-security-plan @@ -604,8 +658,8 @@ + key="system-characteristics" + gi="system-characteristics"> system-characteristics @@ -631,8 +685,8 @@ + key="system-information" + gi="system-information"> system-information @@ -641,12 +695,56 @@ + + + + + + confidentiality-impact + + + + + + + + + + + + + + integrity-impact + + + + + + + + + + + + + + availability-impact + + + + + + + + + key="security-impact-level" + gi="security-impact-level"> security-impact-level @@ -659,8 +757,8 @@ + key="authorization-boundary" + gi="authorization-boundary"> authorization-boundary @@ -687,8 +785,8 @@ + key="network-architecture" + gi="network-architecture"> network-architecture @@ -717,8 +815,8 @@ + key="system-implementation" + gi="system-implementation"> system-implementation @@ -790,8 +888,8 @@ + key="implementation-status" + gi="implementation-status"> implementation-status @@ -863,8 +961,8 @@ + key="reviewed-controls" + gi="reviewed-controls"> reviewed-controls @@ -880,8 +978,8 @@ + name="select-objective-by-id" + gi="include-objective"> @@ -889,8 +987,8 @@ + name="select-objective-by-id" + gi="exclude-objective"> @@ -898,8 +996,8 @@ + key="related-controls" + gi="related-controls"> related-controls @@ -951,8 +1049,8 @@ + key="assessment-assets" + gi="assessment-assets"> assessment-assets @@ -997,8 +1095,8 @@ + key="assessment-results" + gi="assessment-results"> assessment-results @@ -1174,30 +1272,12 @@ - - - - - - target - - - - - - - - - - - - + key="plan-of-action-and-milestones" + gi="plan-of-action-and-milestones"> plan-of-action-and-milestones @@ -1211,6 +1291,7 @@ + @@ -1219,13 +1300,14 @@ + key="local-definitions" + gi="local-definitions"> local-definitions + @@ -1239,6 +1321,7 @@ + @@ -1248,12 +1331,12 @@ + collapsible="no" + as-type="markup-multiline" + name="remarks" + key="remarks" + gi="remarks" + in-json="SCALAR"> remarks @@ -1261,8 +1344,8 @@ + mode="get-value-property" + priority="8"> @@ -1271,16 +1354,16 @@ + as-type="uuid" + name="location-uuid" + gi="location-uuid" + in-json="SCALAR"> + mode="get-value-property" + priority="8"> @@ -1289,16 +1372,16 @@ + as-type="uuid" + name="party-uuid" + gi="party-uuid" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> @@ -1307,16 +1390,16 @@ + as-type="string" + name="parameter-value" + gi="value" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> @@ -1339,9 +1422,9 @@ + as-type="string" + name="system-id" + gi="system-id"> system-id @@ -1351,7 +1434,7 @@ + mode="get-value-property"> @@ -1360,16 +1443,16 @@ + as-type="token" + name="role-id" + gi="role-id" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> @@ -1378,16 +1461,16 @@ + as-type="string" + name="function-performed" + gi="function-performed" + in-json="SCALAR"> + mode="get-value-property" + priority="9"> @@ -1396,11 +1479,11 @@ + as-type="token" + name="risk-status" + key="status" + gi="status" + in-json="SCALAR"> status @@ -1408,8 +1491,8 @@ + mode="get-value-property" + priority="7"> @@ -1433,11 +1516,11 @@ + as-type="token" + name="risk-status" + key="status-change" + gi="status-change" + in-json="SCALAR"> status-change @@ -1445,2115 +1528,2343 @@ + mode="get-value-property" + priority="10"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="3"> + as-type="token" + name="name" + key="name" + gi="name"> + mode="keep-value-property" + priority="8"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="8"> - + + mode="keep-value-property" + priority="8"> + as-type="string" + name="value" + key="value" + gi="value"> + mode="keep-value-property" + priority="8"> + as-type="token" + name="class" + key="class" + gi="class"> + mode="keep-value-property" + priority="8"> + + + + + + + as-type="uri-reference" + name="href" + key="href" + gi="href"> + mode="keep-value-property" + priority="8"> + as-type="token" + name="rel" + key="rel" + gi="rel"> + mode="keep-value-property" + priority="8"> + as-type="string" + name="media-type" + key="media-type" + gi="media-type"> - + mode="keep-value-property" + priority="8"> + + + + + + + + as-type="uri" + name="scheme" + key="scheme" + gi="scheme"> - - + + - - + + + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - - + + + as-type="token" + name="location-type" + key="type" + gi="type"> - - + + + as-type="string" + name="type" + key="type" + gi="type"> - - + + + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - - + + + as-type="string" + name="type" + key="type" + gi="type"> - - + + + as-type="uri" + name="scheme" + key="scheme" + gi="scheme"> - + + priority="1"> + as-type="token" + name="role-id" + key="role-id" + gi="role-id"> - - + mode="keep-value-property" + priority="6"> + + - - + + + as-type="dateTime-with-timezone" + name="date" + key="date" + gi="date"> - - + + + as-type="token" + name="type" + key="type" + gi="type"> - - + + + as-type="uri" + name="system" + key="system" + gi="system"> - + + + + + + + + + + + + + + + + + + + + + + + + + + mode="keep-value-property" + priority="5"> + priority="1"> + as-type="token" + name="class" + key="class" + gi="class"> + mode="keep-value-property" + priority="5"> + mode="keep-value-property" + priority="7"> + as-type="token" + name="name" + key="name" + gi="name"> + mode="keep-value-property" + priority="7"> - + + mode="keep-value-property" + priority="7"> + as-type="token" + name="class" + key="class" + gi="class"> + mode="keep-value-property" + priority="7"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + mode="keep-value-property" + priority="5"> + priority="1"> + as-type="token" + name="class" + key="class" + gi="class"> - + mode="keep-value-property" + priority="5"> + + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - - + + + as-type="uri-reference" + name="href" + key="href" + gi="href"> - - + + + as-type="string" + name="media-type" + key="media-type" + gi="media-type"> - + + priority="3"> + as-type="string" + name="algorithm" + key="algorithm" + gi="algorithm"> - + mode="keep-value-property" + priority="10"> + + + + + + + + + + + + + + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - - + + + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - + + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="3"> + priority="1"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + mode="keep-value-property" + priority="5"> + as-type="token" + name="with-child-controls" + key="with-child-controls" + gi="with-child-controls"> + mode="keep-value-property" + priority="8"> + as-type="string" + name="pattern" + key="pattern" + gi="pattern"> + mode="keep-value-property" + priority="10"> + priority="5"> + as-type="string" + name="method" + key="method" + gi="method"> + mode="keep-value-property" + priority="5"> + mode="keep-value-property" + priority="8"> + priority="1"> + as-type="token" + name="class" + key="class" + gi="class"> + mode="keep-value-property" + priority="8"> + priority="1"> + as-type="token" + name="order" + key="order" + gi="order"> + mode="keep-value-property" + priority="11"> + priority="6"> + as-type="token" + name="param-id" + key="param-id" + gi="param-id"> + mode="keep-value-property" + priority="6"> + priority="6"> + as-type="token" + name="class" + key="class" + gi="class"> + mode="keep-value-property" + priority="6"> + priority="6"> + as-type="token" + name="depends-on" + key="depends-on" + deprecated="1.0.1" + gi="depends-on"> - + mode="keep-value-property" + priority="6"> + + as-type="token" + name="control-id" + key="control-id" + gi="control-id"> - - + + + as-type="token" + name="by-name" + key="by-name" + gi="by-name"> - - + + + as-type="token" + name="by-class" + key="by-class" + gi="by-class"> - - + + + as-type="token" + name="by-id" + key="by-id" + gi="by-id"> - - + + + as-type="token" + name="by-item-name" + key="by-item-name" + gi="by-item-name"> - - + + + as-type="token" + name="by-ns" + key="by-ns" + gi="by-ns"> - - + + + as-type="token" + name="position" + key="position" + default="ending" + gi="position"> - - + + + as-type="token" + name="by-id" + key="by-id" + gi="by-id"> - + + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="3"> + priority="1"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + mode="keep-value-property" + priority="5"> + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="5"> + as-type="string" + name="defined-component-type" + key="type" + gi="type"> + mode="keep-value-property" + priority="5"> + priority="1"> + as-type="token" + name="role-id" + key="role-id" + gi="role-id"> + mode="keep-value-property" + priority="7"> + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="7"> + priority="1"> + as-type="string" + name="name" + key="name" + gi="name"> + mode="keep-value-property" + priority="7"> + priority="1"> + as-type="nonNegativeInteger" + name="start" + key="start" + gi="start"> + mode="keep-value-property" + priority="9"> + priority="1"> + as-type="nonNegativeInteger" + name="end" + key="end" + gi="end"> + mode="keep-value-property" + priority="9"> + priority="1"> + as-type="token" + name="transport" + key="transport" + gi="transport"> + mode="keep-value-property" + priority="9"> + priority="7"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - + mode="keep-value-property" + priority="7"> + + as-type="uri-reference" + name="source" + key="source" + gi="source"> + mode="keep-value-property" + priority="7"> + as-type="token" + name="param-id" + key="param-id" + gi="param-id"> + mode="keep-value-property" + priority="9"> + priority="9"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="9"> + as-type="token" + name="control-id" + key="control-id" + gi="control-id"> + mode="keep-value-property" + priority="9"> + as-type="token" + name="statement-id" + key="statement-id" + gi="statement-id"> + mode="keep-value-property" + priority="11"> + priority="11"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="11"> + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="5"> + priority="1"> + as-type="string" + name="name" + key="name" + gi="name"> + mode="keep-value-property" + priority="5"> + priority="1"> + as-type="uuid" + name="component-uuid" + key="component-uuid" + gi="component-uuid"> + mode="keep-value-property" + priority="7"> + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="3"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + mode="keep-value-property" + priority="4"> + priority="1"> + as-type="uri" + name="identifier-type" + key="identifier-type" + gi="identifier-type"> + mode="keep-value-property" + priority="6"> + priority="7"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="7"> + priority="9"> + as-type="uri" + name="system" + key="system" + gi="system"> + mode="keep-value-property" + priority="9"> + priority="5"> + as-type="string" + name="state" + key="state" + gi="state"> + mode="keep-value-property" + priority="5"> + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="7"> + priority="6"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="6"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="6"> + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="6"> + as-type="string" + name="system-component-type" + key="type" + gi="type"> - + mode="keep-value-property" + priority="6"> + + as-type="token" + name="state" + key="state" + gi="state"> - + + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="6"> + priority="8"> + as-type="uuid" + name="component-uuid" + key="component-uuid" + gi="component-uuid"> + mode="keep-value-property" + priority="8"> + priority="6"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="6"> + as-type="token" + name="control-id" + key="control-id" + gi="control-id"> + mode="keep-value-property" + priority="6"> + as-type="token" + name="statement-id" + key="statement-id" + gi="statement-id"> + mode="keep-value-property" + priority="8"> + priority="8"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="8"> + priority="1"> + as-type="uuid" + name="component-uuid" + key="component-uuid" + gi="component-uuid"> + mode="keep-value-property" + priority="10"> + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="10"> + priority="1"> + as-type="token" + name="state" + key="state" + gi="state"> + mode="keep-value-property" + priority="11"> + priority="13"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="13"> + priority="13"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="13"> + as-type="uuid" + name="provided-uuid" + key="provided-uuid" + gi="provided-uuid"> + mode="keep-value-property" + priority="13"> + priority="12"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="12"> + as-type="uuid" + name="provided-uuid" + key="provided-uuid" + gi="provided-uuid"> + mode="keep-value-property" + priority="12"> + priority="12"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="12"> + as-type="uuid" + name="responsibility-uuid" + key="responsibility-uuid" + gi="responsibility-uuid"> + mode="keep-value-property" + priority="12"> + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="3"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + mode="keep-value-property" + priority="4"> + as-type="token" + name="control-id" + key="control-id" + gi="control-id"> + mode="keep-value-property" + priority="6"> + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="6"> + priority="8"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="8"> + as-type="token" + name="control-id" + key="control-id" + gi="control-id"> + mode="keep-value-property" + priority="14"> + as-type="token" + name="objective-id" + key="objective-id" + gi="objective-id"> + mode="keep-value-property" + priority="14"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="6"> + as-type="token" + name="name" + key="name" + gi="name"> + mode="keep-value-property" + priority="6"> - + + mode="keep-value-property" + priority="6"> + as-type="token" + name="class" + key="class" + gi="class"> + mode="keep-value-property" + priority="6"> + priority="1"> + as-type="token" + name="type" + key="type" + gi="type"> + mode="keep-value-property" + priority="5"> + as-type="uuid" + name="subject-uuid" + key="subject-uuid" + gi="subject-uuid"> + mode="keep-value-property" + priority="8"> + as-type="token" + name="subject-type" + key="type" + gi="type"> - + mode="keep-value-property" + priority="8"> + + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - - + + + as-type="uuid" + name="component-uuid" + key="component-uuid" + gi="component-uuid"> - + + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="5"> + priority="1"> + as-type="token" + name="type" + key="type" + gi="type"> + mode="keep-value-property" + priority="5"> + priority="8"> + as-type="dateTime-with-timezone" + name="date" + key="date" + gi="date"> + mode="keep-value-property" + priority="8"> + priority="8"> + as-type="dateTime-with-timezone" + name="start" + key="start" + gi="start"> + mode="keep-value-property" + priority="8"> + priority="8"> + as-type="dateTime-with-timezone" + name="end" + key="end" + gi="end"> + mode="keep-value-property" + priority="8"> + priority="8"> + as-type="positiveInteger" + name="period" + key="period" + gi="period"> + mode="keep-value-property" + priority="8"> + priority="8"> + as-type="string" + name="unit" + key="unit" + gi="unit"> + mode="keep-value-property" + priority="8"> + priority="7"> + as-type="uuid" + name="task-uuid" + key="task-uuid" + gi="task-uuid"> + mode="keep-value-property" + priority="7"> + priority="7"> + as-type="uuid" + name="activity-uuid" + key="activity-uuid" + gi="activity-uuid"> + mode="keep-value-property" + priority="7"> + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="3"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + mode="keep-value-property" + priority="4"> + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="5"> + priority="8"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="8"> + priority="1"> + as-type="uuid" + name="party-uuid" + key="party-uuid" + gi="party-uuid"> + mode="keep-value-property" + priority="10"> + priority="1"> + as-type="token" + name="role-id" + key="role-id" + gi="role-id"> + mode="keep-value-property" + priority="10"> + priority="1"> + as-type="uuid" + name="task-uuid" + key="task-uuid" + gi="task-uuid"> - + mode="keep-value-property" + priority="10"> + + as-type="uuid" + name="subject-placeholder-uuid" + key="subject-placeholder-uuid" + gi="subject-placeholder-uuid"> - + + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="7"> + as-type="token" + name="type" + key="type" + gi="type"> + mode="keep-value-property" + priority="11"> + priority="1"> + as-type="uuid" + name="actor-uuid" + key="actor-uuid" + gi="actor-uuid"> + mode="keep-value-property" + priority="11"> + priority="1"> + as-type="token" + name="role-id" + key="role-id" + gi="role-id"> + mode="keep-value-property" + priority="11"> + as-type="uuid" + name="subject-uuid" + key="subject-uuid" + gi="subject-uuid"> + mode="keep-value-property" + priority="9"> + as-type="token" + name="subject-type" + key="type" + gi="type"> + mode="keep-value-property" + priority="9"> + priority="9"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + mode="keep-value-property" + priority="9"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="7"> + priority="1"> + as-type="uri" + name="system" + key="system" + gi="system"> + mode="keep-value-property" + priority="9"> + priority="1"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + mode="keep-value-property" + priority="9"> + priority="11"> + as-type="token" + name="name" + key="name" + gi="name"> + mode="keep-value-property" + priority="11"> + priority="11"> + as-type="uri" + name="system" + key="system" + gi="system"> + mode="keep-value-property" + priority="11"> + priority="11"> + as-type="string" + name="value" + key="value" + gi="value"> + mode="keep-value-property" + priority="11"> + priority="9"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="9"> + priority="9"> + as-type="uuid" + name="implementation-uuid" + key="implementation-uuid" + gi="implementation-uuid"> + mode="keep-value-property" + priority="9"> + priority="9"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="9"> + priority="9"> + as-type="token" + name="lifecycle" + key="lifecycle" + gi="lifecycle"> + mode="keep-value-property" + priority="9"> + priority="11"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="11"> + priority="10"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="10"> + priority="12"> + as-type="uuid" + name="response-uuid" + key="response-uuid" + gi="response-uuid"> + mode="keep-value-property" + priority="12"> + priority="9"> + as-type="uuid" + name="observation-uuid" + key="observation-uuid" + gi="observation-uuid"> + mode="keep-value-property" + priority="9"> + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - + mode="keep-value-property" + priority="7"> + + as-type="string" + name="type" + key="type" + gi="type"> - - + + + as-type="token" + name="target-id" + key="target-id" + gi="target-id"> - - + + + as-type="token" + name="state" + key="state" + gi="state"> - - + + + as-type="token" + name="reason" + key="reason" + gi="reason"> - - + + + as-type="uuid" + name="observation-uuid" + key="observation-uuid" + gi="observation-uuid"> - - + + + as-type="uuid" + name="risk-uuid" + key="risk-uuid" + gi="risk-uuid"> - + + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="3"> + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="5"> + + + + + + + priority="7"> + as-type="uuid" + name="observation-uuid" + key="observation-uuid" + gi="observation-uuid"> + mode="keep-value-property" + priority="7"> + priority="7"> + as-type="uuid" + name="risk-uuid" + key="risk-uuid" + gi="risk-uuid"> + mode="keep-value-property" + priority="7"> + priority="4"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -3561,22 +3872,22 @@ + mode="get-value-property" + priority="4"> + priority="4"> + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> published @@ -3584,22 +3895,22 @@ + mode="get-value-property" + priority="4"> + priority="4"> + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> last-modified @@ -3607,22 +3918,22 @@ + mode="get-value-property" + priority="4"> + priority="4"> + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> version @@ -3630,22 +3941,22 @@ + mode="get-value-property" + priority="4"> + priority="4"> + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> oscal-version @@ -3653,14 +3964,14 @@ + mode="get-value-property" + priority="4"> + priority="5"> @@ -3675,14 +3986,14 @@ + priority="4"> + gi="revisions" + group-json="ARRAY" + name="revision" + key="revisions"> revisions @@ -3690,15 +4001,15 @@ + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -3706,22 +4017,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> published @@ -3729,22 +4040,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> last-modified @@ -3752,22 +4063,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> version @@ -3775,22 +4086,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> oscal-version @@ -3798,22 +4109,22 @@ + mode="get-value-property" + priority="6"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3821,41 +4132,41 @@ + mode="get-value-property" + priority="8"> + priority="5"> + as-type="string" + name="document-id" + gi="document-id"> + mode="get-value-property"> + priority="6"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3863,22 +4174,36 @@ + mode="get-value-property" + priority="6"> + + + + + + + + + + + + + + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -3886,22 +4211,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -3909,23 +4234,23 @@ + mode="get-value-property" + priority="6"> + priority="6"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -3933,22 +4258,22 @@ + mode="get-value-property" + priority="6"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3956,22 +4281,38 @@ + mode="get-value-property" + priority="8"> + + + + + + + + + + + + + + + + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -3979,14 +4320,14 @@ + mode="get-value-property" + priority="6"> + priority="6"> @@ -4002,34 +4343,34 @@ + priority="8"> + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> + mode="get-value-property" + priority="8"> + priority="7"> + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> city @@ -4037,22 +4378,22 @@ + mode="get-value-property" + priority="7"> + priority="7"> + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> state @@ -4060,22 +4401,22 @@ + mode="get-value-property" + priority="7"> + priority="7"> + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> postal-code @@ -4083,22 +4424,22 @@ + mode="get-value-property" + priority="7"> + priority="7"> + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> country @@ -4106,79 +4447,80 @@ + mode="get-value-property" + priority="7"> + priority="7"> + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> + priority="7"> + as-type="string" + name="telephone-number" + gi="telephone-number"> + mode="get-value-property"> + priority="7"> + as-type="uri" + name="url" + deprecated="1.1.0" + gi="url" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4186,22 +4528,42 @@ + mode="get-value-property" + priority="8"> + + + + + + + + + + + + + + + + + + + + priority="6"> + as-type="string" + name="name" + key="name" + gi="name" + in-json="SCALAR"> name @@ -4209,22 +4571,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -4232,41 +4594,41 @@ + mode="get-value-property" + priority="6"> + priority="7"> + as-type="string" + name="external-id" + gi="external-id"> + mode="get-value-property"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4274,52 +4636,52 @@ + mode="get-value-property" + priority="8"> + priority="7"> + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> + priority="7"> + as-type="string" + name="telephone-number" + gi="telephone-number"> + mode="get-value-property"> + priority="8"> @@ -4332,34 +4694,34 @@ + priority="10"> + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> + mode="get-value-property" + priority="10"> + priority="9"> + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> city @@ -4367,22 +4729,22 @@ + mode="get-value-property" + priority="9"> + priority="9"> + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> state @@ -4390,22 +4752,22 @@ + mode="get-value-property" + priority="9"> + priority="9"> + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> postal-code @@ -4413,22 +4775,22 @@ + mode="get-value-property" + priority="9"> + priority="9"> + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> country @@ -4436,41 +4798,41 @@ + mode="get-value-property" + priority="9"> + priority="7"> + as-type="uuid" + name="member-of-organization" + gi="member-of-organization" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4478,22 +4840,68 @@ + mode="get-value-property" + priority="8"> + + + + + + + + + + text + + + + + + + + + + + + + + + text + + + + + + priority="7"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4501,22 +4909,22 @@ + mode="get-value-property" + priority="7"> + priority="5"> + as-type="markup-line" + name="label" + key="label" + gi="label" + in-json="SCALAR"> label @@ -4524,23 +4932,23 @@ + mode="get-value-property" + priority="5"> + priority="5"> + collapsible="no" + as-type="markup-multiline" + name="usage" + key="usage" + gi="usage" + in-json="SCALAR"> usage @@ -4548,23 +4956,23 @@ + mode="get-value-property" + priority="5"> + priority="7"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -4572,14 +4980,14 @@ + mode="get-value-property" + priority="7"> + priority="8"> @@ -4588,15 +4996,15 @@ + priority="9"> + as-type="string" + name="expression" + key="expression" + gi="expression" + in-json="SCALAR"> expression @@ -4604,65 +5012,65 @@ + mode="get-value-property" + priority="9"> + match="j:map[@key='catalog']/j:array[@key='params']/j:map/j:array[@key='guidelines']/j:map/j:string[@key='prose']"> + _step="prose" + _key="prose" + _metaschema-xml-id="/assembly/oscal-control-common/parameter-guideline/prose" + _metaschema-json-id="/assembly/oscal-control-common/parameter-guideline/prose" + in-xml="UNWRAPPED" + collapsible="no" + as-type="markup-multiline" + name="prose" + key="prose" + _using-name="prose" + _in-xml-name="p ul ol pre table h1 h2 h3 h4 h5 h6" + _in-json-name="prose"> + _metaschema-xml-id="/assembly/oscal-control-common/parameter-guideline/prose/PROSE" + _metaschema-json-id="/assembly/oscal-control-common/parameter-guideline/prose/PROSE" + in-json="string"> + priority="8"> + as-type="markup-line" + name="parameter-choice" + gi="choice" + in-json="SCALAR"> + mode="get-value-property" + priority="8"> + priority="5"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -4670,22 +5078,22 @@ + mode="get-value-property" + priority="5"> + priority="9"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4693,22 +5101,22 @@ + mode="get-value-property" + priority="9"> + priority="7"> + as-type="markup-line" + name="label" + key="label" + gi="label" + in-json="SCALAR"> label @@ -4716,23 +5124,23 @@ + mode="get-value-property" + priority="7"> + priority="7"> + collapsible="no" + as-type="markup-multiline" + name="usage" + key="usage" + gi="usage" + in-json="SCALAR"> usage @@ -4740,23 +5148,23 @@ + mode="get-value-property" + priority="7"> + priority="9"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -4764,14 +5172,14 @@ + mode="get-value-property" + priority="9"> + priority="10"> @@ -4780,15 +5188,15 @@ + priority="11"> + as-type="string" + name="expression" + key="expression" + gi="expression" + in-json="SCALAR"> expression @@ -4796,65 +5204,65 @@ + mode="get-value-property" + priority="11"> + match="j:map[@key='catalog']//j:array[@key='controls']/j:map/j:array[@key='params']/j:map/j:array[@key='guidelines']/j:map/j:string[@key='prose']"> + _step="prose" + _key="prose" + _metaschema-xml-id="/assembly/oscal-control-common/parameter-guideline/prose" + _metaschema-json-id="/assembly/oscal-control-common/parameter-guideline/prose" + in-xml="UNWRAPPED" + collapsible="no" + as-type="markup-multiline" + name="prose" + key="prose" + _using-name="prose" + _in-xml-name="p ul ol pre table h1 h2 h3 h4 h5 h6" + _in-json-name="prose"> + _metaschema-xml-id="/assembly/oscal-control-common/parameter-guideline/prose/PROSE" + _metaschema-json-id="/assembly/oscal-control-common/parameter-guideline/prose/PROSE" + in-json="string"> + priority="10"> + as-type="markup-line" + name="parameter-choice" + gi="choice" + in-json="SCALAR"> + mode="get-value-property" + priority="10"> + priority="7"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4862,22 +5270,22 @@ + mode="get-value-property" + priority="7"> + priority="7"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -4885,46 +5293,46 @@ + mode="get-value-property" + priority="7"> + match="j:map[@key='catalog']//j:array[@key='controls']/j:map//j:array[@key='parts']/j:map/j:string[@key='prose']"> + _step="prose" + _key="prose" + _metaschema-xml-id="/assembly/oscal-control-common/part/prose" + _metaschema-json-id="/assembly/oscal-control-common/part/prose" + in-xml="UNWRAPPED" + collapsible="no" + as-type="markup-multiline" + name="prose" + key="prose" + _using-name="prose" + _in-xml-name="p ul ol pre table h1 h2 h3 h4 h5 h6" + _in-json-name="prose"> + _metaschema-xml-id="/assembly/oscal-control-common/part/prose/PROSE" + _metaschema-json-id="/assembly/oscal-control-common/part/prose/PROSE" + in-json="string"> + priority="9"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4932,22 +5340,150 @@ + mode="get-value-property" + priority="9"> + + + + + + + + + + mapping + + + + + + + + + + + + text + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + relationship + + + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + text + + + + + + priority="5"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -4955,22 +5491,22 @@ + mode="get-value-property" + priority="5"> + priority="9"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4978,22 +5514,22 @@ + mode="get-value-property" + priority="9"> + priority="7"> + as-type="markup-line" + name="label" + key="label" + gi="label" + in-json="SCALAR"> label @@ -5001,23 +5537,23 @@ + mode="get-value-property" + priority="7"> + priority="7"> + collapsible="no" + as-type="markup-multiline" + name="usage" + key="usage" + gi="usage" + in-json="SCALAR"> usage @@ -5025,23 +5561,23 @@ + mode="get-value-property" + priority="7"> + priority="9"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -5049,14 +5585,14 @@ + mode="get-value-property" + priority="9"> + priority="10"> @@ -5065,15 +5601,15 @@ + priority="11"> + as-type="string" + name="expression" + key="expression" + gi="expression" + in-json="SCALAR"> expression @@ -5081,65 +5617,65 @@ + mode="get-value-property" + priority="11"> + match="j:map[@key='catalog']//j:array[@key='groups']/j:map/j:array[@key='params']/j:map/j:array[@key='guidelines']/j:map/j:string[@key='prose']"> + _step="prose" + _key="prose" + _metaschema-xml-id="/assembly/oscal-control-common/parameter-guideline/prose" + _metaschema-json-id="/assembly/oscal-control-common/parameter-guideline/prose" + in-xml="UNWRAPPED" + collapsible="no" + as-type="markup-multiline" + name="prose" + key="prose" + _using-name="prose" + _in-xml-name="p ul ol pre table h1 h2 h3 h4 h5 h6" + _in-json-name="prose"> + _metaschema-xml-id="/assembly/oscal-control-common/parameter-guideline/prose/PROSE" + _metaschema-json-id="/assembly/oscal-control-common/parameter-guideline/prose/PROSE" + in-json="string"> + priority="10"> + as-type="markup-line" + name="parameter-choice" + gi="choice" + in-json="SCALAR"> + mode="get-value-property" + priority="10"> + priority="7"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5147,22 +5683,22 @@ + mode="get-value-property" + priority="7"> + priority="7"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -5170,46 +5706,46 @@ + mode="get-value-property" + priority="7"> + match="j:map[@key='catalog']//j:array[@key='groups']/j:map//j:array[@key='parts']/j:map/j:string[@key='prose']"> + _step="prose" + _key="prose" + _metaschema-xml-id="/assembly/oscal-control-common/part/prose" + _metaschema-json-id="/assembly/oscal-control-common/part/prose" + in-xml="UNWRAPPED" + collapsible="no" + as-type="markup-multiline" + name="prose" + key="prose" + _using-name="prose" + _in-xml-name="p ul ol pre table h1 h2 h3 h4 h5 h6" + _in-json-name="prose"> + _metaschema-xml-id="/assembly/oscal-control-common/part/prose/PROSE" + _metaschema-json-id="/assembly/oscal-control-common/part/prose/PROSE" + in-json="string"> + priority="9"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5217,22 +5753,22 @@ + mode="get-value-property" + priority="9"> + priority="8"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -5240,22 +5776,22 @@ + mode="get-value-property" + priority="8"> + priority="12"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5263,22 +5799,22 @@ + mode="get-value-property" + priority="12"> + priority="10"> + as-type="markup-line" + name="label" + key="label" + gi="label" + in-json="SCALAR"> label @@ -5286,23 +5822,23 @@ + mode="get-value-property" + priority="10"> + priority="10"> + collapsible="no" + as-type="markup-multiline" + name="usage" + key="usage" + gi="usage" + in-json="SCALAR"> usage @@ -5310,23 +5846,23 @@ + mode="get-value-property" + priority="10"> + priority="12"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -5334,14 +5870,14 @@ + mode="get-value-property" + priority="12"> + priority="13"> @@ -5350,15 +5886,15 @@ + priority="14"> + as-type="string" + name="expression" + key="expression" + gi="expression" + in-json="SCALAR"> expression @@ -5366,65 +5902,65 @@ + mode="get-value-property" + priority="14"> + match="j:map[@key='catalog']//j:array[@key='groups']/j:map//j:array[@key='controls']/j:map/j:array[@key='params']/j:map/j:array[@key='guidelines']/j:map/j:string[@key='prose']"> + _step="prose" + _key="prose" + _metaschema-xml-id="/assembly/oscal-control-common/parameter-guideline/prose" + _metaschema-json-id="/assembly/oscal-control-common/parameter-guideline/prose" + in-xml="UNWRAPPED" + collapsible="no" + as-type="markup-multiline" + name="prose" + key="prose" + _using-name="prose" + _in-xml-name="p ul ol pre table h1 h2 h3 h4 h5 h6" + _in-json-name="prose"> + _metaschema-xml-id="/assembly/oscal-control-common/parameter-guideline/prose/PROSE" + _metaschema-json-id="/assembly/oscal-control-common/parameter-guideline/prose/PROSE" + in-json="string"> + priority="13"> + as-type="markup-line" + name="parameter-choice" + gi="choice" + in-json="SCALAR"> + mode="get-value-property" + priority="13"> + priority="10"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5432,22 +5968,22 @@ + mode="get-value-property" + priority="10"> + priority="10"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -5455,46 +5991,46 @@ + mode="get-value-property" + priority="10"> + match="j:map[@key='catalog']//j:array[@key='groups']/j:map//j:array[@key='controls']/j:map//j:array[@key='parts']/j:map/j:string[@key='prose']"> + _step="prose" + _key="prose" + _metaschema-xml-id="/assembly/oscal-control-common/part/prose" + _metaschema-json-id="/assembly/oscal-control-common/part/prose" + in-xml="UNWRAPPED" + collapsible="no" + as-type="markup-multiline" + name="prose" + key="prose" + _using-name="prose" + _in-xml-name="p ul ol pre table h1 h2 h3 h4 h5 h6" + _in-json-name="prose"> + _metaschema-xml-id="/assembly/oscal-control-common/part/prose/PROSE" + _metaschema-json-id="/assembly/oscal-control-common/part/prose/PROSE" + in-json="string"> + priority="12"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5502,14 +6038,142 @@ + mode="get-value-property" + priority="12"> + + + + + + + + + + mapping + + + + + + + + + + + + text + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + relationship + + + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + text + + + + + + priority="5"> @@ -5525,15 +6189,15 @@ + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -5541,23 +6205,23 @@ + mode="get-value-property" + priority="6"> + priority="6"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -5565,33 +6229,33 @@ + mode="get-value-property" + priority="6"> + priority="7"> + as-type="string" + name="document-id" + gi="document-id"> + mode="get-value-property"> + priority="6"> @@ -5604,15 +6268,15 @@ + priority="7"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5620,22 +6284,22 @@ + mode="get-value-property" + priority="7"> + priority="9"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5643,14 +6307,14 @@ + mode="get-value-property" + priority="9"> + priority="7"> @@ -5660,14 +6324,14 @@ + priority="6"> + as-type="base64Binary" + name="base64" + key="base64" + gi="base64"> base64 @@ -5678,130 +6342,130 @@ + mode="get-value-property"> - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title - + - + - + + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> published - + - + - + + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> last-modified - + - + - + + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> version - + - + - + + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> oscal-version - + - + - + @@ -5813,321 +6477,351 @@ - + - + + gi="revisions" + group-json="ARRAY" + name="revision" + key="revisions"> revisions - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title - + - + - + + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> published - + - + - + + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> last-modified - + - + - + + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> version - + - + - + + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> oscal-version - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="string" + name="document-id" + gi="document-id"> - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + + + + + + + + + + + + + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title - + - + - + + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name - + - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + + + + + + + + + + + + + + + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title - + - + - + address @@ -6140,327 +6834,348 @@ - + - + + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> - + - + - + + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> city - + - + - + + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> state - + - + - + + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> postal-code - + - + - + + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> country - + - + - + + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> - + - + - + + as-type="string" + name="telephone-number" + gi="telephone-number"> - - + + - + - + + as-type="uri" + name="url" + deprecated="1.1.0" + gi="url" + in-json="SCALAR"> - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + + + + + + + + + + + + + + + + + + + + as-type="string" + name="name" + key="name" + gi="name" + in-json="SCALAR"> name - + - + - + + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name - + - + - + + as-type="string" + name="external-id" + gi="external-id"> - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> - + - + - + + as-type="string" + name="telephone-number" + gi="telephone-number"> - - + + - + - + @@ -6470,14455 +7185,17043 @@ - + - + + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> - + - + - + + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> city - + - + - + + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> state - + - + - + + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> postal-code - + - + - + + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> country - + - + - + + as-type="uuid" + name="member-of-organization" + gi="member-of-organization" + in-json="SCALAR"> - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - - - - - - - - - - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> + + text + - - + + - - - - - - - - - - - - - - - - - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> + + text + - - + + - - - - - - - - + - - + + - combine + text - - + + - - - - - - flat - - + + + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - as-is + text - - + + - + - - + + - custom + text - - - + + - + + + + + + - + + as-type="token" + name="relationship" + key="relationship" + gi="relationship"> - title + relationship + - - - + + + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - label + text - + - + - - + + + + + + + + + + + + + + + + + - usage + title - - + + - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - - - - + + + + + + + + + + + + + + + + + + citation + + + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - expression + text - - + + - - - - - - - - - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> + + text + - + - + - + + + + + + + + + + + as-type="base64Binary" + name="base64" + key="base64" + gi="base64"> - text + base64 + + - - - + + + + - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title - + - - - - - - - - - + - + + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> - text + published - - + + - - - - - - - - - - + - + + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> + + last-modified + - - + + - - - - - - - - - - - - - - - - - + - + + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> + + version + - - + + - - - - - - - - - - - - - - - - - + - + + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> + + oscal-version + - - + + - + - - - + + + + + + + + + + - + - - - - - - + + + + revisions + + + - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> + + title + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - + + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> - text + published - - + + - + - + + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> - label + last-modified - - + + - + - - + + - usage + version - - + + - + - - + + - description + oscal-version - - + + - - - - - - - - - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - expression + text - - + + - - - - - - - - - + - + + as-type="string" + name="document-id" + gi="document-id"> + - - - + + + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + - + - + + + + + + + + + + + + + + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - text + title - + - + - + + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> - label + short-name - - + + - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> - usage + description - + - + - - + + - description + text - - + + - + - - - + + + + + + + + + + - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - expression + title - - + + - - - - - - - + + + + + + address + + + + + + + + - + - + + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> - - + + - + - + + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> - text + city - - + + - + - + + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> - title + state - - + + - - - - - - - - - + - + + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> - text + postal-code - - + + - - - - - - - - - - - - - - - - + - + + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> - title + country - - + + - + - - - - description - + + - - + + - + - + - + as-type="string" + name="telephone-number" + gi="telephone-number"> + - - - + + + - - - - - - citation - - - - - - - + - + - - text - + as-type="uri" + name="url" + deprecated="1.1.0" + gi="url" + in-json="SCALAR"> - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - - - - + + + + + + + + + + + + + + + - + - + + as-type="string" + name="name" + key="name" + gi="name" + in-json="SCALAR"> - base64 + name - - - - - - + + + - + - + + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> - title + short-name - - + + - + - + - - published - + as-type="string" + name="external-id" + gi="external-id"> + - - - + + + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - last-modified + text - - + + - + - + - - version - + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> - - + + - + - + - - oscal-version - + as-type="string" + name="telephone-number" + gi="telephone-number"> + - - - + + + + - + - - - - - - - - - - + + + + + + + + - - - - - - revisions - - - - - + - + - - title - + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> - - + + - + - + + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> - published + city - - + + - + - + + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> - last-modified + state - - + + - + - + + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> - version + postal-code - + - + - + + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> - oscal-version + country - + - + - + - - text - + as-type="uuid" + name="member-of-organization" + gi="member-of-organization" + in-json="SCALAR"> - - + + - + - + - + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> + + text + - - - - + + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + - + - + + + + + + + + + + - - short-name - + as-type="token" + name="with-id" + gi="with-id" + in-json="SCALAR"> - - + + - + - - - - description - + + + + + + + + + + + + + + + + + + - - + + - + - - + + + + + + + + + - text + combine - - + + - - - - + + + + + + flat + + - + - + + as-type="boolean" + name="as-is" + key="as-is" + gi="as-is" + in-json="SCALAR"> - title + as-is - - + + - + - - + + - address + custom - - - - - - + + - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> + + title + - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - city + text - - + + - + - + + as-type="markup-line" + name="label" + key="label" + gi="label" + in-json="SCALAR"> - state + label - - + + - + - - + + - postal-code + usage - - + + - + - - + + - country + description - - + + - + - + + + + + + + + + + as-type="string" + name="expression" + key="expression" + gi="expression" + in-json="SCALAR"> + + expression + - - + + - + + + + + + + + + - + - + as-type="markup-line" + name="parameter-choice" + gi="choice" + in-json="SCALAR"> - - - - + + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> + + text + + + + + + + + + + + + + + + title + + + + + + + + + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + label + + + + + + + + + + + + + + + usage + + + + + + + + + + + + + + + description + + + + + + + + + + + + + + + + + + + + + + + expression + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + title + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + label + + + + + + + + + + + + + + + usage + + + + + + + + + + + + + + + description + + + + + + + + + + + + + + + + + + + + + + + expression + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + title + + + + + + + + + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + title + + + + + + + + + + + + + + + description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + citation + + + + + + + + + + + + text + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + + + + + + + + + + base64 + + + + + + + + + + + + + + + + + + title + + + + + + + + + + + + + + + published + + + + + + + + + + + + + + + last-modified + + + + + + + + + + + + + + + version + + + + + + + + + + + + + + + oscal-version + + + + + + + + + + + + + + + + + + + + + + + + + + + + + revisions + + + + + + + + + + title + + + + + + + + + + + + + + + published + + + + + + + + + + + + + + + last-modified + + + + + + + + + + + + + + + version + + + + + + + + + + + + + + + oscal-version + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + + + + + + + + + + + + + + title + + + + + + + + + + + + + + + short-name + + + + + + + + + + + + + + + description + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + title + + + + + + + + + + + + + + + address + + + + + + + + + + + + + + + + + + + + + + + + + + + city + + + + + + + + + + + + + + + state + + + + + + + + + + + + + + + postal-code + + + + + + + + + + + + + + + country + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + name + + + + + + + + + + + + + + + short-name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + city + + + + + + + + + + + + + + + state + + + + + + + + + + + + + + + postal-code + + + + + + + + + + + + + + + country + + + + + + + + + + + + + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + title + + + + + + + + + + + + + + + description + + + + + + + + + + + + + + + purpose + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + title + - - + + - + - + + + + + + + + + + + + + + + + + description + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + description + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + + + + + + + + + + + + + + description + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + description + + + + + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - - + + + + + + + + + + + description + + + + + + + + + + + + + + + + + + + + + + + + + + + + description + + + + + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - name + text - - + + - + - + - - short-name - + as-type="string" + name="parameter-value" + gi="value" + in-json="SCALAR"> - + - + - - - + + + + + + + + + + + + + + + + + + + description + - - - - + + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="string" + name="parameter-value" + gi="value" + in-json="SCALAR"> - - + + - + - + - + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> + + text + - - - - + + + - + - - - - - - - - + + + + + + + + + - + - - + + + + description + - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - city + text - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - state + text - - + + - + - + + + + + + + + + + + + + + + + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - postal-code + title - - + + - + - - + + - country + description - - + + - + - + + as-type="string" + name="document-id" + gi="document-id"> + - - + + + + + + + + + + + + citation + + + + + + + + + + + + text + + + + + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + + + + + + + + + + + + + + + base64 + + + + + + + + + + + + + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title - + - + - - + + - description + published - - + + - + - + + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> - purpose + last-modified - - + + - + - + + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> - text + version - - + + - + - + + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> - text + oscal-version - - + + - + - + + + + + + + + + + + + + + + + + + revisions + + + + + + + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title - + - - - - - - - - - - - - - - + - - + + - description + published - - + + - + - + + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> - text + last-modified - - + + - + - + + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> + + version + - + - - - - - - - - - - - - - - - - + - - + + - description + oscal-version - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="string" + name="document-id" + gi="document-id"> + - - - + + + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - - - + + + + + - - - - - - - description - - - - - - - - - - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - text + title - + - + - + + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> - text + short-name - - + + - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - - - - - - description - - - - - - - - - - + - - + + - - + + + + + - - + - + - - + + - description + title - - + + - + - - + + - text + address + + + + + + + + + + + + - - + + - + - + + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> + + city + - + - - - - - - - - - - - - - - - - + - - + + - description + state - - + + - + - + + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> - text + postal-code - - + + - + - + + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> + + country + - + - + - + - - text - + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> - - + + - - - - - - - - - - - - - - + - - - - description - + + + - - - + + + + - + - + - - text - + as-type="uri" + name="url" + deprecated="1.1.0" + gi="url" + in-json="SCALAR"> - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - + + - - + + + + - - - - + + + + + + - + - + + as-type="string" + name="name" + key="name" + gi="name" + in-json="SCALAR"> - title + name - - + + - + - - + + - description + short-name - - + + - + - + + as-type="string" + name="external-id" + gi="external-id"> - - - + + + - - - - - - citation - - - - - - - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + - - text - + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> - - + + - - - - - - - - - - - - - - - base64 - - - + + + + + - - - + + + - + - + + + + + + + + + + + + + - - title - + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> - - + + - + - + + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> - published + city - - + + - + - + + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> - last-modified + state - - + + - + - + + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> - version + postal-code - + - + - + + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> - oscal-version + country - + - - - - - - - - - - - - - - - - - - - - revisions - - - - - + - + - - title - + as-type="uuid" + name="member-of-organization" + gi="member-of-organization" + in-json="SCALAR"> - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - published + text - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - last-modified + text - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - version + text - - + + - + - + + as-type="string" + name="system-name" + key="system-name" + gi="system-name" + in-json="SCALAR"> - oscal-version + system-name - + - + - + + as-type="string" + name="system-name-short" + key="system-name-short" + gi="system-name-short" + in-json="SCALAR"> - text + system-name-short - - + + - - - - - - - - - - - - - - - + - - + + - text + description - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + - + - + + as-type="date" + name="date-authorized" + key="date-authorized" + gi="date-authorized" + in-json="SCALAR"> - short-name + date-authorized - - + + - + - - + + - description + security-sensitivity-level - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + + + + + + + + + + + + + + + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title - + - + - - + + - address + description - - - - - - + + + + + + + + + + + + + + - + - + + as-type="string" + name="information-type-id" + gi="information-type-id" + in-json="SCALAR"> - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - city + text - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - state + text - - + + - + - + + as-type="string" + name="base" + key="base" + gi="base" + in-json="SCALAR"> - postal-code + base - + - + - + + as-type="string" + name="selected" + key="selected" + gi="selected" + in-json="SCALAR"> - country + selected - + - + - - + + + + adjustment-justification + - - + + - + - + - + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> + + text + - - - - + + + - + - + + as-type="string" + name="base" + key="base" + gi="base" + in-json="SCALAR"> + + base + - - + + - + - + + as-type="string" + name="selected" + key="selected" + gi="selected" + in-json="SCALAR"> - text + selected - - + + - + - - + + - name + adjustment-justification - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - short-name + text - - + + - + - + - + as-type="string" + name="base" + key="base" + gi="base" + in-json="SCALAR"> + + base + - - - - + + + - + - + + as-type="string" + name="selected" + key="selected" + gi="selected" + in-json="SCALAR"> - text + selected - - + + - + - - + + + + adjustment-justification + - - + + - + - + - + as-type="string" + name="security-objective-confidentiality" + key="security-objective-confidentiality" + gi="security-objective-confidentiality" + in-json="SCALAR"> + + security-objective-confidentiality + - - - - + + + - - - - - - - - - - - - - + - + + as-type="string" + name="security-objective-integrity" + key="security-objective-integrity" + gi="security-objective-integrity" + in-json="SCALAR"> + + security-objective-integrity + - + - + - + + as-type="string" + name="security-objective-availability" + key="security-objective-availability" + gi="security-objective-availability" + in-json="SCALAR"> - city + security-objective-availability - + - + - - + + - state + status + + + + + + + + + + + description - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - postal-code + text - - + + - + - - + + - country + description - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> + + text + - - + + - + - + + as-type="markup-line" + name="caption" + key="caption" + gi="caption" + in-json="SCALAR"> - text + caption - + - + - - + + - system-name + description - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - system-name-short + text - - + + - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="caption" + key="caption" + gi="caption" + in-json="SCALAR"> - date-authorized + caption - - + + - + - - + + - security-sensitivity-level + description - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - - - - - - - - - - - - - - - - + - - + + - title + description - - + + - + - - + + - description + text - - + + - - - - - - - - - + - + + as-type="markup-line" + name="caption" + key="caption" + gi="caption" + in-json="SCALAR"> + + caption + - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - - - - - - confidentiality-impact - - - - - - - - - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + + + + + + + + + + + + + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - base + title - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - selected + text - - + + - + - - + + - adjustment-justification + party-uuid - - + + - - - - - - integrity-impact - - - - - - - - - + - + + as-type="date" + name="date-authorized" + key="date-authorized" + gi="date-authorized" + in-json="SCALAR"> - text + date-authorized - - + + - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - base + title - - + + - + - + + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> - selected + short-name - + - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> - adjustment-justification + description - + - + - - + + - availability-impact + text - - - - - - + + - + + + + + + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - text + title - + - + - - + + - base + description - - + + - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - selected + title - - + + - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> - adjustment-justification + description - + - + - + + as-type="markup-line" + name="purpose" + key="purpose" + gi="purpose" + in-json="SCALAR"> - security-objective-confidentiality + purpose - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - security-objective-integrity + text - - + + - + - + + + + status + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - security-objective-availability + text - - + + - + - - + + - status + title - - - + + - + + + + + + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - + + - description + text - - + + - + - + + + + + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - caption + text - + - + - + + + + control-implementation + + + + + + + + + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + + + + + + + + + + + + + - - + + - description + text - - + + - + - + + + + + + + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - caption + text - + - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + + + + + + + + + + + + + + + export + + + + + + + + + + + + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - + + + + + + + + + + + + + + - caption + description - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - + + - + + - - + - + - - + + - title + description - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - party-uuid + text - - + + - + - - + + + + + + + + + + + + + + - date-authorized + description - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - short-name + text - - + + - + - + + + + + + + + + + + + + + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - - - - - - - - - - - title - - - - - + - + - - + + - description + text - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - purpose + text - + - + - + - - text - + as-type="string" + name="parameter-value" + gi="value" + in-json="SCALAR"> - - + + - + - - + + - status + export - + + + + + - + - - + + - text + description - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + - + - + + + + + + + + + + + + + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - - + + + + + - + - + - - + + - text + description - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - - - - - - control-implementation - - - - - - - + - - + + - description + text - - - - - - - - - - - - - - + + - + - - + + - + + - - - - - + - - + + - text + description - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> + + text + - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - - + + + + - - + - - + + - text + description - - + + - + - + - - text - - - - - - - - - - - - - + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - description + text - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> + + text + - - + + - + - - - - export - + + + + - - - + + + + - + - - + + - description + title - - + + - + - - + + - text + description - - + + - - - - - - - - - - - - - + - - - - description - + + + - - - + + + + - + - + + + + citation + + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - - - - - - - - + + + + + - + - - + + - description + base64 + + - - - + + + + - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - text + title - + - + - + + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> - text + published - - + + - - - - - - - - - - - - - + - - + + - description + last-modified - - + + - + - + + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> - text + version - - + + - + - + + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> - text + oscal-version - - + + - + - - - - - + + + + + + + - - + - - + + - description + revisions + + + + + + + + + + title - - + + - + - + + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> - text + published - - + + - + - + + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> - text + last-modified - - + + - + - + + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> - text + version - - + + - + - - + + - description + oscal-version - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="string" + name="document-id" + gi="document-id"> + - - - + + + + - + - - + + - export + text + + + + + + + + + + + + + + + - - - + - - + + - description + title - - + + - + - + + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> - text + short-name - - + + - - - - - - - - - - - - - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - - - - - - text - - - - - - - - - - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - + + - - + + + + + - - + - - + + - description + title - - + + - + - - + + - text + address - - - - - - - + + + + + + + - + - + - - text - + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> - - + + - - - - - - - - - - - - - + - - + + - description + city - - + + - + - + + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> - text + state - - + + - + - + + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> - text + postal-code - - + + - - - - - - - - - - - - - - + - - + + - description + country - - + + - + - + - - text - + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> - - + + - + - + - - text - + as-type="string" + name="telephone-number" + gi="telephone-number"> + - - + + + + + + + + + + + + + + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - + + - - + + + + - - - - + + + + + + - + - + + as-type="string" + name="name" + key="name" + gi="name" + in-json="SCALAR"> - title + name - - + + - + - - + + - description + short-name - - + + - + - + + as-type="string" + name="external-id" + gi="external-id"> - - - + + + - - - - - - citation - - - - - - - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + - - text - + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> - - + + - - - - - - - - - - + - + - - base64 - - - + as-type="string" + name="telephone-number" + gi="telephone-number"> + - - - + + + - + - + + + + + + + + + + + + + - - title - + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> - - + + - + - + + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> - published + city - - + + - + - + + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> - last-modified + state - - + + - + - + + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> - version + postal-code - + - + - + + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> - oscal-version + country - + - + - - - - - - - - - - - + + + + - - - - - - revisions - - - + + + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - published + text - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - last-modified + text - - + + - + - - + + - version + local-definitions - - - - - - - + + + + + + + - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - oscal-version + title - - + + - + - - + + - text + description - - + + - + - + - + as-type="markup-line" + name="purpose" + key="purpose" + gi="purpose" + in-json="SCALAR"> + + purpose + - - - - + + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + + + status + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - short-name + title - - + + - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + - + - - - - address - - - - - - - + + + + + + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> + + text + - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - city + text - - + + - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - state + title - - + + - + - + + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> - postal-code + short-name - + - + - - + + - country + description - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> + + text + - - + + - + - + - + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> + + title + - - - - + + + - + - - + + + + description + - - - + + + - + - - + + - text + description - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - name + text - - + + - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - short-name + title - - + + - + + + + + + + + + - + - + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> + + text + - - - - + + + - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - text + title - + - + - - + + + + description + - - + + - + - + - + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> + + text + - - - - + + + - + - - - - - - - - + + + + + + + + + + - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> + + title + - - + + - + - - + + - city + description - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - state + text - - + + - + - - + + - postal-code + description - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - country + text - - + + - + - - + + + + + + + + + + + + + + + + + description + - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - - - local-definitions - - - - - - - + + + + - + - + + + + + + + + + + + + + + + + + + + + + - - title - + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> - - + + - + - + + + + + + + + + + + + + + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - purpose + text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - - - - - - status - - - - - - + - - + + - text + description - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + - + - + + + + + + + + + + + + + + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + + + + + + + + - - text - + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> - - + + - + - - - + + + + + + + + + + + + + + + + + + + + + + + - + + + - + - - + + - text + description - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + - + - - + + - short-name + terms-and-conditions - - - - - - - + + - + - - + + - description + title - - + + - + + + + + + + + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - + + - title + description - - + + - + - - + + - description + text - - + + - + + + + + + + + + + + + + + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + + + + + + + + - - title - + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> - - + + - - - - - - - + + + + + + + - + - + + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> + + + + + + + + + + + + + + + + + + + + + + + + + - text + description - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - - - - - - - - - - - - - - - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + - + - - + + - description + text - - + + - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - text + title - + - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="purpose" + key="purpose" + gi="purpose" + in-json="SCALAR"> - text + purpose - + - - - - - - - - - - - - - - - - - - - description - - - - - - - - - - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - - - + + + + status + + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> + + text + - - + + - - - - - - - - - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> + + title + - - + + - + - - - + + + + - - - + - + - - + + - description + title - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + + + + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - + + - description + text - - + + - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - text + title - + - - - - - - - - - - - - - - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - - - + + + + timing + + + + - + - - - - - - - - - + + + + on-date + + + - + - - - - + + + + within-date-range + + + - + - - - - + + + + at-frequency + + + + - - - - + + + + + + + - + - - - + + + - - - + + - - - - - - description - - - - - - - - - - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - - - - - - terms-and-conditions - - - - - + - - + + - title + description - - + + - - - - - - - - - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - + + - description + text - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - - - - - - - - - - - - - - - - - + + + + - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - - - - - - - - - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> + + text + - - + + - - - - - - - - - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> + + text + - - + + - - - - - - - - - - - - - - + - - + + - description + text - - + + - + - + + + + + + + + + + + + + + + + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - text + title - + - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + - - text - + as-type="string" + name="document-id" + gi="document-id"> + - - - + + + + - + - + + + + citation + + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + + + + + + + + + + as-type="base64Binary" + name="base64" + key="base64" + gi="base64"> - title + base64 + + - - - + + + + - + - - + + - description + title - - + + - + - + + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> - purpose + published - - + + - + - + + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> - text + last-modified - - + + - - - - - - status - - - - - - + - + + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> - text + version - - + + - + - + + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> - title + oscal-version - - + + - + - - - + + + + + + - - + + + + + + revisions + + + + + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title - + - + - + + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> - text + published - - + + - - - - - - - - - - - - + - + + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> - text + last-modified - - + + - + - + + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> - text + version - - + + - + - + + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> - title + oscal-version - - + + - + - - + + - description + text - - + + - + - + - - text - + as-type="string" + name="document-id" + gi="document-id"> + - - - + + + + - - - - - - timing - - - - - - - - - - - - on-date - - - - - - - - - - within-date-range - - - - - - + - - + + - at-frequency + text - - - + + - - - - - - - + + + + - + - - - + + + + + + - - - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - text + title - + - + - + + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> - text + short-name - - + + - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - - - text - - - - - - - - + + + + + + + + + + + + - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - text + title - + - + - - + + - description + address - - - - - - - + + + + + + + - + - + - - text - + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> - - + + - + - + + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> - text + city - - + + - + - + + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> - text + state - - + + - + - + + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> - text + postal-code - - + + - - - - - - - - - - - - - - - - + - + + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> - title + country - - + + - + - - - - description - + + - - + + - + - + - + as-type="string" + name="telephone-number" + gi="telephone-number"> + - - - + + + - - - - - - citation - - - - - - - + - + - - text - + as-type="uri" + name="url" + deprecated="1.1.0" + gi="url" + in-json="SCALAR"> - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - - - - + + + + + + + + + + + + + + + - + - + + as-type="string" + name="name" + key="name" + gi="name" + in-json="SCALAR"> - base64 + name - - - - - - + + + - + - + + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> - title + short-name - - + + - + - + - - published - + as-type="string" + name="external-id" + gi="external-id"> + - - - + + + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - last-modified + text - - + + - + - + - - version - + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> - - + + - + - + - - oscal-version - + as-type="string" + name="telephone-number" + gi="telephone-number"> + - - - + + + + - + - - - - - - - - - - + + + + + + + + - + - - - - revisions - - - + + + + - + + + + + + - + + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> - title + city - - + + - + - + + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> - published + state - - + + - + - + + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> - last-modified + postal-code - - + + - + - + + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> - version + country - + - + - + - - oscal-version - + as-type="uuid" + name="member-of-organization" + gi="member-of-organization" + in-json="SCALAR"> - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + - + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> + + text + - - - - + + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - + + - title + local-definitions + + + + + + + + + + + + description - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - short-name + text - - + + - + - - + + - description + title - - + + - + + + + + + + + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title - + - + - - + + - address + description - - - - - - - - - - - - - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - city + text - - + + - + - + + + + + + + + + + + + + + + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - state + title - - + + - + - - + + - postal-code + description - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - country + text - - + + - + - - + + + + description + - - + + - + - + - + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> + + text + - - - - + + + - + + + + + + + + + + + + + + - - + + + + description + - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + + + + + + + + - - name - + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> - - + + - + - + + + + + + + + + - - short-name - + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> - - + + - + - - - - - - - - - - - + + + + + + + + + + - + - - + + - text + description - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> + + text + - - + + - + - + - + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> + + text + - - - - + + + - - - - - - - - - - - - - + - - + + + + description + - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - city + text - - + + - + - - + + + + + + + + + + + + + + + - state + description - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - postal-code + text - - + + - + - + + + + + + + + + - - country - + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> - - + + - + - + + + + + + + + + + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> - - + + - + - - + + + + + + + + + + + + + + + - text + description - - + + - - - - - - local-definitions - - - - - - - + - - + + - description + text - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title - + - - - - - - - - - + - - + + - text + description - - + + - + - + + as-type="dateTime-with-timezone" + name="start" + key="start" + gi="start" + in-json="SCALAR"> - title + start - - + + - + - - + + - description + end - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - - - - - - - - - + + + + local-definitions + + + + + + - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title - + - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="purpose" + key="purpose" + gi="purpose" + in-json="SCALAR"> - text + purpose - + - - - - - - description - - - - - - - - - - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - - - - - - - + + + + status + + - + - - + + - description + text - - + + - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - text + title - + - - - - - - - - - + - - + + + + description + - - + + - - - - - - - - - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> + + text + - - + + - - - - - - - - - - - - - - + - - + + - description + text - - + + - + - + + + + + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - + + - description + title - - + + - + - + + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> - text + short-name - - + + - - - - - - - - - - - - - - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - - - - - - - - - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> + + title + - - + + - + - - - - - + + + + description + + + - + + + + + + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> + + title + - - + + - - - - - - - - - - - - - - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + + + purpose + + + + + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + + + status + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title - + - + - - + + + + + + + + + + + + + + - description + title - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - start + text - - + + - + - + + + + + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - end + text - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - - - - - - local-definitions - - - - - - - - - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title - + - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - purpose + text - + - + - - + + - text + timing - - + + + + - - - - + + + + + + on-date + + + - + - - + + - status + within-date-range - + + + + + + + + + + at-frequency + + + + + + + + + + - + - + + + + + + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - - - - - - - - - - - - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - + + - text + description - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + - + - + - - short-name - - - - - - - - - - - - - + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - description + text - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + - + - - - - description - - - - - - - - + + + + + + + + + + - + - - + + - purpose + description - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - - - status - - - + + + + - + - + - - text - + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> - - + + - + - + + + + + + + + + - - title - + as-type="token" + name="statement-id" + gi="statement-id" + in-json="SCALAR"> - - + + - + - - - - + + + - + + + - + - - + + - title + description - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - - - - + + - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + + + title + + + + + + + + + + + + + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + + + assessment-log + + + + + + + + + + + + + + + + + + + + + + + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title - + - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="dateTime-with-timezone" + name="start" + key="start" + gi="start" + in-json="SCALAR"> - text + start - - + + - - - - - - timing - - - - - - - + - - + + - on-date + end - - + + - - - - - - within-date-range - - - - + + + + - + - - + + - at-frequency + text - - - - - - - - - - - + + - - - - - - - - - - - + + + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + + + identified-subject + + + + + + + + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - text + title - + - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - - - - - - - - - + + + + - + + + + + + - - - - description - + + - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - - - - + + + + text + + + - + + + + + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> + + text + - - + + - + - - - - - + + + + description + + + - + + + + + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> + + text + - - + + - - - - - - - - - - - - - - + - - + + - description + text - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - - - + + + + identified-subject + + + - + - + + + + description + + + + + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + - - - - - - - - - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - - - - - - assessment-log - - - - - + - - - + + + + - - - - - - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title - + - + - + + + + text + + + + + + + + + + + + + + + + + + + + + + + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - start + text - - + + - + - + + as-type="dateTime-with-timezone" + name="collected" + key="collected" + gi="collected" + in-json="SCALAR"> - end + collected - + - + - + + as-type="dateTime-with-timezone" + name="expires" + key="expires" + gi="expires" + in-json="SCALAR"> - text + expires - - + + - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - text + title - + - + - - + + - text + description - - + + - + - + + collapsible="no" + as-type="markup-multiline" + name="statement" + key="statement" + gi="statement" + in-json="SCALAR"> - description + statement - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - + + - identified-subject + text - - - + + - + + + + + + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - + + - title + identified-subject + + + + + + + + + + + description - - + + - + - - + + - description + text - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> + + text + - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> + + text + - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + key="identified-subject" + gi="identified-subject"> identified-subject @@ -20926,103 +24229,199 @@ - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + + + + + + + + + + + + + description + + + + + + + + + + + + + + + text + + + + + + + + + + + + @@ -21032,1246 +24431,1301 @@ - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - - + + + + deadline + + + + + + + + + + + + + + + + + + + - + - + + + + title + + + + + + + + + + + + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - collected + text - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - expires + text - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - - + + - statement + text - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - + + - text + identified-subject + + + + + + + + + + + description - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - + + - description + text - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - text + title - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - + + - identified-subject + title - - - + + - + + + + + + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - text + title - + - + - - + + - text + description - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - + + - text + timing - - + + + + - - - - + + + + + + on-date + + + - + - + + + + within-date-range + + + + + + + + + + + at-frequency + + + + + + + + + + + + + + + + + + + + + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - - - - - - identified-subject - - - - - - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - - - - - - - - - - - - - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - - - - - - - - - - - - - - - - - - description - - - - - - - - - - + - - + + - text + risk-log - - - - - - - + + - + - - - - + + + + + + + + + - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title - + - + - - + + - text + description - - + + - + - + + as-type="dateTime-with-timezone" + name="start" + key="start" + gi="start" + in-json="SCALAR"> - deadline + start - + - - - - - - - - - - - - - - - - - + - + - - title - - - - - - - - - - - - - + as-type="dateTime-with-timezone" + name="end" + key="end" + gi="end" + in-json="SCALAR"> - description + end - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + + + + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + key="identified-subject" + gi="identified-subject"> identified-subject @@ -22279,3209 +25733,3131 @@ - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - - - - - - - - - - - - - - + - - - - - - - - + + + - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title - + - + - - + + - text + description - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + - + - - + + - description + text - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - - - - - - timing - - - - - - - - - - - - on-date - - - - - - - - - - within-date-range - - - - - - - - - - - at-frequency - - - - - - - - - - - - - - - - - - - - - - - - - - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - + + - description + identified-subject - - - - - - - + + + - + - - + + - text + description - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - - - - - - - - - - - description - - - - - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - text + title - + - + - - + + - text + description - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - + + - risk-log + status - + + + - + - - + + + + implementation-statement-uuid + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title - + - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - - - - - - start - - - - - - - - - - + - + - - end - + as-type="string" + name="document-id" + gi="document-id"> + - - - + + + + - + - - + + - text + citation - - - - - - - - - - - - - + - - - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + + + + + + + + + + as-type="base64Binary" + name="base64" + key="base64" + gi="base64"> - text + base64 + + - - - + + + + - + - - + + - description + title - - + + - + - + + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> - text + published - - + + - + - + + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> - text + last-modified - - + + - + - + + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> - text + version - - + + - - - - - - identified-subject - - - - - - + - - + + - description + oscal-version - - + + - + - + + + + + + + + + + + + + + + + + + revisions + + + + + + + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - text + title - + - + - + + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> - text + published - - + + - + - + + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> - text + last-modified - - + + - - - - - - - - + - + + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> - title + version - - + + - + - - + + - description + oscal-version - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + + + + + + + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + + + + + + + + + + + + + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - text + title - + - + - + + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> - text + short-name - - + + - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + + + + + + + + + + + + + + + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - text + title - + - + - - + + - text + address + + + + + + + + + + + + - - + + - - - - - - identified-subject - - - - - - + - - + + - description + city - - + + - + - + + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> - text + state - - + + - + - + + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> - text + postal-code - - + + - + - + + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> - text + country - - + + - + - + - - title - + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> - - + + - + - - - - description - + + + - - - + + + + - + - + - - text - + as-type="uri" + name="url" + deprecated="1.1.0" + gi="url" + in-json="SCALAR"> - - + + - - - - - - status - - - - - - - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - implementation-statement-uuid + text - - + + - - - - - - - - - - - - - - - + - - + + - - + + + + - - - - + + + + + + - + - + + as-type="string" + name="name" + key="name" + gi="name" + in-json="SCALAR"> - title + name - - + + - + - - + + - description + short-name - - + + - + - + + as-type="string" + name="external-id" + gi="external-id"> - - - + + + - - - - - - citation - - - - - - - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + - - text - + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> - - + + - + - - - - - + + + + + + + + + + + + + + + + + + + + + + - + - + - - base64 - - - + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> - - - - + + + - + - + + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> - title + city - - + + - + - + + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> - published + state - - + + - + - + + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> - last-modified + postal-code - - + + - + - + + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> - version + country - + - + + + + + + + + + + + + + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - oscal-version + text - - + + - - - - - - - - - - - - - - - - - - - - revisions - - - - - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - published + text - - + + - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - last-modified + title - - + + - + - - + + - version + description - - + + - + - + + as-type="markup-line" + name="purpose" + key="purpose" + gi="purpose" + in-json="SCALAR"> - oscal-version + purpose - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - - - - - - - - - - + + + + status + + + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title - + - + - - + + - short-name + description - - + + - + - - + + - description + text - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + + + + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + - + - - + + - address + text - - - - - - - - - - - - - - + + - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - city + title - - + + - + - - + + - state + description - - + + - + - + + as-type="markup-line" + name="purpose" + key="purpose" + gi="purpose" + in-json="SCALAR"> - postal-code + purpose - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - country + text - - + + - + - + + + + status + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> + + text + - - + + - + - - - + + + + title + - - - - + + + - + - + + + + + + + + + + + + + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> + + title + - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + + + + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - name + text - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - short-name + text - - + + - + - + - + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> + + title + - - - - + + + - + - - + + - text + description - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> + + text + - - + + - + - + - + as-type="string" + name="method" + gi="method" + in-json="SCALAR"> - - - - + + + - - - - - - - - - - - - - + - + + as-type="token" + name="type" + gi="type" + in-json="SCALAR"> - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - city + text - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - state + text - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - postal-code + text - - + + - + - - + + - country + description - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> + + text + - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + - + - + + + + identified-subject + + + + + + + + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - purpose + text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - + + - status + text - + + + + + + + + + + + + + + + + + - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - text + title - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + - + - + + + + + + + + + + + + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="dateTime-with-timezone" + name="collected" + key="collected" + gi="collected" + in-json="SCALAR"> - text + collected - - + + - - - - - - - - - - - - + - + + as-type="dateTime-with-timezone" + name="expires" + key="expires" + gi="expires" + in-json="SCALAR"> - text + expires - - + + - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - text + title - + - + - - + + - title + description - - + + - + - + + collapsible="no" + as-type="markup-multiline" + name="statement" + key="statement" + gi="statement" + in-json="SCALAR"> - description + statement - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - - - - - - - - - - - - - - - - - - - - - - - - - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + key="identified-subject" + gi="identified-subject"> identified-subject @@ -25489,818 +28865,825 @@ - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - - - - - - - - - - - - - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - - - - - - - - - - - - + - - + + - description + text - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - + + - collected + description - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - expires + text - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + - + - - + + - description + text - - + + - + - + + + + identified-subject + + + + + + + + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> - statement + description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + + + + + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + + + + + + + + + + + + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + + + + + + + + + + + + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - text + title - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - - - - - - identified-subject - - - - - - + - - + + - description + deadline - - + + - + - - - - text - - - - - - - - + + + + + + + + + + + + + - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - text + title - + - + - - + + - text + description - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + key="identified-subject" + gi="identified-subject"> identified-subject @@ -26308,1621 +29691,1548 @@ - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - - - - + + + + + + - - - - - - text - - - - - - - - - - + - - - - - + + + + + - + - + - - + + - description + title - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - - - - - - - - - - - - - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title - + - + - - + + - text + description - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - deadline + text - - + + - - - - - - - - - - - - - - - - - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title - + - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - + + - text + timing - - + + + + - - - - + + + + + + on-date + + + - + - + + + + within-date-range + + + + + + + + + + + at-frequency + + + + + + + + + + + + + + + + + + + + + + + + + + + + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - - - - - - identified-subject - - - - - - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - - - - - - - - - - - - - - - - - - - - - - - - - - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + - + - - + + - text + risk-log - - + + - - - - + + + + + + + + + + + + + + + + - + - + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title - + - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="dateTime-with-timezone" + name="start" + key="start" + gi="start" + in-json="SCALAR"> - text + start - - + + - + - + - - title - - - - - - - - - - - - - + as-type="dateTime-with-timezone" + name="end" + key="end" + gi="end" + in-json="SCALAR"> - description + end - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - - - - - - timing - - - - - - - - - - - - on-date - - - - - + - - - - within-date-range - - - + + + + + + + - + - - + + - at-frequency + text - - - - - - - - - - - + + - - - - - - - - - - - + + + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + + + identified-subject + + + + + + + + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + + + + + + + + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> - text + title - + - + - - + + - risk-log + description - - + + - - - - - - - - - - - - - - - - + + + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - title + text - + - + - - + + - description + text - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - start + text - - + + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> - end + text - - + + - + - - + + - text + description - - + + - - - - - - - - - - - - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + + + identified-subject + + + + + + + + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - + + - identified-subject + title - - - + + - + + + + + + - + + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description - + - + - + + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text - + - + - - + + - text + status - - - - - - - + + + + - + - + + as-type="uuid" + name="implementation-statement-uuid" + key="implementation-statement-uuid" + gi="implementation-statement-uuid" + in-json="SCALAR"> - text + implementation-statement-uuid - - + + - + - + + + + + + + + + priority="5"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -27930,23 +31240,23 @@ + mode="get-value-property" + priority="5"> + priority="5"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -27954,22 +31264,22 @@ + mode="get-value-property" + priority="5"> + priority="7"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -27977,14 +31287,14 @@ + mode="get-value-property" + priority="7"> + priority="6"> @@ -27992,15 +31302,15 @@ + priority="11"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -28008,14 +31318,22 @@ + mode="get-value-property" + priority="11"> + + + + + + + + priority="6"> @@ -28023,7 +31341,7 @@ + priority="6"> @@ -28031,7 +31349,7 @@ + priority="5"> @@ -28047,15 +31365,15 @@ + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -28063,23 +31381,23 @@ + mode="get-value-property" + priority="6"> + priority="6"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -28087,33 +31405,33 @@ + mode="get-value-property" + priority="6"> + priority="7"> + as-type="string" + name="document-id" + gi="document-id"> + mode="get-value-property"> + priority="6"> @@ -28126,15 +31444,15 @@ + priority="7"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -28142,22 +31460,22 @@ + mode="get-value-property" + priority="7"> + priority="9"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -28165,14 +31483,14 @@ + mode="get-value-property" + priority="9"> + priority="7"> @@ -28182,14 +31500,14 @@ + priority="6"> + as-type="base64Binary" + name="base64" + key="base64" + gi="base64"> base64 @@ -28200,7 +31518,7 @@ + mode="get-value-property"> @@ -28214,8 +31532,8 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel" + match="value[@as-type=('markup-line')]"> @@ -28225,8 +31543,8 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel" + match="value[@as-type=('markup-multiline')]"> @@ -28255,15 +31573,15 @@ + group-starting-with=".[matches(., '^```')]"> + select="not((position() mod 2) + number($starts-with-code))"/>

    + expand-text="true" + select="(replace(.,'^```','') ! normalize-space(.))[matches(.,'\S')]"/> @@ -28294,9 +31612,9 @@ + priority="1" + match="p[exists(@code)]" + expand-text="true">

              
                 language-{.}
    @@ -28334,8 +31652,8 @@
           
        
        
    +                  priority="5"
    +                  mode="make-row"/>
        
           
              
    @@ -28346,7 +31664,7 @@
           
        
        
    +                  mode="make-row">
           
              
                 
    @@ -28365,9 +31683,9 @@
        
           
              
    +                              select="tokenize(., '\n')">
                 
  • + type="{ if (matches(.,'\s*\d')) then 'ol' else 'ul' }">
    @@ -28381,7 +31699,7 @@ + namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -28395,9 +31713,9 @@ + namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + group-starting-with="li[(@level = $level) or not(@type = preceding-sibling::*[1]/@type)]">
  • @@ -28576,40 +31894,40 @@ { insertion } + elements="s:*"/> + elements="s:flag s:value"/> + name="write-xml"/> + match="s:*[exists(@gi)]" + mode="write-xml"> + match="s:value[@as-type=('markup-line','markup-multiline')]" + mode="write-xml"> + match="p | ul | ol | pre | h1 | h2 | h3 | h4 | h5 | h6 | table" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + priority="2" + match="s:flag" + mode="write-xml"> + match="*" + mode="cast-prose"> diff --git a/xml/convert/oscal_component_json-to-xml-converter.xsl b/xml/convert/oscal_component_json-to-xml-converter.xsl index 12e8ffb71..9765020b7 100644 --- a/xml/convert/oscal_component_json-to-xml-converter.xsl +++ b/xml/convert/oscal_component_json-to-xml-converter.xsl @@ -1,12 +1,12 @@ + xmlns:j="http://www.w3.org/2005/xpath-functions" + xmlns:m="http://csrc.nist.gov/ns/oscal/metaschema/1.0" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel" + version="3.0" + exclude-result-prefixes="#all"> @@ -31,7 +31,7 @@ + select="unparsed-text($file) ! json-to-xml(.)"> {{ $err:description }} @@ -92,8 +92,8 @@ + key="component-definition" + gi="component-definition"> component-definition @@ -128,6 +128,7 @@ + @@ -140,6 +141,7 @@ + @@ -150,64 +152,32 @@ + - - - - - - - - - - - - - - + - - - - - - - - + + + + - + - - + + + - - - - - - - - - - - - - - - - - - - + + @@ -215,8 +185,8 @@ + name="import-component-definition" + gi="import-component-definition"> @@ -312,12 +282,12 @@ + collapsible="no" + as-type="markup-multiline" + name="remarks" + key="remarks" + gi="remarks" + in-json="SCALAR"> remarks @@ -325,8 +295,8 @@ + mode="get-value-property" + priority="8"> @@ -335,16 +305,16 @@ + as-type="uuid" + name="location-uuid" + gi="location-uuid" + in-json="SCALAR"> + mode="get-value-property" + priority="8"> @@ -353,16 +323,16 @@ + as-type="uuid" + name="party-uuid" + gi="party-uuid" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> @@ -382,549 +352,633 @@ + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="3"> + as-type="token" + name="name" + key="name" + gi="name"> + mode="keep-value-property" + priority="8"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="8"> - + + mode="keep-value-property" + priority="8"> + as-type="string" + name="value" + key="value" + gi="value"> + mode="keep-value-property" + priority="8"> + as-type="token" + name="class" + key="class" + gi="class"> + mode="keep-value-property" + priority="8"> + + + + + + + as-type="uri-reference" + name="href" + key="href" + gi="href"> + mode="keep-value-property" + priority="8"> + as-type="token" + name="rel" + key="rel" + gi="rel"> + mode="keep-value-property" + priority="8"> + as-type="string" + name="media-type" + key="media-type" + gi="media-type"> + mode="keep-value-property" + priority="8"> + + + + + + + priority="6"> + as-type="uri" + name="scheme" + key="scheme" + gi="scheme"> - + mode="keep-value-property" + priority="6"> + - - + + + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - + + as-type="token" + name="location-type" + key="type" + gi="type"> + mode="keep-value-property" + priority="7"> + priority="8"> + as-type="string" + name="type" + key="type" + gi="type"> - + mode="keep-value-property" + priority="8"> + + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - - + + + as-type="string" + name="type" + key="type" + gi="type"> - + + priority="8"> + as-type="uri" + name="scheme" + key="scheme" + gi="scheme"> + mode="keep-value-property" + priority="8"> + priority="1"> + as-type="token" + name="role-id" + key="role-id" + gi="role-id"> + mode="keep-value-property" + priority="6"> + + + + + + + + + + + + + + + + + + + + + + + + + priority="1"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + mode="keep-value-property" + priority="5"> + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="5"> + as-type="string" + name="defined-component-type" + key="type" + gi="type"> + mode="keep-value-property" + priority="5"> + priority="1"> + as-type="token" + name="role-id" + key="role-id" + gi="role-id"> + mode="keep-value-property" + priority="7"> + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="7"> + priority="1"> + as-type="string" + name="name" + key="name" + gi="name"> + mode="keep-value-property" + priority="7"> + priority="1"> + as-type="nonNegativeInteger" + name="start" + key="start" + gi="start"> + mode="keep-value-property" + priority="9"> + priority="1"> + as-type="nonNegativeInteger" + name="end" + key="end" + gi="end"> + mode="keep-value-property" + priority="9"> + priority="1"> + as-type="token" + name="transport" + key="transport" + gi="transport"> + mode="keep-value-property" + priority="9"> + priority="7"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - + mode="keep-value-property" + priority="7"> + + as-type="uri-reference" + name="source" + key="source" + gi="source"> + mode="keep-value-property" + priority="7"> + as-type="token" + name="param-id" + key="param-id" + gi="param-id"> + mode="keep-value-property" + priority="9"> + priority="9"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="9"> + as-type="token" + name="control-id" + key="control-id" + gi="control-id"> + mode="keep-value-property" + priority="9"> + as-type="token" + name="statement-id" + key="statement-id" + gi="statement-id"> + mode="keep-value-property" + priority="11"> + priority="11"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="11"> + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="5"> + priority="1"> + as-type="string" + name="name" + key="name" + gi="name"> + mode="keep-value-property" + priority="5"> + priority="1"> + as-type="uuid" + name="component-uuid" + key="component-uuid" + gi="component-uuid"> + mode="keep-value-property" + priority="7"> + priority="6"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="6"> + priority="8"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + mode="keep-value-property" + priority="8"> + as-type="string" + name="media-type" + key="media-type" + gi="media-type"> + mode="keep-value-property" + priority="8"> + priority="3"> + as-type="string" + name="algorithm" + key="algorithm" + gi="algorithm"> + mode="keep-value-property" + priority="10"> + priority="7"> + as-type="token" + name="filename" + key="filename" + gi="filename"> + mode="keep-value-property" + priority="7"> + as-type="string" + name="media-type" + key="media-type" + gi="media-type"> + mode="keep-value-property" + priority="7"> + priority="4"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -932,22 +986,22 @@ + mode="get-value-property" + priority="4"> + priority="4"> + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> published @@ -955,22 +1009,22 @@ + mode="get-value-property" + priority="4"> + priority="4"> + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> last-modified @@ -978,22 +1032,22 @@ + mode="get-value-property" + priority="4"> + priority="4"> + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> version @@ -1001,22 +1055,22 @@ + mode="get-value-property" + priority="4"> + priority="4"> + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> oscal-version @@ -1024,14 +1078,14 @@ + mode="get-value-property" + priority="4"> + priority="5"> @@ -1046,14 +1100,14 @@ + priority="4"> + gi="revisions" + group-json="ARRAY" + name="revision" + key="revisions"> revisions @@ -1061,15 +1115,15 @@ + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -1077,22 +1131,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> published @@ -1100,22 +1154,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> last-modified @@ -1123,22 +1177,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> version @@ -1146,22 +1200,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> oscal-version @@ -1169,22 +1223,22 @@ + mode="get-value-property" + priority="6"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1192,41 +1246,41 @@ + mode="get-value-property" + priority="8"> + priority="5"> + as-type="string" + name="document-id" + gi="document-id"> + mode="get-value-property"> + priority="6"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1234,22 +1288,36 @@ + mode="get-value-property" + priority="6"> + + + + + + + + + + + + + + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -1257,22 +1325,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -1280,23 +1348,23 @@ + mode="get-value-property" + priority="6"> + priority="6"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -1304,22 +1372,22 @@ + mode="get-value-property" + priority="6"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1327,22 +1395,38 @@ + mode="get-value-property" + priority="8"> + + + + + + + + + + + + + + + + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -1350,14 +1434,14 @@ + mode="get-value-property" + priority="6"> + priority="6"> @@ -1373,34 +1457,34 @@ + priority="8"> + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> + mode="get-value-property" + priority="8"> + priority="7"> + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> city @@ -1408,22 +1492,22 @@ + mode="get-value-property" + priority="7"> + priority="7"> + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> state @@ -1431,22 +1515,22 @@ + mode="get-value-property" + priority="7"> + priority="7"> + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> postal-code @@ -1454,22 +1538,22 @@ + mode="get-value-property" + priority="7"> + priority="7"> + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> country @@ -1477,79 +1561,80 @@ + mode="get-value-property" + priority="7"> + priority="7"> + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> + priority="7"> + as-type="string" + name="telephone-number" + gi="telephone-number"> + mode="get-value-property"> + priority="7"> + as-type="uri" + name="url" + deprecated="1.1.0" + gi="url" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1557,22 +1642,42 @@ + mode="get-value-property" + priority="8"> + + + + + + + + + + + + + + + + + + + + priority="6"> + as-type="string" + name="name" + key="name" + gi="name" + in-json="SCALAR"> name @@ -1580,22 +1685,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -1603,41 +1708,41 @@ + mode="get-value-property" + priority="6"> + priority="7"> + as-type="string" + name="external-id" + gi="external-id"> + mode="get-value-property"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1645,52 +1750,52 @@ + mode="get-value-property" + priority="8"> + priority="7"> + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> + priority="7"> + as-type="string" + name="telephone-number" + gi="telephone-number"> + mode="get-value-property"> + priority="8"> @@ -1703,34 +1808,34 @@ + priority="10"> + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> + mode="get-value-property" + priority="10"> + priority="9"> + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> city @@ -1738,22 +1843,22 @@ + mode="get-value-property" + priority="9"> + priority="9"> + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> state @@ -1761,22 +1866,22 @@ + mode="get-value-property" + priority="9"> + priority="9"> + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> postal-code @@ -1784,22 +1889,22 @@ + mode="get-value-property" + priority="9"> + priority="9"> + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> country @@ -1807,41 +1912,41 @@ + mode="get-value-property" + priority="9"> + priority="7"> + as-type="uuid" + name="member-of-organization" + gi="member-of-organization" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1849,22 +1954,68 @@ + mode="get-value-property" + priority="8"> + + + + + + + + + + text + + + + + + + + + + + + + + + text + + + + + + priority="5"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -1872,23 +2023,23 @@ + mode="get-value-property" + priority="5"> + priority="5"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -1896,22 +2047,22 @@ + mode="get-value-property" + priority="5"> + priority="5"> + as-type="markup-line" + name="purpose" + key="purpose" + gi="purpose" + in-json="SCALAR"> purpose @@ -1919,22 +2070,22 @@ + mode="get-value-property" + priority="5"> + priority="7"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1942,22 +2093,22 @@ + mode="get-value-property" + priority="7"> + priority="9"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1965,22 +2116,22 @@ + mode="get-value-property" + priority="9"> + priority="7"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -1988,14 +2139,14 @@ + mode="get-value-property" + priority="7"> + priority="6"> @@ -2009,16 +2160,16 @@ + priority="7"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -2026,22 +2177,22 @@ + mode="get-value-property" + priority="7"> + priority="9"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2049,33 +2200,33 @@ + mode="get-value-property" + priority="9"> + priority="10"> + as-type="string" + name="parameter-value" + gi="value" + in-json="SCALAR"> + mode="get-value-property" + priority="10"> + priority="8"> @@ -2091,16 +2242,16 @@ + priority="9"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -2108,22 +2259,22 @@ + mode="get-value-property" + priority="9"> + priority="11"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2131,41 +2282,41 @@ + mode="get-value-property" + priority="11"> + priority="12"> + as-type="string" + name="parameter-value" + gi="value" + in-json="SCALAR"> + mode="get-value-property" + priority="12"> + priority="13"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2173,14 +2324,14 @@ + mode="get-value-property" + priority="13"> + priority="10"> @@ -2194,16 +2345,16 @@ + priority="11"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -2211,22 +2362,22 @@ + mode="get-value-property" + priority="11"> + priority="13"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2234,22 +2385,22 @@ + mode="get-value-property" + priority="13"> + priority="15"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2257,23 +2408,23 @@ + mode="get-value-property" + priority="15"> + priority="5"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -2281,22 +2432,22 @@ + mode="get-value-property" + priority="5"> + priority="7"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2304,23 +2455,23 @@ + mode="get-value-property" + priority="7"> + priority="7"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -2328,14 +2479,14 @@ + mode="get-value-property" + priority="7"> + priority="6"> @@ -2349,16 +2500,16 @@ + priority="7"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -2366,22 +2517,22 @@ + mode="get-value-property" + priority="7"> + priority="9"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2389,33 +2540,33 @@ + mode="get-value-property" + priority="9"> + priority="10"> + as-type="string" + name="parameter-value" + gi="value" + in-json="SCALAR"> + mode="get-value-property" + priority="10"> + priority="8"> @@ -2431,16 +2582,16 @@ + priority="9"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -2448,22 +2599,22 @@ + mode="get-value-property" + priority="9"> + priority="11"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2471,41 +2622,41 @@ + mode="get-value-property" + priority="11"> + priority="12"> + as-type="string" + name="parameter-value" + gi="value" + in-json="SCALAR"> + mode="get-value-property" + priority="12"> + priority="13"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2513,14 +2664,14 @@ + mode="get-value-property" + priority="13"> + priority="10"> @@ -2534,16 +2685,16 @@ + priority="11"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -2551,22 +2702,22 @@ + mode="get-value-property" + priority="11"> + priority="13"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2574,22 +2725,22 @@ + mode="get-value-property" + priority="13"> + priority="15"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2597,14 +2748,14 @@ + mode="get-value-property" + priority="15"> + priority="5"> @@ -2620,15 +2771,15 @@ + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2636,23 +2787,23 @@ + mode="get-value-property" + priority="6"> + priority="6"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -2660,33 +2811,33 @@ + mode="get-value-property" + priority="6"> + priority="7"> + as-type="string" + name="document-id" + gi="document-id"> + mode="get-value-property"> + priority="6"> @@ -2699,15 +2850,15 @@ + priority="7"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2715,22 +2866,22 @@ + mode="get-value-property" + priority="7"> + priority="9"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2738,14 +2889,14 @@ + mode="get-value-property" + priority="9"> + priority="7"> @@ -2755,14 +2906,14 @@ + priority="6"> + as-type="base64Binary" + name="base64" + key="base64" + gi="base64"> base64 @@ -2773,7 +2924,7 @@ + mode="get-value-property"> @@ -2787,8 +2938,8 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel" + match="value[@as-type=('markup-line')]"> @@ -2798,8 +2949,8 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel" + match="value[@as-type=('markup-multiline')]"> @@ -2828,15 +2979,15 @@ + group-starting-with=".[matches(., '^```')]"> + select="not((position() mod 2) + number($starts-with-code))"/>

    + expand-text="true" + select="(replace(.,'^```','') ! normalize-space(.))[matches(.,'\S')]"/> @@ -2867,9 +3018,9 @@ + priority="1" + match="p[exists(@code)]" + expand-text="true">

              
                 language-{.}
    @@ -2907,8 +3058,8 @@
           
        
        
    +                  priority="5"
    +                  mode="make-row"/>
        
           
              
    @@ -2919,7 +3070,7 @@
           
        
        
    +                  mode="make-row">
           
              
                 
    @@ -2938,9 +3089,9 @@
        
           
              
    +                              select="tokenize(., '\n')">
                 
  • + type="{ if (matches(.,'\s*\d')) then 'ol' else 'ul' }">
    @@ -2954,7 +3105,7 @@ + namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -2968,9 +3119,9 @@ + namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + group-starting-with="li[(@level = $level) or not(@type = preceding-sibling::*[1]/@type)]">
  • @@ -3149,40 +3300,40 @@ { insertion } + elements="s:*"/> + elements="s:flag s:value"/> + name="write-xml"/> + match="s:*[exists(@gi)]" + mode="write-xml"> + match="s:value[@as-type=('markup-line','markup-multiline')]" + mode="write-xml"> + match="p | ul | ol | pre | h1 | h2 | h3 | h4 | h5 | h6 | table" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + priority="2" + match="s:flag" + mode="write-xml"> + match="*" + mode="cast-prose"> diff --git a/xml/convert/oscal_mapping_json-to-xml-converter.xsl b/xml/convert/oscal_mapping_json-to-xml-converter.xsl new file mode 100644 index 000000000..31b0fa7fb --- /dev/null +++ b/xml/convert/oscal_mapping_json-to-xml-converter.xsl @@ -0,0 +1,2571 @@ + + + + + + + + + + + xml + + + No file found at { $file } + + + + + + + {{ $err:description }} + + + + + + + {{ $err:description }} + + + + + + + + + + + + Error in XSLT invocation - an initial template (-it) is expected ('from-json' or 'from-xdm-json-xml'), but none is given + + + + + + + + { $err:description } + + + + + + + + + + No XPath (XML) JSON found at { $file } - using syntax of http://www.w3.org/2005/xpath-functions + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + mapping-collection + + + http://csrc.nist.gov/ns/oscal/1.0 + + + + + + + + + + + + + metadata + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + mapping + + + + + + + + + + + + + source-resource + + + + + + + + + + + + + + target-resource + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + back-matter + + + + + + + + + + remarks + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + title + + + + + + + + + + + + + + + published + + + + + + + + + + + + + + + last-modified + + + + + + + + + + + + + + + version + + + + + + + + + + + + + + + oscal-version + + + + + + + + + + + + + + + + + + + + + + + + + + + + + revisions + + + + + + + + + + title + + + + + + + + + + + + + + + published + + + + + + + + + + + + + + + last-modified + + + + + + + + + + + + + + + version + + + + + + + + + + + + + + + oscal-version + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + + + + + + + + + + + + + + title + + + + + + + + + + + + + + + short-name + + + + + + + + + + + + + + + description + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + title + + + + + + + + + + + + + + + address + + + + + + + + + + + + + + + + + + + + + + + + + + + city + + + + + + + + + + + + + + + state + + + + + + + + + + + + + + + postal-code + + + + + + + + + + + + + + + country + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + name + + + + + + + + + + + + + + + short-name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + city + + + + + + + + + + + + + + + state + + + + + + + + + + + + + + + postal-code + + + + + + + + + + + + + + + country + + + + + + + + + + + + + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + relationship + + + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + title + + + + + + + + + + + + + + + description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + citation + + + + + + + + + + + + text + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + + + + + + + + + + base64 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + + + + + +

    +
    +
    + + + + + + + + + + + + + + + + +
    + + + + + + + +
    +         
    +            language-{.}
    +         
    +         
    +      
    +
    + + +

    + + +

    +
    +
    + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + +

    + +

    +
    + ^\s*(\*|\d+\.)\s + + + +
  • + + +
    +
    + +
    +
  • +
    +
    +
    + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + +
  • +
    + + +
  • + + + + + +
  • +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + &amp; + &lt; + + &quot; + + &#x2A; + &#x60; + &#x7E; + &#x5E; + + + + + + + + + + + + + + + + + + + "" + !\[{{$noclosebracket}}\] + \{\{\s*insert: ,\s*\s*\}\} + \(\) + `` + + \*\*\*\*\*\* + + \*\*\*\* + \*\* + ~~ + \^\^ + + + + + + + + + + + + + + + + (.*?) + + + (\i\c*?) + + + ([^{ @not }]*?) + + + + < + + + xmlns="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel" + + + > + + </ + + > + + + $1 + + + + <insert xmlns="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel" + + + /> + + + type='$1' + + + id-ref='$2' + + + href='$2' + + + + alt='$1' + + + + src='$2' + + + { insertion } + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/xml/convert/oscal_poam_json-to-xml-converter.xsl b/xml/convert/oscal_poam_json-to-xml-converter.xsl index 162e438c2..cbeecc1af 100644 --- a/xml/convert/oscal_poam_json-to-xml-converter.xsl +++ b/xml/convert/oscal_poam_json-to-xml-converter.xsl @@ -1,12 +1,12 @@ + xmlns:j="http://www.w3.org/2005/xpath-functions" + xmlns:m="http://csrc.nist.gov/ns/oscal/metaschema/1.0" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel" + version="3.0" + exclude-result-prefixes="#all"> @@ -31,7 +31,7 @@ + select="unparsed-text($file) ! json-to-xml(.)"> {{ $err:description }} @@ -92,8 +92,8 @@ + key="plan-of-action-and-milestones" + gi="plan-of-action-and-milestones"> plan-of-action-and-milestones @@ -107,6 +107,7 @@ + @@ -131,6 +132,7 @@ +
    @@ -143,6 +145,7 @@ +
    @@ -153,64 +156,32 @@ + - - - - - - - - - - - - - - + - - - - - - - - + + + + - + - - + + + - - - - - - - - - - - - - - - - - - - + + @@ -229,13 +200,14 @@ + key="local-definitions" + gi="local-definitions"> local-definitions + @@ -299,6 +271,19 @@ + + + + + + assessment-assets + + + + + @@ -371,9 +356,9 @@ + name="include-all" + key="include-all" + gi="include-all"> include-all @@ -459,6 +444,54 @@ + + + + + + + + + + + + + + + + + + + + + + + target + + + + + + + + + + + + + + + + + + implementation-status + + + + + @@ -469,6 +502,7 @@ + @@ -488,12 +522,12 @@ + collapsible="no" + as-type="markup-multiline" + name="remarks" + key="remarks" + gi="remarks" + in-json="SCALAR"> remarks @@ -501,8 +535,8 @@ + mode="get-value-property" + priority="8"> @@ -511,16 +545,16 @@ + as-type="uuid" + name="location-uuid" + gi="location-uuid" + in-json="SCALAR"> + mode="get-value-property" + priority="8"> @@ -529,16 +563,16 @@ + as-type="uuid" + name="party-uuid" + gi="party-uuid" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> @@ -547,10 +581,10 @@ + as-type="string" + name="system-id" + key="system-id" + gi="system-id"> system-id @@ -568,11 +602,11 @@ + as-type="token" + name="risk-status" + key="status" + gi="status" + in-json="SCALAR"> status @@ -580,8 +614,8 @@ + mode="get-value-property" + priority="5"> @@ -605,11 +639,11 @@ + as-type="token" + name="risk-status" + key="status-change" + gi="status-change" + in-json="SCALAR"> status-change @@ -617,8 +651,8 @@ + mode="get-value-property" + priority="8"> @@ -638,986 +672,1210 @@ + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="3"> + as-type="token" + name="name" + key="name" + gi="name"> + mode="keep-value-property" + priority="8"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="8"> - + + mode="keep-value-property" + priority="8"> + as-type="string" + name="value" + key="value" + gi="value"> + mode="keep-value-property" + priority="8"> + as-type="token" + name="class" + key="class" + gi="class"> + mode="keep-value-property" + priority="8"> + + + + + + + as-type="uri-reference" + name="href" + key="href" + gi="href"> + mode="keep-value-property" + priority="8"> + as-type="token" + name="rel" + key="rel" + gi="rel"> + mode="keep-value-property" + priority="8"> + as-type="string" + name="media-type" + key="media-type" + gi="media-type"> + mode="keep-value-property" + priority="8"> + + + + + + + priority="6"> + as-type="uri" + name="scheme" + key="scheme" + gi="scheme"> - + mode="keep-value-property" + priority="6"> + - - + + + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - + + as-type="token" + name="location-type" + key="type" + gi="type"> + mode="keep-value-property" + priority="7"> + priority="8"> + as-type="string" + name="type" + key="type" + gi="type"> - + mode="keep-value-property" + priority="8"> + + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - - + + + as-type="string" + name="type" + key="type" + gi="type"> - + + priority="8"> + as-type="uri" + name="scheme" + key="scheme" + gi="scheme"> + mode="keep-value-property" + priority="8"> + priority="1"> + as-type="token" + name="role-id" + key="role-id" + gi="role-id"> + mode="keep-value-property" + priority="6"> + + + + + + + + + + + + + + + + + + + + + + + + + as-type="uri-reference" + name="href" + key="href" + gi="href"> + mode="keep-value-property" + priority="4"> + priority="1"> + as-type="uri" + name="identifier-type" + key="identifier-type" + gi="identifier-type"> + mode="keep-value-property" + priority="4"> + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="6"> + as-type="string" + name="system-component-type" + key="type" + gi="type"> - + mode="keep-value-property" + priority="6"> + + as-type="token" + name="state" + key="state" + gi="state"> - + + priority="1"> + as-type="token" + name="role-id" + key="role-id" + gi="role-id"> + mode="keep-value-property" + priority="8"> + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="8"> + priority="1"> + as-type="string" + name="name" + key="name" + gi="name"> + mode="keep-value-property" + priority="8"> + priority="1"> + as-type="nonNegativeInteger" + name="start" + key="start" + gi="start"> + mode="keep-value-property" + priority="10"> + priority="1"> + as-type="nonNegativeInteger" + name="end" + key="end" + gi="end"> + mode="keep-value-property" + priority="10"> + priority="1"> + as-type="token" + name="transport" + key="transport" + gi="transport"> + mode="keep-value-property" + priority="10"> + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="6"> + priority="8"> + as-type="uuid" + name="component-uuid" + key="component-uuid" + gi="component-uuid"> + mode="keep-value-property" + priority="8"> + + + + + + + + + + + + + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="5"> + as-type="token" + name="type" + key="type" + gi="type"> + mode="keep-value-property" + priority="9"> + priority="1"> + as-type="uuid" + name="actor-uuid" + key="actor-uuid" + gi="actor-uuid"> + mode="keep-value-property" + priority="9"> + priority="1"> + as-type="token" + name="role-id" + key="role-id" + gi="role-id"> + mode="keep-value-property" + priority="9"> + priority="1"> + as-type="uuid" + name="task-uuid" + key="task-uuid" + gi="task-uuid"> + mode="keep-value-property" + priority="9"> + priority="1"> + as-type="token" + name="type" + key="type" + gi="type"> + mode="keep-value-property" + priority="11"> + as-type="uuid" + name="subject-uuid" + key="subject-uuid" + gi="subject-uuid"> + mode="keep-value-property" + priority="14"> + as-type="token" + name="subject-type" + key="type" + gi="type"> - + mode="keep-value-property" + priority="14"> + + as-type="uuid" + name="subject-placeholder-uuid" + key="subject-placeholder-uuid" + gi="subject-placeholder-uuid"> - + + as-type="uuid" + name="subject-uuid" + key="subject-uuid" + gi="subject-uuid"> + mode="keep-value-property" + priority="7"> + as-type="token" + name="subject-type" + key="type" + gi="type"> + mode="keep-value-property" + priority="7"> + priority="7"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + mode="keep-value-property" + priority="7"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="5"> + priority="1"> + as-type="uri" + name="system" + key="system" + gi="system"> + mode="keep-value-property" + priority="7"> + priority="1"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + mode="keep-value-property" + priority="7"> + priority="9"> + as-type="token" + name="name" + key="name" + gi="name"> + mode="keep-value-property" + priority="9"> + priority="9"> + as-type="uri" + name="system" + key="system" + gi="system"> + mode="keep-value-property" + priority="9"> + priority="9"> + as-type="string" + name="value" + key="value" + gi="value"> + mode="keep-value-property" + priority="9"> + priority="7"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="7"> + priority="7"> + as-type="uuid" + name="implementation-uuid" + key="implementation-uuid" + gi="implementation-uuid"> + mode="keep-value-property" + priority="7"> + priority="7"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="7"> + priority="7"> + as-type="token" + name="lifecycle" + key="lifecycle" + gi="lifecycle"> + mode="keep-value-property" + priority="7"> + priority="9"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="9"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="9"> + as-type="token" + name="type" + key="type" + gi="type"> + mode="keep-value-property" + priority="9"> + priority="12"> + as-type="dateTime-with-timezone" + name="date" + key="date" + gi="date"> + mode="keep-value-property" + priority="12"> + priority="12"> + as-type="dateTime-with-timezone" + name="start" + key="start" + gi="start"> + mode="keep-value-property" + priority="12"> + priority="12"> + as-type="dateTime-with-timezone" + name="end" + key="end" + gi="end"> + mode="keep-value-property" + priority="12"> + priority="12"> + as-type="positiveInteger" + name="period" + key="period" + gi="period"> + mode="keep-value-property" + priority="12"> + priority="12"> + as-type="string" + name="unit" + key="unit" + gi="unit"> + mode="keep-value-property" + priority="12"> + priority="11"> + as-type="uuid" + name="task-uuid" + key="task-uuid" + gi="task-uuid"> + mode="keep-value-property" + priority="11"> + priority="11"> + as-type="uuid" + name="activity-uuid" + key="activity-uuid" + gi="activity-uuid"> + mode="keep-value-property" + priority="11"> + priority="8"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="8"> + priority="1"> + as-type="uuid" + name="party-uuid" + key="party-uuid" + gi="party-uuid"> + mode="keep-value-property" + priority="10"> + priority="1"> + as-type="token" + name="role-id" + key="role-id" + gi="role-id"> + mode="keep-value-property" + priority="10"> + priority="10"> + as-type="uuid" + name="response-uuid" + key="response-uuid" + gi="response-uuid"> + mode="keep-value-property" + priority="10"> + priority="7"> + as-type="uuid" + name="observation-uuid" + key="observation-uuid" + gi="observation-uuid"> + mode="keep-value-property" + priority="7"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + mode="keep-value-property" + priority="5"> + + as-type="uuid" + name="finding-uuid" + key="finding-uuid" + gi="finding-uuid"> - + + priority="7"> + as-type="uuid" + name="observation-uuid" + key="observation-uuid" + gi="observation-uuid"> + mode="keep-value-property" + priority="7"> + priority="7"> + as-type="uuid" + name="risk-uuid" + key="risk-uuid" + gi="risk-uuid"> + mode="keep-value-property" + priority="7"> + priority="6"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="6"> + priority="8"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + mode="keep-value-property" + priority="8"> + as-type="string" + name="media-type" + key="media-type" + gi="media-type"> + mode="keep-value-property" + priority="8"> + priority="3"> + as-type="string" + name="algorithm" + key="algorithm" + gi="algorithm"> + mode="keep-value-property" + priority="10"> + priority="7"> + as-type="token" + name="filename" + key="filename" + gi="filename"> + mode="keep-value-property" + priority="7"> + as-type="string" + name="media-type" + key="media-type" + gi="media-type"> + mode="keep-value-property" + priority="7"> + priority="4"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -1625,22 +1883,22 @@ + mode="get-value-property" + priority="4"> + priority="4"> + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> published @@ -1648,22 +1906,22 @@ + mode="get-value-property" + priority="4"> + priority="4"> + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> last-modified @@ -1671,22 +1929,22 @@ + mode="get-value-property" + priority="4"> + priority="4"> + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> version @@ -1694,22 +1952,22 @@ + mode="get-value-property" + priority="4"> + priority="4"> + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> oscal-version @@ -1717,14 +1975,14 @@ + mode="get-value-property" + priority="4"> + priority="5"> @@ -1739,14 +1997,14 @@ + priority="4"> + gi="revisions" + group-json="ARRAY" + name="revision" + key="revisions"> revisions @@ -1754,15 +2012,15 @@ + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -1770,22 +2028,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> published @@ -1793,22 +2051,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> last-modified @@ -1816,22 +2074,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> version @@ -1839,22 +2097,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> oscal-version @@ -1862,22 +2120,22 @@ + mode="get-value-property" + priority="6"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1885,41 +2143,41 @@ + mode="get-value-property" + priority="8"> + priority="5"> + as-type="string" + name="document-id" + gi="document-id"> + mode="get-value-property"> + priority="6"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1927,22 +2185,36 @@ + mode="get-value-property" + priority="6"> + + + + + + + + + + + + + + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -1950,22 +2222,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -1973,23 +2245,23 @@ + mode="get-value-property" + priority="6"> + priority="6"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -1997,22 +2269,22 @@ + mode="get-value-property" + priority="6"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2020,22 +2292,38 @@ + mode="get-value-property" + priority="8"> + + + + + + + + + + + + + + + + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2043,14 +2331,14 @@ + mode="get-value-property" + priority="6"> + priority="6"> @@ -2066,34 +2354,34 @@ + priority="8"> + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> + mode="get-value-property" + priority="8"> + priority="7"> + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> city @@ -2101,22 +2389,22 @@ + mode="get-value-property" + priority="7"> + priority="7"> + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> state @@ -2124,22 +2412,22 @@ + mode="get-value-property" + priority="7"> + priority="7"> + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> postal-code @@ -2147,22 +2435,22 @@ + mode="get-value-property" + priority="7"> + priority="7"> + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> country @@ -2170,79 +2458,80 @@ + mode="get-value-property" + priority="7"> + priority="7"> + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> + priority="7"> + as-type="string" + name="telephone-number" + gi="telephone-number"> + mode="get-value-property"> + priority="7"> + as-type="uri" + name="url" + deprecated="1.1.0" + gi="url" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2250,22 +2539,42 @@ + mode="get-value-property" + priority="8"> + + + + + + + + + + + + + + + + + + + + priority="6"> + as-type="string" + name="name" + key="name" + gi="name" + in-json="SCALAR"> name @@ -2273,22 +2582,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -2296,41 +2605,41 @@ + mode="get-value-property" + priority="6"> + priority="7"> + as-type="string" + name="external-id" + gi="external-id"> + mode="get-value-property"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2338,52 +2647,52 @@ + mode="get-value-property" + priority="8"> + priority="7"> + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> + priority="7"> + as-type="string" + name="telephone-number" + gi="telephone-number"> + mode="get-value-property"> + priority="8"> @@ -2396,34 +2705,34 @@ + priority="10"> + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> + mode="get-value-property" + priority="10"> + priority="9"> + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> city @@ -2431,22 +2740,22 @@ + mode="get-value-property" + priority="9"> + priority="9"> + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> state @@ -2454,22 +2763,22 @@ + mode="get-value-property" + priority="9"> + priority="9"> + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> postal-code @@ -2477,22 +2786,22 @@ + mode="get-value-property" + priority="9"> + priority="9"> + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> country @@ -2500,41 +2809,41 @@ + mode="get-value-property" + priority="9"> + priority="7"> + as-type="uuid" + name="member-of-organization" + gi="member-of-organization" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2542,22 +2851,68 @@ + mode="get-value-property" + priority="8"> + + + + + + + + + + text + + + + + + + + + + + + + + + text + + + + + + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2565,23 +2920,23 @@ + mode="get-value-property" + priority="6"> + priority="6"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -2589,22 +2944,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="markup-line" + name="purpose" + key="purpose" + gi="purpose" + in-json="SCALAR"> purpose @@ -2612,22 +2967,22 @@ + mode="get-value-property" + priority="6"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2635,14 +2990,14 @@ + mode="get-value-property" + priority="8"> + priority="6"> @@ -2654,15 +3009,15 @@ + priority="10"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2670,22 +3025,22 @@ + mode="get-value-property" + priority="10"> + priority="8"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2693,23 +3048,23 @@ + mode="get-value-property" + priority="8"> + priority="6"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -2717,22 +3072,22 @@ + mode="get-value-property" + priority="6"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2740,22 +3095,22 @@ + mode="get-value-property" + priority="8"> + priority="10"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2763,14 +3118,14 @@ + mode="get-value-property" + priority="10"> + priority="7"> @@ -2782,15 +3137,15 @@ + priority="10"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2798,22 +3153,22 @@ + mode="get-value-property" + priority="10"> + priority="12"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2821,22 +3176,290 @@ + mode="get-value-property" + priority="12"> + + + + + + + + + + title + + + + + + + + + + + + + + + description + + + + + + + + + + + + + + + purpose + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + status + + + + + + + + + + + text + + + + + + + + + + + + + + + title + + + + + + + + + + + + + + + + + + + + + + + + + + + title + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + text + + + + + + priority="5"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2844,23 +3467,23 @@ + mode="get-value-property" + priority="5"> + priority="5"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -2868,22 +3491,22 @@ + mode="get-value-property" + priority="5"> + priority="7"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2891,60 +3514,60 @@ + mode="get-value-property" + priority="7"> + priority="6"> + as-type="string" + name="method" + gi="method" + in-json="SCALAR"> + mode="get-value-property" + priority="6"> + priority="6"> + as-type="token" + name="type" + gi="type" + in-json="SCALAR"> + mode="get-value-property" + priority="6"> + priority="11"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2952,22 +3575,22 @@ + mode="get-value-property" + priority="11"> + priority="11"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2975,22 +3598,22 @@ + mode="get-value-property" + priority="11"> + priority="13"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2998,23 +3621,23 @@ + mode="get-value-property" + priority="13"> + priority="11"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -3022,22 +3645,22 @@ + mode="get-value-property" + priority="11"> + priority="13"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3045,22 +3668,22 @@ + mode="get-value-property" + priority="13"> + priority="16"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3068,22 +3691,22 @@ + mode="get-value-property" + priority="16"> + priority="15"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3091,19 +3714,19 @@ + mode="get-value-property" + priority="15"> + priority="9"> + key="identified-subject" + gi="identified-subject"> identified-subject @@ -3112,16 +3735,16 @@ + priority="12"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -3129,22 +3752,22 @@ + mode="get-value-property" + priority="12"> + priority="14"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3152,22 +3775,22 @@ + mode="get-value-property" + priority="14"> + priority="17"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3175,22 +3798,22 @@ + mode="get-value-property" + priority="17"> + priority="16"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3198,14 +3821,14 @@ + mode="get-value-property" + priority="16"> + priority="6"> @@ -3218,15 +3841,15 @@ + priority="7"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -3234,22 +3857,22 @@ + mode="get-value-property" + priority="7"> + priority="9"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3257,14 +3880,14 @@ + mode="get-value-property" + priority="9"> + priority="6"> @@ -3276,16 +3899,16 @@ + priority="7"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -3293,22 +3916,22 @@ + mode="get-value-property" + priority="7"> + priority="9"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3316,22 +3939,22 @@ + mode="get-value-property" + priority="9"> + priority="5"> + as-type="dateTime-with-timezone" + name="collected" + key="collected" + gi="collected" + in-json="SCALAR"> collected @@ -3339,22 +3962,22 @@ + mode="get-value-property" + priority="5"> + priority="5"> + as-type="dateTime-with-timezone" + name="expires" + key="expires" + gi="expires" + in-json="SCALAR"> expires @@ -3362,22 +3985,22 @@ + mode="get-value-property" + priority="5"> + priority="5"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -3385,23 +4008,23 @@ + mode="get-value-property" + priority="5"> + priority="5"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -3409,23 +4032,23 @@ + mode="get-value-property" + priority="5"> + priority="5"> + collapsible="no" + as-type="markup-multiline" + name="statement" + key="statement" + gi="statement" + in-json="SCALAR"> statement @@ -3433,22 +4056,22 @@ + mode="get-value-property" + priority="5"> + priority="7"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3456,22 +4079,22 @@ + mode="get-value-property" + priority="7"> + priority="11"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3479,22 +4102,22 @@ + mode="get-value-property" + priority="11"> + priority="11"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3502,22 +4125,22 @@ + mode="get-value-property" + priority="11"> + priority="13"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3525,23 +4148,23 @@ + mode="get-value-property" + priority="13"> + priority="11"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -3549,22 +4172,22 @@ + mode="get-value-property" + priority="11"> + priority="13"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3572,22 +4195,22 @@ + mode="get-value-property" + priority="13"> + priority="16"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3595,22 +4218,22 @@ + mode="get-value-property" + priority="16"> + priority="15"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3618,19 +4241,19 @@ + mode="get-value-property" + priority="15"> + priority="9"> + key="identified-subject" + gi="identified-subject"> identified-subject @@ -3639,16 +4262,16 @@ + priority="12"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -3656,22 +4279,22 @@ + mode="get-value-property" + priority="12"> + priority="14"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3679,22 +4302,22 @@ + mode="get-value-property" + priority="14"> + priority="17"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3702,22 +4325,22 @@ + mode="get-value-property" + priority="17"> + priority="16"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3725,22 +4348,22 @@ + mode="get-value-property" + priority="16"> + priority="9"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3748,22 +4371,22 @@ + mode="get-value-property" + priority="9"> + priority="12"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3771,22 +4394,22 @@ + mode="get-value-property" + priority="12"> + priority="12"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3794,22 +4417,22 @@ + mode="get-value-property" + priority="12"> + priority="14"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3817,23 +4440,23 @@ + mode="get-value-property" + priority="14"> + priority="12"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -3841,22 +4464,22 @@ + mode="get-value-property" + priority="12"> + priority="14"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3864,22 +4487,22 @@ + mode="get-value-property" + priority="14"> + priority="17"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3887,22 +4510,22 @@ + mode="get-value-property" + priority="17"> + priority="16"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3910,19 +4533,19 @@ + mode="get-value-property" + priority="16"> + priority="10"> + key="identified-subject" + gi="identified-subject"> identified-subject @@ -3931,16 +4554,16 @@ + priority="13"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -3948,22 +4571,22 @@ + mode="get-value-property" + priority="13"> + priority="15"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3971,22 +4594,22 @@ + mode="get-value-property" + priority="15"> + priority="18"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3994,22 +4617,22 @@ + mode="get-value-property" + priority="18"> + priority="17"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4017,14 +4640,14 @@ + mode="get-value-property" + priority="17"> + priority="8"> @@ -4037,15 +4660,15 @@ + priority="11"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4053,14 +4676,14 @@ + mode="get-value-property" + priority="11"> + priority="6"> @@ -4073,16 +4696,16 @@ + priority="7"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -4090,22 +4713,22 @@ + mode="get-value-property" + priority="7"> + priority="9"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4113,14 +4736,14 @@ + mode="get-value-property" + priority="9"> + priority="8"> @@ -4133,15 +4756,15 @@ + priority="9"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -4149,22 +4772,22 @@ + mode="get-value-property" + priority="9"> + priority="11"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4172,22 +4795,22 @@ + mode="get-value-property" + priority="11"> + priority="5"> + as-type="dateTime-with-timezone" + name="deadline" + key="deadline" + gi="deadline" + in-json="SCALAR"> deadline @@ -4195,14 +4818,14 @@ + mode="get-value-property" + priority="5"> + priority="6"> @@ -4219,15 +4842,15 @@ + priority="7"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -4235,23 +4858,23 @@ + mode="get-value-property" + priority="7"> + priority="7"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -4259,22 +4882,22 @@ + mode="get-value-property" + priority="7"> + priority="9"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4282,22 +4905,22 @@ + mode="get-value-property" + priority="9"> + priority="13"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4305,22 +4928,22 @@ + mode="get-value-property" + priority="13"> + priority="13"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4328,22 +4951,22 @@ + mode="get-value-property" + priority="13"> + priority="15"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4351,23 +4974,23 @@ + mode="get-value-property" + priority="15"> + priority="13"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -4375,22 +4998,22 @@ + mode="get-value-property" + priority="13"> + priority="15"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4398,22 +5021,22 @@ + mode="get-value-property" + priority="15"> + priority="18"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4421,22 +5044,22 @@ + mode="get-value-property" + priority="18"> + priority="17"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4444,19 +5067,19 @@ + mode="get-value-property" + priority="17"> + priority="11"> + key="identified-subject" + gi="identified-subject"> identified-subject @@ -4465,16 +5088,16 @@ + priority="14"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -4482,22 +5105,22 @@ + mode="get-value-property" + priority="14"> + priority="16"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4505,22 +5128,22 @@ + mode="get-value-property" + priority="16"> + priority="19"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4528,22 +5151,22 @@ + mode="get-value-property" + priority="19"> + priority="18"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4551,14 +5174,14 @@ + mode="get-value-property" + priority="18"> + priority="8"> @@ -4572,7 +5195,7 @@ + priority="10"> @@ -4585,15 +5208,15 @@ + priority="11"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -4601,22 +5224,22 @@ + mode="get-value-property" + priority="11"> + priority="13"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4624,22 +5247,22 @@ + mode="get-value-property" + priority="13"> + priority="9"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -4647,23 +5270,23 @@ + mode="get-value-property" + priority="9"> + priority="9"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -4671,22 +5294,22 @@ + mode="get-value-property" + priority="9"> + priority="11"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4694,22 +5317,22 @@ + mode="get-value-property" + priority="11"> + priority="9"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -4717,23 +5340,23 @@ + mode="get-value-property" + priority="9"> + priority="9"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -4741,22 +5364,22 @@ + mode="get-value-property" + priority="9"> + priority="11"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4764,14 +5387,14 @@ + mode="get-value-property" + priority="11"> + priority="9"> @@ -4784,7 +5407,7 @@ + priority="11"> @@ -4795,13 +5418,13 @@ + priority="11"> + name="within-date-range" + key="within-date-range" + gi="within-date-range"> within-date-range @@ -4810,13 +5433,13 @@ + priority="11"> + name="at-frequency" + key="at-frequency" + gi="at-frequency"> at-frequency @@ -4825,7 +5448,7 @@ + priority="10"> @@ -4834,7 +5457,7 @@ + priority="10"> @@ -4847,15 +5470,15 @@ + priority="13"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4863,22 +5486,22 @@ + mode="get-value-property" + priority="13"> + priority="15"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4886,23 +5509,23 @@ + mode="get-value-property" + priority="15"> + priority="13"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -4910,22 +5533,22 @@ + mode="get-value-property" + priority="13"> + priority="15"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4933,22 +5556,22 @@ + mode="get-value-property" + priority="15"> + priority="18"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4956,22 +5579,22 @@ + mode="get-value-property" + priority="18"> + priority="17"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4979,23 +5602,23 @@ + mode="get-value-property" + priority="17"> + priority="11"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -5003,22 +5626,22 @@ + mode="get-value-property" + priority="11"> + priority="13"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5026,22 +5649,22 @@ + mode="get-value-property" + priority="13"> + priority="16"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5049,22 +5672,22 @@ + mode="get-value-property" + priority="16"> + priority="15"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5072,22 +5695,22 @@ + mode="get-value-property" + priority="15"> + priority="13"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5095,14 +5718,14 @@ + mode="get-value-property" + priority="13"> + priority="5"> @@ -5113,7 +5736,7 @@ + priority="7"> @@ -5131,15 +5754,15 @@ + priority="8"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -5147,23 +5770,23 @@ + mode="get-value-property" + priority="8"> + priority="8"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -5171,22 +5794,22 @@ + mode="get-value-property" + priority="8"> + priority="8"> + as-type="dateTime-with-timezone" + name="start" + key="start" + gi="start" + in-json="SCALAR"> start @@ -5194,22 +5817,22 @@ + mode="get-value-property" + priority="8"> + priority="8"> + as-type="dateTime-with-timezone" + name="end" + key="end" + gi="end" + in-json="SCALAR"> end @@ -5217,22 +5840,22 @@ + mode="get-value-property" + priority="8"> + priority="10"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5240,14 +5863,14 @@ + mode="get-value-property" + priority="10"> + priority="9"> @@ -5259,15 +5882,15 @@ + priority="12"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5275,22 +5898,22 @@ + mode="get-value-property" + priority="12"> + priority="14"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5298,22 +5921,22 @@ + mode="get-value-property" + priority="14"> + priority="16"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5321,23 +5944,23 @@ + mode="get-value-property" + priority="16"> + priority="14"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -5345,22 +5968,22 @@ + mode="get-value-property" + priority="14"> + priority="16"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5368,22 +5991,22 @@ + mode="get-value-property" + priority="16"> + priority="19"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5391,22 +6014,22 @@ + mode="get-value-property" + priority="19"> + priority="18"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5414,19 +6037,19 @@ + mode="get-value-property" + priority="18"> + priority="12"> + key="identified-subject" + gi="identified-subject"> identified-subject @@ -5435,16 +6058,16 @@ + priority="15"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -5452,22 +6075,22 @@ + mode="get-value-property" + priority="15"> + priority="17"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5475,22 +6098,22 @@ + mode="get-value-property" + priority="17"> + priority="20"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5498,22 +6121,22 @@ + mode="get-value-property" + priority="20"> + priority="19"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5521,30 +6144,491 @@ + mode="get-value-property" + priority="19"> + priority="6"> + + + + + + title + + + + + + + + + + + + + + + description + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + description + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + identified-subject + + + + + + + + + + + description + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + title + + + + + + + + + + + + + + + description + + + + + + + + + + + + + + + text + + + + + + + + + + + + + + + status + + + + + + + + + + + + implementation-statement-uuid + + + + + + + + + + + + + + + + + + + + + + + + priority="5"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -5552,23 +6636,23 @@ + mode="get-value-property" + priority="5"> + priority="5"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -5576,22 +6660,22 @@ + mode="get-value-property" + priority="5"> + priority="7"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5599,14 +6683,14 @@ + mode="get-value-property" + priority="7"> + priority="6"> @@ -5614,15 +6698,15 @@ + priority="11"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5630,14 +6714,22 @@ + mode="get-value-property" + priority="11"> + + + + + + + + priority="6"> @@ -5645,7 +6737,7 @@ + priority="6"> @@ -5653,7 +6745,7 @@ + priority="5"> @@ -5669,15 +6761,15 @@ + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -5685,23 +6777,23 @@ + mode="get-value-property" + priority="6"> + priority="6"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -5709,33 +6801,33 @@ + mode="get-value-property" + priority="6"> + priority="7"> + as-type="string" + name="document-id" + gi="document-id"> + mode="get-value-property"> + priority="6"> @@ -5748,15 +6840,15 @@ + priority="7"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5764,22 +6856,22 @@ + mode="get-value-property" + priority="7"> + priority="9"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5787,14 +6879,14 @@ + mode="get-value-property" + priority="9"> + priority="7"> @@ -5804,14 +6896,14 @@ + priority="6"> + as-type="base64Binary" + name="base64" + key="base64" + gi="base64"> base64 @@ -5822,7 +6914,7 @@ + mode="get-value-property"> @@ -5836,8 +6928,8 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel" + match="value[@as-type=('markup-line')]"> @@ -5847,8 +6939,8 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel" + match="value[@as-type=('markup-multiline')]"> @@ -5877,15 +6969,15 @@ + group-starting-with=".[matches(., '^```')]"> + select="not((position() mod 2) + number($starts-with-code))"/>

    + expand-text="true" + select="(replace(.,'^```','') ! normalize-space(.))[matches(.,'\S')]"/> @@ -5916,9 +7008,9 @@ + priority="1" + match="p[exists(@code)]" + expand-text="true">

              
                 language-{.}
    @@ -5956,8 +7048,8 @@
           
        
        
    +                  priority="5"
    +                  mode="make-row"/>
        
           
              
    @@ -5968,7 +7060,7 @@
           
        
        
    +                  mode="make-row">
           
              
                 
    @@ -5987,9 +7079,9 @@
        
           
              
    +                              select="tokenize(., '\n')">
                 
  • + type="{ if (matches(.,'\s*\d')) then 'ol' else 'ul' }">
    @@ -6003,7 +7095,7 @@ + namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -6017,9 +7109,9 @@ + namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + group-starting-with="li[(@level = $level) or not(@type = preceding-sibling::*[1]/@type)]">
  • @@ -6198,40 +7290,40 @@ { insertion } + elements="s:*"/> + elements="s:flag s:value"/> + name="write-xml"/> + match="s:*[exists(@gi)]" + mode="write-xml"> + match="s:value[@as-type=('markup-line','markup-multiline')]" + mode="write-xml"> + match="p | ul | ol | pre | h1 | h2 | h3 | h4 | h5 | h6 | table" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + priority="2" + match="s:flag" + mode="write-xml"> + match="*" + mode="cast-prose"> diff --git a/xml/convert/oscal_profile_json-to-xml-converter.xsl b/xml/convert/oscal_profile_json-to-xml-converter.xsl index 46718930c..ee852500d 100644 --- a/xml/convert/oscal_profile_json-to-xml-converter.xsl +++ b/xml/convert/oscal_profile_json-to-xml-converter.xsl @@ -1,12 +1,12 @@ + xmlns:j="http://www.w3.org/2005/xpath-functions" + xmlns:m="http://csrc.nist.gov/ns/oscal/metaschema/1.0" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel" + version="3.0" + exclude-result-prefixes="#all"> @@ -31,7 +31,7 @@ + select="unparsed-text($file) ! json-to-xml(.)"> {{ $err:description }} @@ -126,6 +126,7 @@ + @@ -138,6 +139,7 @@ + @@ -148,64 +150,32 @@ + - - - - - - - - - - - - - - + - - - - - - - - + + + + - + - - + + + - - - - - - - - - - - - - - - - - - - + + @@ -223,9 +193,9 @@ + name="include-all" + key="include-all" + gi="include-all"> include-all @@ -339,39 +309,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -386,12 +323,12 @@ + collapsible="no" + as-type="markup-multiline" + name="remarks" + key="remarks" + gi="remarks" + in-json="SCALAR"> remarks @@ -399,8 +336,8 @@ + mode="get-value-property" + priority="8"> @@ -409,16 +346,16 @@ + as-type="uuid" + name="location-uuid" + gi="location-uuid" + in-json="SCALAR"> + mode="get-value-property" + priority="8"> @@ -427,16 +364,16 @@ + as-type="uuid" + name="party-uuid" + gi="party-uuid" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> @@ -445,16 +382,16 @@ + as-type="string" + name="parameter-value" + gi="value" + in-json="SCALAR"> + mode="get-value-property" + priority="12"> @@ -475,618 +412,708 @@ + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="3"> + as-type="token" + name="name" + key="name" + gi="name"> + mode="keep-value-property" + priority="8"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="8"> - + + mode="keep-value-property" + priority="8"> + as-type="string" + name="value" + key="value" + gi="value"> + mode="keep-value-property" + priority="8"> + as-type="token" + name="class" + key="class" + gi="class"> + mode="keep-value-property" + priority="8"> + + + + + + + as-type="uri-reference" + name="href" + key="href" + gi="href"> + mode="keep-value-property" + priority="8"> + as-type="token" + name="rel" + key="rel" + gi="rel"> + mode="keep-value-property" + priority="8"> + as-type="string" + name="media-type" + key="media-type" + gi="media-type"> + mode="keep-value-property" + priority="8"> + + + + + + + priority="6"> + as-type="uri" + name="scheme" + key="scheme" + gi="scheme"> - + mode="keep-value-property" + priority="6"> + - - + + + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - + + as-type="token" + name="location-type" + key="type" + gi="type"> + mode="keep-value-property" + priority="7"> + priority="8"> + as-type="string" + name="type" + key="type" + gi="type"> - + mode="keep-value-property" + priority="8"> + + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - - + + + as-type="string" + name="type" + key="type" + gi="type"> - + + priority="8"> + as-type="uri" + name="scheme" + key="scheme" + gi="scheme"> + mode="keep-value-property" + priority="8"> + priority="1"> + as-type="token" + name="role-id" + key="role-id" + gi="role-id"> + mode="keep-value-property" + priority="6"> + + + + + + + + + + + + + + + + + + + + + + + + + priority="1"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + mode="keep-value-property" + priority="5"> + as-type="token" + name="with-child-controls" + key="with-child-controls" + gi="with-child-controls"> + mode="keep-value-property" + priority="8"> + as-type="string" + name="pattern" + key="pattern" + gi="pattern"> + mode="keep-value-property" + priority="10"> + priority="5"> + as-type="string" + name="method" + key="method" + gi="method"> + mode="keep-value-property" + priority="5"> + mode="keep-value-property" + priority="8"> + priority="1"> + as-type="token" + name="class" + key="class" + gi="class"> + mode="keep-value-property" + priority="8"> + mode="keep-value-property" + priority="10"> + priority="1"> + as-type="token" + name="class" + key="class" + gi="class"> + mode="keep-value-property" + priority="10"> + priority="1"> + as-type="token" + name="depends-on" + key="depends-on" + deprecated="1.0.1" + gi="depends-on"> + mode="keep-value-property" + priority="10"> + as-type="token" + name="how-many" + key="how-many" + gi="how-many"> + mode="keep-value-property" + priority="12"> + mode="keep-value-property" + priority="10"> + as-type="token" + name="name" + key="name" + gi="name"> + mode="keep-value-property" + priority="10"> - + + mode="keep-value-property" + priority="10"> + as-type="token" + name="class" + key="class" + gi="class"> + mode="keep-value-property" + priority="10"> + priority="1"> + as-type="token" + name="order" + key="order" + gi="order"> + mode="keep-value-property" + priority="11"> + priority="6"> + as-type="token" + name="param-id" + key="param-id" + gi="param-id"> + mode="keep-value-property" + priority="6"> + priority="6"> + as-type="token" + name="class" + key="class" + gi="class"> + mode="keep-value-property" + priority="6"> + priority="6"> + as-type="token" + name="depends-on" + key="depends-on" + deprecated="1.0.1" + gi="depends-on"> - + mode="keep-value-property" + priority="6"> + + as-type="token" + name="control-id" + key="control-id" + gi="control-id"> - - + + + as-type="token" + name="by-name" + key="by-name" + gi="by-name"> - - + + + as-type="token" + name="by-class" + key="by-class" + gi="by-class"> - - + + + as-type="token" + name="by-id" + key="by-id" + gi="by-id"> - - + + + as-type="token" + name="by-item-name" + key="by-item-name" + gi="by-item-name"> - - + + + as-type="token" + name="by-ns" + key="by-ns" + gi="by-ns"> - - + + + as-type="token" + name="position" + key="position" + default="ending" + gi="position"> - - + + + as-type="token" + name="by-id" + key="by-id" + gi="by-id"> - + + priority="6"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="6"> + priority="8"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + mode="keep-value-property" + priority="8"> + as-type="string" + name="media-type" + key="media-type" + gi="media-type"> + mode="keep-value-property" + priority="8"> + priority="3"> + as-type="string" + name="algorithm" + key="algorithm" + gi="algorithm"> + mode="keep-value-property" + priority="10"> + priority="7"> + as-type="token" + name="filename" + key="filename" + gi="filename"> + mode="keep-value-property" + priority="7"> + as-type="string" + name="media-type" + key="media-type" + gi="media-type"> + mode="keep-value-property" + priority="7"> + priority="4"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -1094,22 +1121,22 @@ + mode="get-value-property" + priority="4"> + priority="4"> + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> published @@ -1117,22 +1144,22 @@ + mode="get-value-property" + priority="4"> + priority="4"> + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> last-modified @@ -1140,22 +1167,22 @@ + mode="get-value-property" + priority="4"> + priority="4"> + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> version @@ -1163,22 +1190,22 @@ + mode="get-value-property" + priority="4"> + priority="4"> + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> oscal-version @@ -1186,14 +1213,14 @@ + mode="get-value-property" + priority="4"> + priority="5"> @@ -1208,14 +1235,14 @@ + priority="4"> + gi="revisions" + group-json="ARRAY" + name="revision" + key="revisions"> revisions @@ -1223,15 +1250,15 @@ + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -1239,22 +1266,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> published @@ -1262,22 +1289,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> last-modified @@ -1285,22 +1312,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> version @@ -1308,22 +1335,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> oscal-version @@ -1331,22 +1358,22 @@ + mode="get-value-property" + priority="6"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1354,41 +1381,41 @@ + mode="get-value-property" + priority="8"> + priority="5"> + as-type="string" + name="document-id" + gi="document-id"> + mode="get-value-property"> + priority="6"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1396,22 +1423,36 @@ + mode="get-value-property" + priority="6"> + + + + + + + + + + + + + + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -1419,22 +1460,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -1442,23 +1483,23 @@ + mode="get-value-property" + priority="6"> + priority="6"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -1466,22 +1507,22 @@ + mode="get-value-property" + priority="6"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1489,22 +1530,38 @@ + mode="get-value-property" + priority="8"> + + + + + + + + + + + + + + + + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -1512,14 +1569,14 @@ + mode="get-value-property" + priority="6"> + priority="6"> @@ -1535,34 +1592,34 @@ + priority="8"> + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> + mode="get-value-property" + priority="8"> + priority="7"> + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> city @@ -1570,22 +1627,22 @@ + mode="get-value-property" + priority="7"> + priority="7"> + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> state @@ -1593,22 +1650,22 @@ + mode="get-value-property" + priority="7"> + priority="7"> + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> postal-code @@ -1616,22 +1673,22 @@ + mode="get-value-property" + priority="7"> + priority="7"> + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> country @@ -1639,79 +1696,80 @@ + mode="get-value-property" + priority="7"> + priority="7"> + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> + priority="7"> + as-type="string" + name="telephone-number" + gi="telephone-number"> + mode="get-value-property"> + priority="7"> + as-type="uri" + name="url" + deprecated="1.1.0" + gi="url" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1719,22 +1777,42 @@ + mode="get-value-property" + priority="8"> + + + + + + + + + + + + + + + + + + + + priority="6"> + as-type="string" + name="name" + key="name" + gi="name" + in-json="SCALAR"> name @@ -1742,22 +1820,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -1765,41 +1843,41 @@ + mode="get-value-property" + priority="6"> + priority="7"> + as-type="string" + name="external-id" + gi="external-id"> + mode="get-value-property"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1807,52 +1885,52 @@ + mode="get-value-property" + priority="8"> + priority="7"> + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> + priority="7"> + as-type="string" + name="telephone-number" + gi="telephone-number"> + mode="get-value-property"> + priority="8"> @@ -1865,34 +1943,34 @@ + priority="10"> + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> + mode="get-value-property" + priority="10"> + priority="9"> + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> city @@ -1900,22 +1978,22 @@ + mode="get-value-property" + priority="9"> + priority="9"> + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> state @@ -1923,22 +2001,22 @@ + mode="get-value-property" + priority="9"> + priority="9"> + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> postal-code @@ -1946,22 +2024,22 @@ + mode="get-value-property" + priority="9"> + priority="9"> + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> country @@ -1969,41 +2047,41 @@ + mode="get-value-property" + priority="9"> + priority="7"> + as-type="uuid" + name="member-of-organization" + gi="member-of-organization" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2011,14 +2089,60 @@ + mode="get-value-property" + priority="8"> + + + + + + + + + + text + + + + + + + + + + + + + + + text + + + + + + priority="7"> @@ -2028,26 +2152,26 @@ + priority="9"> + as-type="token" + name="with-id" + gi="with-id" + in-json="SCALAR"> + mode="get-value-property" + priority="9"> + priority="9"> @@ -2055,7 +2179,7 @@ + priority="6"> @@ -2065,26 +2189,26 @@ + priority="8"> + as-type="token" + name="with-id" + gi="with-id" + in-json="SCALAR"> + mode="get-value-property" + priority="8"> + priority="8"> @@ -2092,7 +2216,7 @@ + priority="4"> @@ -2103,7 +2227,7 @@ + priority="5"> @@ -2113,15 +2237,15 @@ + priority="5"> + as-type="boolean" + name="as-is" + key="as-is" + gi="as-is" + in-json="SCALAR"> as-is @@ -2129,14 +2253,14 @@ + mode="get-value-property" + priority="5"> + priority="5"> @@ -2148,15 +2272,15 @@ + priority="8"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2164,22 +2288,22 @@ + mode="get-value-property" + priority="8"> + priority="12"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2187,22 +2311,22 @@ + mode="get-value-property" + priority="12"> + priority="10"> + as-type="markup-line" + name="label" + key="label" + gi="label" + in-json="SCALAR"> label @@ -2210,23 +2334,23 @@ + mode="get-value-property" + priority="10"> + priority="10"> + collapsible="no" + as-type="markup-multiline" + name="usage" + key="usage" + gi="usage" + in-json="SCALAR"> usage @@ -2234,23 +2358,23 @@ + mode="get-value-property" + priority="10"> + priority="12"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -2258,14 +2382,14 @@ + mode="get-value-property" + priority="12"> + priority="13"> @@ -2274,15 +2398,15 @@ + priority="14"> + as-type="string" + name="expression" + key="expression" + gi="expression" + in-json="SCALAR"> expression @@ -2290,65 +2414,65 @@ + mode="get-value-property" + priority="14"> + match="j:map[@key='profile']/j:map[@key='merge']/j:map[@key='custom']//j:array[@key='groups']/j:map/j:array[@key='params']/j:map/j:array[@key='guidelines']/j:map/j:string[@key='prose']"> + _step="prose" + _key="prose" + _metaschema-xml-id="/assembly/oscal-control-common/parameter-guideline/prose" + _metaschema-json-id="/assembly/oscal-control-common/parameter-guideline/prose" + in-xml="UNWRAPPED" + collapsible="no" + as-type="markup-multiline" + name="prose" + key="prose" + _using-name="prose" + _in-xml-name="p ul ol pre table h1 h2 h3 h4 h5 h6" + _in-json-name="prose"> + _metaschema-xml-id="/assembly/oscal-control-common/parameter-guideline/prose/PROSE" + _metaschema-json-id="/assembly/oscal-control-common/parameter-guideline/prose/PROSE" + in-json="string"> + priority="13"> + as-type="markup-line" + name="parameter-choice" + gi="choice" + in-json="SCALAR"> + mode="get-value-property" + priority="13"> + priority="10"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2356,22 +2480,22 @@ + mode="get-value-property" + priority="10"> + priority="10"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2379,46 +2503,46 @@ + mode="get-value-property" + priority="10"> + match="j:map[@key='profile']/j:map[@key='merge']/j:map[@key='custom']//j:array[@key='groups']/j:map//j:array[@key='parts']/j:map/j:string[@key='prose']"> + _step="prose" + _key="prose" + _metaschema-xml-id="/assembly/oscal-control-common/part/prose" + _metaschema-json-id="/assembly/oscal-control-common/part/prose" + in-xml="UNWRAPPED" + collapsible="no" + as-type="markup-multiline" + name="prose" + key="prose" + _using-name="prose" + _in-xml-name="p ul ol pre table h1 h2 h3 h4 h5 h6" + _in-json-name="prose"> + _metaschema-xml-id="/assembly/oscal-control-common/part/prose/PROSE" + _metaschema-json-id="/assembly/oscal-control-common/part/prose/PROSE" + in-json="string"> + priority="12"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2426,14 +2550,14 @@ + mode="get-value-property" + priority="12"> + priority="13"> @@ -2443,26 +2567,26 @@ + priority="15"> + as-type="token" + name="with-id" + gi="with-id" + in-json="SCALAR"> + mode="get-value-property" + priority="15"> + priority="15"> @@ -2470,7 +2594,7 @@ + priority="12"> @@ -2480,26 +2604,26 @@ + priority="14"> + as-type="token" + name="with-id" + gi="with-id" + in-json="SCALAR"> + mode="get-value-property" + priority="14"> + priority="14"> @@ -2507,7 +2631,7 @@ + priority="10"> @@ -2517,26 +2641,26 @@ + priority="12"> + as-type="token" + name="with-id" + gi="with-id" + in-json="SCALAR"> + mode="get-value-property" + priority="12"> + priority="12"> @@ -2544,7 +2668,7 @@ + priority="9"> @@ -2554,26 +2678,26 @@ + priority="11"> + as-type="token" + name="with-id" + gi="with-id" + in-json="SCALAR"> + mode="get-value-property" + priority="11"> + priority="11"> @@ -2581,7 +2705,7 @@ + priority="5"> @@ -2599,15 +2723,15 @@ + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2615,22 +2739,22 @@ + mode="get-value-property" + priority="8"> + priority="6"> + as-type="markup-line" + name="label" + key="label" + gi="label" + in-json="SCALAR"> label @@ -2638,23 +2762,23 @@ + mode="get-value-property" + priority="6"> + priority="6"> + collapsible="no" + as-type="markup-multiline" + name="usage" + key="usage" + gi="usage" + in-json="SCALAR"> usage @@ -2662,23 +2786,23 @@ + mode="get-value-property" + priority="6"> + priority="8"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -2686,14 +2810,14 @@ + mode="get-value-property" + priority="8"> + priority="9"> @@ -2702,15 +2826,15 @@ + priority="10"> + as-type="string" + name="expression" + key="expression" + gi="expression" + in-json="SCALAR"> expression @@ -2718,65 +2842,101 @@ + mode="get-value-property" + priority="10"> + match="j:map[@key='profile']/j:map[@key='modify']/j:array[@key='set-parameters']/j:map/j:array[@key='guidelines']/j:map/j:string[@key='prose']"> + _step="prose" + _key="prose" + _metaschema-xml-id="/assembly/oscal-control-common/parameter-guideline/prose" + _metaschema-json-id="/assembly/oscal-control-common/parameter-guideline/prose" + in-xml="UNWRAPPED" + collapsible="no" + as-type="markup-multiline" + name="prose" + key="prose" + _using-name="prose" + _in-xml-name="p ul ol pre table h1 h2 h3 h4 h5 h6" + _in-json-name="prose"> + _metaschema-xml-id="/assembly/oscal-control-common/parameter-guideline/prose/PROSE" + _metaschema-json-id="/assembly/oscal-control-common/parameter-guideline/prose/PROSE" + in-json="string"> + priority="9"> + as-type="markup-line" + name="parameter-choice" + gi="choice" + in-json="SCALAR"> + mode="get-value-property" + priority="9"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + priority="8"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2784,22 +2944,22 @@ + mode="get-value-property" + priority="8"> + priority="12"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2807,22 +2967,22 @@ + mode="get-value-property" + priority="12"> + priority="10"> + as-type="markup-line" + name="label" + key="label" + gi="label" + in-json="SCALAR"> label @@ -2830,23 +2990,23 @@ + mode="get-value-property" + priority="10"> + priority="10"> + collapsible="no" + as-type="markup-multiline" + name="usage" + key="usage" + gi="usage" + in-json="SCALAR"> usage @@ -2854,23 +3014,23 @@ + mode="get-value-property" + priority="10"> + priority="12"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -2878,14 +3038,14 @@ + mode="get-value-property" + priority="12"> + priority="13"> @@ -2894,15 +3054,15 @@ + priority="14"> + as-type="string" + name="expression" + key="expression" + gi="expression" + in-json="SCALAR"> expression @@ -2910,65 +3070,65 @@ + mode="get-value-property" + priority="14"> + match="j:map[@key='profile']/j:map[@key='modify']/j:array[@key='alters']/j:map/j:array[@key='adds']/j:map/j:array[@key='params']/j:map/j:array[@key='guidelines']/j:map/j:string[@key='prose']"> + _step="prose" + _key="prose" + _metaschema-xml-id="/assembly/oscal-control-common/parameter-guideline/prose" + _metaschema-json-id="/assembly/oscal-control-common/parameter-guideline/prose" + in-xml="UNWRAPPED" + collapsible="no" + as-type="markup-multiline" + name="prose" + key="prose" + _using-name="prose" + _in-xml-name="p ul ol pre table h1 h2 h3 h4 h5 h6" + _in-json-name="prose"> + _metaschema-xml-id="/assembly/oscal-control-common/parameter-guideline/prose/PROSE" + _metaschema-json-id="/assembly/oscal-control-common/parameter-guideline/prose/PROSE" + in-json="string"> + priority="13"> + as-type="markup-line" + name="parameter-choice" + gi="choice" + in-json="SCALAR"> + mode="get-value-property" + priority="13"> + priority="10"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2976,22 +3136,22 @@ + mode="get-value-property" + priority="10"> + priority="10"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2999,46 +3159,46 @@ + mode="get-value-property" + priority="10"> + match="j:map[@key='profile']/j:map[@key='modify']/j:array[@key='alters']/j:map/j:array[@key='adds']/j:map//j:array[@key='parts']/j:map/j:string[@key='prose']"> + _step="prose" + _key="prose" + _metaschema-xml-id="/assembly/oscal-control-common/part/prose" + _metaschema-json-id="/assembly/oscal-control-common/part/prose" + in-xml="UNWRAPPED" + collapsible="no" + as-type="markup-multiline" + name="prose" + key="prose" + _using-name="prose" + _in-xml-name="p ul ol pre table h1 h2 h3 h4 h5 h6" + _in-json-name="prose"> + _metaschema-xml-id="/assembly/oscal-control-common/part/prose/PROSE" + _metaschema-json-id="/assembly/oscal-control-common/part/prose/PROSE" + in-json="string"> + priority="12"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3046,14 +3206,14 @@ + mode="get-value-property" + priority="12"> + priority="5"> @@ -3069,15 +3229,15 @@ + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -3085,23 +3245,23 @@ + mode="get-value-property" + priority="6"> + priority="6"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -3109,33 +3269,33 @@ + mode="get-value-property" + priority="6"> + priority="7"> + as-type="string" + name="document-id" + gi="document-id"> + mode="get-value-property"> + priority="6"> @@ -3148,15 +3308,15 @@ + priority="7"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3164,22 +3324,22 @@ + mode="get-value-property" + priority="7"> + priority="9"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3187,14 +3347,14 @@ + mode="get-value-property" + priority="9"> + priority="7"> @@ -3204,14 +3364,14 @@ + priority="6"> + as-type="base64Binary" + name="base64" + key="base64" + gi="base64"> base64 @@ -3222,7 +3382,7 @@ + mode="get-value-property"> @@ -3236,8 +3396,8 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel" + match="value[@as-type=('markup-line')]"> @@ -3247,8 +3407,8 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel" + match="value[@as-type=('markup-multiline')]"> @@ -3277,15 +3437,15 @@ + group-starting-with=".[matches(., '^```')]"> + select="not((position() mod 2) + number($starts-with-code))"/>

    + expand-text="true" + select="(replace(.,'^```','') ! normalize-space(.))[matches(.,'\S')]"/> @@ -3316,9 +3476,9 @@ + priority="1" + match="p[exists(@code)]" + expand-text="true">

              
                 language-{.}
    @@ -3356,8 +3516,8 @@
           
        
        
    +                  priority="5"
    +                  mode="make-row"/>
        
           
              
    @@ -3368,7 +3528,7 @@
           
        
        
    +                  mode="make-row">
           
              
                 
    @@ -3387,9 +3547,9 @@
        
           
              
    +                              select="tokenize(., '\n')">
                 
  • + type="{ if (matches(.,'\s*\d')) then 'ol' else 'ul' }">
    @@ -3403,7 +3563,7 @@ + namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -3417,9 +3577,9 @@ + namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + group-starting-with="li[(@level = $level) or not(@type = preceding-sibling::*[1]/@type)]">
  • @@ -3598,40 +3758,40 @@ { insertion } + elements="s:*"/> + elements="s:flag s:value"/> + name="write-xml"/> + match="s:*[exists(@gi)]" + mode="write-xml"> + match="s:value[@as-type=('markup-line','markup-multiline')]" + mode="write-xml"> + match="p | ul | ol | pre | h1 | h2 | h3 | h4 | h5 | h6 | table" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + priority="2" + match="s:flag" + mode="write-xml"> + match="*" + mode="cast-prose"> diff --git a/xml/convert/oscal_ssp_json-to-xml-converter.xsl b/xml/convert/oscal_ssp_json-to-xml-converter.xsl index cd668cc46..3eb88a7eb 100644 --- a/xml/convert/oscal_ssp_json-to-xml-converter.xsl +++ b/xml/convert/oscal_ssp_json-to-xml-converter.xsl @@ -1,12 +1,12 @@ + xmlns:j="http://www.w3.org/2005/xpath-functions" + xmlns:m="http://csrc.nist.gov/ns/oscal/metaschema/1.0" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel" + version="3.0" + exclude-result-prefixes="#all"> @@ -31,7 +31,7 @@ + select="unparsed-text($file) ! json-to-xml(.)"> {{ $err:description }} @@ -92,8 +92,8 @@ + key="system-security-plan" + gi="system-security-plan"> system-security-plan @@ -129,6 +129,7 @@ + @@ -141,6 +142,7 @@ + @@ -151,64 +153,32 @@ + - - - - - - - - - - - - - - + - - - - - - - - + + + + - + - - + + + - - - - - - - - - - - - - - - - - - - + + @@ -227,8 +197,8 @@ + key="system-characteristics" + gi="system-characteristics"> system-characteristics @@ -254,8 +224,8 @@ + key="system-information" + gi="system-information"> system-information @@ -264,12 +234,56 @@ + + + + + + confidentiality-impact + + + + + + + + + + + + + + integrity-impact + + + + + + + + + + + + + + availability-impact + + + + + + + + + key="security-impact-level" + gi="security-impact-level"> security-impact-level @@ -282,8 +296,8 @@ + key="authorization-boundary" + gi="authorization-boundary"> authorization-boundary @@ -310,8 +324,8 @@ + key="network-architecture" + gi="network-architecture"> network-architecture @@ -340,8 +354,8 @@ + key="system-implementation" + gi="system-implementation"> system-implementation @@ -469,8 +483,8 @@ + key="implementation-status" + gi="implementation-status"> implementation-status @@ -492,12 +506,12 @@ + collapsible="no" + as-type="markup-multiline" + name="remarks" + key="remarks" + gi="remarks" + in-json="SCALAR"> remarks @@ -505,8 +519,8 @@ + mode="get-value-property" + priority="8"> @@ -515,16 +529,16 @@ + as-type="uuid" + name="location-uuid" + gi="location-uuid" + in-json="SCALAR"> + mode="get-value-property" + priority="8"> @@ -533,16 +547,16 @@ + as-type="uuid" + name="party-uuid" + gi="party-uuid" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> @@ -551,9 +565,9 @@ + as-type="string" + name="system-id" + gi="system-id"> @@ -568,16 +582,16 @@ + as-type="token" + name="role-id" + gi="role-id" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> @@ -586,16 +600,16 @@ + as-type="string" + name="function-performed" + gi="function-performed" + in-json="SCALAR"> + mode="get-value-property" + priority="9"> @@ -615,740 +629,823 @@ + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="3"> + as-type="token" + name="name" + key="name" + gi="name"> + mode="keep-value-property" + priority="8"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="8"> - + + mode="keep-value-property" + priority="8"> + as-type="string" + name="value" + key="value" + gi="value"> + mode="keep-value-property" + priority="8"> + as-type="token" + name="class" + key="class" + gi="class"> + mode="keep-value-property" + priority="8"> + + + + + + + as-type="uri-reference" + name="href" + key="href" + gi="href"> + mode="keep-value-property" + priority="8"> + as-type="token" + name="rel" + key="rel" + gi="rel"> + mode="keep-value-property" + priority="8"> + as-type="string" + name="media-type" + key="media-type" + gi="media-type"> + mode="keep-value-property" + priority="8"> + + + + + + + priority="6"> + as-type="uri" + name="scheme" + key="scheme" + gi="scheme"> - + mode="keep-value-property" + priority="6"> + - - + + + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - + + as-type="token" + name="location-type" + key="type" + gi="type"> + mode="keep-value-property" + priority="7"> + priority="8"> + as-type="string" + name="type" + key="type" + gi="type"> - + mode="keep-value-property" + priority="8"> + + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> - - + + + as-type="string" + name="type" + key="type" + gi="type"> - + + priority="8"> + as-type="uri" + name="scheme" + key="scheme" + gi="scheme"> + mode="keep-value-property" + priority="8"> + priority="1"> + as-type="token" + name="role-id" + key="role-id" + gi="role-id"> + mode="keep-value-property" + priority="6"> + + + + + + + + + + + + + + + + + + + + + + + + + as-type="uri-reference" + name="href" + key="href" + gi="href"> + mode="keep-value-property" + priority="4"> + priority="1"> + as-type="uri" + name="identifier-type" + key="identifier-type" + gi="identifier-type"> + mode="keep-value-property" + priority="6"> + priority="7"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="7"> + priority="9"> + as-type="uri" + name="system" + key="system" + gi="system"> + mode="keep-value-property" + priority="9"> + priority="5"> + as-type="string" + name="state" + key="state" + gi="state"> + mode="keep-value-property" + priority="5"> + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="7"> + priority="6"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="6"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="6"> + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="6"> + as-type="string" + name="system-component-type" + key="type" + gi="type"> + mode="keep-value-property" + priority="6"> + priority="7"> + as-type="token" + name="state" + key="state" + gi="state"> + mode="keep-value-property" + priority="7"> + priority="1"> + as-type="token" + name="role-id" + key="role-id" + gi="role-id"> + mode="keep-value-property" + priority="8"> + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="8"> + priority="1"> + as-type="string" + name="name" + key="name" + gi="name"> + mode="keep-value-property" + priority="8"> + priority="1"> + as-type="nonNegativeInteger" + name="start" + key="start" + gi="start"> + mode="keep-value-property" + priority="10"> + priority="1"> + as-type="nonNegativeInteger" + name="end" + key="end" + gi="end"> + mode="keep-value-property" + priority="10"> + priority="1"> + as-type="token" + name="transport" + key="transport" + gi="transport"> + mode="keep-value-property" + priority="10"> + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="6"> + priority="8"> + as-type="uuid" + name="component-uuid" + key="component-uuid" + gi="component-uuid"> + mode="keep-value-property" + priority="8"> + as-type="token" + name="param-id" + key="param-id" + gi="param-id"> + mode="keep-value-property" + priority="6"> + priority="6"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="6"> + as-type="token" + name="control-id" + key="control-id" + gi="control-id"> + mode="keep-value-property" + priority="6"> + as-type="token" + name="statement-id" + key="statement-id" + gi="statement-id"> + mode="keep-value-property" + priority="8"> + priority="8"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="8"> + priority="1"> + as-type="uuid" + name="component-uuid" + key="component-uuid" + gi="component-uuid"> + mode="keep-value-property" + priority="10"> + priority="1"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="10"> + priority="1"> + as-type="token" + name="state" + key="state" + gi="state"> + mode="keep-value-property" + priority="11"> + priority="13"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="13"> + priority="13"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="13"> + as-type="uuid" + name="provided-uuid" + key="provided-uuid" + gi="provided-uuid"> + mode="keep-value-property" + priority="13"> + priority="12"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="12"> + as-type="uuid" + name="provided-uuid" + key="provided-uuid" + gi="provided-uuid"> + mode="keep-value-property" + priority="12"> + priority="12"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="12"> + as-type="uuid" + name="responsibility-uuid" + key="responsibility-uuid" + gi="responsibility-uuid"> + mode="keep-value-property" + priority="12"> + priority="6"> + as-type="uuid" + name="uuid" + key="uuid" + gi="uuid"> + mode="keep-value-property" + priority="6"> + priority="8"> + as-type="uri-reference" + name="href" + key="href" + gi="href"> + mode="keep-value-property" + priority="8"> + as-type="string" + name="media-type" + key="media-type" + gi="media-type"> + mode="keep-value-property" + priority="8"> + priority="3"> + as-type="string" + name="algorithm" + key="algorithm" + gi="algorithm"> + mode="keep-value-property" + priority="10"> + priority="7"> + as-type="token" + name="filename" + key="filename" + gi="filename"> + mode="keep-value-property" + priority="7"> + as-type="string" + name="media-type" + key="media-type" + gi="media-type"> + mode="keep-value-property" + priority="7"> + priority="4"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -1356,22 +1453,22 @@ + mode="get-value-property" + priority="4"> + priority="4"> + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> published @@ -1379,22 +1476,22 @@ + mode="get-value-property" + priority="4"> + priority="4"> + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> last-modified @@ -1402,22 +1499,22 @@ + mode="get-value-property" + priority="4"> + priority="4"> + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> version @@ -1425,22 +1522,22 @@ + mode="get-value-property" + priority="4"> + priority="4"> + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> oscal-version @@ -1448,14 +1545,14 @@ + mode="get-value-property" + priority="4"> + priority="5"> @@ -1470,14 +1567,14 @@ + priority="4"> + gi="revisions" + group-json="ARRAY" + name="revision" + key="revisions"> revisions @@ -1485,15 +1582,15 @@ + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -1501,22 +1598,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="dateTime-with-timezone" + name="published" + key="published" + gi="published" + in-json="SCALAR"> published @@ -1524,22 +1621,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="dateTime-with-timezone" + name="last-modified" + key="last-modified" + gi="last-modified" + in-json="SCALAR"> last-modified @@ -1547,22 +1644,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="string" + name="version" + key="version" + gi="version" + in-json="SCALAR"> version @@ -1570,22 +1667,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="string" + name="oscal-version" + key="oscal-version" + gi="oscal-version" + in-json="SCALAR"> oscal-version @@ -1593,22 +1690,22 @@ + mode="get-value-property" + priority="6"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1616,41 +1713,41 @@ + mode="get-value-property" + priority="8"> + priority="5"> + as-type="string" + name="document-id" + gi="document-id"> + mode="get-value-property"> + priority="6"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1658,22 +1755,36 @@ + mode="get-value-property" + priority="6"> + + + + + + + + + + + + + + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -1681,22 +1792,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -1704,23 +1815,23 @@ + mode="get-value-property" + priority="6"> + priority="6"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -1728,22 +1839,22 @@ + mode="get-value-property" + priority="6"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1751,22 +1862,38 @@ + mode="get-value-property" + priority="8"> + + + + + + + + + + + + + + + + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -1774,14 +1901,14 @@ + mode="get-value-property" + priority="6"> + priority="6"> @@ -1797,34 +1924,34 @@ + priority="8"> + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> + mode="get-value-property" + priority="8"> + priority="7"> + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> city @@ -1832,22 +1959,22 @@ + mode="get-value-property" + priority="7"> + priority="7"> + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> state @@ -1855,22 +1982,22 @@ + mode="get-value-property" + priority="7"> + priority="7"> + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> postal-code @@ -1878,22 +2005,22 @@ + mode="get-value-property" + priority="7"> + priority="7"> + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> country @@ -1901,79 +2028,80 @@ + mode="get-value-property" + priority="7"> + priority="7"> + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> + priority="7"> + as-type="string" + name="telephone-number" + gi="telephone-number"> + mode="get-value-property"> + priority="7"> + as-type="uri" + name="url" + deprecated="1.1.0" + gi="url" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -1981,22 +2109,42 @@ + mode="get-value-property" + priority="8"> + + + + + + + + + + + + + + + + + + + + priority="6"> + as-type="string" + name="name" + key="name" + gi="name" + in-json="SCALAR"> name @@ -2004,22 +2152,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -2027,41 +2175,41 @@ + mode="get-value-property" + priority="6"> + priority="7"> + as-type="string" + name="external-id" + gi="external-id"> + mode="get-value-property"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2069,52 +2217,52 @@ + mode="get-value-property" + priority="8"> + priority="7"> + as-type="email" + name="email-address" + gi="email-address" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> + priority="7"> + as-type="string" + name="telephone-number" + gi="telephone-number"> + mode="get-value-property"> + priority="8"> @@ -2127,34 +2275,34 @@ + priority="10"> + as-type="string" + name="addr-line" + gi="addr-line" + in-json="SCALAR"> + mode="get-value-property" + priority="10"> + priority="9"> + as-type="string" + name="city" + key="city" + gi="city" + in-json="SCALAR"> city @@ -2162,22 +2310,22 @@ + mode="get-value-property" + priority="9"> + priority="9"> + as-type="string" + name="state" + key="state" + gi="state" + in-json="SCALAR"> state @@ -2185,22 +2333,22 @@ + mode="get-value-property" + priority="9"> + priority="9"> + as-type="string" + name="postal-code" + key="postal-code" + gi="postal-code" + in-json="SCALAR"> postal-code @@ -2208,22 +2356,22 @@ + mode="get-value-property" + priority="9"> + priority="9"> + as-type="string" + name="country" + key="country" + gi="country" + in-json="SCALAR"> country @@ -2231,41 +2379,41 @@ + mode="get-value-property" + priority="9"> + priority="7"> + as-type="uuid" + name="member-of-organization" + gi="member-of-organization" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2273,22 +2421,68 @@ + mode="get-value-property" + priority="8"> + + + + + + + + + + text + + + + + + + + + + + + + + + text + + + + + + priority="4"> + as-type="string" + name="system-name" + key="system-name" + gi="system-name" + in-json="SCALAR"> system-name @@ -2296,22 +2490,22 @@ + mode="get-value-property" + priority="4"> + priority="4"> + as-type="string" + name="system-name-short" + key="system-name-short" + gi="system-name-short" + in-json="SCALAR"> system-name-short @@ -2319,23 +2513,23 @@ + mode="get-value-property" + priority="4"> + priority="4"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -2343,22 +2537,22 @@ + mode="get-value-property" + priority="4"> + priority="6"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2366,22 +2560,22 @@ + mode="get-value-property" + priority="6"> + priority="4"> + as-type="date" + name="date-authorized" + key="date-authorized" + gi="date-authorized" + in-json="SCALAR"> date-authorized @@ -2389,22 +2583,22 @@ + mode="get-value-property" + priority="4"> + priority="4"> + as-type="string" + name="security-sensitivity-level" + key="security-sensitivity-level" + gi="security-sensitivity-level" + in-json="SCALAR"> security-sensitivity-level @@ -2412,22 +2606,22 @@ + mode="get-value-property" + priority="4"> + priority="7"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2435,14 +2629,14 @@ + mode="get-value-property" + priority="7"> + priority="6"> @@ -2458,15 +2652,15 @@ + priority="7"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -2474,23 +2668,23 @@ + mode="get-value-property" + priority="7"> + priority="7"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -2498,14 +2692,14 @@ + mode="get-value-property" + priority="7"> + priority="8"> @@ -2514,34 +2708,34 @@ + priority="10"> + as-type="string" + name="information-type-id" + gi="information-type-id" + in-json="SCALAR"> + mode="get-value-property" + priority="10"> + priority="9"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2549,39 +2743,22 @@ + mode="get-value-property" + priority="9"> - - - - - - confidentiality-impact - - - - - - - - + priority="10"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2589,22 +2766,22 @@ + mode="get-value-property" + priority="10"> + priority="8"> + as-type="string" + name="base" + key="base" + gi="base" + in-json="SCALAR"> base @@ -2612,22 +2789,22 @@ + mode="get-value-property" + priority="8"> + priority="8"> + as-type="string" + name="selected" + key="selected" + gi="selected" + in-json="SCALAR"> selected @@ -2635,23 +2812,23 @@ + mode="get-value-property" + priority="8"> + priority="8"> + collapsible="no" + as-type="markup-multiline" + name="adjustment-justification" + key="adjustment-justification" + gi="adjustment-justification" + in-json="SCALAR"> adjustment-justification @@ -2659,39 +2836,22 @@ + mode="get-value-property" + priority="8"> - - - - - - integrity-impact - - - - - - - - + priority="10"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2699,22 +2859,22 @@ + mode="get-value-property" + priority="10"> + priority="8"> + as-type="string" + name="base" + key="base" + gi="base" + in-json="SCALAR"> base @@ -2722,22 +2882,22 @@ + mode="get-value-property" + priority="8"> + priority="8"> + as-type="string" + name="selected" + key="selected" + gi="selected" + in-json="SCALAR"> selected @@ -2745,23 +2905,23 @@ + mode="get-value-property" + priority="8"> + priority="8"> + collapsible="no" + as-type="markup-multiline" + name="adjustment-justification" + key="adjustment-justification" + gi="adjustment-justification" + in-json="SCALAR"> adjustment-justification @@ -2769,39 +2929,22 @@ + mode="get-value-property" + priority="8"> - - - - - - availability-impact - - - - - - - - + priority="10"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -2809,22 +2952,22 @@ + mode="get-value-property" + priority="10"> + priority="8"> + as-type="string" + name="base" + key="base" + gi="base" + in-json="SCALAR"> base @@ -2832,22 +2975,22 @@ + mode="get-value-property" + priority="8"> + priority="8"> + as-type="string" + name="selected" + key="selected" + gi="selected" + in-json="SCALAR"> selected @@ -2855,23 +2998,23 @@ + mode="get-value-property" + priority="8"> + priority="8"> + collapsible="no" + as-type="markup-multiline" + name="adjustment-justification" + key="adjustment-justification" + gi="adjustment-justification" + in-json="SCALAR"> adjustment-justification @@ -2879,22 +3022,22 @@ + mode="get-value-property" + priority="8"> + priority="5"> + as-type="string" + name="security-objective-confidentiality" + key="security-objective-confidentiality" + gi="security-objective-confidentiality" + in-json="SCALAR"> security-objective-confidentiality @@ -2902,22 +3045,22 @@ + mode="get-value-property" + priority="5"> + priority="5"> + as-type="string" + name="security-objective-integrity" + key="security-objective-integrity" + gi="security-objective-integrity" + in-json="SCALAR"> security-objective-integrity @@ -2925,22 +3068,22 @@ + mode="get-value-property" + priority="5"> + priority="5"> + as-type="string" + name="security-objective-availability" + key="security-objective-availability" + gi="security-objective-availability" + in-json="SCALAR"> security-objective-availability @@ -2948,14 +3091,14 @@ + mode="get-value-property" + priority="5"> + priority="4"> @@ -2967,16 +3110,16 @@ + priority="5"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -2984,22 +3127,22 @@ + mode="get-value-property" + priority="5"> + priority="7"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3007,23 +3150,23 @@ + mode="get-value-property" + priority="7"> + priority="7"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -3031,22 +3174,22 @@ + mode="get-value-property" + priority="7"> + priority="9"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3054,22 +3197,22 @@ + mode="get-value-property" + priority="9"> + priority="7"> + as-type="markup-line" + name="caption" + key="caption" + gi="caption" + in-json="SCALAR"> caption @@ -3077,23 +3220,23 @@ + mode="get-value-property" + priority="7"> + priority="5"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -3101,22 +3244,22 @@ + mode="get-value-property" + priority="5"> + priority="7"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3124,23 +3267,23 @@ + mode="get-value-property" + priority="7"> + priority="7"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -3148,22 +3291,22 @@ + mode="get-value-property" + priority="7"> + priority="9"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3171,22 +3314,22 @@ + mode="get-value-property" + priority="9"> + priority="7"> + as-type="markup-line" + name="caption" + key="caption" + gi="caption" + in-json="SCALAR"> caption @@ -3194,23 +3337,23 @@ + mode="get-value-property" + priority="7"> + priority="5"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -3218,22 +3361,22 @@ + mode="get-value-property" + priority="5"> + priority="7"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3241,23 +3384,23 @@ + mode="get-value-property" + priority="7"> + priority="7"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -3265,22 +3408,22 @@ + mode="get-value-property" + priority="7"> + priority="9"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3288,22 +3431,22 @@ + mode="get-value-property" + priority="9"> + priority="7"> + as-type="markup-line" + name="caption" + key="caption" + gi="caption" + in-json="SCALAR"> caption @@ -3311,22 +3454,22 @@ + mode="get-value-property" + priority="7"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3334,22 +3477,22 @@ + mode="get-value-property" + priority="8"> + priority="6"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3357,14 +3500,14 @@ + mode="get-value-property" + priority="6"> + priority="5"> @@ -3378,15 +3521,15 @@ + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -3394,22 +3537,22 @@ + mode="get-value-property" + priority="6"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3417,22 +3560,22 @@ + mode="get-value-property" + priority="8"> + priority="6"> + as-type="uuid" + name="party-uuid" + key="party-uuid" + gi="party-uuid" + in-json="SCALAR"> party-uuid @@ -3440,22 +3583,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="date" + name="date-authorized" + key="date-authorized" + gi="date-authorized" + in-json="SCALAR"> date-authorized @@ -3463,22 +3606,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -3486,22 +3629,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="string" + name="short-name" + key="short-name" + gi="short-name" + in-json="SCALAR"> short-name @@ -3509,23 +3652,23 @@ + mode="get-value-property" + priority="6"> + priority="6"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -3533,22 +3676,22 @@ + mode="get-value-property" + priority="6"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3556,22 +3699,22 @@ + mode="get-value-property" + priority="8"> + priority="8"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -3579,23 +3722,23 @@ + mode="get-value-property" + priority="8"> + priority="8"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -3603,22 +3746,22 @@ + mode="get-value-property" + priority="8"> + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -3626,23 +3769,23 @@ + mode="get-value-property" + priority="6"> + priority="6"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -3650,22 +3793,22 @@ + mode="get-value-property" + priority="6"> + priority="6"> + as-type="markup-line" + name="purpose" + key="purpose" + gi="purpose" + in-json="SCALAR"> purpose @@ -3673,22 +3816,22 @@ + mode="get-value-property" + priority="6"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3696,14 +3839,14 @@ + mode="get-value-property" + priority="8"> + priority="6"> @@ -3715,15 +3858,15 @@ + priority="10"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3731,22 +3874,22 @@ + mode="get-value-property" + priority="10"> + priority="8"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -3754,23 +3897,23 @@ + mode="get-value-property" + priority="8"> + priority="6"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -3778,22 +3921,22 @@ + mode="get-value-property" + priority="6"> + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3801,22 +3944,22 @@ + mode="get-value-property" + priority="8"> + priority="10"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3824,14 +3967,14 @@ + mode="get-value-property" + priority="10"> + priority="7"> @@ -3843,15 +3986,15 @@ + priority="10"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3859,22 +4002,22 @@ + mode="get-value-property" + priority="10"> + priority="12"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3882,19 +4025,19 @@ + mode="get-value-property" + priority="12"> + priority="3"> + key="control-implementation" + gi="control-implementation"> control-implementation @@ -3904,16 +4047,16 @@ + priority="4"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -3921,33 +4064,33 @@ + mode="get-value-property" + priority="4"> + priority="7"> + as-type="string" + name="parameter-value" + gi="value" + in-json="SCALAR"> + mode="get-value-property" + priority="7"> + priority="5"> @@ -3963,15 +4106,15 @@ + priority="8"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -3979,41 +4122,41 @@ + mode="get-value-property" + priority="8"> + priority="9"> + as-type="string" + name="parameter-value" + gi="value" + in-json="SCALAR"> + mode="get-value-property" + priority="9"> + priority="10"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4021,14 +4164,14 @@ + mode="get-value-property" + priority="10"> + priority="7"> @@ -4042,15 +4185,15 @@ + priority="10"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4058,22 +4201,22 @@ + mode="get-value-property" + priority="10"> + priority="12"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4081,23 +4224,23 @@ + mode="get-value-property" + priority="12"> + priority="10"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -4105,22 +4248,22 @@ + mode="get-value-property" + priority="10"> + priority="12"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4128,33 +4271,33 @@ + mode="get-value-property" + priority="12"> + priority="13"> + as-type="string" + name="parameter-value" + gi="value" + in-json="SCALAR"> + mode="get-value-property" + priority="13"> + priority="10"> @@ -4170,16 +4313,16 @@ + priority="11"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -4187,22 +4330,22 @@ + mode="get-value-property" + priority="11"> + priority="13"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4210,14 +4353,14 @@ + mode="get-value-property" + priority="13"> + priority="12"> @@ -4230,16 +4373,16 @@ + priority="13"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -4247,22 +4390,22 @@ + mode="get-value-property" + priority="13"> + priority="15"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4270,22 +4413,22 @@ + mode="get-value-property" + priority="15"> + priority="17"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4293,14 +4436,14 @@ + mode="get-value-property" + priority="17"> + priority="12"> @@ -4314,16 +4457,16 @@ + priority="13"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -4331,22 +4474,22 @@ + mode="get-value-property" + priority="13"> + priority="15"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4354,22 +4497,22 @@ + mode="get-value-property" + priority="15"> + priority="17"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4377,14 +4520,14 @@ + mode="get-value-property" + priority="17"> + priority="11"> @@ -4397,16 +4540,16 @@ + priority="12"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -4414,22 +4557,22 @@ + mode="get-value-property" + priority="12"> + priority="14"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4437,22 +4580,22 @@ + mode="get-value-property" + priority="14"> + priority="16"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4460,14 +4603,14 @@ + mode="get-value-property" + priority="16"> + priority="11"> @@ -4481,16 +4624,16 @@ + priority="12"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -4498,22 +4641,22 @@ + mode="get-value-property" + priority="12"> + priority="14"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4521,22 +4664,22 @@ + mode="get-value-property" + priority="14"> + priority="16"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4544,22 +4687,22 @@ + mode="get-value-property" + priority="16"> + priority="14"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4567,23 +4710,23 @@ + mode="get-value-property" + priority="14"> + priority="8"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -4591,22 +4734,22 @@ + mode="get-value-property" + priority="8"> + priority="10"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4614,33 +4757,33 @@ + mode="get-value-property" + priority="10"> + priority="11"> + as-type="string" + name="parameter-value" + gi="value" + in-json="SCALAR"> + mode="get-value-property" + priority="11"> + priority="8"> @@ -4656,16 +4799,16 @@ + priority="9"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -4673,22 +4816,22 @@ + mode="get-value-property" + priority="9"> + priority="11"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4696,14 +4839,14 @@ + mode="get-value-property" + priority="11"> + priority="10"> @@ -4716,16 +4859,16 @@ + priority="11"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -4733,22 +4876,22 @@ + mode="get-value-property" + priority="11"> + priority="13"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4756,22 +4899,22 @@ + mode="get-value-property" + priority="13"> + priority="15"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4779,14 +4922,14 @@ + mode="get-value-property" + priority="15"> + priority="10"> @@ -4800,16 +4943,16 @@ + priority="11"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -4817,22 +4960,22 @@ + mode="get-value-property" + priority="11"> + priority="13"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4840,22 +4983,22 @@ + mode="get-value-property" + priority="13"> + priority="15"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4863,14 +5006,14 @@ + mode="get-value-property" + priority="15"> + priority="9"> @@ -4883,16 +5026,16 @@ + priority="10"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -4900,22 +5043,22 @@ + mode="get-value-property" + priority="10"> + priority="12"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4923,22 +5066,22 @@ + mode="get-value-property" + priority="12"> + priority="14"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -4946,14 +5089,14 @@ + mode="get-value-property" + priority="14"> + priority="9"> @@ -4967,16 +5110,16 @@ + priority="10"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -4984,22 +5127,22 @@ + mode="get-value-property" + priority="10"> + priority="12"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5007,22 +5150,22 @@ + mode="get-value-property" + priority="12"> + priority="14"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5030,22 +5173,22 @@ + mode="get-value-property" + priority="14"> + priority="12"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5053,14 +5196,14 @@ + mode="get-value-property" + priority="12"> + priority="5"> @@ -5076,15 +5219,15 @@ + priority="6"> + as-type="markup-line" + name="title" + key="title" + gi="title" + in-json="SCALAR"> title @@ -5092,23 +5235,23 @@ + mode="get-value-property" + priority="6"> + priority="6"> + collapsible="no" + as-type="markup-multiline" + name="description" + key="description" + gi="description" + in-json="SCALAR"> description @@ -5116,33 +5259,33 @@ + mode="get-value-property" + priority="6"> + priority="7"> + as-type="string" + name="document-id" + gi="document-id"> + mode="get-value-property"> + priority="6"> @@ -5155,15 +5298,15 @@ + priority="7"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5171,22 +5314,22 @@ + mode="get-value-property" + priority="7"> + priority="9"> + as-type="markup-line" + name="text" + key="text" + gi="text" + in-json="SCALAR"> text @@ -5194,14 +5337,14 @@ + mode="get-value-property" + priority="9"> + priority="7"> @@ -5211,14 +5354,14 @@ + priority="6"> + as-type="base64Binary" + name="base64" + key="base64" + gi="base64"> base64 @@ -5229,7 +5372,7 @@ + mode="get-value-property"> @@ -5243,8 +5386,8 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel" + match="value[@as-type=('markup-line')]"> @@ -5254,8 +5397,8 @@ + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel" + match="value[@as-type=('markup-multiline')]"> @@ -5284,15 +5427,15 @@ + group-starting-with=".[matches(., '^```')]"> + select="not((position() mod 2) + number($starts-with-code))"/>

    + expand-text="true" + select="(replace(.,'^```','') ! normalize-space(.))[matches(.,'\S')]"/> @@ -5323,9 +5466,9 @@ + priority="1" + match="p[exists(@code)]" + expand-text="true">

              
                 language-{.}
    @@ -5363,8 +5506,8 @@
           
        
        
    +                  priority="5"
    +                  mode="make-row"/>
        
           
              
    @@ -5375,7 +5518,7 @@
           
        
        
    +                  mode="make-row">
           
              
                 
    @@ -5394,9 +5537,9 @@
        
           
              
    +                              select="tokenize(., '\n')">
                 
  • + type="{ if (matches(.,'\s*\d')) then 'ol' else 'ul' }">
    @@ -5410,7 +5553,7 @@ + namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> @@ -5424,9 +5567,9 @@ + namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + group-starting-with="li[(@level = $level) or not(@type = preceding-sibling::*[1]/@type)]">
  • @@ -5605,40 +5748,40 @@ { insertion } + elements="s:*"/> + elements="s:flag s:value"/> + name="write-xml"/> + match="s:*[exists(@gi)]" + mode="write-xml"> + match="s:value[@as-type=('markup-line','markup-multiline')]" + mode="write-xml"> + match="p | ul | ol | pre | h1 | h2 | h3 | h4 | h5 | h6 | table" + xpath-default-namespace="http://csrc.nist.gov/ns/oscal/metaschema/1.0/supermodel"> + priority="2" + match="s:flag" + mode="write-xml"> + match="*" + mode="cast-prose"> diff --git a/xml/schema/oscal_assessment-plan_schema.xsd b/xml/schema/oscal_assessment-plan_schema.xsd index c6302e48a..b4a7b8cdd 100644 --- a/xml/schema/oscal_assessment-plan_schema.xsd +++ b/xml/schema/oscal_assessment-plan_schema.xsd @@ -1,11 +1,11 @@ - + OSCAL Assessment Plan Model @@ -18,8 +18,7 @@ assessment-plan - + @@ -31,13 +30,13 @@ + type="oscal-metadata-metadata-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-assessment-common-import-ssp-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> @@ -50,38 +49,36 @@ + type="oscal-implementation-common-system-component-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-implementation-common-inventory-item-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-implementation-common-system-user-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-local-objective-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-activity-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + @@ -99,38 +96,38 @@ + type="oscal-assessment-common-assessment-part-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-reviewed-controls-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-assessment-common-assessment-subject-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-assessment-assets-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> + type="oscal-assessment-common-task-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-back-matter-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> - + Assessment Plan Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment plan in this or other OSCAL instances. The locally defined UUID of the assessment plan can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment plan in this or other OSCAL instances. The locally defined UUID of the assessment plan can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Assessment Plan Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment plan in this or other OSCAL instances. The locally defined UUID of the assessment plan can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -140,11 +137,11 @@ - Publication metadata - Provides information about the publication and availability of the containing document. + Document Metadata + Provides information about the containing document, and defines concepts that are shared across the document. - Publication metadata: Provides information about the publication and availability of the containing document. + Document Metadata: Provides information about the containing document, and defines concepts that are shared across the document. @@ -158,499 +155,493 @@ Document Title: A name given to the document, which may be used by a tool for display and navigation. - + + type="oscal-metadata-published-FIELD" + minOccurs="0" + maxOccurs="1"/> + type="oscal-metadata-last-modified-FIELD" + minOccurs="1" + maxOccurs="1"/> + type="oscal-metadata-version-FIELD" + minOccurs="1" + maxOccurs="1"/> + type="oscal-metadata-oscal-version-FIELD" + minOccurs="1" + maxOccurs="1"/> - - - - - - - - - - - - - - - - - Remarks - Additional commentary on the containing object. - - - Remarks: Additional commentary on the containing object. - - - - - - - - - - - Revision History Entry - An entry in a sequential list of revisions to the containing document in reverse chronological order (i.e., most recent previous revision first). - - - Revision History Entry: An entry in a sequential list of revisions to the containing document in reverse chronological order (i.e., most recent previous revision first). - - - - - - - Document Title - A name given to the document revision, which may be used by a tool for display and navigation. - - - Document Title: A name given to the document revision, which may be used by a tool for display and navigation. - - - - - - - - - - - - - - Remarks - Additional commentary on the containing object. + revisions + A group of 'revision' elements - Remarks: Additional commentary on the containing object. + revisions: A group of 'revision' elements - - - - - - - - - Location - A location, with associated metadata that can be referenced. - - - Location: A location, with associated metadata that can be referenced. - - - - - - - Location Title - A name given to the location, which may be used by a tool for display and navigation. - - - Location Title: A name given to the location, which may be used by a tool for display and navigation. - - - - + + + + + + Revision History Entry + An entry in a sequential list of revisions to the containing document, expected to be in reverse chronological order (i.e. latest first). + + + Revision History Entry: An entry in a sequential list of revisions to the containing document, expected to be in reverse chronological order (i.e. latest first). + + + + + + + Document Title + A name given to the document revision, which may be used by a tool for display and navigation. + + + Document Title: A name given to the document revision, which may be used by a tool for display and navigation. + + + + + + + + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + - - - - - - - - Location URL - The uniform resource locator (URL) for a web site or Internet presence associated with the location. - - - Location URL: The uniform resource locator (URL) for a web site or Internet presence associated with the location. - - - - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - - - - Remarks - Additional commentary on the containing object. - - - Remarks: Additional commentary on the containing object. - - - - - - - - - - Location Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined location elsewhere in this or other OSCAL instances. The locally defined UUID of the location can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - Location Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined location elsewhere in this or other OSCAL instances. The locally defined UUID of the location can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - - - - - Location Reference - A machine-oriented identifier reference to a location defined in the metadata section of this or another OSCAL instance. The UUID of the location in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). - - - Location Reference: A machine-oriented identifier reference to a location defined in the metadata section of this or another OSCAL instance. The UUID of the location in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). - - - - - - - Party (organization or person) - A responsible entity which is either a person or an organization. - - - Party (organization or person): A responsible entity which is either a person or an organization. - - - - - - - Party Name - The full name of the party. This is typically the legal name associated with the party. - - - Party Name: The full name of the party. This is typically the legal name associated with the party. - - - - - - - - - Party Short Name - A short common name, abbreviation, or acronym for the party. - - - Party Short Name: A short common name, abbreviation, or acronym for the party. - - - - - + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + - Party External Identifier - An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID) + Role + Defines a function, which might be assigned to a party in a specific situation. - Party External Identifier: An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID) + Role: Defines a function, which might be assigned to a party in a specific situation. - - - + + + + + + Role Title + A name given to the role, which may be used by a tool for display and navigation. + + + Role Title: A name given to the role, which may be used by a tool for display and navigation. + + + + + + + + + + + Role Short Name + A short common name, abbreviation, or acronym for the role. + + + Role Short Name: A short common name, abbreviation, or acronym for the role. + + + + + + - External Identifier Schema - Indicates the type of external identifier. + Role Description + A summary of the role's purpose and associated responsibilities. - External Identifier Schema: Indicates the type of external identifier. + Role Description: A summary of the role's purpose and associated responsibilities. - - - + + + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Role Identifier + A unique identifier for the role. + + + Role Identifier: A unique identifier for the role. + + - - - - - - - - - - - - - Organizational Affiliation - A machine-oriented identifier reference to another party (person or organization) that this subject is associated with. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). - - - Organizational Affiliation: A machine-oriented identifier reference to another party (person or organization) that this subject is associated with. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). - - - - - - - - Remarks - Additional commentary on the containing object. - - - Remarks: Additional commentary on the containing object. - + - - - - - - - - Party Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined party elsewhere in this or other OSCAL instances. The locally defined UUID of the party can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - Party Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined party elsewhere in this or other OSCAL instances. The locally defined UUID of the party can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - - - - Party Type - A category describing the kind of party the object describes. - - - Party Type: A category describing the kind of party the object describes. - - - - - - - Party Reference - A machine-oriented identifier reference to another party defined in metadata. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). - - - Party Reference: A machine-oriented identifier reference to another party defined in metadata. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). - - - - - - - Role - Defines a function assumed or expected to be assumed by a party in a specific situation. - - - Role: Defines a function assumed or expected to be assumed by a party in a specific situation. - - - - - Role Title - A name given to the role, which may be used by a tool for display and navigation. + Location + A physical point of presence, which may be associated with people, organizations, or other concepts within the current or linked OSCAL document. - Role Title: A name given to the role, which may be used by a tool for display and navigation. + Location: A physical point of presence, which may be associated with people, organizations, or other concepts within the current or linked OSCAL document. - - - + + + + + + Location Title + A name given to the location, which may be used by a tool for display and navigation. + + + Location Title: A name given to the location, which may be used by a tool for display and navigation. + + + + + + + + + + + + + + Location URL + The uniform resource locator (URL) for a web site or other resource associated with the location. + + + Location URL: The uniform resource locator (URL) for a web site or other resource associated with the location. + + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Location Universally Unique Identifier + A unique ID for the location, for reference. + + + Location Universally Unique Identifier: A unique ID for the location, for reference. + + - - - - - Role Short Name - A short common name, abbreviation, or acronym for the role. - - - Role Short Name: A short common name, abbreviation, or acronym for the role. - - - - - + - Role Description - A summary of the role's purpose and associated responsibilities. + Party + An organization or person, which may be associated with roles or other concepts within the current or linked OSCAL document. - Role Description: A summary of the role's purpose and associated responsibilities. + Party: An organization or person, which may be associated with roles or other concepts within the current or linked OSCAL document. - - - + + + + + + Party Name + The full name of the party. This is typically the legal name associated with the party. + + + Party Name: The full name of the party. This is typically the legal name associated with the party. + + + + + + + + + Party Short Name + A short common name, abbreviation, or acronym for the party. + + + Party Short Name: A short common name, abbreviation, or acronym for the party. + + + + + + + + + Party External Identifier + An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID). + + + Party External Identifier: An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID). + + + + + + + External Identifier Schema + Indicates the type of external identifier. + + + External Identifier Schema: Indicates the type of external identifier. + + + + + + + + + + + + + + + + + + + Organizational Affiliation + A reference to another party by UUID, typically an organization, that this subject is associated with. + + + Organizational Affiliation: A reference to another party by UUID, typically an organization, that this subject is associated with. + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Party Universally Unique Identifier + A unique identifier for the party. + + + Party Universally Unique Identifier: A unique identifier for the party. + + + + + + Party Type + A category describing the kind of party the object describes. + + + Party Type: A category describing the kind of party the object describes. + + - - + + Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - - - - Role Identifier - A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined role elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, the locally defined ID of the Role from the imported OSCAL instance must be referenced in the context of the containing resource (e.g., import, import-component-definition, import-profile, import-ssp or import-ap). This ID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - Role Identifier: A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined role elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, the locally defined ID of the Role from the imported OSCAL instance must be referenced in the context of the containing resource (e.g., import, import-component-definition, import-profile, import-ssp or import-ap). This ID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - + + + + Location Universally Unique Identifier Reference + Reference to a location by UUID. + + + Location Universally Unique Identifier Reference: Reference to a location by UUID. + + + + + + + Party Universally Unique Identifier Reference + Reference to a party by UUID. + + + Party Universally Unique Identifier Reference: Reference to a party by UUID. + + + Role Identifier Reference - A human-oriented identifier reference to roles served by the user. + Reference to a role by UUID. - Role Identifier Reference: A human-oriented identifier reference to roles served by the user. + Role Identifier Reference: Reference to a role by UUID. - + Back matter - A collection of resources, which may be included directly or by reference. + A collection of resources that may be referenced from within the OSCAL document instance. - Back matter: A collection of resources, which may be included directly or by reference. + Back matter: A collection of resources that may be referenced from within the OSCAL document instance. @@ -658,10 +649,10 @@ Resource - A resource associated with content in the containing document. A resource may be directly included in the document base64 encoded or may point to one or more equivalent internet resources. + A resource associated with content in the containing document instance. A resource may be directly included in the document using base64 encoding or may point to one or more equivalent internet resources. - Resource: A resource associated with content in the containing document. A resource may be directly included in the document base64 encoded or may point to one or more equivalent internet resources. + Resource: A resource associated with content in the containing document instance. A resource may be directly included in the document using base64 encoding or may point to one or more equivalent internet resources. @@ -669,13 +660,13 @@ Resource Title - A name given to the resource, which may be used by a tool for display and navigation. + An optional name given to the resource, which may be used by a tool for display and navigation. - Resource Title: A name given to the resource, which may be used by a tool for display and navigation. + Resource Title: An optional name given to the resource, which may be used by a tool for display and navigation. - + @@ -684,33 +675,33 @@ Resource Description - A short summary of the resource used to indicate the purpose of the resource. + An optional short summary of the resource used to indicate the purpose of the resource. - Resource Description: A short summary of the resource used to indicate the purpose of the resource. + Resource Description: An optional short summary of the resource used to indicate the purpose of the resource. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-document-id-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> Citation - A citation consisting of end note text and optional structured bibliographic data. + An optional citation consisting of end note text using structured markup. - Citation: A citation consisting of end note text and optional structured bibliographic data. + Citation: An optional citation consisting of end note text using structured markup. @@ -724,18 +715,18 @@ Citation Text: A line of citation text. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -744,35 +735,35 @@ Resource link - A pointer to an external resource with an optional hash for verification and change detection. + A URL-based pointer to an external resource with an optional hash for verification and change detection. - Resource link: A pointer to an external resource with an optional hash for verification and change detection. + Resource link: A URL-based pointer to an external resource with an optional hash for verification and change detection. + type="oscal-metadata-hash-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> - + Hypertext Reference - A resolvable URI reference to a resource. + A resolvable URL pointing to the referenced resource. - Hypertext Reference: A resolvable URI reference to a resource. + Hypertext Reference: A resolvable URL pointing to the referenced resource. - + Media Type - Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + A label that indicates the nature of a resource, as a data serialization or format. - Media Type: Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + Media Type: A label that indicates the nature of a resource, as a data serialization or format. @@ -782,31 +773,31 @@ Base64 - The Base64 alphabet in RFC 2045 - aligned with XSD. + A resource encoded using the Base64 alphabet defined by RFC 2045. - Base64: The Base64 alphabet in RFC 2045 - aligned with XSD. + Base64: A resource encoded using the Base64 alphabet defined by RFC 2045. - - + + File Name - Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded. + Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded. File Name: Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded. - + Media Type - Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + A label that indicates the nature of a resource, as a data serialization or format. - Media Type: Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + Media Type: A label that indicates the nature of a resource, as a data serialization or format. @@ -817,26 +808,24 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Resource Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined resource elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A unique identifier for a resource. - Resource Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined resource elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Resource Universally Unique Identifier: A unique identifier for a resource. @@ -847,49 +836,47 @@ Property - An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values. + An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. - Property: An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values. + Property: An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Property Name - A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object. + A textual label, within a namespace, that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object. - Property Name: A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object. + Property Name: A textual label, within a namespace, that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object. - + Property Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A unique identifier for a property. - Property Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Property Universally Unique Identifier: A unique identifier for a property. - + Property Namespace @@ -899,7 +886,7 @@ Property Namespace: A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name. - + Property Value @@ -909,14 +896,24 @@ Property Value: Indicates the value of the attribute, characteristic, or quality. - + Property Class - A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns. + A textual label that provides a sub-type or characterization of the property's name. + + + Property Class: A textual label that provides a sub-type or characterization of the property's name. + + + + + + Property Group + An identifier for relating distinct sets of properties. - Property Class: A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns. + Property Group: An identifier for relating distinct sets of properties. @@ -924,10 +921,10 @@ Link - A reference to a local or remote resource + A reference to a local or remote resource, that has a specific relation to the containing object. - Link: A reference to a local or remote resource + Link: A reference to a local or remote resource, that has a specific relation to the containing object. @@ -941,12 +938,12 @@ Link Text: A textual label to associate with the link, which may be used for presentation in a tool. - + - + Hypertext Reference @@ -956,24 +953,34 @@ Hypertext Reference: A resolvable URL reference to a resource. - + - Relation - Describes the type of relationship provided by the link. This can be an indicator of the link's purpose. + Link Relation Type + Describes the type of relationship provided by the link's hypertext reference. This can be an indicator of the link's purpose. - Relation: Describes the type of relationship provided by the link. This can be an indicator of the link's purpose. + Link Relation Type: Describes the type of relationship provided by the link's hypertext reference. This can be an indicator of the link's purpose. - + Media Type - Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + A label that indicates the nature of a resource, as a data serialization or format. + + + Media Type: A label that indicates the nature of a resource, as a data serialization or format. + + + + + + Resource Fragment + In case where the href points to a back-matter/resource, this value will indicate the URI fragment to append to any rlink associated with the resource. This value MUST be URI encoded. - Media Type: Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + Resource Fragment: In case where the href points to a back-matter/resource, this value will indicate the URI fragment to append to any rlink associated with the resource. This value MUST be URI encoded. @@ -981,48 +988,123 @@ Responsible Party - A reference to a set of organizations or persons that have responsibility for performing a referenced role in the context of the containing object. + A reference to a set of persons and/or organizations that have responsibility for performing the referenced role in the context of the containing object. - Responsible Party: A reference to a set of organizations or persons that have responsibility for performing a referenced role in the context of the containing object. + Responsible Party: A reference to a set of persons and/or organizations that have responsibility for performing the referenced role in the context of the containing object. + type="oscal-metadata-party-uuid-FIELD" + minOccurs="1" + maxOccurs="unbounded"/> + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Responsible Role - A human-oriented identifier reference to roles served by the user. + A reference to a role performed by a party. + + + Responsible Role: A reference to a role performed by a party. + + + + + + + Action + An action applied by a role within a given party to the content. + + + Action: An action applied by a role within a given party to the content. + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Action Universally Unique Identifier + A unique identifier that can be used to reference this defined action elsewhere in an OSCAL document. A UUID should be consistently used for a given location across revisions of the document. + + + Action Universally Unique Identifier: A unique identifier that can be used to reference this defined action elsewhere in an OSCAL document. A UUID should be consistently used for a given location across revisions of the document. + + + + + + Action Occurrence Date + The date and time when the action occurred. + + + Action Occurrence Date: The date and time when the action occurred. + + + + + + Action Type + The type of action documented by the assembly, such as an approval. + + + Action Type: The type of action documented by the assembly, such as an approval. + + + + + + Action Type System + Specifies the action type system used. - Responsible Role: A human-oriented identifier reference to roles served by the user. + Action Type System: Specifies the action type system used. @@ -1030,48 +1112,46 @@ Responsible Role - A reference to one or more roles with responsibility for performing a function relative to the containing object. + A reference to a role with responsibility for performing a function relative to the containing object, optionally associated with a set of persons and/or organizations that perform that role. - Responsible Role: A reference to one or more roles with responsibility for performing a function relative to the containing object. + Responsible Role: A reference to a role with responsibility for performing a function relative to the containing object, optionally associated with a set of persons and/or organizations that perform that role. + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-party-uuid-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Responsible Role ID - A human-oriented identifier reference to roles responsible for the business function. + A human-oriented identifier reference to a role performed. - Responsible Role ID: A human-oriented identifier reference to roles responsible for the business function. + Responsible Role ID: A human-oriented identifier reference to a role performed. @@ -1085,15 +1165,15 @@ Hash: A representation of a cryptographic digest generated over a resource using a specified hash algorithm. - - + + Hash algorithm - Method by which a hash is derived + The digest method by which a hash is derived. - Hash algorithm: Method by which a hash is derived + Hash algorithm: The digest method by which a hash is derived. @@ -1103,82 +1183,82 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + Publication Timestamp - The date and time the document was published. The date-time value must be formatted according to RFC 3339 with full time and time zone included. + The date and time the document was last made available. - Publication Timestamp: The date and time the document was published. The date-time value must be formatted according to RFC 3339 with full time and time zone included. + Publication Timestamp: The date and time the document was last made available. - + Last Modified Timestamp - The date and time the document was last modified. The date-time value must be formatted according to RFC 3339 with full time and time zone included. + The date and time the document was last stored for later retrieval. - Last Modified Timestamp: The date and time the document was last modified. The date-time value must be formatted according to RFC 3339 with full time and time zone included. + Last Modified Timestamp: The date and time the document was last stored for later retrieval. - + Document Version - A string used to distinguish the current version of the document from other previous (and future) versions. + Used to distinguish a specific revision of an OSCAL document from other previous and future versions. - Document Version: A string used to distinguish the current version of the document from other previous (and future) versions. + Document Version: Used to distinguish a specific revision of an OSCAL document from other previous and future versions. - + - OSCAL version - The OSCAL model version the document was authored against. + OSCAL Version + The OSCAL model version the document was authored against and will conform to as valid. - OSCAL version: The OSCAL model version the document was authored against. + OSCAL Version: The OSCAL model version the document was authored against and will conform to as valid. - + Email Address - An email address as defined by RFC 5322 Section 3.4.1. + An email address as defined by RFC 5322 Section 3.4.1. - Email Address: An email address as defined by RFC 5322 Section 3.4.1. + Email Address: An email address as defined by RFC 5322 Section 3.4.1. - + Telephone Number - Contact number by telephone. + A telephone service number as defined by ITU-T E.164. - Telephone Number: Contact number by telephone. + Telephone Number: A telephone service number as defined by ITU-T E.164. - - + + type flag @@ -1202,9 +1282,9 @@ + type="oscal-metadata-addr-line-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> @@ -1215,7 +1295,7 @@ City: City, town or geographical region for the mailing address. - + @@ -1223,12 +1303,12 @@ State - State, province or analogous geographical region for mailing address + State, province or analogous geographical region for a mailing address. - State: State, province or analogous geographical region for mailing address + State: State, province or analogous geographical region for a mailing address. - + @@ -1236,12 +1316,12 @@ Postal Code - Postal or ZIP code for mailing address + Postal or ZIP code for mailing address. - Postal Code: Postal or ZIP code for mailing address + Postal Code: Postal or ZIP code for mailing address. - + @@ -1254,11 +1334,11 @@ Country Code: The ISO 3166-1 alpha-2 country code for the mailing address. - + - + Address Type @@ -1278,27 +1358,27 @@ Address line: A single line of an address. - + Document Identifier - A document identifier qualified by an identifier scheme. A document identifier provides a globally unique identifier with a cross-instance scope that is used for a group of documents that are to be treated as different versions of the same document. If this element does not appear, or if the value of this element is empty, the value of "document-id" is equal to the value of the "uuid" flag of the top-level root element. + A document identifier qualified by an identifier scheme. - Document Identifier: A document identifier qualified by an identifier scheme. A document identifier provides a globally unique identifier with a cross-instance scope that is used for a group of documents that are to be treated as different versions of the same document. If this element does not appear, or if the value of this element is empty, the value of "document-id" is equal to the value of the "uuid" flag of the top-level root element. + Document Identifier: A document identifier qualified by an identifier scheme. - - + + Document Identification Scheme - Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters. + Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters. - Document Identification Scheme: Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters. + Document Identification Scheme: Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters. @@ -1318,19 +1398,17 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + System Security Plan Reference @@ -1362,46 +1440,44 @@ Objective Description: A human-readable description of this control objective. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-part-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Control Identifier Reference - A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). + A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). - Control Identifier Reference: A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). + Control Identifier Reference: A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). @@ -1426,43 +1502,41 @@ Assessment Method Description: A human-readable description of this assessment method. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-assessment-part-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Assessment Method Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment method elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment method can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment method elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment method can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Assessment Method Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment method elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment method can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -1490,7 +1564,7 @@ Included Activity Title: The title for this included activity. - + @@ -1505,18 +1579,18 @@ Included Activity Description: A human-readable description of this included activity. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -1539,7 +1613,7 @@ Step Title: The title for this step. - + @@ -1554,47 +1628,45 @@ Step Description: A human-readable description of this step. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-reviewed-controls-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> + type="oscal-metadata-responsible-role-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Step Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this step elsewhere in this or other OSCAL instances. The locally defined UUID of the step (in a series of steps) can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this step elsewhere in this or other OSCAL instances. The locally defined UUID of the step (in a series of steps) can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Step Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this step elsewhere in this or other OSCAL instances. The locally defined UUID of the step (in a series of steps) can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -1603,34 +1675,32 @@ + type="oscal-assessment-common-reviewed-controls-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> + type="oscal-metadata-responsible-role-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Assessment Activity Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment activity elsewhere in this or other OSCAL instances. The locally defined UUID of the activity can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment activity elsewhere in this or other OSCAL instances. The locally defined UUID of the activity can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Assessment Activity Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment activity elsewhere in this or other OSCAL instances. The locally defined UUID of the activity can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -1658,7 +1728,7 @@ Task Title: The title for this task. - + @@ -1673,18 +1743,18 @@ Task Description: A human-readable description of this task. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -1707,7 +1777,7 @@ On Date Condition: The task is intended to occur on the specified date. - + On Date Condition @@ -1729,7 +1799,7 @@ On Date Range Condition: The task is intended to occur within the specified date range. - + Start Date Condition @@ -1739,7 +1809,7 @@ Start Date Condition: The task must occur on or after the specified date. - + End Date Condition @@ -1761,7 +1831,7 @@ Frequency Condition: The task is intended to occur at the specified frequency. - + Period @@ -1771,7 +1841,7 @@ Period: The task must occur after the specified period has elapsed. - + Time Unit @@ -1802,23 +1872,21 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Task Universally Unique Identifier Reference - A machine-oriented identifier reference to a unique task. + A machine-oriented identifier reference to a unique task. Task Universally Unique Identifier Reference: A machine-oriented identifier reference to a unique task. @@ -1827,9 +1895,9 @@ + type="oscal-assessment-common-task-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -1842,42 +1910,40 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-role-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-assessment-subject-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Activity Universally Unique Identifier Reference - A machine-oriented identifier reference to an activity defined in the list of activities. + A machine-oriented identifier reference to an activity defined in the list of activities. Activity Universally Unique Identifier Reference: A machine-oriented identifier reference to an activity defined in the list of activities. @@ -1886,40 +1952,38 @@ + type="oscal-assessment-common-assessment-subject-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-role-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Task Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this task elsewhere in this or other OSCAL instances. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this task elsewhere in this or other OSCAL instances. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Task Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this task elsewhere in this or other OSCAL instances. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - + Task Type @@ -1951,18 +2015,18 @@ Control Objective Description: A human-readable description of control objectives. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -1985,53 +2049,51 @@ Assessed Controls Description: A human-readable description of in-scope controls specified for assessment. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-include-all-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-assessment-common-select-control-by-id-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> + type="oscal-assessment-common-select-control-by-id-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + + minOccurs="0" + maxOccurs="unbounded"> @@ -2053,45 +2115,43 @@ Control Objectives Description: A human-readable description of this collection of control objectives. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-include-all-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-assessment-common-select-objective-by-id-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> + type="oscal-assessment-common-select-objective-by-id-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + @@ -2101,15 +2161,13 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + @@ -2134,18 +2192,18 @@ Include Specific Statements: Used to constrain the selection to only specificity identified statements. - + - + Control Identifier Reference - A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). + A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). - Control Identifier Reference: A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). + Control Identifier Reference: A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). @@ -2158,7 +2216,7 @@ Select Objective: Used to select a control objective for inclusion/exclusion based on the control objective's identifier. - + Objective ID @@ -2190,7 +2248,7 @@ Assessment Subject Placeholder Description: A human-readable description of intent of this assessment subject placeholder. - + @@ -2204,11 +2262,11 @@ Assessment Subject Source: Assessment subjects will be identified while conducting the referenced activity-instance. - + Task Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference (in this or other OSCAL instances) an assessment activity to be performed as part of the event. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference (in this or other OSCAL instances) an assessment activity to be performed as part of the event. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Task Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference (in this or other OSCAL instances) an assessment activity to be performed as part of the event. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -2217,34 +2275,32 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Assessment Subject Placeholder Universally Unique Identifier - A machine-oriented, globally unique identifier for a set of assessment subjects that will be identified by a task or an activity that is part of a task. The locally defined UUID of the assessment subject placeholder can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier for a set of assessment subjects that will be identified by a task or an activity that is part of a task. The locally defined UUID of the assessment subject placeholder can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Assessment Subject Placeholder Universally Unique Identifier: A machine-oriented, globally unique identifier for a set of assessment subjects that will be identified by a task or an activity that is part of a task. The locally defined UUID of the assessment subject placeholder can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -2272,49 +2328,47 @@ Include Subjects Description: A human-readable description of the collection of subjects being included in this assessment. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-include-all-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-assessment-common-select-subject-by-id-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> + type="oscal-assessment-common-select-subject-by-id-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Subject Type @@ -2336,44 +2390,42 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Subject Universally Unique Identifier Reference - A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID. + A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID. Subject Universally Unique Identifier Reference: A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID. - + Subject Universally Unique Identifier Reference Type - Used to indicate the type of object pointed to by the uuid-ref within a subject. + Used to indicate the type of object pointed to by the uuid-ref within a subject. Subject Universally Unique Identifier Reference Type: Used to indicate the type of object pointed to by the uuid-ref within a subject. @@ -2384,7 +2436,7 @@ Identifies the Subject - A human-oriented identifier reference to a resource. Use type to indicate whether the identified resource is a component, inventory item, location, user, or something else. + A human-oriented identifier reference to a resource. Use type to indicate whether the identified resource is a component, inventory item, location, user, or something else. Identifies the Subject: A human-oriented identifier reference to a resource. Use type to indicate whether the identified resource is a component, inventory item, location, user, or something else. @@ -2401,49 +2453,47 @@ Subject Reference Title: The title or name for the referenced subject. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Subject Universally Unique Identifier Reference - A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID. + A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID. Subject Universally Unique Identifier Reference: A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID. - + Subject Universally Unique Identifier Reference Type - Used to indicate the type of object pointed to by the uuid-ref within a subject. + Used to indicate the type of object pointed to by the uuid-ref within a subject. Subject Universally Unique Identifier Reference Type: Used to indicate the type of object pointed to by the uuid-ref within a subject. @@ -2461,9 +2511,9 @@ + type="oscal-implementation-common-system-component-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -2486,18 +2536,18 @@ Assessment Platform Title: The title or name for the assessment platform. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -2510,38 +2560,36 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-party-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Component Universally Unique Identifier Reference - A machine-oriented identifier reference to a component that is implemented as part of an inventory item. + A machine-oriented identifier reference to a component that is implemented as part of an inventory item. Component Universally Unique Identifier Reference: A machine-oriented identifier reference to a component that is implemented as part of an inventory item. @@ -2553,23 +2601,21 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Assessment Platform Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment platform elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment platform can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment platform elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment platform can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Assessment Platform Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment platform elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment platform can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -2600,7 +2646,7 @@ Objective Status Title: The title for this objective status. - + @@ -2615,18 +2661,18 @@ Objective Status Description: A human-readable description of the assessor's conclusions regarding the degree to which an objective is satisfied. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -2642,19 +2688,17 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Objective Status State @@ -2664,7 +2708,7 @@ Objective Status State: An indication as to whether the objective is satisfied or not. - + Objective Status Reason @@ -2677,26 +2721,24 @@ + type="oscal-implementation-common-implementation-status-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Finding Target Type @@ -2706,17 +2748,155 @@ Finding Target Type: Identifies the type of the target. - + Finding Target Identifier Reference - A machine-oriented identifier reference for a specific target qualified by the type. + A machine-oriented identifier reference for a specific target qualified by the type. Finding Target Identifier Reference: A machine-oriented identifier reference for a specific target qualified by the type. + + + + Finding + Describes an individual finding. + + + Finding: Describes an individual finding. + + + + + + + Finding Title + The title for this finding. + + + Finding Title: The title for this finding. + + + + + + + + + + + Finding Description + A human-readable description of this finding. + + + Finding Description: A human-readable description of this finding. + + + + + + + + + + + + + + + Implementation Statement UUID + A machine-oriented identifier reference to the implementation statement in the SSP to which this finding is related. + + + Implementation Statement UUID: A machine-oriented identifier reference to the implementation statement in the SSP to which this finding is related. + + + + + + + + + Related Observation + Relates the finding to a set of referenced observations that were used to determine the finding. + + + Related Observation: Relates the finding to a set of referenced observations that were used to determine the finding. + + + + + Observation Universally Unique Identifier Reference + A machine-oriented identifier reference to an observation defined in the list of observations. + + + Observation Universally Unique Identifier Reference: A machine-oriented identifier reference to an observation defined in the list of observations. + + + + + + + + + Associated Risk + Relates the finding to a set of referenced risks that were used to determine the finding. + + + Associated Risk: Relates the finding to a set of referenced risks that were used to determine the finding. + + + + + Risk Universally Unique Identifier Reference + A machine-oriented identifier reference to a risk defined in the list of risks. + + + Risk Universally Unique Identifier Reference: A machine-oriented identifier reference to a risk defined in the list of risks. + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Finding Universally Unique Identifier + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this finding in this or other OSCAL instances. The locally defined UUID of the finding can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + + + Finding Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this finding in this or other OSCAL instances. The locally defined UUID of the finding can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + + + @@ -2738,7 +2918,7 @@ Observation Title: The title for this observation. - + @@ -2753,18 +2933,18 @@ Observation Description: A human-readable description of this assessment observation. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -2775,7 +2955,7 @@ Observation Method: Identifies how the observation was made. - + @@ -2788,17 +2968,17 @@ Observation Type: Identifies the nature of the observation. More than one may be used to further qualify and enable filtering. - + + type="oscal-assessment-common-origin-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-subject-reference-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -2821,35 +3001,33 @@ Relevant Evidence Description: A human-readable description of this evidence. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Relevant Evidence Reference @@ -2871,7 +3049,7 @@ Collected Field: Date/time stamp identifying when the finding information was collected. - + @@ -2884,30 +3062,28 @@ Expires Field: Date/time identifying when the finding information is out-of-date and no longer valid. Typically used with continuous assessment scenarios. - + Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Observation Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this observation elsewhere in this or other OSCAL instances. The locally defined UUID of the observation can be used to reference the data item locally or globally (e.g., in an imorted OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this observation elsewhere in this or other OSCAL instances. The locally defined UUID of the observation can be used to reference the data item locally or globally (e.g., in an imorted OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Observation Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this observation elsewhere in this or other OSCAL instances. The locally defined UUID of the observation can be used to reference the data item locally or globally (e.g., in an imorted OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -2925,13 +3101,13 @@ + type="oscal-assessment-common-origin-actor-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> + type="oscal-assessment-common-related-task-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -2945,15 +3121,15 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - + Actor Type @@ -2963,17 +3139,17 @@ Actor Type: The kind of actor. - + Actor Universally Unique Identifier Reference - A machine-oriented identifier reference to the tool or person based on the associated type. + A machine-oriented identifier reference to the tool or person based on the associated type. Actor Universally Unique Identifier Reference: A machine-oriented identifier reference to the tool or person based on the associated type. - + Actor Role @@ -2995,21 +3171,21 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-party-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-assessment-subject-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -3022,15 +3198,15 @@ + type="oscal-assessment-common-assessment-subject-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> - + Assessment Subject Placeholder Universally Unique Identifier Reference - A machine-oriented identifier reference to a unique assessment subject placeholder defined by this task. + A machine-oriented identifier reference to a unique assessment subject placeholder defined by this task. Assessment Subject Placeholder Universally Unique Identifier Reference: A machine-oriented identifier reference to a unique assessment subject placeholder defined by this task. @@ -3042,23 +3218,21 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Task Universally Unique Identifier Reference - A machine-oriented identifier reference to a unique task. + A machine-oriented identifier reference to a unique task. Task Universally Unique Identifier Reference: A machine-oriented identifier reference to a unique task. @@ -3075,8 +3249,8 @@ Threat ID: A pointer, by ID, to an externally-defined threat. - - + + Threat Type Identification System @@ -3086,7 +3260,7 @@ Threat Type Identification System: Specifies the source of the threat information. - + Threat Information Resource Reference @@ -3120,7 +3294,7 @@ Risk Title: The title for this risk. - + @@ -3135,7 +3309,7 @@ Risk Description: A human-readable summary of the identified risk, to include a statement of how the risk impacts the system. - + @@ -3150,34 +3324,34 @@ Risk Statement: An summary of impact for how the risk affects the system. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-risk-status-FIELD" + minOccurs="1" + maxOccurs="1"/> + type="oscal-assessment-common-origin-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-threat-id-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-characterization-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -3200,38 +3374,38 @@ Mitigating Factor Description: A human-readable description of this mitigating factor. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-subject-reference-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - + Mitigating Factor Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this mitigating factor elsewhere in this or other OSCAL instances. The locally defined UUID of the mitigating factor can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this mitigating factor elsewhere in this or other OSCAL instances. The locally defined UUID of the mitigating factor can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Mitigating Factor Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this mitigating factor elsewhere in this or other OSCAL instances. The locally defined UUID of the mitigating factor can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - + Implementation UUID - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this implementation statement elsewhere in this or other OSCAL instancess. The locally defined UUID of the implementation statement can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this implementation statement elsewhere in this or other OSCAL instancess. The locally defined UUID of the implementation statement can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Implementation UUID: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this implementation statement elsewhere in this or other OSCAL instancess. The locally defined UUID of the implementation statement can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -3249,13 +3423,13 @@ Risk Resolution Deadline: The date/time by which the risk must be resolved. - + + type="oscal-assessment-common-response-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -3289,7 +3463,7 @@ Title: The title for this risk log entry. - + @@ -3304,7 +3478,7 @@ Risk Task Description: A human-readable description of what was done regarding the risk. - + @@ -3318,7 +3492,7 @@ Start: Identifies the start date and time of the event. - + @@ -3331,25 +3505,25 @@ End: Identifies the end date and time of the event. If the event is a point in time, the start and end will be the same date and time. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-logged-by-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-risk-status-FIELD" + minOccurs="0" + maxOccurs="1"/> @@ -3362,38 +3536,36 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-related-task-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Response Universally Unique Identifier Reference - A machine-oriented identifier reference to a unique risk response. + A machine-oriented identifier reference to a unique risk response. Response Universally Unique Identifier Reference: A machine-oriented identifier reference to a unique risk response. @@ -3405,23 +3577,21 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Risk Log Entry Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk log entry elsewhere in this or other OSCAL instances. The locally defined UUID of the risk log entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk log entry elsewhere in this or other OSCAL instances. The locally defined UUID of the risk log entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Risk Log Entry Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk log entry elsewhere in this or other OSCAL instances. The locally defined UUID of the risk log entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -3442,11 +3612,11 @@ Related Observation: Relates the finding to a set of referenced observations that were used to determine the finding. - + Observation Universally Unique Identifier Reference - A machine-oriented identifier reference to an observation defined in the list of observations. + A machine-oriented identifier reference to an observation defined in the list of observations. Observation Universally Unique Identifier Reference: A machine-oriented identifier reference to an observation defined in the list of observations. @@ -3455,11 +3625,11 @@ - + Risk Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk elsewhere in this or other OSCAL instances. The locally defined UUID of the risk can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk elsewhere in this or other OSCAL instances. The locally defined UUID of the risk can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Risk Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk elsewhere in this or other OSCAL instances. The locally defined UUID of the risk can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -3475,17 +3645,17 @@ Logged By: Used to indicate who created a log entry in what role. - + Party UUID Reference - A machine-oriented identifier reference to the party who is making the log entry. + A machine-oriented identifier reference to the party who is making the log entry. Party UUID Reference: A machine-oriented identifier reference to the party who is making the log entry. - + Actor Role @@ -3505,7 +3675,7 @@ Risk Status: Describes the status of the associated risk. - + @@ -3518,17 +3688,17 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-origin-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> @@ -3541,30 +3711,28 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Facet Name @@ -3574,7 +3742,7 @@ Facet Name: The name of the risk metric within the specified system. - + Naming System @@ -3584,7 +3752,7 @@ Naming System: Specifies the naming system under which this risk metric is organized, which allows for the same names to be used in different systems controlled by different parties. This avoids the potential of a name clash. - + Facet Value @@ -3619,7 +3787,7 @@ Response Title: The title for this response activity. - + @@ -3634,22 +3802,22 @@ Response Description: A human-readable description of this response plan. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-origin-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -3662,9 +3830,9 @@ + type="oscal-assessment-common-subject-reference-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -3676,7 +3844,7 @@ Title for Required Asset: The title for this required asset. - + @@ -3691,39 +3859,37 @@ Description of Required Asset: A human-readable description of this required asset. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Required Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this required asset elsewhere in this or other OSCAL instances. The locally defined UUID of the asset can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this required asset elsewhere in this or other OSCAL instances. The locally defined UUID of the asset can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Required Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this required asset elsewhere in this or other OSCAL instances. The locally defined UUID of the asset can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -3732,36 +3898,34 @@ + type="oscal-assessment-common-task-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Remediation Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this remediation elsewhere in this or other OSCAL instances. The locally defined UUID of the risk response can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this remediation elsewhere in this or other OSCAL instances. The locally defined UUID of the risk response can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Remediation Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this remediation elsewhere in this or other OSCAL instances. The locally defined UUID of the risk response can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - + Remediation Intent @@ -3793,37 +3957,35 @@ Part Title: A name given to the part, which may be used by a tool for display and navigation. - + - + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + + type="oscal-assessment-common-assessment-part-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - + Part Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this part elsewhere in this or other OSCAL instances. The locally defined UUID of the part can be used to reference the data item locally or globally (e.g., in an ported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this part elsewhere in this or other OSCAL instances. The locally defined UUID of the part can be used to reference the data item locally or globally (e.g., in an ported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Part Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this part elsewhere in this or other OSCAL instances. The locally defined UUID of the part can be used to reference the data item locally or globally (e.g., in an ported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - + Part Name @@ -3833,7 +3995,7 @@ Part Name: A textual label that uniquely identifies the part's semantic type. - + Part Namespace @@ -3843,25 +4005,25 @@ Part Namespace: A namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name. - + Part Class - A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns. + A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns. Part Class: A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns. - + Part - A partition of a control's definition or a child of another part. + An annotated, markup-based textual element of a control's or catalog group's definition, or a child of another part. - Part: A partition of a control's definition or a child of another part. + Part: An annotated, markup-based textual element of a control's or catalog group's definition, or a child of another part. @@ -3869,74 +4031,72 @@ Part Title - A name given to the part, which may be used by a tool for display and navigation. + An optional name given to the part, which may be used by a tool for display and navigation. - Part Title: A name given to the part, which may be used by a tool for display and navigation. + Part Title: An optional name given to the part, which may be used by a tool for display and navigation. - + - + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + + type="oscal-control-common-part-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - + Part Identifier - A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined part elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A unique identifier for the part. - Part Identifier: A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined part elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Part Identifier: A unique identifier for the part. - + Part Name - A textual label that uniquely identifies the part's semantic type. + A textual label that uniquely identifies the part's semantic type, which exists in a value space qualified by the ns. - Part Name: A textual label that uniquely identifies the part's semantic type. + Part Name: A textual label that uniquely identifies the part's semantic type, which exists in a value space qualified by the ns. - + Part Namespace - A namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name. + An optional namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name. - Part Namespace: A namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name. + Part Namespace: An optional namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name. - + Part Class - A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns. + An optional textual providing a sub-type or characterization of the part's name, or a category to which the part belongs. - Part Class: A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns. + Part Class: An optional textual providing a sub-type or characterization of the part's name, or a category to which the part belongs. - + Parameter @@ -3947,25 +4107,25 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Parameter Label - A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned. + A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned. Parameter Label: A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned. - + @@ -3974,89 +4134,88 @@ Parameter Usage Description - Describes the purpose and use of a parameter + Describes the purpose and use of a parameter. - Parameter Usage Description: Describes the purpose and use of a parameter + Parameter Usage Description: Describes the purpose and use of a parameter. - + + type="oscal-control-common-parameter-constraint-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-parameter-guideline-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-parameter-value-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-parameter-selection-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Parameter Identifier - A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined parameter elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A unique identifier for the parameter. - Parameter Identifier: A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined parameter elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Parameter Identifier: A unique identifier for the parameter. - + Parameter Class - A textual label that provides a characterization of the parameter. + A textual label that provides a characterization of the type, purpose, use or scope of the parameter. - Parameter Class: A textual label that provides a characterization of the parameter. + Parameter Class: A textual label that provides a characterization of the type, purpose, use or scope of the parameter. - + Depends on - **(deprecated)** Another parameter invoking this one. This construct has been deprecated and should not be used. + + (deprecated) Another parameter invoking this one. This construct has been deprecated and should not be used. - Depends on: **(deprecated)** Another parameter invoking this one. This construct has been deprecated and should not be used. + Depends on: (deprecated) Another parameter invoking this one. This construct has been deprecated and should not be used. - + Constraint - A formal or informal expression of a constraint or test + A formal or informal expression of a constraint or test. - Constraint: A formal or informal expression of a constraint or test + Constraint: A formal or informal expression of a constraint or test. @@ -4070,7 +4229,7 @@ Constraint Description: A textual summary of the constraint to be applied. - + @@ -4090,27 +4249,25 @@ Constraint test - A formal (executable) expression of a constraint + A formal (executable) expression of a constraint. - Constraint test: A formal (executable) expression of a constraint + Constraint test: A formal (executable) expression of a constraint. - + Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + @@ -4118,7 +4275,7 @@ - + Guideline @@ -4128,12 +4285,10 @@ Guideline: A prose statement that provides a recommendation for the use of a parameter. - + - + Parameter Value @@ -4142,16 +4297,16 @@ Parameter Value: A parameter value or set of values. - + - + Selection - Presenting a choice among alternatives + Presenting a choice among alternatives. - Selection: Presenting a choice among alternatives + Selection: Presenting a choice among alternatives. @@ -4159,18 +4314,18 @@ Choice - A value selection among several such options + A value selection among several such options. - Choice: A value selection among several such options + Choice: A value selection among several such options. - + - + Parameter Cardinality @@ -4181,7 +4336,7 @@ - + Include All @@ -4212,7 +4367,7 @@ Component Title: A human readable name for the system component. - + @@ -4227,7 +4382,7 @@ Component Description: A description of the component, including information about its function. - + @@ -4242,18 +4397,18 @@ Purpose: A summary of the technological or business purpose of the component. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -4269,19 +4424,17 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + State @@ -4294,40 +4447,38 @@ + type="oscal-metadata-responsible-role-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-implementation-common-protocol-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Component Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component elsewhere in this or other OSCAL instances. The locally defined UUID of the component can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component elsewhere in this or other OSCAL instances. The locally defined UUID of the component can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Component Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component elsewhere in this or other OSCAL instances. The locally defined UUID of the component can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - + Component Type @@ -4359,30 +4510,30 @@ Protocol Title: A human readable name for the protocol (e.g., Transport Layer Security). - + + type="oscal-implementation-common-port-range-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - + Service Protocol Information Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this service protocol information elsewhere in this or other OSCAL instances. The locally defined UUID of the service protocol can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this service protocol information elsewhere in this or other OSCAL instances. The locally defined UUID of the service protocol can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Service Protocol Information Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this service protocol information elsewhere in this or other OSCAL instances. The locally defined UUID of the service protocol can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - + Protocol Name - The common name of the protocol, which should be the appropriate "service name" from the IANA Service Name and Transport Protocol Port Number Registry. + The common name of the protocol, which should be the appropriate "service name" from the IANA Service Name and Transport Protocol Port Number Registry. Protocol Name: The common name of the protocol, which should be the appropriate "service name" from the IANA Service Name and Transport Protocol Port Number Registry. @@ -4398,7 +4549,7 @@ Port Range: Where applicable this is the IPv4 port range on which the service operates. - + Start @@ -4408,7 +4559,7 @@ Start: Indicates the starting port number in a port range - + End @@ -4418,7 +4569,7 @@ End: Indicates the ending port number in a port range - + Transport @@ -4443,19 +4594,17 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Implementation State @@ -4487,7 +4636,7 @@ User Title: A name given to the user, which may be used by a tool for display and navigation. - + @@ -4501,7 +4650,7 @@ User Short Name: A short common name, abbreviation, or acronym for the user. - + @@ -4515,47 +4664,45 @@ User Description: A summary of the user's purpose within the system. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-role-id-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-implementation-common-authorized-privilege-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + User Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this user class elsewhere in this or other OSCAL instances. The locally defined UUID of the system user can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this user class elsewhere in this or other OSCAL instances. The locally defined UUID of the system user can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. User Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this user class elsewhere in this or other OSCAL instances. The locally defined UUID of the system user can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -4583,7 +4730,7 @@ Privilege Title: A human readable name for the privilege. - + @@ -4598,14 +4745,14 @@ Privilege Description: A summary of the privilege's purpose within the system. - + + type="oscal-implementation-common-function-performed-FIELD" + minOccurs="1" + maxOccurs="unbounded"/> @@ -4617,7 +4764,7 @@ Functions Performed: Describes a function performed for a given authorized privilege by this user class. - + @@ -4640,22 +4787,22 @@ Inventory Item Description: A summary of the inventory item stating its purpose within the system. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-party-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -4668,38 +4815,36 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-party-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Component Universally Unique Identifier Reference - A machine-oriented identifier reference to a component that is implemented as part of an inventory item. + A machine-oriented identifier reference to a component that is implemented as part of an inventory item. Component Universally Unique Identifier Reference: A machine-oriented identifier reference to a component that is implemented as part of an inventory item. @@ -4711,23 +4856,21 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Inventory Item Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inventory item elsewhere in this or other OSCAL instances. The locally defined UUID of the inventory item can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inventory item elsewhere in this or other OSCAL instances. The locally defined UUID of the inventory item can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Inventory Item Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inventory item elsewhere in this or other OSCAL instances. The locally defined UUID of the inventory item can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -4754,30 +4897,28 @@ Parameter Value: A parameter value or set of values. - + Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Parameter ID - A human-oriented reference to a parameter within a control, who's catalog has been imported into the current implementation context. + A human-oriented reference to a parameter within a control, who's catalog has been imported into the current implementation context. Parameter ID: A human-oriented reference to a parameter within a control, who's catalog has been imported into the current implementation context. @@ -4788,14 +4929,14 @@ System Identification - A human-oriented, globally unique identifier with cross-instance scope that can be used to reference this system identification property elsewhere in this or other OSCAL instances. When referencing an externally defined system identification, the system identification must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). This string should be assigned per-subject, which means it should be consistently used to identify the same system across revisions of the document. + A human-oriented, globally unique identifier with cross-instance scope that can be used to reference this system identification property elsewhere in this or other OSCAL instances. When referencing an externally defined system identification, the system identification must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). This string should be assigned per-subject, which means it should be consistently used to identify the same system across revisions of the document. System Identification: A human-oriented, globally unique identifier with cross-instance scope that can be used to reference this system identification property elsewhere in this or other OSCAL instances. When referencing an externally defined system identification, the system identification must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). This string should be assigned per-subject, which means it should be consistently used to identify the same system across revisions of the document. - - + + Identification System Type @@ -4808,55 +4949,33 @@ - - - - - + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - The content model is the same as blockElementType, but line endings need - to be preserved, since this is preformatted. - - - - - + - The content model is the same as blockElementType, but line endings need + The content model is the same as inlineMarkupType, but line endings need to be preserved, since this is preformatted. @@ -4865,34 +4984,39 @@ + type="listItemType" + minOccurs="1" + maxOccurs="unbounded"/> + - - - + + + - + - - - - + + + + + - + - - + + + + + @@ -4901,49 +5025,49 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + - + + + + + + + + + + + + + + + + + + + + + + + - + + + - - An insert can be used to identify a placeholder for dynamically inserting text related to a specific object, which is referenced by the object's identifier using an id-ref. This insert mechanism allows the selection of which text value from the object to dynamically include based on the application's display requirements. + An insert can be used to identify a placeholder for dynamically inserting text related to a specific object, which is referenced by the object's identifier using an id-ref. This insert mechanism allows the selection of which text value from the object to dynamically include based on the application's display requirements. @@ -4952,103 +5076,38 @@ - The identity of the object to insert a value for. The identity will be selected from the index of objects of the specified type. The specific value to include is based on the application's display requirements, which will likely use a specific data element associated with the type (e.g., title, identifier, value, etc.) that is appropriate for the application. + The identity of the object to insert a value for. The identity will be selected from the index of objects of the specified type. The specific value to include is based on the application's display requirements, which will likely use a specific data element associated with the type (e.g., title, identifier, value, etc.) that is appropriate for the application. - - - - - A string, but not empty and not whitespace-only (whitespace is U+9, U+10, U+32 or [ \n\t]+ ) - - - - - - The xs:dateTime with a required timezone. - - - - - - An email address - - - - - - A URI - - - - - - A URI reference, such as a relative URL - - - - - - A Type 4 ('random' or 'pseudorandom' UUID per RFC 4122 - - - - - - A string token following the rules of XML "no colon" names, with no whitespace. (XML names are single alphabetic characters - followed by alphanumeric characters, periods, underscores or dashes.) - - - A trimmed string, at least one character with no - leading or trailing whitespace. + leading or trailing whitespace. - - - - - - - - The xs:date with a required timezone. - - - - - - + The xs:dateTime with a required timezone. - - + + An email address - + Need a better pattern. @@ -5056,32 +5115,14 @@ - - - A host name - - - - - - The ip-v4-address type specifies an IPv4 address in - dot decimal notation. - - - - - - - - The ip-v6-address type specifies an IPv6 address - represented in 8 hextets separated by colons. - This is based on the pattern provided here: - https://stackoverflow.com/questions/53497/regular-expression-that-matches-valid-ipv6-addresses - with some customizations. - - - - + + + + + A trimmed string, at least one character with no + leading or trailing whitespace. + + @@ -5089,7 +5130,7 @@ A trimmed string, at least one character with no - leading or trailing whitespace. + leading or trailing whitespace. @@ -5097,18 +5138,38 @@ A string, but not empty and not whitespace-only - (whitespace is U+9, U+10, U+32 or [ \n\t]+ ) + (whitespace is U+9, U+10, U+32 or [ \n\t]+ ) The OSCAL 'string' datatype restricts the XSD type by prohibiting leading - and trailing whitespace, and something (not only whitespace) is required. + and trailing whitespace, and something (not only whitespace) is required. A trimmed string, at least one character with no - leading or trailing whitespace. + leading or trailing whitespace. + + + + + + + + A string token following the rules of XML "no + colon" names, with no whitespace. (XML names are single alphabetic + characters followed by alphanumeric characters, periods, underscores or dashes.) + + + + + + + + A single token may not contain whitespace. + @@ -5128,13 +5189,13 @@ A URI reference, such as a relative URL - + A trimmed URI, at least one character with no - leading or trailing whitespace. + leading or trailing whitespace. @@ -5142,14 +5203,14 @@ A type 4 ('random' or 'pseudorandom') or type 5 UUID per RFC - 4122. + 4122. - + A sequence of 8-4-4-4-12 hex digits, with extra - constraints in the 13th and 17-18th places for version 4 and 5 - + constraints in the 13th and 17-18th places for version 4 and 5 + diff --git a/xml/schema/oscal_assessment-results_schema.xsd b/xml/schema/oscal_assessment-results_schema.xsd index 42c377f09..a55a734fd 100644 --- a/xml/schema/oscal_assessment-results_schema.xsd +++ b/xml/schema/oscal_assessment-results_schema.xsd @@ -1,11 +1,11 @@ - + OSCAL Assessment Results Model @@ -18,8 +18,7 @@ assessment-results - + @@ -31,13 +30,13 @@ + type="oscal-metadata-metadata-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-ar-import-ap-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> @@ -50,45 +49,43 @@ + type="oscal-assessment-common-local-objective-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-activity-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + + type="oscal-ar-result-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> + type="oscal-metadata-back-matter-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> - + Assessment Results Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment results instance in this or other OSCAL instances. The locally defined UUID of the assessment result can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment results instance in this or other OSCAL instances. The locally defined UUID of the assessment result can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Assessment Results Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment results instance in this or other OSCAL instances. The locally defined UUID of the assessment result can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -116,7 +113,7 @@ Results Title: The title for this set of results. - + @@ -131,7 +128,7 @@ Results Description: A human-readable description of this set of test results. - + @@ -145,7 +142,7 @@ start field: Date/time stamp identifying the start of the evidence collection reflected in these results. - + @@ -158,17 +155,17 @@ end field: Date/time stamp identifying the end of the evidence collection reflected in these results. In a continuous motoring scenario, this may contain the same value as start if appropriate. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -181,32 +178,32 @@ + type="oscal-implementation-common-system-component-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-implementation-common-inventory-item-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-implementation-common-system-user-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-assessment-assets-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> + type="oscal-assessment-common-task-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-reviewed-controls-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> @@ -219,13 +216,13 @@ + type="oscal-metadata-responsible-party-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-assessment-part-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> @@ -262,7 +259,7 @@ Action Title: The title for this event. - + @@ -277,7 +274,7 @@ Action Description: A human-readable description of this event. - + @@ -291,7 +288,7 @@ Start: Identifies the start date and time of an event. - + @@ -304,46 +301,44 @@ End: Identifies the end date and time of an event. If the event is a point in time, the start and end will be the same date and time. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-logged-by-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-related-task-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Assessment Log Entry Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference an assessment event in this or other OSCAL instances. The locally defined UUID of the assessment log entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference an assessment event in this or other OSCAL instances. The locally defined UUID of the assessment log entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Assessment Log Entry Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference an assessment event in this or other OSCAL instances. The locally defined UUID of the assessment log entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -355,184 +350,42 @@ + type="oscal-assessment-common-observation-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-risk-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-finding-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Results Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this set of results in this or other OSCAL instances. The locally defined UUID of the assessment result can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this set of results in this or other OSCAL instances. The locally defined UUID of the assessment result can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Results Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this set of results in this or other OSCAL instances. The locally defined UUID of the assessment result can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - - Finding - Describes an individual finding. - - - Finding: Describes an individual finding. - - - - - - - Finding Title - The title for this finding. - - - Finding Title: The title for this finding. - - - - - - - - - - - Finding Description - A human-readable description of this finding. - - - Finding Description: A human-readable description of this finding. - - - - - - - - - - - - - - - Implementation Statement UUID - A machine-oriented identifier reference to the implementation statement in the SSP to which this finding is related. - - - Implementation Statement UUID: A machine-oriented identifier reference to the implementation statement in the SSP to which this finding is related. - - - - - - - - - Related Observation - Relates the finding to a set of referenced observations that were used to determine the finding. - - - Related Observation: Relates the finding to a set of referenced observations that were used to determine the finding. - - - - - Observation Universally Unique Identifier Reference - A machine-oriented identifier reference to an observation defined in the list of observations. - - - Observation Universally Unique Identifier Reference: A machine-oriented identifier reference to an observation defined in the list of observations. - - - - - - - - - Associated Risk - Relates the finding to a set of referenced risks that were used to determine the finding. - - - Associated Risk: Relates the finding to a set of referenced risks that were used to determine the finding. - - - - - Risk Universally Unique Identifier Reference - A machine-oriented identifier reference to a risk defined in the list of risks. - - - Risk Universally Unique Identifier Reference: A machine-oriented identifier reference to a risk defined in the list of risks. - - - - - - - - Remarks - Additional commentary on the containing object. - - - Remarks: Additional commentary on the containing object. - - - - - - - - - - Finding Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this finding in this or other OSCAL instances. The locally defined UUID of the finding can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - Finding Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this finding in this or other OSCAL instances. The locally defined UUID of the finding can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - @@ -547,19 +400,17 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Assessment Plan Reference @@ -573,11 +424,11 @@ - Publication metadata - Provides information about the publication and availability of the containing document. + Document Metadata + Provides information about the containing document, and defines concepts that are shared across the document. - Publication metadata: Provides information about the publication and availability of the containing document. + Document Metadata: Provides information about the containing document, and defines concepts that are shared across the document. @@ -591,499 +442,493 @@ Document Title: A name given to the document, which may be used by a tool for display and navigation. - + + type="oscal-metadata-published-FIELD" + minOccurs="0" + maxOccurs="1"/> + type="oscal-metadata-last-modified-FIELD" + minOccurs="1" + maxOccurs="1"/> + type="oscal-metadata-version-FIELD" + minOccurs="1" + maxOccurs="1"/> + type="oscal-metadata-oscal-version-FIELD" + minOccurs="1" + maxOccurs="1"/> - - - - - - - - - - - - - - - Remarks - Additional commentary on the containing object. + revisions + A group of 'revision' elements - Remarks: Additional commentary on the containing object. + revisions: A group of 'revision' elements - - - - - - - - - Revision History Entry - An entry in a sequential list of revisions to the containing document in reverse chronological order (i.e., most recent previous revision first). - - - Revision History Entry: An entry in a sequential list of revisions to the containing document in reverse chronological order (i.e., most recent previous revision first). - - - - - - - Document Title - A name given to the document revision, which may be used by a tool for display and navigation. - - - Document Title: A name given to the document revision, which may be used by a tool for display and navigation. - - - - + + + + + + Revision History Entry + An entry in a sequential list of revisions to the containing document, expected to be in reverse chronological order (i.e. latest first). + + + Revision History Entry: An entry in a sequential list of revisions to the containing document, expected to be in reverse chronological order (i.e. latest first). + + + + + + + Document Title + A name given to the document revision, which may be used by a tool for display and navigation. + + + Document Title: A name given to the document revision, which may be used by a tool for display and navigation. + + + + + + + + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + - - - - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - - - - Remarks - Additional commentary on the containing object. - - - Remarks: Additional commentary on the containing object. - + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + - - - - - - - - - Location - A location, with associated metadata that can be referenced. - - - Location: A location, with associated metadata that can be referenced. - - - - - Location Title - A name given to the location, which may be used by a tool for display and navigation. + Role + Defines a function, which might be assigned to a party in a specific situation. - Location Title: A name given to the location, which may be used by a tool for display and navigation. + Role: Defines a function, which might be assigned to a party in a specific situation. - - - + + + + + + Role Title + A name given to the role, which may be used by a tool for display and navigation. + + + Role Title: A name given to the role, which may be used by a tool for display and navigation. + + + + + + + + + + + Role Short Name + A short common name, abbreviation, or acronym for the role. + + + Role Short Name: A short common name, abbreviation, or acronym for the role. + + + + + + + + + Role Description + A summary of the role's purpose and associated responsibilities. + + + Role Description: A summary of the role's purpose and associated responsibilities. + + + + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Role Identifier + A unique identifier for the role. + + + Role Identifier: A unique identifier for the role. + + - - - - - - - - Location URL - The uniform resource locator (URL) for a web site or Internet presence associated with the location. - - - Location URL: The uniform resource locator (URL) for a web site or Internet presence associated with the location. - - - - - - - - - - Remarks - Additional commentary on the containing object. - - - Remarks: Additional commentary on the containing object. - + - - - - - - - - Location Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined location elsewhere in this or other OSCAL instances. The locally defined UUID of the location can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - Location Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined location elsewhere in this or other OSCAL instances. The locally defined UUID of the location can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - - - - - Location Reference - A machine-oriented identifier reference to a location defined in the metadata section of this or another OSCAL instance. The UUID of the location in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). - - - Location Reference: A machine-oriented identifier reference to a location defined in the metadata section of this or another OSCAL instance. The UUID of the location in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). - - - - - - - Party (organization or person) - A responsible entity which is either a person or an organization. - - - Party (organization or person): A responsible entity which is either a person or an organization. - - - - - Party Name - The full name of the party. This is typically the legal name associated with the party. + Location + A physical point of presence, which may be associated with people, organizations, or other concepts within the current or linked OSCAL document. - Party Name: The full name of the party. This is typically the legal name associated with the party. + Location: A physical point of presence, which may be associated with people, organizations, or other concepts within the current or linked OSCAL document. - - - - - - - - Party Short Name - A short common name, abbreviation, or acronym for the party. - - - Party Short Name: A short common name, abbreviation, or acronym for the party. - - - + + + + + + Location Title + A name given to the location, which may be used by a tool for display and navigation. + + + Location Title: A name given to the location, which may be used by a tool for display and navigation. + + + + + + + + + + + + + + Location URL + The uniform resource locator (URL) for a web site or other resource associated with the location. + + + Location URL: The uniform resource locator (URL) for a web site or other resource associated with the location. + + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Location Universally Unique Identifier + A unique ID for the location, for reference. + + + Location Universally Unique Identifier: A unique ID for the location, for reference. + + + - + - Party External Identifier - An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID) + Party + An organization or person, which may be associated with roles or other concepts within the current or linked OSCAL document. - Party External Identifier: An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID) + Party: An organization or person, which may be associated with roles or other concepts within the current or linked OSCAL document. - - - + + + + + + Party Name + The full name of the party. This is typically the legal name associated with the party. + + + Party Name: The full name of the party. This is typically the legal name associated with the party. + + + + + + + + + Party Short Name + A short common name, abbreviation, or acronym for the party. + + + Party Short Name: A short common name, abbreviation, or acronym for the party. + + + + + + + + + Party External Identifier + An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID). + + + Party External Identifier: An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID). + + + + + + + External Identifier Schema + Indicates the type of external identifier. + + + External Identifier Schema: Indicates the type of external identifier. + + + + + + + + + + + + + + + + - External Identifier Schema - Indicates the type of external identifier. + Organizational Affiliation + A reference to another party by UUID, typically an organization, that this subject is associated with. - External Identifier Schema: Indicates the type of external identifier. + Organizational Affiliation: A reference to another party by UUID, typically an organization, that this subject is associated with. - - - + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Party Universally Unique Identifier + A unique identifier for the party. + + + Party Universally Unique Identifier: A unique identifier for the party. + + + + + + Party Type + A category describing the kind of party the object describes. + + + Party Type: A category describing the kind of party the object describes. + + - - - - - - - - - - - - - Organizational Affiliation - A machine-oriented identifier reference to another party (person or organization) that this subject is associated with. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). - - - Organizational Affiliation: A machine-oriented identifier reference to another party (person or organization) that this subject is associated with. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). - - - - + + Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - - - - Party Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined party elsewhere in this or other OSCAL instances. The locally defined UUID of the party can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - Party Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined party elsewhere in this or other OSCAL instances. The locally defined UUID of the party can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - - - - Party Type - A category describing the kind of party the object describes. - - - Party Type: A category describing the kind of party the object describes. - - - + - Party Reference - A machine-oriented identifier reference to another party defined in metadata. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). + Location Universally Unique Identifier Reference + Reference to a location by UUID. - Party Reference: A machine-oriented identifier reference to another party defined in metadata. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). + Location Universally Unique Identifier Reference: Reference to a location by UUID. - + - + - Role - Defines a function assumed or expected to be assumed by a party in a specific situation. + Party Universally Unique Identifier Reference + Reference to a party by UUID. - Role: Defines a function assumed or expected to be assumed by a party in a specific situation. + Party Universally Unique Identifier Reference: Reference to a party by UUID. - - - - - - Role Title - A name given to the role, which may be used by a tool for display and navigation. - - - Role Title: A name given to the role, which may be used by a tool for display and navigation. - - - - - - - - - - - Role Short Name - A short common name, abbreviation, or acronym for the role. - - - Role Short Name: A short common name, abbreviation, or acronym for the role. - - - - - - - - - Role Description - A summary of the role's purpose and associated responsibilities. - - - Role Description: A summary of the role's purpose and associated responsibilities. - - - - - - - - - - - - Remarks - Additional commentary on the containing object. - - - Remarks: Additional commentary on the containing object. - - - - - - - - - - Role Identifier - A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined role elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, the locally defined ID of the Role from the imported OSCAL instance must be referenced in the context of the containing resource (e.g., import, import-component-definition, import-profile, import-ssp or import-ap). This ID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - Role Identifier: A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined role elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, the locally defined ID of the Role from the imported OSCAL instance must be referenced in the context of the containing resource (e.g., import, import-component-definition, import-profile, import-ssp or import-ap). This ID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - + + Role Identifier Reference - A human-oriented identifier reference to roles served by the user. + Reference to a role by UUID. - Role Identifier Reference: A human-oriented identifier reference to roles served by the user. + Role Identifier Reference: Reference to a role by UUID. - + Back matter - A collection of resources, which may be included directly or by reference. + A collection of resources that may be referenced from within the OSCAL document instance. - Back matter: A collection of resources, which may be included directly or by reference. + Back matter: A collection of resources that may be referenced from within the OSCAL document instance. @@ -1091,10 +936,10 @@ Resource - A resource associated with content in the containing document. A resource may be directly included in the document base64 encoded or may point to one or more equivalent internet resources. + A resource associated with content in the containing document instance. A resource may be directly included in the document using base64 encoding or may point to one or more equivalent internet resources. - Resource: A resource associated with content in the containing document. A resource may be directly included in the document base64 encoded or may point to one or more equivalent internet resources. + Resource: A resource associated with content in the containing document instance. A resource may be directly included in the document using base64 encoding or may point to one or more equivalent internet resources. @@ -1102,13 +947,13 @@ Resource Title - A name given to the resource, which may be used by a tool for display and navigation. + An optional name given to the resource, which may be used by a tool for display and navigation. - Resource Title: A name given to the resource, which may be used by a tool for display and navigation. + Resource Title: An optional name given to the resource, which may be used by a tool for display and navigation. - + @@ -1117,33 +962,33 @@ Resource Description - A short summary of the resource used to indicate the purpose of the resource. + An optional short summary of the resource used to indicate the purpose of the resource. - Resource Description: A short summary of the resource used to indicate the purpose of the resource. + Resource Description: An optional short summary of the resource used to indicate the purpose of the resource. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-document-id-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> Citation - A citation consisting of end note text and optional structured bibliographic data. + An optional citation consisting of end note text using structured markup. - Citation: A citation consisting of end note text and optional structured bibliographic data. + Citation: An optional citation consisting of end note text using structured markup. @@ -1157,18 +1002,18 @@ Citation Text: A line of citation text. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -1177,35 +1022,35 @@ Resource link - A pointer to an external resource with an optional hash for verification and change detection. + A URL-based pointer to an external resource with an optional hash for verification and change detection. - Resource link: A pointer to an external resource with an optional hash for verification and change detection. + Resource link: A URL-based pointer to an external resource with an optional hash for verification and change detection. + type="oscal-metadata-hash-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> - + Hypertext Reference - A resolvable URI reference to a resource. + A resolvable URL pointing to the referenced resource. - Hypertext Reference: A resolvable URI reference to a resource. + Hypertext Reference: A resolvable URL pointing to the referenced resource. - + Media Type - Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + A label that indicates the nature of a resource, as a data serialization or format. - Media Type: Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + Media Type: A label that indicates the nature of a resource, as a data serialization or format. @@ -1215,31 +1060,31 @@ Base64 - The Base64 alphabet in RFC 2045 - aligned with XSD. + A resource encoded using the Base64 alphabet defined by RFC 2045. - Base64: The Base64 alphabet in RFC 2045 - aligned with XSD. + Base64: A resource encoded using the Base64 alphabet defined by RFC 2045. - - + + File Name - Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded. + Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded. File Name: Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded. - + Media Type - Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + A label that indicates the nature of a resource, as a data serialization or format. - Media Type: Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + Media Type: A label that indicates the nature of a resource, as a data serialization or format. @@ -1250,26 +1095,24 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Resource Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined resource elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A unique identifier for a resource. - Resource Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined resource elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Resource Universally Unique Identifier: A unique identifier for a resource. @@ -1280,49 +1123,47 @@ Property - An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values. + An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. - Property: An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values. + Property: An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Property Name - A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object. + A textual label, within a namespace, that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object. - Property Name: A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object. + Property Name: A textual label, within a namespace, that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object. - + Property Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A unique identifier for a property. - Property Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Property Universally Unique Identifier: A unique identifier for a property. - + Property Namespace @@ -1332,7 +1173,7 @@ Property Namespace: A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name. - + Property Value @@ -1342,14 +1183,24 @@ Property Value: Indicates the value of the attribute, characteristic, or quality. - + Property Class - A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns. + A textual label that provides a sub-type or characterization of the property's name. - Property Class: A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns. + Property Class: A textual label that provides a sub-type or characterization of the property's name. + + + + + + Property Group + An identifier for relating distinct sets of properties. + + + Property Group: An identifier for relating distinct sets of properties. @@ -1357,10 +1208,10 @@ Link - A reference to a local or remote resource + A reference to a local or remote resource, that has a specific relation to the containing object. - Link: A reference to a local or remote resource + Link: A reference to a local or remote resource, that has a specific relation to the containing object. @@ -1374,39 +1225,49 @@ Link Text: A textual label to associate with the link, which may be used for presentation in a tool. - + - + + + + Hypertext Reference + A resolvable URL reference to a resource. + + + Hypertext Reference: A resolvable URL reference to a resource. + + + - Hypertext Reference - A resolvable URL reference to a resource. + Link Relation Type + Describes the type of relationship provided by the link's hypertext reference. This can be an indicator of the link's purpose. - Hypertext Reference: A resolvable URL reference to a resource. + Link Relation Type: Describes the type of relationship provided by the link's hypertext reference. This can be an indicator of the link's purpose. - + - Relation - Describes the type of relationship provided by the link. This can be an indicator of the link's purpose. + Media Type + A label that indicates the nature of a resource, as a data serialization or format. - Relation: Describes the type of relationship provided by the link. This can be an indicator of the link's purpose. + Media Type: A label that indicates the nature of a resource, as a data serialization or format. - + - Media Type - Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + Resource Fragment + In case where the href points to a back-matter/resource, this value will indicate the URI fragment to append to any rlink associated with the resource. This value MUST be URI encoded. - Media Type: Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + Resource Fragment: In case where the href points to a back-matter/resource, this value will indicate the URI fragment to append to any rlink associated with the resource. This value MUST be URI encoded. @@ -1414,48 +1275,123 @@ Responsible Party - A reference to a set of organizations or persons that have responsibility for performing a referenced role in the context of the containing object. + A reference to a set of persons and/or organizations that have responsibility for performing the referenced role in the context of the containing object. - Responsible Party: A reference to a set of organizations or persons that have responsibility for performing a referenced role in the context of the containing object. + Responsible Party: A reference to a set of persons and/or organizations that have responsibility for performing the referenced role in the context of the containing object. + type="oscal-metadata-party-uuid-FIELD" + minOccurs="1" + maxOccurs="unbounded"/> + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Responsible Role - A human-oriented identifier reference to roles served by the user. + A reference to a role performed by a party. + + + Responsible Role: A reference to a role performed by a party. + + + + + + + Action + An action applied by a role within a given party to the content. + + + Action: An action applied by a role within a given party to the content. + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Action Universally Unique Identifier + A unique identifier that can be used to reference this defined action elsewhere in an OSCAL document. A UUID should be consistently used for a given location across revisions of the document. - Responsible Role: A human-oriented identifier reference to roles served by the user. + Action Universally Unique Identifier: A unique identifier that can be used to reference this defined action elsewhere in an OSCAL document. A UUID should be consistently used for a given location across revisions of the document. + + + + + + Action Occurrence Date + The date and time when the action occurred. + + + Action Occurrence Date: The date and time when the action occurred. + + + + + + Action Type + The type of action documented by the assembly, such as an approval. + + + Action Type: The type of action documented by the assembly, such as an approval. + + + + + + Action Type System + Specifies the action type system used. + + + Action Type System: Specifies the action type system used. @@ -1463,48 +1399,46 @@ Responsible Role - A reference to one or more roles with responsibility for performing a function relative to the containing object. + A reference to a role with responsibility for performing a function relative to the containing object, optionally associated with a set of persons and/or organizations that perform that role. - Responsible Role: A reference to one or more roles with responsibility for performing a function relative to the containing object. + Responsible Role: A reference to a role with responsibility for performing a function relative to the containing object, optionally associated with a set of persons and/or organizations that perform that role. + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-party-uuid-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Responsible Role ID - A human-oriented identifier reference to roles responsible for the business function. + A human-oriented identifier reference to a role performed. - Responsible Role ID: A human-oriented identifier reference to roles responsible for the business function. + Responsible Role ID: A human-oriented identifier reference to a role performed. @@ -1518,15 +1452,15 @@ Hash: A representation of a cryptographic digest generated over a resource using a specified hash algorithm. - - + + Hash algorithm - Method by which a hash is derived + The digest method by which a hash is derived. - Hash algorithm: Method by which a hash is derived + Hash algorithm: The digest method by which a hash is derived. @@ -1536,82 +1470,82 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + Publication Timestamp - The date and time the document was published. The date-time value must be formatted according to RFC 3339 with full time and time zone included. + The date and time the document was last made available. - Publication Timestamp: The date and time the document was published. The date-time value must be formatted according to RFC 3339 with full time and time zone included. + Publication Timestamp: The date and time the document was last made available. - + Last Modified Timestamp - The date and time the document was last modified. The date-time value must be formatted according to RFC 3339 with full time and time zone included. + The date and time the document was last stored for later retrieval. - Last Modified Timestamp: The date and time the document was last modified. The date-time value must be formatted according to RFC 3339 with full time and time zone included. + Last Modified Timestamp: The date and time the document was last stored for later retrieval. - + Document Version - A string used to distinguish the current version of the document from other previous (and future) versions. + Used to distinguish a specific revision of an OSCAL document from other previous and future versions. - Document Version: A string used to distinguish the current version of the document from other previous (and future) versions. + Document Version: Used to distinguish a specific revision of an OSCAL document from other previous and future versions. - + - OSCAL version - The OSCAL model version the document was authored against. + OSCAL Version + The OSCAL model version the document was authored against and will conform to as valid. - OSCAL version: The OSCAL model version the document was authored against. + OSCAL Version: The OSCAL model version the document was authored against and will conform to as valid. - + Email Address - An email address as defined by RFC 5322 Section 3.4.1. + An email address as defined by RFC 5322 Section 3.4.1. - Email Address: An email address as defined by RFC 5322 Section 3.4.1. + Email Address: An email address as defined by RFC 5322 Section 3.4.1. - + Telephone Number - Contact number by telephone. + A telephone service number as defined by ITU-T E.164. - Telephone Number: Contact number by telephone. + Telephone Number: A telephone service number as defined by ITU-T E.164. - - + + type flag @@ -1635,9 +1569,9 @@ + type="oscal-metadata-addr-line-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> @@ -1648,7 +1582,7 @@ City: City, town or geographical region for the mailing address. - + @@ -1656,12 +1590,12 @@ State - State, province or analogous geographical region for mailing address + State, province or analogous geographical region for a mailing address. - State: State, province or analogous geographical region for mailing address + State: State, province or analogous geographical region for a mailing address. - + @@ -1669,12 +1603,12 @@ Postal Code - Postal or ZIP code for mailing address + Postal or ZIP code for mailing address. - Postal Code: Postal or ZIP code for mailing address + Postal Code: Postal or ZIP code for mailing address. - + @@ -1687,11 +1621,11 @@ Country Code: The ISO 3166-1 alpha-2 country code for the mailing address. - + - + Address Type @@ -1711,27 +1645,27 @@ Address line: A single line of an address. - + Document Identifier - A document identifier qualified by an identifier scheme. A document identifier provides a globally unique identifier with a cross-instance scope that is used for a group of documents that are to be treated as different versions of the same document. If this element does not appear, or if the value of this element is empty, the value of "document-id" is equal to the value of the "uuid" flag of the top-level root element. + A document identifier qualified by an identifier scheme. - Document Identifier: A document identifier qualified by an identifier scheme. A document identifier provides a globally unique identifier with a cross-instance scope that is used for a group of documents that are to be treated as different versions of the same document. If this element does not appear, or if the value of this element is empty, the value of "document-id" is equal to the value of the "uuid" flag of the top-level root element. + Document Identifier: A document identifier qualified by an identifier scheme. - - + + Document Identification Scheme - Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters. + Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters. - Document Identification Scheme: Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters. + Document Identification Scheme: Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters. @@ -1751,19 +1685,17 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + System Security Plan Reference @@ -1795,46 +1727,44 @@ Objective Description: A human-readable description of this control objective. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-part-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Control Identifier Reference - A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). + A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). - Control Identifier Reference: A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). + Control Identifier Reference: A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). @@ -1859,43 +1789,41 @@ Assessment Method Description: A human-readable description of this assessment method. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-assessment-part-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Assessment Method Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment method elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment method can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment method elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment method can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Assessment Method Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment method elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment method can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -1923,7 +1851,7 @@ Included Activity Title: The title for this included activity. - + @@ -1938,18 +1866,18 @@ Included Activity Description: A human-readable description of this included activity. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -1972,7 +1900,7 @@ Step Title: The title for this step. - + @@ -1987,47 +1915,45 @@ Step Description: A human-readable description of this step. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-reviewed-controls-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> + type="oscal-metadata-responsible-role-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Step Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this step elsewhere in this or other OSCAL instances. The locally defined UUID of the step (in a series of steps) can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this step elsewhere in this or other OSCAL instances. The locally defined UUID of the step (in a series of steps) can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Step Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this step elsewhere in this or other OSCAL instances. The locally defined UUID of the step (in a series of steps) can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -2036,34 +1962,32 @@ + type="oscal-assessment-common-reviewed-controls-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> + type="oscal-metadata-responsible-role-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Assessment Activity Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment activity elsewhere in this or other OSCAL instances. The locally defined UUID of the activity can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment activity elsewhere in this or other OSCAL instances. The locally defined UUID of the activity can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Assessment Activity Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment activity elsewhere in this or other OSCAL instances. The locally defined UUID of the activity can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -2091,7 +2015,7 @@ Task Title: The title for this task. - + @@ -2106,18 +2030,18 @@ Task Description: A human-readable description of this task. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -2140,7 +2064,7 @@ On Date Condition: The task is intended to occur on the specified date. - + On Date Condition @@ -2162,7 +2086,7 @@ On Date Range Condition: The task is intended to occur within the specified date range. - + Start Date Condition @@ -2172,7 +2096,7 @@ Start Date Condition: The task must occur on or after the specified date. - + End Date Condition @@ -2194,7 +2118,7 @@ Frequency Condition: The task is intended to occur at the specified frequency. - + Period @@ -2204,7 +2128,7 @@ Period: The task must occur after the specified period has elapsed. - + Time Unit @@ -2235,23 +2159,21 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Task Universally Unique Identifier Reference - A machine-oriented identifier reference to a unique task. + A machine-oriented identifier reference to a unique task. Task Universally Unique Identifier Reference: A machine-oriented identifier reference to a unique task. @@ -2260,9 +2182,9 @@ + type="oscal-assessment-common-task-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -2275,42 +2197,40 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-role-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-assessment-subject-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Activity Universally Unique Identifier Reference - A machine-oriented identifier reference to an activity defined in the list of activities. + A machine-oriented identifier reference to an activity defined in the list of activities. Activity Universally Unique Identifier Reference: A machine-oriented identifier reference to an activity defined in the list of activities. @@ -2319,40 +2239,38 @@ + type="oscal-assessment-common-assessment-subject-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-role-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Task Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this task elsewhere in this or other OSCAL instances. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this task elsewhere in this or other OSCAL instances. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Task Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this task elsewhere in this or other OSCAL instances. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - + Task Type @@ -2384,18 +2302,18 @@ Control Objective Description: A human-readable description of control objectives. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -2418,53 +2336,51 @@ Assessed Controls Description: A human-readable description of in-scope controls specified for assessment. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-include-all-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-assessment-common-select-control-by-id-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> + type="oscal-assessment-common-select-control-by-id-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + + minOccurs="0" + maxOccurs="unbounded"> @@ -2486,45 +2402,43 @@ Control Objectives Description: A human-readable description of this collection of control objectives. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-include-all-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-assessment-common-select-objective-by-id-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> + type="oscal-assessment-common-select-objective-by-id-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + @@ -2534,15 +2448,13 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + @@ -2567,18 +2479,18 @@ Include Specific Statements: Used to constrain the selection to only specificity identified statements. - + - + Control Identifier Reference - A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). + A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). - Control Identifier Reference: A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). + Control Identifier Reference: A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). @@ -2591,7 +2503,7 @@ Select Objective: Used to select a control objective for inclusion/exclusion based on the control objective's identifier. - + Objective ID @@ -2623,7 +2535,7 @@ Assessment Subject Placeholder Description: A human-readable description of intent of this assessment subject placeholder. - + @@ -2637,11 +2549,11 @@ Assessment Subject Source: Assessment subjects will be identified while conducting the referenced activity-instance. - + Task Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference (in this or other OSCAL instances) an assessment activity to be performed as part of the event. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference (in this or other OSCAL instances) an assessment activity to be performed as part of the event. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Task Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference (in this or other OSCAL instances) an assessment activity to be performed as part of the event. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -2650,34 +2562,32 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Assessment Subject Placeholder Universally Unique Identifier - A machine-oriented, globally unique identifier for a set of assessment subjects that will be identified by a task or an activity that is part of a task. The locally defined UUID of the assessment subject placeholder can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier for a set of assessment subjects that will be identified by a task or an activity that is part of a task. The locally defined UUID of the assessment subject placeholder can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Assessment Subject Placeholder Universally Unique Identifier: A machine-oriented, globally unique identifier for a set of assessment subjects that will be identified by a task or an activity that is part of a task. The locally defined UUID of the assessment subject placeholder can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -2705,49 +2615,47 @@ Include Subjects Description: A human-readable description of the collection of subjects being included in this assessment. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-include-all-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-assessment-common-select-subject-by-id-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> + type="oscal-assessment-common-select-subject-by-id-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Subject Type @@ -2769,44 +2677,42 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Subject Universally Unique Identifier Reference - A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID. + A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID. Subject Universally Unique Identifier Reference: A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID. - + Subject Universally Unique Identifier Reference Type - Used to indicate the type of object pointed to by the uuid-ref within a subject. + Used to indicate the type of object pointed to by the uuid-ref within a subject. Subject Universally Unique Identifier Reference Type: Used to indicate the type of object pointed to by the uuid-ref within a subject. @@ -2817,7 +2723,7 @@ Identifies the Subject - A human-oriented identifier reference to a resource. Use type to indicate whether the identified resource is a component, inventory item, location, user, or something else. + A human-oriented identifier reference to a resource. Use type to indicate whether the identified resource is a component, inventory item, location, user, or something else. Identifies the Subject: A human-oriented identifier reference to a resource. Use type to indicate whether the identified resource is a component, inventory item, location, user, or something else. @@ -2834,49 +2740,47 @@ Subject Reference Title: The title or name for the referenced subject. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Subject Universally Unique Identifier Reference - A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID. + A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID. Subject Universally Unique Identifier Reference: A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID. - + Subject Universally Unique Identifier Reference Type - Used to indicate the type of object pointed to by the uuid-ref within a subject. + Used to indicate the type of object pointed to by the uuid-ref within a subject. Subject Universally Unique Identifier Reference Type: Used to indicate the type of object pointed to by the uuid-ref within a subject. @@ -2894,9 +2798,9 @@ + type="oscal-implementation-common-system-component-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -2919,18 +2823,18 @@ Assessment Platform Title: The title or name for the assessment platform. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -2943,38 +2847,36 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-party-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Component Universally Unique Identifier Reference - A machine-oriented identifier reference to a component that is implemented as part of an inventory item. + A machine-oriented identifier reference to a component that is implemented as part of an inventory item. Component Universally Unique Identifier Reference: A machine-oriented identifier reference to a component that is implemented as part of an inventory item. @@ -2986,23 +2888,21 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Assessment Platform Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment platform elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment platform can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment platform elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment platform can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Assessment Platform Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment platform elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment platform can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -3033,7 +2933,7 @@ Objective Status Title: The title for this objective status. - + @@ -3048,18 +2948,18 @@ Objective Status Description: A human-readable description of the assessor's conclusions regarding the degree to which an objective is satisfied. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -3075,19 +2975,17 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Objective Status State @@ -3097,7 +2995,7 @@ Objective Status State: An indication as to whether the objective is satisfied or not. - + Objective Status Reason @@ -3110,26 +3008,24 @@ + type="oscal-implementation-common-implementation-status-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Finding Target Type @@ -3139,17 +3035,155 @@ Finding Target Type: Identifies the type of the target. - + Finding Target Identifier Reference - A machine-oriented identifier reference for a specific target qualified by the type. + A machine-oriented identifier reference for a specific target qualified by the type. Finding Target Identifier Reference: A machine-oriented identifier reference for a specific target qualified by the type. + + + + Finding + Describes an individual finding. + + + Finding: Describes an individual finding. + + + + + + + Finding Title + The title for this finding. + + + Finding Title: The title for this finding. + + + + + + + + + + + Finding Description + A human-readable description of this finding. + + + Finding Description: A human-readable description of this finding. + + + + + + + + + + + + + + + Implementation Statement UUID + A machine-oriented identifier reference to the implementation statement in the SSP to which this finding is related. + + + Implementation Statement UUID: A machine-oriented identifier reference to the implementation statement in the SSP to which this finding is related. + + + + + + + + + Related Observation + Relates the finding to a set of referenced observations that were used to determine the finding. + + + Related Observation: Relates the finding to a set of referenced observations that were used to determine the finding. + + + + + Observation Universally Unique Identifier Reference + A machine-oriented identifier reference to an observation defined in the list of observations. + + + Observation Universally Unique Identifier Reference: A machine-oriented identifier reference to an observation defined in the list of observations. + + + + + + + + + Associated Risk + Relates the finding to a set of referenced risks that were used to determine the finding. + + + Associated Risk: Relates the finding to a set of referenced risks that were used to determine the finding. + + + + + Risk Universally Unique Identifier Reference + A machine-oriented identifier reference to a risk defined in the list of risks. + + + Risk Universally Unique Identifier Reference: A machine-oriented identifier reference to a risk defined in the list of risks. + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Finding Universally Unique Identifier + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this finding in this or other OSCAL instances. The locally defined UUID of the finding can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + + + Finding Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this finding in this or other OSCAL instances. The locally defined UUID of the finding can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + + + @@ -3171,7 +3205,7 @@ Observation Title: The title for this observation. - + @@ -3186,18 +3220,18 @@ Observation Description: A human-readable description of this assessment observation. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -3208,7 +3242,7 @@ Observation Method: Identifies how the observation was made. - + @@ -3221,17 +3255,17 @@ Observation Type: Identifies the nature of the observation. More than one may be used to further qualify and enable filtering. - + + type="oscal-assessment-common-origin-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-subject-reference-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -3254,35 +3288,33 @@ Relevant Evidence Description: A human-readable description of this evidence. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Relevant Evidence Reference @@ -3304,7 +3336,7 @@ Collected Field: Date/time stamp identifying when the finding information was collected. - + @@ -3317,30 +3349,28 @@ Expires Field: Date/time identifying when the finding information is out-of-date and no longer valid. Typically used with continuous assessment scenarios. - + Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Observation Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this observation elsewhere in this or other OSCAL instances. The locally defined UUID of the observation can be used to reference the data item locally or globally (e.g., in an imorted OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this observation elsewhere in this or other OSCAL instances. The locally defined UUID of the observation can be used to reference the data item locally or globally (e.g., in an imorted OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Observation Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this observation elsewhere in this or other OSCAL instances. The locally defined UUID of the observation can be used to reference the data item locally or globally (e.g., in an imorted OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -3358,13 +3388,13 @@ + type="oscal-assessment-common-origin-actor-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> + type="oscal-assessment-common-related-task-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -3378,15 +3408,15 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - + Actor Type @@ -3396,17 +3426,17 @@ Actor Type: The kind of actor. - + Actor Universally Unique Identifier Reference - A machine-oriented identifier reference to the tool or person based on the associated type. + A machine-oriented identifier reference to the tool or person based on the associated type. Actor Universally Unique Identifier Reference: A machine-oriented identifier reference to the tool or person based on the associated type. - + Actor Role @@ -3428,21 +3458,21 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-party-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-assessment-subject-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -3455,15 +3485,15 @@ + type="oscal-assessment-common-assessment-subject-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> - + Assessment Subject Placeholder Universally Unique Identifier Reference - A machine-oriented identifier reference to a unique assessment subject placeholder defined by this task. + A machine-oriented identifier reference to a unique assessment subject placeholder defined by this task. Assessment Subject Placeholder Universally Unique Identifier Reference: A machine-oriented identifier reference to a unique assessment subject placeholder defined by this task. @@ -3475,23 +3505,21 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Task Universally Unique Identifier Reference - A machine-oriented identifier reference to a unique task. + A machine-oriented identifier reference to a unique task. Task Universally Unique Identifier Reference: A machine-oriented identifier reference to a unique task. @@ -3508,8 +3536,8 @@ Threat ID: A pointer, by ID, to an externally-defined threat. - - + + Threat Type Identification System @@ -3519,7 +3547,7 @@ Threat Type Identification System: Specifies the source of the threat information. - + Threat Information Resource Reference @@ -3553,7 +3581,7 @@ Risk Title: The title for this risk. - + @@ -3568,7 +3596,7 @@ Risk Description: A human-readable summary of the identified risk, to include a statement of how the risk impacts the system. - + @@ -3583,34 +3611,34 @@ Risk Statement: An summary of impact for how the risk affects the system. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-risk-status-FIELD" + minOccurs="1" + maxOccurs="1"/> + type="oscal-assessment-common-origin-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-threat-id-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-characterization-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -3633,38 +3661,38 @@ Mitigating Factor Description: A human-readable description of this mitigating factor. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-subject-reference-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - + Mitigating Factor Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this mitigating factor elsewhere in this or other OSCAL instances. The locally defined UUID of the mitigating factor can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this mitigating factor elsewhere in this or other OSCAL instances. The locally defined UUID of the mitigating factor can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Mitigating Factor Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this mitigating factor elsewhere in this or other OSCAL instances. The locally defined UUID of the mitigating factor can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - + Implementation UUID - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this implementation statement elsewhere in this or other OSCAL instancess. The locally defined UUID of the implementation statement can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this implementation statement elsewhere in this or other OSCAL instancess. The locally defined UUID of the implementation statement can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Implementation UUID: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this implementation statement elsewhere in this or other OSCAL instancess. The locally defined UUID of the implementation statement can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -3682,13 +3710,13 @@ Risk Resolution Deadline: The date/time by which the risk must be resolved. - + + type="oscal-assessment-common-response-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -3722,7 +3750,7 @@ Title: The title for this risk log entry. - + @@ -3737,7 +3765,7 @@ Risk Task Description: A human-readable description of what was done regarding the risk. - + @@ -3751,7 +3779,7 @@ Start: Identifies the start date and time of the event. - + @@ -3764,25 +3792,25 @@ End: Identifies the end date and time of the event. If the event is a point in time, the start and end will be the same date and time. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-logged-by-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-risk-status-FIELD" + minOccurs="0" + maxOccurs="1"/> @@ -3795,38 +3823,36 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-related-task-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Response Universally Unique Identifier Reference - A machine-oriented identifier reference to a unique risk response. + A machine-oriented identifier reference to a unique risk response. Response Universally Unique Identifier Reference: A machine-oriented identifier reference to a unique risk response. @@ -3838,23 +3864,21 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Risk Log Entry Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk log entry elsewhere in this or other OSCAL instances. The locally defined UUID of the risk log entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk log entry elsewhere in this or other OSCAL instances. The locally defined UUID of the risk log entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Risk Log Entry Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk log entry elsewhere in this or other OSCAL instances. The locally defined UUID of the risk log entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -3875,11 +3899,11 @@ Related Observation: Relates the finding to a set of referenced observations that were used to determine the finding. - + Observation Universally Unique Identifier Reference - A machine-oriented identifier reference to an observation defined in the list of observations. + A machine-oriented identifier reference to an observation defined in the list of observations. Observation Universally Unique Identifier Reference: A machine-oriented identifier reference to an observation defined in the list of observations. @@ -3888,11 +3912,11 @@ - + Risk Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk elsewhere in this or other OSCAL instances. The locally defined UUID of the risk can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk elsewhere in this or other OSCAL instances. The locally defined UUID of the risk can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Risk Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk elsewhere in this or other OSCAL instances. The locally defined UUID of the risk can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -3908,17 +3932,17 @@ Logged By: Used to indicate who created a log entry in what role. - + Party UUID Reference - A machine-oriented identifier reference to the party who is making the log entry. + A machine-oriented identifier reference to the party who is making the log entry. Party UUID Reference: A machine-oriented identifier reference to the party who is making the log entry. - + Actor Role @@ -3938,7 +3962,7 @@ Risk Status: Describes the status of the associated risk. - + @@ -3951,17 +3975,17 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-origin-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> @@ -3974,30 +3998,28 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Facet Name @@ -4007,7 +4029,7 @@ Facet Name: The name of the risk metric within the specified system. - + Naming System @@ -4017,7 +4039,7 @@ Naming System: Specifies the naming system under which this risk metric is organized, which allows for the same names to be used in different systems controlled by different parties. This avoids the potential of a name clash. - + Facet Value @@ -4052,7 +4074,7 @@ Response Title: The title for this response activity. - + @@ -4067,22 +4089,22 @@ Response Description: A human-readable description of this response plan. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-origin-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -4095,9 +4117,9 @@ + type="oscal-assessment-common-subject-reference-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -4109,7 +4131,7 @@ Title for Required Asset: The title for this required asset. - + @@ -4124,39 +4146,37 @@ Description of Required Asset: A human-readable description of this required asset. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Required Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this required asset elsewhere in this or other OSCAL instances. The locally defined UUID of the asset can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this required asset elsewhere in this or other OSCAL instances. The locally defined UUID of the asset can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Required Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this required asset elsewhere in this or other OSCAL instances. The locally defined UUID of the asset can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -4165,36 +4185,34 @@ + type="oscal-assessment-common-task-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Remediation Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this remediation elsewhere in this or other OSCAL instances. The locally defined UUID of the risk response can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this remediation elsewhere in this or other OSCAL instances. The locally defined UUID of the risk response can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Remediation Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this remediation elsewhere in this or other OSCAL instances. The locally defined UUID of the risk response can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - + Remediation Intent @@ -4226,37 +4244,35 @@ Part Title: A name given to the part, which may be used by a tool for display and navigation. - + - + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + + type="oscal-assessment-common-assessment-part-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - + Part Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this part elsewhere in this or other OSCAL instances. The locally defined UUID of the part can be used to reference the data item locally or globally (e.g., in an ported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this part elsewhere in this or other OSCAL instances. The locally defined UUID of the part can be used to reference the data item locally or globally (e.g., in an ported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Part Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this part elsewhere in this or other OSCAL instances. The locally defined UUID of the part can be used to reference the data item locally or globally (e.g., in an ported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - + Part Name @@ -4266,7 +4282,7 @@ Part Name: A textual label that uniquely identifies the part's semantic type. - + Part Namespace @@ -4276,25 +4292,25 @@ Part Namespace: A namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name. - + Part Class - A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns. + A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns. Part Class: A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns. - + Part - A partition of a control's definition or a child of another part. + An annotated, markup-based textual element of a control's or catalog group's definition, or a child of another part. - Part: A partition of a control's definition or a child of another part. + Part: An annotated, markup-based textual element of a control's or catalog group's definition, or a child of another part. @@ -4302,74 +4318,72 @@ Part Title - A name given to the part, which may be used by a tool for display and navigation. + An optional name given to the part, which may be used by a tool for display and navigation. - Part Title: A name given to the part, which may be used by a tool for display and navigation. + Part Title: An optional name given to the part, which may be used by a tool for display and navigation. - + - + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + + type="oscal-control-common-part-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - + Part Identifier - A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined part elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A unique identifier for the part. - Part Identifier: A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined part elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Part Identifier: A unique identifier for the part. - + Part Name - A textual label that uniquely identifies the part's semantic type. + A textual label that uniquely identifies the part's semantic type, which exists in a value space qualified by the ns. - Part Name: A textual label that uniquely identifies the part's semantic type. + Part Name: A textual label that uniquely identifies the part's semantic type, which exists in a value space qualified by the ns. - + Part Namespace - A namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name. + An optional namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name. - Part Namespace: A namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name. + Part Namespace: An optional namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name. - + Part Class - A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns. + An optional textual providing a sub-type or characterization of the part's name, or a category to which the part belongs. - Part Class: A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns. + Part Class: An optional textual providing a sub-type or characterization of the part's name, or a category to which the part belongs. - + Parameter @@ -4380,25 +4394,25 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Parameter Label - A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned. + A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned. Parameter Label: A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned. - + @@ -4407,89 +4421,88 @@ Parameter Usage Description - Describes the purpose and use of a parameter + Describes the purpose and use of a parameter. - Parameter Usage Description: Describes the purpose and use of a parameter + Parameter Usage Description: Describes the purpose and use of a parameter. - + + type="oscal-control-common-parameter-constraint-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-parameter-guideline-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-parameter-value-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-parameter-selection-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Parameter Identifier - A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined parameter elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A unique identifier for the parameter. - Parameter Identifier: A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined parameter elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Parameter Identifier: A unique identifier for the parameter. - + Parameter Class - A textual label that provides a characterization of the parameter. + A textual label that provides a characterization of the type, purpose, use or scope of the parameter. - Parameter Class: A textual label that provides a characterization of the parameter. + Parameter Class: A textual label that provides a characterization of the type, purpose, use or scope of the parameter. - + Depends on - **(deprecated)** Another parameter invoking this one. This construct has been deprecated and should not be used. + + (deprecated) Another parameter invoking this one. This construct has been deprecated and should not be used. - Depends on: **(deprecated)** Another parameter invoking this one. This construct has been deprecated and should not be used. + Depends on: (deprecated) Another parameter invoking this one. This construct has been deprecated and should not be used. - + Constraint - A formal or informal expression of a constraint or test + A formal or informal expression of a constraint or test. - Constraint: A formal or informal expression of a constraint or test + Constraint: A formal or informal expression of a constraint or test. @@ -4503,7 +4516,7 @@ Constraint Description: A textual summary of the constraint to be applied. - + @@ -4523,27 +4536,25 @@ Constraint test - A formal (executable) expression of a constraint + A formal (executable) expression of a constraint. - Constraint test: A formal (executable) expression of a constraint + Constraint test: A formal (executable) expression of a constraint. - + Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + @@ -4551,7 +4562,7 @@ - + Guideline @@ -4561,12 +4572,10 @@ Guideline: A prose statement that provides a recommendation for the use of a parameter. - + - + Parameter Value @@ -4575,16 +4584,16 @@ Parameter Value: A parameter value or set of values. - + - + Selection - Presenting a choice among alternatives + Presenting a choice among alternatives. - Selection: Presenting a choice among alternatives + Selection: Presenting a choice among alternatives. @@ -4592,18 +4601,18 @@ Choice - A value selection among several such options + A value selection among several such options. - Choice: A value selection among several such options + Choice: A value selection among several such options. - + - + Parameter Cardinality @@ -4614,7 +4623,7 @@ - + Include All @@ -4645,7 +4654,7 @@ Component Title: A human readable name for the system component. - + @@ -4660,7 +4669,7 @@ Component Description: A description of the component, including information about its function. - + @@ -4675,18 +4684,18 @@ Purpose: A summary of the technological or business purpose of the component. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -4702,19 +4711,17 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + State @@ -4727,40 +4734,38 @@ + type="oscal-metadata-responsible-role-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-implementation-common-protocol-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Component Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component elsewhere in this or other OSCAL instances. The locally defined UUID of the component can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component elsewhere in this or other OSCAL instances. The locally defined UUID of the component can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Component Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component elsewhere in this or other OSCAL instances. The locally defined UUID of the component can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - + Component Type @@ -4792,30 +4797,30 @@ Protocol Title: A human readable name for the protocol (e.g., Transport Layer Security). - + + type="oscal-implementation-common-port-range-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - + Service Protocol Information Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this service protocol information elsewhere in this or other OSCAL instances. The locally defined UUID of the service protocol can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this service protocol information elsewhere in this or other OSCAL instances. The locally defined UUID of the service protocol can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Service Protocol Information Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this service protocol information elsewhere in this or other OSCAL instances. The locally defined UUID of the service protocol can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - + Protocol Name - The common name of the protocol, which should be the appropriate "service name" from the IANA Service Name and Transport Protocol Port Number Registry. + The common name of the protocol, which should be the appropriate "service name" from the IANA Service Name and Transport Protocol Port Number Registry. Protocol Name: The common name of the protocol, which should be the appropriate "service name" from the IANA Service Name and Transport Protocol Port Number Registry. @@ -4831,7 +4836,7 @@ Port Range: Where applicable this is the IPv4 port range on which the service operates. - + Start @@ -4841,7 +4846,7 @@ Start: Indicates the starting port number in a port range - + End @@ -4851,7 +4856,7 @@ End: Indicates the ending port number in a port range - + Transport @@ -4876,19 +4881,17 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Implementation State @@ -4920,7 +4923,7 @@ User Title: A name given to the user, which may be used by a tool for display and navigation. - + @@ -4934,7 +4937,7 @@ User Short Name: A short common name, abbreviation, or acronym for the user. - + @@ -4948,47 +4951,45 @@ User Description: A summary of the user's purpose within the system. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-role-id-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-implementation-common-authorized-privilege-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + User Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this user class elsewhere in this or other OSCAL instances. The locally defined UUID of the system user can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this user class elsewhere in this or other OSCAL instances. The locally defined UUID of the system user can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. User Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this user class elsewhere in this or other OSCAL instances. The locally defined UUID of the system user can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -5016,7 +5017,7 @@ Privilege Title: A human readable name for the privilege. - + @@ -5031,14 +5032,14 @@ Privilege Description: A summary of the privilege's purpose within the system. - + + type="oscal-implementation-common-function-performed-FIELD" + minOccurs="1" + maxOccurs="unbounded"/> @@ -5050,7 +5051,7 @@ Functions Performed: Describes a function performed for a given authorized privilege by this user class. - + @@ -5073,22 +5074,22 @@ Inventory Item Description: A summary of the inventory item stating its purpose within the system. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-party-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -5101,38 +5102,36 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-party-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Component Universally Unique Identifier Reference - A machine-oriented identifier reference to a component that is implemented as part of an inventory item. + A machine-oriented identifier reference to a component that is implemented as part of an inventory item. Component Universally Unique Identifier Reference: A machine-oriented identifier reference to a component that is implemented as part of an inventory item. @@ -5144,23 +5143,21 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Inventory Item Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inventory item elsewhere in this or other OSCAL instances. The locally defined UUID of the inventory item can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inventory item elsewhere in this or other OSCAL instances. The locally defined UUID of the inventory item can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Inventory Item Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inventory item elsewhere in this or other OSCAL instances. The locally defined UUID of the inventory item can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -5187,30 +5184,28 @@ Parameter Value: A parameter value or set of values. - + Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Parameter ID - A human-oriented reference to a parameter within a control, who's catalog has been imported into the current implementation context. + A human-oriented reference to a parameter within a control, who's catalog has been imported into the current implementation context. Parameter ID: A human-oriented reference to a parameter within a control, who's catalog has been imported into the current implementation context. @@ -5221,14 +5216,14 @@ System Identification - A human-oriented, globally unique identifier with cross-instance scope that can be used to reference this system identification property elsewhere in this or other OSCAL instances. When referencing an externally defined system identification, the system identification must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). This string should be assigned per-subject, which means it should be consistently used to identify the same system across revisions of the document. + A human-oriented, globally unique identifier with cross-instance scope that can be used to reference this system identification property elsewhere in this or other OSCAL instances. When referencing an externally defined system identification, the system identification must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). This string should be assigned per-subject, which means it should be consistently used to identify the same system across revisions of the document. System Identification: A human-oriented, globally unique identifier with cross-instance scope that can be used to reference this system identification property elsewhere in this or other OSCAL instances. When referencing an externally defined system identification, the system identification must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). This string should be assigned per-subject, which means it should be consistently used to identify the same system across revisions of the document. - - + + Identification System Type @@ -5241,55 +5236,33 @@ - - - - - + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - The content model is the same as blockElementType, but line endings need - to be preserved, since this is preformatted. - - - - - + - The content model is the same as blockElementType, but line endings need + The content model is the same as inlineMarkupType, but line endings need to be preserved, since this is preformatted. @@ -5298,34 +5271,39 @@ + type="listItemType" + minOccurs="1" + maxOccurs="unbounded"/> + - - - + + + - + - - - - + + + + + - + - - + + + + + @@ -5334,49 +5312,49 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + - + + + + + + + + + + + + + + + + + + + + + + + - + + + - - An insert can be used to identify a placeholder for dynamically inserting text related to a specific object, which is referenced by the object's identifier using an id-ref. This insert mechanism allows the selection of which text value from the object to dynamically include based on the application's display requirements. + An insert can be used to identify a placeholder for dynamically inserting text related to a specific object, which is referenced by the object's identifier using an id-ref. This insert mechanism allows the selection of which text value from the object to dynamically include based on the application's display requirements. @@ -5385,103 +5363,38 @@ - The identity of the object to insert a value for. The identity will be selected from the index of objects of the specified type. The specific value to include is based on the application's display requirements, which will likely use a specific data element associated with the type (e.g., title, identifier, value, etc.) that is appropriate for the application. + The identity of the object to insert a value for. The identity will be selected from the index of objects of the specified type. The specific value to include is based on the application's display requirements, which will likely use a specific data element associated with the type (e.g., title, identifier, value, etc.) that is appropriate for the application. - - - - - A string, but not empty and not whitespace-only (whitespace is U+9, U+10, U+32 or [ \n\t]+ ) - - - - - - The xs:dateTime with a required timezone. - - - - - - An email address - - - - - - A URI - - - - - - A URI reference, such as a relative URL - - - - - - A Type 4 ('random' or 'pseudorandom' UUID per RFC 4122 - - - - - - A string token following the rules of XML "no colon" names, with no whitespace. (XML names are single alphabetic characters - followed by alphanumeric characters, periods, underscores or dashes.) - - - A trimmed string, at least one character with no - leading or trailing whitespace. + leading or trailing whitespace. - - - - - - - - The xs:date with a required timezone. - - - - - - + The xs:dateTime with a required timezone. - - + + An email address - + Need a better pattern. @@ -5489,32 +5402,14 @@ - - - A host name - - - - - - The ip-v4-address type specifies an IPv4 address in - dot decimal notation. - - - - - - - - The ip-v6-address type specifies an IPv6 address - represented in 8 hextets separated by colons. - This is based on the pattern provided here: - https://stackoverflow.com/questions/53497/regular-expression-that-matches-valid-ipv6-addresses - with some customizations. - - - - + + + + + A trimmed string, at least one character with no + leading or trailing whitespace. + + @@ -5522,7 +5417,7 @@ A trimmed string, at least one character with no - leading or trailing whitespace. + leading or trailing whitespace. @@ -5530,18 +5425,38 @@ A string, but not empty and not whitespace-only - (whitespace is U+9, U+10, U+32 or [ \n\t]+ ) + (whitespace is U+9, U+10, U+32 or [ \n\t]+ ) The OSCAL 'string' datatype restricts the XSD type by prohibiting leading - and trailing whitespace, and something (not only whitespace) is required. + and trailing whitespace, and something (not only whitespace) is required. A trimmed string, at least one character with no - leading or trailing whitespace. + leading or trailing whitespace. + + + + + + + + A string token following the rules of XML "no + colon" names, with no whitespace. (XML names are single alphabetic + characters followed by alphanumeric characters, periods, underscores or dashes.) + + + + + + + + A single token may not contain whitespace. + @@ -5561,13 +5476,13 @@ A URI reference, such as a relative URL - + A trimmed URI, at least one character with no - leading or trailing whitespace. + leading or trailing whitespace. @@ -5575,14 +5490,14 @@ A type 4 ('random' or 'pseudorandom') or type 5 UUID per RFC - 4122. + 4122. - + A sequence of 8-4-4-4-12 hex digits, with extra - constraints in the 13th and 17-18th places for version 4 and 5 - + constraints in the 13th and 17-18th places for version 4 and 5 + diff --git a/xml/schema/oscal_catalog_schema.xsd b/xml/schema/oscal_catalog_schema.xsd index 538504cc7..4b4d5c738 100644 --- a/xml/schema/oscal_catalog_schema.xsd +++ b/xml/schema/oscal_catalog_schema.xsd @@ -1,62 +1,62 @@ - + OSCAL Control Catalog Model 1.0.4 oscal-catalog -

    The OSCAL Control Catalog format can be used to describe a collection of security controls and related control enhancements, along with contextualizing documentation and metadata. The root of the Control Catalog format is catalog.

    +

    The OSCAL Control Catalog format can be used to describe a collection of security controls and related control enhancements, along with contextualizing documentation and metadata. The root of the Control Catalog format is catalog.

    catalog
    - + Catalog - A collection of controls. + A structured, organized collection of control information. - Catalog: A collection of controls. + Catalog: A structured, organized collection of control information. + type="oscal-metadata-metadata-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-control-common-parameter-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-catalog-control-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-catalog-group-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-back-matter-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> - + Catalog Universally Unique Identifier - A globally unique identifier with cross-instance scope for this catalog instance. This UUID should be changed when this document is revised. + Provides a globally unique means to identify a given catalog instance. - Catalog Universally Unique Identifier: A globally unique identifier with cross-instance scope for this catalog instance. This UUID should be changed when this document is revised. + Catalog Universally Unique Identifier: Provides a globally unique means to identify a given catalog instance. @@ -81,48 +81,48 @@ Group Title: A name given to the group, which may be used by a tool for display and navigation.
    - +
    + type="oscal-control-common-parameter-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-part-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-catalog-group-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-catalog-control-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - + Group Identifier - A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined group elsewhere in in this and other OSCAL instances (e.g., profiles). This id should be assigned per-subject, which means it should be consistently used to identify the same group across revisions of the document. + Identifies the group for the purpose of cross-linking within the defining instance or from other instances that reference the catalog. - Group Identifier: A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined group elsewhere in in this and other OSCAL instances (e.g., profiles). This id should be assigned per-subject, which means it should be consistently used to identify the same group across revisions of the document. + Group Identifier: Identifies the group for the purpose of cross-linking within the defining instance or from other instances that reference the catalog. - + Group Class @@ -137,10 +137,10 @@ Control - A structured information object representing a security or privacy control. Each security or privacy control within the Catalog is defined by a distinct control instance. + A structured object representing a requirement or guideline, which when implemented will reduce an aspect of risk related to an information system and its information. - Control: A structured information object representing a security or privacy control. Each security or privacy control within the Catalog is defined by a distinct control instance. + Control: A structured object representing a requirement or guideline, which when implemented will reduce an aspect of risk related to an information system and its information. @@ -154,42 +154,74 @@ Control Title: A name given to the control, which may be used by a tool for display and navigation. - + + type="oscal-control-common-parameter-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-part-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + + + + + Mapping + A mapping between the containing control and another resource. + + + Mapping: A mapping between the containing control and another resource. + + + + + + + + + Mapping Identifier + The unique identifier for the mapping. + + + Mapping Identifier: The unique identifier for the mapping. + + + + + type="oscal-catalog-control-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - + Control Identifier - A human-oriented, locally unique identifier with instance scope that can be used to reference this control elsewhere in this and other OSCAL instances (e.g., profiles). This id should be assigned per-subject, which means it should be consistently used to identify the same control across revisions of the document. + Identifies a control such that it can be referenced in the defining catalog and other OSCAL instances (e.g., profiles). - Control Identifier: A human-oriented, locally unique identifier with instance scope that can be used to reference this control elsewhere in this and other OSCAL instances (e.g., profiles). This id should be assigned per-subject, which means it should be consistently used to identify the same control across revisions of the document. + Control Identifier: Identifies a control such that it can be referenced in the defining catalog and other OSCAL instances (e.g., profiles). - + Control Class @@ -200,14 +232,14 @@ - + Part - A partition of a control's definition or a child of another part. + An annotated, markup-based textual element of a control's or catalog group's definition, or a child of another part. - Part: A partition of a control's definition or a child of another part. + Part: An annotated, markup-based textual element of a control's or catalog group's definition, or a child of another part. @@ -215,74 +247,72 @@ Part Title - A name given to the part, which may be used by a tool for display and navigation. + An optional name given to the part, which may be used by a tool for display and navigation. - Part Title: A name given to the part, which may be used by a tool for display and navigation. + Part Title: An optional name given to the part, which may be used by a tool for display and navigation. - + - + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + + type="oscal-control-common-part-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - + Part Identifier - A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined part elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A unique identifier for the part. - Part Identifier: A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined part elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Part Identifier: A unique identifier for the part. - + Part Name - A textual label that uniquely identifies the part's semantic type. + A textual label that uniquely identifies the part's semantic type, which exists in a value space qualified by the ns. - Part Name: A textual label that uniquely identifies the part's semantic type. + Part Name: A textual label that uniquely identifies the part's semantic type, which exists in a value space qualified by the ns. - + Part Namespace - A namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name. + An optional namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name. - Part Namespace: A namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name. + Part Namespace: An optional namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name. - + Part Class - A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns. + An optional textual providing a sub-type or characterization of the part's name, or a category to which the part belongs. - Part Class: A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns. + Part Class: An optional textual providing a sub-type or characterization of the part's name, or a category to which the part belongs. - + Parameter @@ -293,25 +323,25 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Parameter Label - A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned. + A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned. Parameter Label: A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned. - + @@ -320,89 +350,88 @@ Parameter Usage Description - Describes the purpose and use of a parameter + Describes the purpose and use of a parameter. - Parameter Usage Description: Describes the purpose and use of a parameter + Parameter Usage Description: Describes the purpose and use of a parameter. - + + type="oscal-control-common-parameter-constraint-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-parameter-guideline-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-parameter-value-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-parameter-selection-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Parameter Identifier - A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined parameter elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A unique identifier for the parameter. - Parameter Identifier: A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined parameter elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Parameter Identifier: A unique identifier for the parameter. - + Parameter Class - A textual label that provides a characterization of the parameter. + A textual label that provides a characterization of the type, purpose, use or scope of the parameter. - Parameter Class: A textual label that provides a characterization of the parameter. + Parameter Class: A textual label that provides a characterization of the type, purpose, use or scope of the parameter. - + Depends on - **(deprecated)** Another parameter invoking this one. This construct has been deprecated and should not be used. + + (deprecated) Another parameter invoking this one. This construct has been deprecated and should not be used. - Depends on: **(deprecated)** Another parameter invoking this one. This construct has been deprecated and should not be used. + Depends on: (deprecated) Another parameter invoking this one. This construct has been deprecated and should not be used. - + Constraint - A formal or informal expression of a constraint or test + A formal or informal expression of a constraint or test. - Constraint: A formal or informal expression of a constraint or test + Constraint: A formal or informal expression of a constraint or test. @@ -416,7 +445,7 @@ Constraint Description: A textual summary of the constraint to be applied. - + @@ -436,27 +465,25 @@ Constraint test - A formal (executable) expression of a constraint + A formal (executable) expression of a constraint. - Constraint test: A formal (executable) expression of a constraint + Constraint test: A formal (executable) expression of a constraint. - + Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + @@ -464,7 +491,7 @@ - + Guideline @@ -474,12 +501,10 @@ Guideline: A prose statement that provides a recommendation for the use of a parameter. - + - + Parameter Value @@ -488,16 +513,16 @@ Parameter Value: A parameter value or set of values. - + - + Selection - Presenting a choice among alternatives + Presenting a choice among alternatives. - Selection: Presenting a choice among alternatives + Selection: Presenting a choice among alternatives. @@ -505,18 +530,18 @@ Choice - A value selection among several such options + A value selection among several such options. - Choice: A value selection among several such options + Choice: A value selection among several such options. - + - + Parameter Cardinality @@ -527,7 +552,7 @@ - + Include All @@ -540,11 +565,11 @@ - Publication metadata - Provides information about the publication and availability of the containing document. + Document Metadata + Provides information about the containing document, and defines concepts that are shared across the document. - Publication metadata: Provides information about the publication and availability of the containing document. + Document Metadata: Provides information about the containing document, and defines concepts that are shared across the document. @@ -558,488 +583,493 @@ Document Title: A name given to the document, which may be used by a tool for display and navigation. - + + type="oscal-metadata-published-FIELD" + minOccurs="0" + maxOccurs="1"/> + type="oscal-metadata-last-modified-FIELD" + minOccurs="1" + maxOccurs="1"/> + type="oscal-metadata-version-FIELD" + minOccurs="1" + maxOccurs="1"/> + type="oscal-metadata-oscal-version-FIELD" + minOccurs="1" + maxOccurs="1"/> - - - - - - - - - - - - - - - Remarks - Additional commentary on the containing object. + revisions + A group of 'revision' elements - Remarks: Additional commentary on the containing object. + revisions: A group of 'revision' elements - - - - - - - - - Revision History Entry - An entry in a sequential list of revisions to the containing document in reverse chronological order (i.e., most recent previous revision first). - - - Revision History Entry: An entry in a sequential list of revisions to the containing document in reverse chronological order (i.e., most recent previous revision first). - - - - - - - Document Title - A name given to the document revision, which may be used by a tool for display and navigation. - - - Document Title: A name given to the document revision, which may be used by a tool for display and navigation. - - - - + + + + + + Revision History Entry + An entry in a sequential list of revisions to the containing document, expected to be in reverse chronological order (i.e. latest first). + + + Revision History Entry: An entry in a sequential list of revisions to the containing document, expected to be in reverse chronological order (i.e. latest first). + + + + + + + Document Title + A name given to the document revision, which may be used by a tool for display and navigation. + + + Document Title: A name given to the document revision, which may be used by a tool for display and navigation. + + + + + + + + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + - - - - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - - - - Remarks - Additional commentary on the containing object. - - - Remarks: Additional commentary on the containing object. - + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + - - - - - - - - - Location - A location, with associated metadata that can be referenced. - - - Location: A location, with associated metadata that can be referenced. - - - - - Location Title - A name given to the location, which may be used by a tool for display and navigation. + Role + Defines a function, which might be assigned to a party in a specific situation. - Location Title: A name given to the location, which may be used by a tool for display and navigation. + Role: Defines a function, which might be assigned to a party in a specific situation. - - - + + + + + + Role Title + A name given to the role, which may be used by a tool for display and navigation. + + + Role Title: A name given to the role, which may be used by a tool for display and navigation. + + + + + + + + + + + Role Short Name + A short common name, abbreviation, or acronym for the role. + + + Role Short Name: A short common name, abbreviation, or acronym for the role. + + + + + + + + + Role Description + A summary of the role's purpose and associated responsibilities. + + + Role Description: A summary of the role's purpose and associated responsibilities. + + + + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Role Identifier + A unique identifier for the role. + + + Role Identifier: A unique identifier for the role. + + - - - - - - - - Location URL - The uniform resource locator (URL) for a web site or Internet presence associated with the location. - - - Location URL: The uniform resource locator (URL) for a web site or Internet presence associated with the location. - - - - - - - - - - Remarks - Additional commentary on the containing object. - - - Remarks: Additional commentary on the containing object. - + - - - - - - - - Location Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined location elsewhere in this or other OSCAL instances. The locally defined UUID of the location can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - Location Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined location elsewhere in this or other OSCAL instances. The locally defined UUID of the location can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - - - - - Location Reference - A machine-oriented identifier reference to a location defined in the metadata section of this or another OSCAL instance. The UUID of the location in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). - - - Location Reference: A machine-oriented identifier reference to a location defined in the metadata section of this or another OSCAL instance. The UUID of the location in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). - - - - - - - Party (organization or person) - A responsible entity which is either a person or an organization. - - - Party (organization or person): A responsible entity which is either a person or an organization. - - - - - Party Name - The full name of the party. This is typically the legal name associated with the party. + Location + A physical point of presence, which may be associated with people, organizations, or other concepts within the current or linked OSCAL document. - Party Name: The full name of the party. This is typically the legal name associated with the party. + Location: A physical point of presence, which may be associated with people, organizations, or other concepts within the current or linked OSCAL document. - - - - - - - - Party Short Name - A short common name, abbreviation, or acronym for the party. - - - Party Short Name: A short common name, abbreviation, or acronym for the party. - - - + + + + + + Location Title + A name given to the location, which may be used by a tool for display and navigation. + + + Location Title: A name given to the location, which may be used by a tool for display and navigation. + + + + + + + + + + + + + + Location URL + The uniform resource locator (URL) for a web site or other resource associated with the location. + + + Location URL: The uniform resource locator (URL) for a web site or other resource associated with the location. + + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Location Universally Unique Identifier + A unique ID for the location, for reference. + + + Location Universally Unique Identifier: A unique ID for the location, for reference. + + + - + - Party External Identifier - An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID) + Party + An organization or person, which may be associated with roles or other concepts within the current or linked OSCAL document. - Party External Identifier: An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID) + Party: An organization or person, which may be associated with roles or other concepts within the current or linked OSCAL document. - - - + + + - External Identifier Schema - Indicates the type of external identifier. + Party Name + The full name of the party. This is typically the legal name associated with the party. - External Identifier Schema: Indicates the type of external identifier. + Party Name: The full name of the party. This is typically the legal name associated with the party. - - - + + + + + + + + Party Short Name + A short common name, abbreviation, or acronym for the party. + + + Party Short Name: A short common name, abbreviation, or acronym for the party. + + + + + + + + + Party External Identifier + An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID). + + + Party External Identifier: An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID). + + + + + + + External Identifier Schema + Indicates the type of external identifier. + + + External Identifier Schema: Indicates the type of external identifier. + + + + + + + + + + + + + + + + + + + Organizational Affiliation + A reference to another party by UUID, typically an organization, that this subject is associated with. + + + Organizational Affiliation: A reference to another party by UUID, typically an organization, that this subject is associated with. + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Party Universally Unique Identifier + A unique identifier for the party. + + + Party Universally Unique Identifier: A unique identifier for the party. + + + + + + Party Type + A category describing the kind of party the object describes. + + + Party Type: A category describing the kind of party the object describes. + + - - - - - - - - - - - - - Organizational Affiliation - A machine-oriented identifier reference to another party (person or organization) that this subject is associated with. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). - - - Organizational Affiliation: A machine-oriented identifier reference to another party (person or organization) that this subject is associated with. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). - - - - + + Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - - - - Party Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined party elsewhere in this or other OSCAL instances. The locally defined UUID of the party can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - Party Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined party elsewhere in this or other OSCAL instances. The locally defined UUID of the party can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - - - - Party Type - A category describing the kind of party the object describes. - - - Party Type: A category describing the kind of party the object describes. - - - + - Party Reference - A machine-oriented identifier reference to another party defined in metadata. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). + Location Universally Unique Identifier Reference + Reference to a location by UUID. - Party Reference: A machine-oriented identifier reference to another party defined in metadata. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). + Location Universally Unique Identifier Reference: Reference to a location by UUID. - + - + - Role - Defines a function assumed or expected to be assumed by a party in a specific situation. - - - Role: Defines a function assumed or expected to be assumed by a party in a specific situation. - - - - - - - Role Title - A name given to the role, which may be used by a tool for display and navigation. - - - Role Title: A name given to the role, which may be used by a tool for display and navigation. - - - - - - - - - - - Role Short Name - A short common name, abbreviation, or acronym for the role. - - - Role Short Name: A short common name, abbreviation, or acronym for the role. - - - - - - - - - Role Description - A summary of the role's purpose and associated responsibilities. - - - Role Description: A summary of the role's purpose and associated responsibilities. - - - - - - - - - - - - Remarks - Additional commentary on the containing object. - - - Remarks: Additional commentary on the containing object. - - - - - - - - - - Role Identifier - A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined role elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, the locally defined ID of the Role from the imported OSCAL instance must be referenced in the context of the containing resource (e.g., import, import-component-definition, import-profile, import-ssp or import-ap). This ID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - Role Identifier: A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined role elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, the locally defined ID of the Role from the imported OSCAL instance must be referenced in the context of the containing resource (e.g., import, import-component-definition, import-profile, import-ssp or import-ap). This ID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - + Party Universally Unique Identifier Reference + Reference to a party by UUID. + + + Party Universally Unique Identifier Reference: Reference to a party by UUID. + + + + + + + Role Identifier Reference + Reference to a role by UUID. + + + Role Identifier Reference: Reference to a role by UUID. + + + Back matter - A collection of resources, which may be included directly or by reference. + A collection of resources that may be referenced from within the OSCAL document instance. - Back matter: A collection of resources, which may be included directly or by reference. + Back matter: A collection of resources that may be referenced from within the OSCAL document instance. @@ -1047,10 +1077,10 @@ Resource - A resource associated with content in the containing document. A resource may be directly included in the document base64 encoded or may point to one or more equivalent internet resources. + A resource associated with content in the containing document instance. A resource may be directly included in the document using base64 encoding or may point to one or more equivalent internet resources. - Resource: A resource associated with content in the containing document. A resource may be directly included in the document base64 encoded or may point to one or more equivalent internet resources. + Resource: A resource associated with content in the containing document instance. A resource may be directly included in the document using base64 encoding or may point to one or more equivalent internet resources. @@ -1058,13 +1088,13 @@ Resource Title - A name given to the resource, which may be used by a tool for display and navigation. + An optional name given to the resource, which may be used by a tool for display and navigation. - Resource Title: A name given to the resource, which may be used by a tool for display and navigation. + Resource Title: An optional name given to the resource, which may be used by a tool for display and navigation. - + @@ -1073,33 +1103,33 @@ Resource Description - A short summary of the resource used to indicate the purpose of the resource. + An optional short summary of the resource used to indicate the purpose of the resource. - Resource Description: A short summary of the resource used to indicate the purpose of the resource. + Resource Description: An optional short summary of the resource used to indicate the purpose of the resource. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-document-id-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> Citation - A citation consisting of end note text and optional structured bibliographic data. + An optional citation consisting of end note text using structured markup. - Citation: A citation consisting of end note text and optional structured bibliographic data. + Citation: An optional citation consisting of end note text using structured markup. @@ -1113,18 +1143,18 @@ Citation Text: A line of citation text. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -1133,35 +1163,35 @@ Resource link - A pointer to an external resource with an optional hash for verification and change detection. + A URL-based pointer to an external resource with an optional hash for verification and change detection. - Resource link: A pointer to an external resource with an optional hash for verification and change detection. + Resource link: A URL-based pointer to an external resource with an optional hash for verification and change detection. + type="oscal-metadata-hash-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> - + Hypertext Reference - A resolvable URI reference to a resource. + A resolvable URL pointing to the referenced resource. - Hypertext Reference: A resolvable URI reference to a resource. + Hypertext Reference: A resolvable URL pointing to the referenced resource. - + Media Type - Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + A label that indicates the nature of a resource, as a data serialization or format. - Media Type: Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + Media Type: A label that indicates the nature of a resource, as a data serialization or format. @@ -1171,31 +1201,31 @@ Base64 - The Base64 alphabet in RFC 2045 - aligned with XSD. + A resource encoded using the Base64 alphabet defined by RFC 2045. - Base64: The Base64 alphabet in RFC 2045 - aligned with XSD. + Base64: A resource encoded using the Base64 alphabet defined by RFC 2045. - - + + File Name - Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded. + Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded. File Name: Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded. - + Media Type - Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + A label that indicates the nature of a resource, as a data serialization or format. - Media Type: Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + Media Type: A label that indicates the nature of a resource, as a data serialization or format. @@ -1206,26 +1236,24 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Resource Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined resource elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A unique identifier for a resource. - Resource Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined resource elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Resource Universally Unique Identifier: A unique identifier for a resource. @@ -1236,49 +1264,47 @@ Property - An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values. + An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. - Property: An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values. + Property: An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Property Name - A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object. + A textual label, within a namespace, that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object. - Property Name: A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object. + Property Name: A textual label, within a namespace, that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object. - + Property Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A unique identifier for a property. - Property Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Property Universally Unique Identifier: A unique identifier for a property. - + Property Namespace @@ -1288,7 +1314,7 @@ Property Namespace: A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name. - + Property Value @@ -1298,14 +1324,24 @@ Property Value: Indicates the value of the attribute, characteristic, or quality. - + Property Class - A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns. + A textual label that provides a sub-type or characterization of the property's name. + + + Property Class: A textual label that provides a sub-type or characterization of the property's name. + + + + + + Property Group + An identifier for relating distinct sets of properties. - Property Class: A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns. + Property Group: An identifier for relating distinct sets of properties. @@ -1313,10 +1349,10 @@ Link - A reference to a local or remote resource + A reference to a local or remote resource, that has a specific relation to the containing object. - Link: A reference to a local or remote resource + Link: A reference to a local or remote resource, that has a specific relation to the containing object. @@ -1330,12 +1366,12 @@ Link Text: A textual label to associate with the link, which may be used for presentation in a tool. - + - + Hypertext Reference @@ -1345,24 +1381,34 @@ Hypertext Reference: A resolvable URL reference to a resource. - + - Relation - Describes the type of relationship provided by the link. This can be an indicator of the link's purpose. + Link Relation Type + Describes the type of relationship provided by the link's hypertext reference. This can be an indicator of the link's purpose. - Relation: Describes the type of relationship provided by the link. This can be an indicator of the link's purpose. + Link Relation Type: Describes the type of relationship provided by the link's hypertext reference. This can be an indicator of the link's purpose. - + Media Type - Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + A label that indicates the nature of a resource, as a data serialization or format. - Media Type: Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + Media Type: A label that indicates the nature of a resource, as a data serialization or format. + + + + + + Resource Fragment + In case where the href points to a back-matter/resource, this value will indicate the URI fragment to append to any rlink associated with the resource. This value MUST be URI encoded. + + + Resource Fragment: In case where the href points to a back-matter/resource, this value will indicate the URI fragment to append to any rlink associated with the resource. This value MUST be URI encoded. @@ -1370,48 +1416,123 @@ Responsible Party - A reference to a set of organizations or persons that have responsibility for performing a referenced role in the context of the containing object. + A reference to a set of persons and/or organizations that have responsibility for performing the referenced role in the context of the containing object. - Responsible Party: A reference to a set of organizations or persons that have responsibility for performing a referenced role in the context of the containing object. + Responsible Party: A reference to a set of persons and/or organizations that have responsibility for performing the referenced role in the context of the containing object. + type="oscal-metadata-party-uuid-FIELD" + minOccurs="1" + maxOccurs="unbounded"/> + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Responsible Role - A human-oriented identifier reference to roles served by the user. + A reference to a role performed by a party. + + + Responsible Role: A reference to a role performed by a party. + + + + + + + Action + An action applied by a role within a given party to the content. + + + Action: An action applied by a role within a given party to the content. + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Action Universally Unique Identifier + A unique identifier that can be used to reference this defined action elsewhere in an OSCAL document. A UUID should be consistently used for a given location across revisions of the document. + + + Action Universally Unique Identifier: A unique identifier that can be used to reference this defined action elsewhere in an OSCAL document. A UUID should be consistently used for a given location across revisions of the document. + + + + + + Action Occurrence Date + The date and time when the action occurred. + + + Action Occurrence Date: The date and time when the action occurred. + + + + + + Action Type + The type of action documented by the assembly, such as an approval. + + + Action Type: The type of action documented by the assembly, such as an approval. + + + + + + Action Type System + Specifies the action type system used. - Responsible Role: A human-oriented identifier reference to roles served by the user. + Action Type System: Specifies the action type system used. @@ -1419,48 +1540,46 @@ Responsible Role - A reference to one or more roles with responsibility for performing a function relative to the containing object. + A reference to a role with responsibility for performing a function relative to the containing object, optionally associated with a set of persons and/or organizations that perform that role. - Responsible Role: A reference to one or more roles with responsibility for performing a function relative to the containing object. + Responsible Role: A reference to a role with responsibility for performing a function relative to the containing object, optionally associated with a set of persons and/or organizations that perform that role. + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-party-uuid-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Responsible Role ID - A human-oriented identifier reference to roles responsible for the business function. + A human-oriented identifier reference to a role performed. - Responsible Role ID: A human-oriented identifier reference to roles responsible for the business function. + Responsible Role ID: A human-oriented identifier reference to a role performed. @@ -1474,15 +1593,15 @@ Hash: A representation of a cryptographic digest generated over a resource using a specified hash algorithm. - - + + Hash algorithm - Method by which a hash is derived + The digest method by which a hash is derived. - Hash algorithm: Method by which a hash is derived + Hash algorithm: The digest method by which a hash is derived. @@ -1492,82 +1611,82 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + Publication Timestamp - The date and time the document was published. The date-time value must be formatted according to RFC 3339 with full time and time zone included. + The date and time the document was last made available. - Publication Timestamp: The date and time the document was published. The date-time value must be formatted according to RFC 3339 with full time and time zone included. + Publication Timestamp: The date and time the document was last made available. - + Last Modified Timestamp - The date and time the document was last modified. The date-time value must be formatted according to RFC 3339 with full time and time zone included. + The date and time the document was last stored for later retrieval. - Last Modified Timestamp: The date and time the document was last modified. The date-time value must be formatted according to RFC 3339 with full time and time zone included. + Last Modified Timestamp: The date and time the document was last stored for later retrieval. - + Document Version - A string used to distinguish the current version of the document from other previous (and future) versions. + Used to distinguish a specific revision of an OSCAL document from other previous and future versions. - Document Version: A string used to distinguish the current version of the document from other previous (and future) versions. + Document Version: Used to distinguish a specific revision of an OSCAL document from other previous and future versions. - + - OSCAL version - The OSCAL model version the document was authored against. + OSCAL Version + The OSCAL model version the document was authored against and will conform to as valid. - OSCAL version: The OSCAL model version the document was authored against. + OSCAL Version: The OSCAL model version the document was authored against and will conform to as valid. - + Email Address - An email address as defined by RFC 5322 Section 3.4.1. + An email address as defined by RFC 5322 Section 3.4.1. - Email Address: An email address as defined by RFC 5322 Section 3.4.1. + Email Address: An email address as defined by RFC 5322 Section 3.4.1. - + Telephone Number - Contact number by telephone. + A telephone service number as defined by ITU-T E.164. - Telephone Number: Contact number by telephone. + Telephone Number: A telephone service number as defined by ITU-T E.164. - - + + type flag @@ -1591,9 +1710,9 @@ + type="oscal-metadata-addr-line-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> @@ -1604,7 +1723,7 @@ City: City, town or geographical region for the mailing address. - + @@ -1612,12 +1731,12 @@ State - State, province or analogous geographical region for mailing address + State, province or analogous geographical region for a mailing address. - State: State, province or analogous geographical region for mailing address + State: State, province or analogous geographical region for a mailing address. - + @@ -1625,12 +1744,12 @@ Postal Code - Postal or ZIP code for mailing address + Postal or ZIP code for mailing address. - Postal Code: Postal or ZIP code for mailing address + Postal Code: Postal or ZIP code for mailing address. - + @@ -1643,11 +1762,11 @@ Country Code: The ISO 3166-1 alpha-2 country code for the mailing address. - + - + Address Type @@ -1667,81 +1786,242 @@ Address line: A single line of an address. - + Document Identifier - A document identifier qualified by an identifier scheme. A document identifier provides a globally unique identifier with a cross-instance scope that is used for a group of documents that are to be treated as different versions of the same document. If this element does not appear, or if the value of this element is empty, the value of "document-id" is equal to the value of the "uuid" flag of the top-level root element. + A document identifier qualified by an identifier scheme. - Document Identifier: A document identifier qualified by an identifier scheme. A document identifier provides a globally unique identifier with a cross-instance scope that is used for a group of documents that are to be treated as different versions of the same document. If this element does not appear, or if the value of this element is empty, the value of "document-id" is equal to the value of the "uuid" flag of the top-level root element. + Document Identifier: A document identifier qualified by an identifier scheme. - - + + Document Identification Scheme - Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters. + Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters. - Document Identification Scheme: Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters. + Document Identification Scheme: Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters. - - - - - + + + + Mapping Entry + A relationship-based mapping between a source and target set consisting of members (i.e., controls, control statements) from the respective source and target. + + + Mapping Entry: A relationship-based mapping between a source and target set consisting of members (i.e., controls, control statements) from the respective source and target. + + + + + + + + + Mapping Entry Relationship + The relationship type for the mapping entry, which describes the relationship between the effective requirements of the specified source and target sets. + + + Mapping Entry Relationship: The relationship type for the mapping entry, which describes the relationship between the effective requirements of the specified source and target sets. + + + + + + + Relationship Value Namespace + A namespace qualifying the relationship's value. This allows different organizations to associate distinct semantics for relationships with the same name. + + + Relationship Value Namespace: A namespace qualifying the relationship's value. This allows different organizations to associate distinct semantics for relationships with the same name. + + + + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Mapping Entry Identifier + The unique identifier for the mapping entry. + + + Mapping Entry Identifier: The unique identifier for the mapping entry. + + - + + + + Mapping Entry Item (source or target) + Identifies a specific edge within a source or target that is the subject of a mapping. + + + Mapping Entry Item (source or target): Identifies a specific edge within a source or target that is the subject of a mapping. + - - - - - - - - - - - - - - + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + - - - - + + + + Subject Type + The semantic type of the subject. + + + Subject Type: The semantic type of the subject. + + + + + + Subject Identifier Reference + A reference to an identified subject that is of the specified type. + + + Subject Identifier Reference: A reference to an identified subject that is of the specified type. + + - - - + + + + Mapped Resource Reference + A reference to a resource that is either the source or target of a mapping. + + + Mapped Resource Reference: A reference to a resource that is either the source or target of a mapping. + + + + + - The content model is the same as blockElementType, but line endings need - to be preserved, since this is preformatted. + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. - - + + + + + + + + + Resource Type + The semantic type of the resource. + + + Resource Type: The semantic type of the resource. + + + + + + Catalog or Profile Reference + A resolvable URL reference to the base catalog or profile that this profile is tailoring. + + + Catalog or Profile Reference: A resolvable URL reference to the base catalog or profile that this profile is tailoring. + + + + + + + + + + + + + + + + + + + + + + + + - + - The content model is the same as blockElementType, but line endings need + The content model is the same as inlineMarkupType, but line endings need to be preserved, since this is preformatted. @@ -1750,34 +2030,39 @@ + type="listItemType" + minOccurs="1" + maxOccurs="unbounded"/> + - - - + + + - + - - - - + + + + + - + - - + + + + + @@ -1786,49 +2071,49 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + - + + + + + + + + + + + + + + + + + + + + + + + - + + + - - An insert can be used to identify a placeholder for dynamically inserting text related to a specific object, which is referenced by the object's identifier using an id-ref. This insert mechanism allows the selection of which text value from the object to dynamically include based on the application's display requirements. + An insert can be used to identify a placeholder for dynamically inserting text related to a specific object, which is referenced by the object's identifier using an id-ref. This insert mechanism allows the selection of which text value from the object to dynamically include based on the application's display requirements. @@ -1837,103 +2122,38 @@ - The identity of the object to insert a value for. The identity will be selected from the index of objects of the specified type. The specific value to include is based on the application's display requirements, which will likely use a specific data element associated with the type (e.g., title, identifier, value, etc.) that is appropriate for the application. + The identity of the object to insert a value for. The identity will be selected from the index of objects of the specified type. The specific value to include is based on the application's display requirements, which will likely use a specific data element associated with the type (e.g., title, identifier, value, etc.) that is appropriate for the application. - - - - - A string, but not empty and not whitespace-only (whitespace is U+9, U+10, U+32 or [ \n\t]+ ) - - - - - - The xs:dateTime with a required timezone. - - - - - - An email address - - - - - - A URI - - - - - - A URI reference, such as a relative URL - - - - - - A Type 4 ('random' or 'pseudorandom' UUID per RFC 4122 - - - - - - A string token following the rules of XML "no colon" names, with no whitespace. (XML names are single alphabetic characters - followed by alphanumeric characters, periods, underscores or dashes.) - - - A trimmed string, at least one character with no - leading or trailing whitespace. + leading or trailing whitespace. - - - - - - - - The xs:date with a required timezone. - - - - - - + The xs:dateTime with a required timezone. - - + + An email address - + Need a better pattern. @@ -1941,59 +2161,41 @@ - - - A host name - - - - - - The ip-v4-address type specifies an IPv4 address in - dot decimal notation. - - - - - - + - The ip-v6-address type specifies an IPv6 address - represented in 8 hextets separated by colons. - This is based on the pattern provided here: - https://stackoverflow.com/questions/53497/regular-expression-that-matches-valid-ipv6-addresses - with some customizations. + A string, but not empty and not whitespace-only + (whitespace is U+9, U+10, U+32 or [ \n\t]+ ) - - - - - - + + The OSCAL 'string' datatype restricts the XSD type by prohibiting leading + and trailing whitespace, and something (not only whitespace) is required. + + A trimmed string, at least one character with no - leading or trailing whitespace. + leading or trailing whitespace. - + - A string, but not empty and not whitespace-only - (whitespace is U+9, U+10, U+32 or [ \n\t]+ ) + + A string token following the rules of XML "no + colon" names, with no whitespace. (XML names are single alphabetic + characters followed by alphanumeric characters, periods, underscores or dashes.) + - - - The OSCAL 'string' datatype restricts the XSD type by prohibiting leading - and trailing whitespace, and something (not only whitespace) is required. - - - + + + - A trimmed string, at least one character with no - leading or trailing whitespace. + + A single token may not contain whitespace. + @@ -2013,13 +2215,13 @@ A URI reference, such as a relative URL - + A trimmed URI, at least one character with no - leading or trailing whitespace. + leading or trailing whitespace. @@ -2027,14 +2229,14 @@ A type 4 ('random' or 'pseudorandom') or type 5 UUID per RFC - 4122. + 4122. - + A sequence of 8-4-4-4-12 hex digits, with extra - constraints in the 13th and 17-18th places for version 4 and 5 - + constraints in the 13th and 17-18th places for version 4 and 5 + diff --git a/xml/schema/oscal_complete_schema.xsd b/xml/schema/oscal_complete_schema.xsd index 0ed7f7311..a9818674e 100644 --- a/xml/schema/oscal_complete_schema.xsd +++ b/xml/schema/oscal_complete_schema.xsd @@ -1,11 +1,11 @@ - + OSCAL Unified Model of Models @@ -15,6 +15,7 @@

    This format represents a combination of all of the OSCAL models.

    catalog + mapping-collection profile component-definition system-security-plan @@ -23,46 +24,46 @@ plan-of-action-and-milestones
    - + Catalog - A collection of controls. + A structured, organized collection of control information. - Catalog: A collection of controls. + Catalog: A structured, organized collection of control information. + type="oscal-metadata-metadata-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-control-common-parameter-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-catalog-control-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-catalog-group-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-back-matter-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> - + Catalog Universally Unique Identifier - A globally unique identifier with cross-instance scope for this catalog instance. This UUID should be changed when this document is revised. + Provides a globally unique means to identify a given catalog instance. - Catalog Universally Unique Identifier: A globally unique identifier with cross-instance scope for this catalog instance. This UUID should be changed when this document is revised. + Catalog Universally Unique Identifier: Provides a globally unique means to identify a given catalog instance. @@ -87,48 +88,48 @@ Group Title: A name given to the group, which may be used by a tool for display and navigation. - +
    + type="oscal-control-common-parameter-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-part-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-catalog-group-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-catalog-control-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - + Group Identifier - A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined group elsewhere in in this and other OSCAL instances (e.g., profiles). This id should be assigned per-subject, which means it should be consistently used to identify the same group across revisions of the document. + Identifies the group for the purpose of cross-linking within the defining instance or from other instances that reference the catalog. - Group Identifier: A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined group elsewhere in in this and other OSCAL instances (e.g., profiles). This id should be assigned per-subject, which means it should be consistently used to identify the same group across revisions of the document. + Group Identifier: Identifies the group for the purpose of cross-linking within the defining instance or from other instances that reference the catalog. - + Group Class @@ -143,10 +144,10 @@ Control - A structured information object representing a security or privacy control. Each security or privacy control within the Catalog is defined by a distinct control instance. + A structured object representing a requirement or guideline, which when implemented will reduce an aspect of risk related to an information system and its information. - Control: A structured information object representing a security or privacy control. Each security or privacy control within the Catalog is defined by a distinct control instance. + Control: A structured object representing a requirement or guideline, which when implemented will reduce an aspect of risk related to an information system and its information. @@ -160,42 +161,74 @@ Control Title: A name given to the control, which may be used by a tool for display and navigation. - + + type="oscal-control-common-parameter-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-part-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + + + + + Mapping + A mapping between the containing control and another resource. + + + Mapping: A mapping between the containing control and another resource. + + + + + + + + + Mapping Identifier + The unique identifier for the mapping. + + + Mapping Identifier: The unique identifier for the mapping. + + + + + type="oscal-catalog-control-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - + Control Identifier - A human-oriented, locally unique identifier with instance scope that can be used to reference this control elsewhere in this and other OSCAL instances (e.g., profiles). This id should be assigned per-subject, which means it should be consistently used to identify the same control across revisions of the document. + Identifies a control such that it can be referenced in the defining catalog and other OSCAL instances (e.g., profiles). - Control Identifier: A human-oriented, locally unique identifier with instance scope that can be used to reference this control elsewhere in this and other OSCAL instances (e.g., profiles). This id should be assigned per-subject, which means it should be consistently used to identify the same control across revisions of the document. + Control Identifier: Identifies a control such that it can be referenced in the defining catalog and other OSCAL instances (e.g., profiles). - + Control Class @@ -206,14 +239,14 @@ - + Part - A partition of a control's definition or a child of another part. + An annotated, markup-based textual element of a control's or catalog group's definition, or a child of another part. - Part: A partition of a control's definition or a child of another part. + Part: An annotated, markup-based textual element of a control's or catalog group's definition, or a child of another part. @@ -221,74 +254,72 @@ Part Title - A name given to the part, which may be used by a tool for display and navigation. + An optional name given to the part, which may be used by a tool for display and navigation. - Part Title: A name given to the part, which may be used by a tool for display and navigation. + Part Title: An optional name given to the part, which may be used by a tool for display and navigation. - + - + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + + type="oscal-control-common-part-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - + Part Identifier - A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined part elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A unique identifier for the part. - Part Identifier: A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined part elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Part Identifier: A unique identifier for the part. - + Part Name - A textual label that uniquely identifies the part's semantic type. + A textual label that uniquely identifies the part's semantic type, which exists in a value space qualified by the ns. - Part Name: A textual label that uniquely identifies the part's semantic type. + Part Name: A textual label that uniquely identifies the part's semantic type, which exists in a value space qualified by the ns. - + Part Namespace - A namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name. + An optional namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name. - Part Namespace: A namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name. + Part Namespace: An optional namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name. - + Part Class - A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns. + An optional textual providing a sub-type or characterization of the part's name, or a category to which the part belongs. - Part Class: A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns. + Part Class: An optional textual providing a sub-type or characterization of the part's name, or a category to which the part belongs. - + Parameter @@ -299,25 +330,25 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Parameter Label - A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned. + A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned. Parameter Label: A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned. - + @@ -326,89 +357,88 @@ Parameter Usage Description - Describes the purpose and use of a parameter + Describes the purpose and use of a parameter. - Parameter Usage Description: Describes the purpose and use of a parameter + Parameter Usage Description: Describes the purpose and use of a parameter. - + + type="oscal-control-common-parameter-constraint-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-parameter-guideline-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-parameter-value-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-parameter-selection-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Parameter Identifier - A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined parameter elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A unique identifier for the parameter. - Parameter Identifier: A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined parameter elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Parameter Identifier: A unique identifier for the parameter. - + Parameter Class - A textual label that provides a characterization of the parameter. + A textual label that provides a characterization of the type, purpose, use or scope of the parameter. - Parameter Class: A textual label that provides a characterization of the parameter. + Parameter Class: A textual label that provides a characterization of the type, purpose, use or scope of the parameter. - + Depends on - **(deprecated)** Another parameter invoking this one. This construct has been deprecated and should not be used. + + (deprecated) Another parameter invoking this one. This construct has been deprecated and should not be used. - Depends on: **(deprecated)** Another parameter invoking this one. This construct has been deprecated and should not be used. + Depends on: (deprecated) Another parameter invoking this one. This construct has been deprecated and should not be used. - + Constraint - A formal or informal expression of a constraint or test + A formal or informal expression of a constraint or test. - Constraint: A formal or informal expression of a constraint or test + Constraint: A formal or informal expression of a constraint or test. @@ -422,7 +452,7 @@ Constraint Description: A textual summary of the constraint to be applied. - + @@ -442,27 +472,25 @@ Constraint test - A formal (executable) expression of a constraint + A formal (executable) expression of a constraint. - Constraint test: A formal (executable) expression of a constraint + Constraint test: A formal (executable) expression of a constraint. - + Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + @@ -470,7 +498,7 @@ - + Guideline @@ -480,12 +508,10 @@ Guideline: A prose statement that provides a recommendation for the use of a parameter. - + - + Parameter Value @@ -494,16 +520,16 @@ Parameter Value: A parameter value or set of values. - + - + Selection - Presenting a choice among alternatives + Presenting a choice among alternatives. - Selection: Presenting a choice among alternatives + Selection: Presenting a choice among alternatives. @@ -511,18 +537,18 @@ Choice - A value selection among several such options + A value selection among several such options. - Choice: A value selection among several such options + Choice: A value selection among several such options. - + - + Parameter Cardinality @@ -533,7 +559,7 @@ - + Include All @@ -546,11 +572,11 @@ - Publication metadata - Provides information about the publication and availability of the containing document. + Document Metadata + Provides information about the containing document, and defines concepts that are shared across the document. - Publication metadata: Provides information about the publication and availability of the containing document. + Document Metadata: Provides information about the containing document, and defines concepts that are shared across the document. @@ -564,499 +590,493 @@ Document Title: A name given to the document, which may be used by a tool for display and navigation. - + + type="oscal-metadata-published-FIELD" + minOccurs="0" + maxOccurs="1"/> + type="oscal-metadata-last-modified-FIELD" + minOccurs="1" + maxOccurs="1"/> + type="oscal-metadata-version-FIELD" + minOccurs="1" + maxOccurs="1"/> + type="oscal-metadata-oscal-version-FIELD" + minOccurs="1" + maxOccurs="1"/> - - - - - - - - - - - - - - - Remarks - Additional commentary on the containing object. + revisions + A group of 'revision' elements - Remarks: Additional commentary on the containing object. + revisions: A group of 'revision' elements - - - - - - - - - Revision History Entry - An entry in a sequential list of revisions to the containing document in reverse chronological order (i.e., most recent previous revision first). - - - Revision History Entry: An entry in a sequential list of revisions to the containing document in reverse chronological order (i.e., most recent previous revision first). - - - - - - - Document Title - A name given to the document revision, which may be used by a tool for display and navigation. - - - Document Title: A name given to the document revision, which may be used by a tool for display and navigation. - - - - + + + + + + Revision History Entry + An entry in a sequential list of revisions to the containing document, expected to be in reverse chronological order (i.e. latest first). + + + Revision History Entry: An entry in a sequential list of revisions to the containing document, expected to be in reverse chronological order (i.e. latest first). + + + + + + + Document Title + A name given to the document revision, which may be used by a tool for display and navigation. + + + Document Title: A name given to the document revision, which may be used by a tool for display and navigation. + + + + + + + + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + - - - - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - - - - Remarks - Additional commentary on the containing object. - - - Remarks: Additional commentary on the containing object. - + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + - - - - - - - - - Location - A location, with associated metadata that can be referenced. - - - Location: A location, with associated metadata that can be referenced. - - - - - Location Title - A name given to the location, which may be used by a tool for display and navigation. + Role + Defines a function, which might be assigned to a party in a specific situation. - Location Title: A name given to the location, which may be used by a tool for display and navigation. + Role: Defines a function, which might be assigned to a party in a specific situation. - - - + + + + + + Role Title + A name given to the role, which may be used by a tool for display and navigation. + + + Role Title: A name given to the role, which may be used by a tool for display and navigation. + + + + + + + + + + + Role Short Name + A short common name, abbreviation, or acronym for the role. + + + Role Short Name: A short common name, abbreviation, or acronym for the role. + + + + + + + + + Role Description + A summary of the role's purpose and associated responsibilities. + + + Role Description: A summary of the role's purpose and associated responsibilities. + + + + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Role Identifier + A unique identifier for the role. + + + Role Identifier: A unique identifier for the role. + + - - - - - - - - Location URL - The uniform resource locator (URL) for a web site or Internet presence associated with the location. - - - Location URL: The uniform resource locator (URL) for a web site or Internet presence associated with the location. - - - - - - - - - - Remarks - Additional commentary on the containing object. - - - Remarks: Additional commentary on the containing object. - + - - - - - - - - Location Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined location elsewhere in this or other OSCAL instances. The locally defined UUID of the location can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - Location Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined location elsewhere in this or other OSCAL instances. The locally defined UUID of the location can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - - - - - Location Reference - A machine-oriented identifier reference to a location defined in the metadata section of this or another OSCAL instance. The UUID of the location in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). - - - Location Reference: A machine-oriented identifier reference to a location defined in the metadata section of this or another OSCAL instance. The UUID of the location in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). - - - - - - - Party (organization or person) - A responsible entity which is either a person or an organization. - - - Party (organization or person): A responsible entity which is either a person or an organization. - - - - - - - Party Name - The full name of the party. This is typically the legal name associated with the party. - - - Party Name: The full name of the party. This is typically the legal name associated with the party. - - - - - - - Party Short Name - A short common name, abbreviation, or acronym for the party. + Location + A physical point of presence, which may be associated with people, organizations, or other concepts within the current or linked OSCAL document. - Party Short Name: A short common name, abbreviation, or acronym for the party. + Location: A physical point of presence, which may be associated with people, organizations, or other concepts within the current or linked OSCAL document. - - + + + + + + Location Title + A name given to the location, which may be used by a tool for display and navigation. + + + Location Title: A name given to the location, which may be used by a tool for display and navigation. + + + + + + + + + + + + + + Location URL + The uniform resource locator (URL) for a web site or other resource associated with the location. + + + Location URL: The uniform resource locator (URL) for a web site or other resource associated with the location. + + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Location Universally Unique Identifier + A unique ID for the location, for reference. + + + Location Universally Unique Identifier: A unique ID for the location, for reference. + + + - + - Party External Identifier - An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID) + Party + An organization or person, which may be associated with roles or other concepts within the current or linked OSCAL document. - Party External Identifier: An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID) + Party: An organization or person, which may be associated with roles or other concepts within the current or linked OSCAL document. - - - + + + - External Identifier Schema - Indicates the type of external identifier. + Party Name + The full name of the party. This is typically the legal name associated with the party. - External Identifier Schema: Indicates the type of external identifier. + Party Name: The full name of the party. This is typically the legal name associated with the party. - - - + + + + + + + + Party Short Name + A short common name, abbreviation, or acronym for the party. + + + Party Short Name: A short common name, abbreviation, or acronym for the party. + + + + + + + + + Party External Identifier + An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID). + + + Party External Identifier: An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID). + + + + + + + External Identifier Schema + Indicates the type of external identifier. + + + External Identifier Schema: Indicates the type of external identifier. + + + + + + + + + + + + + + + + + + + Organizational Affiliation + A reference to another party by UUID, typically an organization, that this subject is associated with. + + + Organizational Affiliation: A reference to another party by UUID, typically an organization, that this subject is associated with. + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Party Universally Unique Identifier + A unique identifier for the party. + + + Party Universally Unique Identifier: A unique identifier for the party. + + + + + + Party Type + A category describing the kind of party the object describes. + + + Party Type: A category describing the kind of party the object describes. + + - - - - - - - - - - - - - Organizational Affiliation - A machine-oriented identifier reference to another party (person or organization) that this subject is associated with. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). - - - Organizational Affiliation: A machine-oriented identifier reference to another party (person or organization) that this subject is associated with. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). - - - - + + Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - - - - Party Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined party elsewhere in this or other OSCAL instances. The locally defined UUID of the party can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - Party Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined party elsewhere in this or other OSCAL instances. The locally defined UUID of the party can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - - - - Party Type - A category describing the kind of party the object describes. - - - Party Type: A category describing the kind of party the object describes. - - - + - Party Reference - A machine-oriented identifier reference to another party defined in metadata. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). + Location Universally Unique Identifier Reference + Reference to a location by UUID. - Party Reference: A machine-oriented identifier reference to another party defined in metadata. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). + Location Universally Unique Identifier Reference: Reference to a location by UUID. - + - + - Role - Defines a function assumed or expected to be assumed by a party in a specific situation. + Party Universally Unique Identifier Reference + Reference to a party by UUID. - Role: Defines a function assumed or expected to be assumed by a party in a specific situation. + Party Universally Unique Identifier Reference: Reference to a party by UUID. - - - - - - Role Title - A name given to the role, which may be used by a tool for display and navigation. - - - Role Title: A name given to the role, which may be used by a tool for display and navigation. - - - - - - - - - - - Role Short Name - A short common name, abbreviation, or acronym for the role. - - - Role Short Name: A short common name, abbreviation, or acronym for the role. - - - - - - - - - Role Description - A summary of the role's purpose and associated responsibilities. - - - Role Description: A summary of the role's purpose and associated responsibilities. - - - - - - - - - - - - Remarks - Additional commentary on the containing object. - - - Remarks: Additional commentary on the containing object. - - - - - - - - - - Role Identifier - A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined role elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, the locally defined ID of the Role from the imported OSCAL instance must be referenced in the context of the containing resource (e.g., import, import-component-definition, import-profile, import-ssp or import-ap). This ID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - Role Identifier: A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined role elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, the locally defined ID of the Role from the imported OSCAL instance must be referenced in the context of the containing resource (e.g., import, import-component-definition, import-profile, import-ssp or import-ap). This ID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - + + Role Identifier Reference - A human-oriented identifier reference to roles served by the user. + Reference to a role by UUID. - Role Identifier Reference: A human-oriented identifier reference to roles served by the user. + Role Identifier Reference: Reference to a role by UUID. - + Back matter - A collection of resources, which may be included directly or by reference. + A collection of resources that may be referenced from within the OSCAL document instance. - Back matter: A collection of resources, which may be included directly or by reference. + Back matter: A collection of resources that may be referenced from within the OSCAL document instance. @@ -1064,10 +1084,10 @@ Resource - A resource associated with content in the containing document. A resource may be directly included in the document base64 encoded or may point to one or more equivalent internet resources. + A resource associated with content in the containing document instance. A resource may be directly included in the document using base64 encoding or may point to one or more equivalent internet resources. - Resource: A resource associated with content in the containing document. A resource may be directly included in the document base64 encoded or may point to one or more equivalent internet resources. + Resource: A resource associated with content in the containing document instance. A resource may be directly included in the document using base64 encoding or may point to one or more equivalent internet resources. @@ -1075,13 +1095,13 @@ Resource Title - A name given to the resource, which may be used by a tool for display and navigation. + An optional name given to the resource, which may be used by a tool for display and navigation. - Resource Title: A name given to the resource, which may be used by a tool for display and navigation. + Resource Title: An optional name given to the resource, which may be used by a tool for display and navigation. - + @@ -1090,33 +1110,33 @@ Resource Description - A short summary of the resource used to indicate the purpose of the resource. + An optional short summary of the resource used to indicate the purpose of the resource. - Resource Description: A short summary of the resource used to indicate the purpose of the resource. + Resource Description: An optional short summary of the resource used to indicate the purpose of the resource. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-document-id-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> Citation - A citation consisting of end note text and optional structured bibliographic data. + An optional citation consisting of end note text using structured markup. - Citation: A citation consisting of end note text and optional structured bibliographic data. + Citation: An optional citation consisting of end note text using structured markup. @@ -1130,18 +1150,18 @@ Citation Text: A line of citation text. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -1150,35 +1170,35 @@ Resource link - A pointer to an external resource with an optional hash for verification and change detection. + A URL-based pointer to an external resource with an optional hash for verification and change detection. - Resource link: A pointer to an external resource with an optional hash for verification and change detection. + Resource link: A URL-based pointer to an external resource with an optional hash for verification and change detection. + type="oscal-metadata-hash-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> - + Hypertext Reference - A resolvable URI reference to a resource. + A resolvable URL pointing to the referenced resource. - Hypertext Reference: A resolvable URI reference to a resource. + Hypertext Reference: A resolvable URL pointing to the referenced resource. - + Media Type - Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + A label that indicates the nature of a resource, as a data serialization or format. - Media Type: Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + Media Type: A label that indicates the nature of a resource, as a data serialization or format. @@ -1188,31 +1208,31 @@ Base64 - The Base64 alphabet in RFC 2045 - aligned with XSD. + A resource encoded using the Base64 alphabet defined by RFC 2045. - Base64: The Base64 alphabet in RFC 2045 - aligned with XSD. + Base64: A resource encoded using the Base64 alphabet defined by RFC 2045. - - + + File Name - Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded. + Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded. File Name: Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded. - + Media Type - Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + A label that indicates the nature of a resource, as a data serialization or format. - Media Type: Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + Media Type: A label that indicates the nature of a resource, as a data serialization or format. @@ -1223,26 +1243,24 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Resource Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined resource elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A unique identifier for a resource. - Resource Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined resource elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Resource Universally Unique Identifier: A unique identifier for a resource. @@ -1253,49 +1271,47 @@ Property - An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values. + An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. - Property: An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values. + Property: An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Property Name - A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object. + A textual label, within a namespace, that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object. - Property Name: A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object. + Property Name: A textual label, within a namespace, that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object. - + Property Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A unique identifier for a property. - Property Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Property Universally Unique Identifier: A unique identifier for a property. - + Property Namespace @@ -1305,7 +1321,7 @@ Property Namespace: A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name. - + Property Value @@ -1315,14 +1331,24 @@ Property Value: Indicates the value of the attribute, characteristic, or quality. - + Property Class - A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns. + A textual label that provides a sub-type or characterization of the property's name. + + + Property Class: A textual label that provides a sub-type or characterization of the property's name. + + + + + + Property Group + An identifier for relating distinct sets of properties. - Property Class: A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns. + Property Group: An identifier for relating distinct sets of properties. @@ -1330,10 +1356,10 @@ Link - A reference to a local or remote resource + A reference to a local or remote resource, that has a specific relation to the containing object. - Link: A reference to a local or remote resource + Link: A reference to a local or remote resource, that has a specific relation to the containing object. @@ -1347,12 +1373,12 @@ Link Text: A textual label to associate with the link, which may be used for presentation in a tool. - + - + Hypertext Reference @@ -1362,24 +1388,34 @@ Hypertext Reference: A resolvable URL reference to a resource. - + - Relation - Describes the type of relationship provided by the link. This can be an indicator of the link's purpose. + Link Relation Type + Describes the type of relationship provided by the link's hypertext reference. This can be an indicator of the link's purpose. - Relation: Describes the type of relationship provided by the link. This can be an indicator of the link's purpose. + Link Relation Type: Describes the type of relationship provided by the link's hypertext reference. This can be an indicator of the link's purpose. - + Media Type - Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + A label that indicates the nature of a resource, as a data serialization or format. + + + Media Type: A label that indicates the nature of a resource, as a data serialization or format. + + + + + + Resource Fragment + In case where the href points to a back-matter/resource, this value will indicate the URI fragment to append to any rlink associated with the resource. This value MUST be URI encoded. - Media Type: Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + Resource Fragment: In case where the href points to a back-matter/resource, this value will indicate the URI fragment to append to any rlink associated with the resource. This value MUST be URI encoded. @@ -1387,48 +1423,123 @@ Responsible Party - A reference to a set of organizations or persons that have responsibility for performing a referenced role in the context of the containing object. + A reference to a set of persons and/or organizations that have responsibility for performing the referenced role in the context of the containing object. - Responsible Party: A reference to a set of organizations or persons that have responsibility for performing a referenced role in the context of the containing object. + Responsible Party: A reference to a set of persons and/or organizations that have responsibility for performing the referenced role in the context of the containing object. + type="oscal-metadata-party-uuid-FIELD" + minOccurs="1" + maxOccurs="unbounded"/> + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Responsible Role - A human-oriented identifier reference to roles served by the user. + A reference to a role performed by a party. + + + Responsible Role: A reference to a role performed by a party. + + + + + + + Action + An action applied by a role within a given party to the content. + + + Action: An action applied by a role within a given party to the content. + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Action Universally Unique Identifier + A unique identifier that can be used to reference this defined action elsewhere in an OSCAL document. A UUID should be consistently used for a given location across revisions of the document. + + + Action Universally Unique Identifier: A unique identifier that can be used to reference this defined action elsewhere in an OSCAL document. A UUID should be consistently used for a given location across revisions of the document. + + + + + + Action Occurrence Date + The date and time when the action occurred. + + + Action Occurrence Date: The date and time when the action occurred. + + + + + + Action Type + The type of action documented by the assembly, such as an approval. - Responsible Role: A human-oriented identifier reference to roles served by the user. + Action Type: The type of action documented by the assembly, such as an approval. + + + + + + Action Type System + Specifies the action type system used. + + + Action Type System: Specifies the action type system used. @@ -1436,48 +1547,46 @@ Responsible Role - A reference to one or more roles with responsibility for performing a function relative to the containing object. + A reference to a role with responsibility for performing a function relative to the containing object, optionally associated with a set of persons and/or organizations that perform that role. - Responsible Role: A reference to one or more roles with responsibility for performing a function relative to the containing object. + Responsible Role: A reference to a role with responsibility for performing a function relative to the containing object, optionally associated with a set of persons and/or organizations that perform that role. + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-party-uuid-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Responsible Role ID - A human-oriented identifier reference to roles responsible for the business function. + A human-oriented identifier reference to a role performed. - Responsible Role ID: A human-oriented identifier reference to roles responsible for the business function. + Responsible Role ID: A human-oriented identifier reference to a role performed. @@ -1491,15 +1600,15 @@ Hash: A representation of a cryptographic digest generated over a resource using a specified hash algorithm. - - + + Hash algorithm - Method by which a hash is derived + The digest method by which a hash is derived. - Hash algorithm: Method by which a hash is derived + Hash algorithm: The digest method by which a hash is derived. @@ -1509,82 +1618,82 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + Publication Timestamp - The date and time the document was published. The date-time value must be formatted according to RFC 3339 with full time and time zone included. + The date and time the document was last made available. - Publication Timestamp: The date and time the document was published. The date-time value must be formatted according to RFC 3339 with full time and time zone included. + Publication Timestamp: The date and time the document was last made available. - + Last Modified Timestamp - The date and time the document was last modified. The date-time value must be formatted according to RFC 3339 with full time and time zone included. + The date and time the document was last stored for later retrieval. - Last Modified Timestamp: The date and time the document was last modified. The date-time value must be formatted according to RFC 3339 with full time and time zone included. + Last Modified Timestamp: The date and time the document was last stored for later retrieval. - + Document Version - A string used to distinguish the current version of the document from other previous (and future) versions. + Used to distinguish a specific revision of an OSCAL document from other previous and future versions. - Document Version: A string used to distinguish the current version of the document from other previous (and future) versions. + Document Version: Used to distinguish a specific revision of an OSCAL document from other previous and future versions. - + - OSCAL version - The OSCAL model version the document was authored against. + OSCAL Version + The OSCAL model version the document was authored against and will conform to as valid. - OSCAL version: The OSCAL model version the document was authored against. + OSCAL Version: The OSCAL model version the document was authored against and will conform to as valid. - + Email Address - An email address as defined by RFC 5322 Section 3.4.1. + An email address as defined by RFC 5322 Section 3.4.1. - Email Address: An email address as defined by RFC 5322 Section 3.4.1. + Email Address: An email address as defined by RFC 5322 Section 3.4.1. - + Telephone Number - Contact number by telephone. + A telephone service number as defined by ITU-T E.164. - Telephone Number: Contact number by telephone. + Telephone Number: A telephone service number as defined by ITU-T E.164. - - + + type flag @@ -1608,9 +1717,9 @@ + type="oscal-metadata-addr-line-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> @@ -1621,7 +1730,7 @@ City: City, town or geographical region for the mailing address. - + @@ -1629,12 +1738,12 @@ State - State, province or analogous geographical region for mailing address + State, province or analogous geographical region for a mailing address. - State: State, province or analogous geographical region for mailing address + State: State, province or analogous geographical region for a mailing address. - + @@ -1642,12 +1751,12 @@ Postal Code - Postal or ZIP code for mailing address + Postal or ZIP code for mailing address. - Postal Code: Postal or ZIP code for mailing address + Postal Code: Postal or ZIP code for mailing address. - + @@ -1660,11 +1769,11 @@ Country Code: The ISO 3166-1 alpha-2 country code for the mailing address. - + - + Address Type @@ -1684,106 +1793,359 @@ Address line: A single line of an address. - + Document Identifier - A document identifier qualified by an identifier scheme. A document identifier provides a globally unique identifier with a cross-instance scope that is used for a group of documents that are to be treated as different versions of the same document. If this element does not appear, or if the value of this element is empty, the value of "document-id" is equal to the value of the "uuid" flag of the top-level root element. + A document identifier qualified by an identifier scheme. - Document Identifier: A document identifier qualified by an identifier scheme. A document identifier provides a globally unique identifier with a cross-instance scope that is used for a group of documents that are to be treated as different versions of the same document. If this element does not appear, or if the value of this element is empty, the value of "document-id" is equal to the value of the "uuid" flag of the top-level root element. + Document Identifier: A document identifier qualified by an identifier scheme. - - + + Document Identification Scheme - Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters. + Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters. - Document Identification Scheme: Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters. + Document Identification Scheme: Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters. - - + - Profile - Each OSCAL profile is defined by a Profile element + Mapping Entry + A relationship-based mapping between a source and target set consisting of members (i.e., controls, control statements) from the respective source and target. - Profile: Each OSCAL profile is defined by a Profile element + Mapping Entry: A relationship-based mapping between a source and target set consisting of members (i.e., controls, control statements) from the respective source and target. - - - - - + + + + + + + Mapping Entry Relationship + The relationship type for the mapping entry, which describes the relationship between the effective requirements of the specified source and target sets. + + + Mapping Entry Relationship: The relationship type for the mapping entry, which describes the relationship between the effective requirements of the specified source and target sets. + + + + + + + Relationship Value Namespace + A namespace qualifying the relationship's value. This allows different organizations to associate distinct semantics for relationships with the same name. + + + Relationship Value Namespace: A namespace qualifying the relationship's value. This allows different organizations to associate distinct semantics for relationships with the same name. + + + + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + - + - Profile Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this profile elsewhere in this or other OSCAL instances. The locally defined UUID of the profile can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance).This identifier should be assigned per-subject, which means it should be consistently used to identify the same profile across revisions of the document. + Mapping Entry Identifier + The unique identifier for the mapping entry. - Profile Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this profile elsewhere in this or other OSCAL instances. The locally defined UUID of the profile can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance).This identifier should be assigned per-subject, which means it should be consistently used to identify the same profile across revisions of the document. + Mapping Entry Identifier: The unique identifier for the mapping entry. - + - Import resource - The import designates a catalog or profile to be included (referenced and potentially modified) by this profile. The import also identifies which controls to select using the include-all, include-controls, and exclude-controls directives. + Mapping Entry Item (source or target) + Identifies a specific edge within a source or target that is the subject of a mapping. - Import resource: The import designates a catalog or profile to be included (referenced and potentially modified) by this profile. The import also identifies which controls to select using the include-all, include-controls, and exclude-controls directives. + Mapping Entry Item (source or target): Identifies a specific edge within a source or target that is the subject of a mapping. - - - - - - - - - - Catalog or Profile Reference - A resolvable URL reference to the base catalog or profile that this profile is tailoring. - + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Subject Type + The semantic type of the subject. + + + Subject Type: The semantic type of the subject. + + + + + + Subject Identifier Reference + A reference to an identified subject that is of the specified type. + + + Subject Identifier Reference: A reference to an identified subject that is of the specified type. + + + + + + + Mapped Resource Reference + A reference to a resource that is either the source or target of a mapping. + + + Mapped Resource Reference: A reference to a resource that is either the source or target of a mapping. + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Resource Type + The semantic type of the resource. + + + Resource Type: The semantic type of the resource. + + + + + + Catalog or Profile Reference + A resolvable URL reference to the base catalog or profile that this profile is tailoring. + + + Catalog or Profile Reference: A resolvable URL reference to the base catalog or profile that this profile is tailoring. + + + + + + + + Mapping Collection + A collection of relationship-based control and/or control statement mappings. + + + Mapping Collection: A collection of relationship-based control and/or control statement mappings. + + + + + + + + + + Mapping Collection Universally Unique Identifier + A globally unique identifier with cross-instance scope for this catalog instance. This UUID should be changed when this document is revised. + + + Mapping Collection Universally Unique Identifier: A globally unique identifier with cross-instance scope for this catalog instance. This UUID should be changed when this document is revised. + + + + + + + Control Mapping + A mapping between two target resources. + + + Control Mapping: A mapping between two target resources. + + + + + + + + + + Mapping Universally Unique Identifier + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this mapping definition elsewhere in this or other OSCAL instances. The locally defined UUID of the mapping can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same mapping across revisions of the document. + + + Mapping Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this mapping definition elsewhere in this or other OSCAL instances. The locally defined UUID of the mapping can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same mapping across revisions of the document. + + + + + + + + Profile + Each OSCAL profile is defined by a profile element. + + + Profile: Each OSCAL profile is defined by a profile element. + + + + + + + + + + + + Profile Universally Unique Identifier + Provides a globally unique means to identify a given profile instance. + + + Profile Universally Unique Identifier: Provides a globally unique means to identify a given profile instance. + + + + + + + Import Resource + Designates a referenced source catalog or profile that provides a source of control information for use in creating a new overlay or baseline. + + + Import Resource: Designates a referenced source catalog or profile that provides a source of control information for use in creating a new overlay or baseline. + + + + + + + + + + + + Catalog or Profile Reference + A resolvable URL reference to the base catalog or profile that this profile is tailoring. + Catalog or Profile Reference: A resolvable URL reference to the base catalog or profile that this profile is tailoring. @@ -1792,31 +2154,31 @@ - Merge controls - A Merge element provides structuring directives that drive how controls are organized after resolution. + Merge Controls + Provides structuring directives that instruct how controls are organized after profile resolution. - Merge controls: A Merge element provides structuring directives that drive how controls are organized after resolution. + Merge Controls: Provides structuring directives that instruct how controls are organized after profile resolution. - Combination rule - A Combine element defines how to combine multiple (competing) versions of the same control. + Combination Rule + A Combine element defines how to resolve duplicate instances of the same control (e.g., controls with the same ID). - Combination rule: A Combine element defines how to combine multiple (competing) versions of the same control. + Combination Rule: A Combine element defines how to resolve duplicate instances of the same control (e.g., controls with the same ID). - + - Combination method - How clashing controls should be handled + Combination Method + Declare how clashing controls should be handled. - Combination method: How clashing controls should be handled + Combination Method: Declare how clashing controls should be handled. @@ -1826,11 +2188,11 @@ - Flat - Use the flat structuring method. + Flat Without Grouping + Directs that controls appear without any grouping structure. - Flat: Use the flat structuring method. + Flat Without Grouping: Directs that controls appear without any grouping structure. @@ -1838,34 +2200,34 @@ - As-Is Structuring Directive - An As-is element indicates that the controls should be structured in resolution as they are structured in their source catalogs. It does not contain any elements or attributes. + Group As-Is + Indicates that the controls selected should retain their original grouping as defined in the import source. - As-Is Structuring Directive: An As-is element indicates that the controls should be structured in resolution as they are structured in their source catalogs. It does not contain any elements or attributes. + Group As-Is: Indicates that the controls selected should retain their original grouping as defined in the import source. - + - + - Custom grouping - A Custom element frames a structure for embedding represented controls in resolution. + Custom Grouping + Provides an alternate grouping structure that selected controls will be placed in. - Custom grouping: A Custom element frames a structure for embedding represented controls in resolution. + Custom Grouping: Provides an alternate grouping structure that selected controls will be placed in. + type="oscal-profile-group-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-profile-insert-controls-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -1875,11 +2237,11 @@ - Control group - A group of (selected) controls or of groups of controls + Control Group + A group of (selected) controls or of groups of controls. - Control group: A group of (selected) controls or of groups of controls + Control Group: A group of (selected) controls or of groups of controls. @@ -1887,54 +2249,54 @@ Group Title - A name given to the group, which may be used by a tool for display and navigation. + A name to be given to the group for use in display. - Group Title: A name given to the group, which may be used by a tool for display and navigation. + Group Title: A name to be given to the group for use in display. - + + type="oscal-control-common-parameter-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-part-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-profile-group-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-profile-insert-controls-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - + Group Identifier - A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined group elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same group across revisions of the document. + Identifies the group. - Group Identifier: A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined group elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same group across revisions of the document. + Group Identifier: Identifies the group. - + Group Class @@ -1948,11 +2310,11 @@ - Modify controls - Set parameters or amend controls in resolution + Modify Controls + Set parameters or amend controls in resolution. - Modify controls: Set parameters or amend controls in resolution + Modify Controls: Set parameters or amend controls in resolution. @@ -1960,32 +2322,32 @@ Parameter Setting - A parameter setting, to be propagated to points of insertion + A parameter setting, to be propagated to points of insertion. - Parameter Setting: A parameter setting, to be propagated to points of insertion + Parameter Setting: A parameter setting, to be propagated to points of insertion. + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Parameter Label - A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned. + A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned. Parameter Label: A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned. - + @@ -1994,46 +2356,46 @@ Parameter Usage Description - Describes the purpose and use of a parameter + Describes the purpose and use of a parameter. - Parameter Usage Description: Describes the purpose and use of a parameter + Parameter Usage Description: Describes the purpose and use of a parameter. - + + type="oscal-control-common-parameter-constraint-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-parameter-guideline-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-parameter-value-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-parameter-selection-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> - + Parameter ID - A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined parameter elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + An identifier for the parameter. - Parameter ID: A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined parameter elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Parameter ID: An identifier for the parameter. - + Parameter Class @@ -2043,273 +2405,266 @@ Parameter Class: A textual label that provides a characterization of the parameter. - + - Depends on + Depends On **(deprecated)** Another parameter invoking this one. This construct has been deprecated and should not be used. - Depends on: **(deprecated)** Another parameter invoking this one. This construct has been deprecated and should not be used. + Depends On: **(deprecated)** Another parameter invoking this one. This construct has been deprecated and should not be used. - - - - - - - Select controls - Specifies which controls to use in the containing context. - - - Select controls: Specifies which controls to use in the containing context. - - - - - - - - - - - - Order - A designation of how a selection of controls in a profile is to be ordered. - - - Order: A designation of how a selection of controls in a profile is to be ordered. - - - - - - - Call - Call a control by its ID - - - Call: Call a control by its ID - - - - - - - Match Controls by Identifier - - - - Match Controls by Identifier: - - - - - + - Match Controls by Pattern - Select controls by (regular expression) match on ID + Alteration + Specifies changes to be made to an included control when a profile is resolved. - Match Controls by Pattern: Select controls by (regular expression) match on ID + Alteration: Specifies changes to be made to an included control when a profile is resolved. - - - - Pattern - A glob expression matching the IDs of one or more controls to be selected. - - - Pattern: A glob expression matching the IDs of one or more controls to be selected. - - - - - - - - - Include contained controls with control - When a control is included, whether its child (dependent) controls are also included. - - - Include contained controls with control: When a control is included, whether its child (dependent) controls are also included. - - - - - - - Alteration - An Alter element specifies changes to be made to an included control when a profile is resolved. - - - Alteration: An Alter element specifies changes to be made to an included control when a profile is resolved. - - - - - - - - - Control Identifier Reference - A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). - - - Control Identifier Reference: A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). - - - - - - - Removal - Specifies objects to be removed from a control based on specific aspects of the object that must all match. - - - Removal: Specifies objects to be removed from a control based on specific aspects of the object that must all match. - - - - - Reference by (assigned) name - Identify items to remove by matching their assigned name - - - Reference by (assigned) name: Identify items to remove by matching their assigned name - - - - - - Reference by class - Identify items to remove by matching their class. - - - Reference by class: Identify items to remove by matching their class. - - - - - - Reference by ID - Identify items to remove indicated by their id. - - - Reference by ID: Identify items to remove indicated by their id. - - - - - - Item Name Reference - Identify items to remove by the name of the item's information element name, e.g. title or prop - - - - Item Name Reference: Identify items to remove by the name of the item's information element name, e.g. title or prop - - - + + + + + + Removal + Specifies objects to be removed from a control based on specific aspects of the object that must all match. + + + Removal: Specifies objects to be removed from a control based on specific aspects of the object that must all match. + + + + + Reference by (assigned) name + Identify items remove by matching their assigned name. + + + Reference by (assigned) name: Identify items remove by matching their assigned name. + + + + + + Reference by class + Identify items to remove by matching their class. + + + Reference by class: Identify items to remove by matching their class. + + + + + + Reference by ID + Identify items to remove indicated by their id. + + + Reference by ID: Identify items to remove indicated by their id. + + + + + + Item Name Reference + Identify items to remove by the name of the item's information object name, e.g. title or prop. + + + Item Name Reference: Identify items to remove by the name of the item's information object name, e.g. title or prop. + + + + + + Item Namespace Reference + Identify items to remove by the item's ns, which is the namespace associated with a part, or prop. + + + Item Namespace Reference: Identify items to remove by the item's ns, which is the namespace associated with a part, or prop. + + + + + + + + + Addition + Specifies contents to be added into controls, in resolution. + + + Addition: Specifies contents to be added into controls, in resolution. + + + + + + + Title Change + A name given to the control, which may be used by a tool for display and navigation. + + + Title Change: A name given to the control, which may be used by a tool for display and navigation. + + + + + + + + + + + + + + + Position + Where to add the new content with respect to the targeted element (beside it or inside it). + + + Position: Where to add the new content with respect to the targeted element (beside it or inside it). + + + + + + Reference by ID + Target location of the addition. + + + Reference by ID: Target location of the addition. + + + + + + + + + Control Identifier Reference + A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). + + + Control Identifier Reference: A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). + + + + + + + + + + Select Controls + Specifies which controls to use in the containing context. + + + Select Controls: Specifies which controls to use in the containing context. + + + + + + + + + - Item Namespace Reference - Identify items to remove by the item's ns, which is the namespace associated with a part, or prop. + Order + A designation of how a selection of controls in a profile is to be ordered. - Item Namespace Reference: Identify items to remove by the item's ns, which is the namespace associated with a part, or prop. + Order: A designation of how a selection of controls in a profile is to be ordered. - + - Addition - Specifies contents to be added into controls, in resolution + Select Control + Select a control or controls from an imported control set. - Addition: Specifies contents to be added into controls, in resolution + Select Control: Select a control or controls from an imported control set. - - + + - Title Change - A name given to the control, which may be used by a tool for display and navigation. + Match Controls by Identifier + Selecting a control by its ID given as a literal. - Title Change: A name given to the control, which may be used by a tool for display and navigation. + Match Controls by Identifier: Selecting a control by its ID given as a literal. - - - + + + + + + + + Match Controls by Pattern + Selecting a set of controls by matching their IDs with a wildcard pattern. + + + Match Controls by Pattern: Selecting a set of controls by matching their IDs with a wildcard pattern. + + + + + Pattern + A glob expression matching the IDs of one or more controls to be selected. + + + Pattern: A glob expression matching the IDs of one or more controls to be selected. + + - - - - - - - - Position - Where to add the new content with respect to the targeted element (beside it or inside it) - - - Position: Where to add the new content with respect to the targeted element (beside it or inside it) - - - + - Reference by ID - Target location of the addition. + Include Contained Controls with Control + When a control is included, whether its child (dependent) controls are also included. - Reference by ID: Target location of the addition. + Include Contained Controls with Control: When a control is included, whether its child (dependent) controls are also included. + type="oscal-component-definition-component-definition-ASSEMBLY"/> @@ -2321,34 +2676,34 @@ + type="oscal-metadata-metadata-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-component-definition-import-component-definition-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-component-definition-defined-component-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-component-definition-capability-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-back-matter-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> - + Component Definition Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component definition elsewhere in this or other OSCAL instances. The locally defined UUID of the component definition can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Provides a globally unique means to identify a given component definition instance. - Component Definition Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component definition elsewhere in this or other OSCAL instances. The locally defined UUID of the component definition can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Component Definition Universally Unique Identifier: Provides a globally unique means to identify a given component definition instance. @@ -2361,7 +2716,7 @@ Import Component Definition: Loads a component definition from another resource. - + Hyperlink Reference @@ -2393,7 +2748,7 @@ Component Title: A human readable name for the component. - + @@ -2408,7 +2763,7 @@ Component Description: A description of the component, including information about its function. - + @@ -2423,57 +2778,55 @@ Purpose: A summary of the technological or business purpose of the component. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-role-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-implementation-common-protocol-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-component-definition-control-implementation-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Component Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component elsewhere in this or other OSCAL instances. The locally defined UUID of the component can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Provides a globally unique means to identify a given component. - Component Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component elsewhere in this or other OSCAL instances. The locally defined UUID of the component can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Component Identifier: Provides a globally unique means to identify a given component. - + Component Type @@ -2505,53 +2858,51 @@ Capability Description: A summary of the capability. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-component-definition-incorporates-component-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-component-definition-control-implementation-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Capability Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this capability elsewhere in this or other OSCAL instances. The locally defined UUID of the capability can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance).This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Provides a globally unique means to identify a given capability. - Capability Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this capability elsewhere in this or other OSCAL instances. The locally defined UUID of the capability can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance).This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Capability Identifier: Provides a globally unique means to identify a given capability. - + Capability Name @@ -2566,10 +2917,10 @@ Incorporates Component - TBD + The collection of components comprising this capability. - Incorporates Component: TBD + Incorporates Component: The collection of components comprising this capability. @@ -2583,16 +2934,16 @@ Component Description: A description of the component, including information about its function. - + - + Component Reference - A machine-oriented identifier reference to a component. + A machine-oriented identifier reference to a component. Component Reference: A machine-oriented identifier reference to a component. @@ -2620,38 +2971,38 @@ Control Implementation Description: A description of how the specified set of controls are implemented for the containing component or capability. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-implementation-common-set-parameter-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-component-definition-implemented-requirement-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> - + Control Implementation Set Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference a set of implemented controls elsewhere in this or other OSCAL instances. The locally defined UUID of the control implementation set can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Provides a means to identify a set of control implementations that are supported by a given component or capability. - Control Implementation Set Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference a set of implemented controls elsewhere in this or other OSCAL instances. The locally defined UUID of the control implementation set can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Control Implementation Set Identifier: Provides a means to identify a set of control implementations that are supported by a given component or capability. - + Source Resource Reference @@ -2677,70 +3028,68 @@ Control Implementation Description - A suggestion for how the specified control may be implemented if the containing component or capability is instantiated in a system security plan. + A suggestion from the supplier (e.g., component vendor or author) for how the specified control may be implemented if the containing component or capability is instantiated in a system security plan. - Control Implementation Description: A suggestion for how the specified control may be implemented if the containing component or capability is instantiated in a system security plan. + Control Implementation Description: A suggestion from the supplier (e.g., component vendor or author) for how the specified control may be implemented if the containing component or capability is instantiated in a system security plan. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-implementation-common-set-parameter-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-role-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-component-definition-statement-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Control Implementation Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference a specific control implementation elsewhere in this or other OSCAL instances. The locally defined UUID of the control implementation can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance).This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Provides a globally unique means to identify a given control implementation by a component. - Control Implementation Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference a specific control implementation elsewhere in this or other OSCAL instances. The locally defined UUID of the control implementation can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance).This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Control Implementation Identifier: Provides a globally unique means to identify a given control implementation by a component. - + Control Identifier Reference - A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). + A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). - Control Identifier Reference: A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). + Control Identifier Reference: A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). @@ -2765,53 +3114,51 @@ Statement Implementation Description: A summary of how the containing control statement is implemented by the component or capability. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-role-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Control Statement Reference - A human-oriented identifier reference to a control statement. + A human-oriented identifier reference to a control statement. Control Statement Reference: A human-oriented identifier reference to a control statement. - + Control Statement Reference Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this control statement elsewhere in this or other OSCAL instances. The UUID of the control statement in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this control statement elsewhere in this or other OSCAL instances. The UUID of the control statement in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). Control Statement Reference Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this control statement elsewhere in this or other OSCAL instances. The UUID of the control statement in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). @@ -2839,7 +3186,7 @@ Component Title: A human readable name for the system component. - + @@ -2854,7 +3201,7 @@ Component Description: A description of the component, including information about its function. - + @@ -2869,18 +3216,18 @@ Purpose: A summary of the technological or business purpose of the component. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -2896,19 +3243,17 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + State @@ -2921,40 +3266,38 @@ + type="oscal-metadata-responsible-role-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-implementation-common-protocol-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Component Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component elsewhere in this or other OSCAL instances. The locally defined UUID of the component can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component elsewhere in this or other OSCAL instances. The locally defined UUID of the component can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Component Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component elsewhere in this or other OSCAL instances. The locally defined UUID of the component can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - + Component Type @@ -2986,30 +3329,30 @@ Protocol Title: A human readable name for the protocol (e.g., Transport Layer Security). - + + type="oscal-implementation-common-port-range-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - + Service Protocol Information Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this service protocol information elsewhere in this or other OSCAL instances. The locally defined UUID of the service protocol can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this service protocol information elsewhere in this or other OSCAL instances. The locally defined UUID of the service protocol can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Service Protocol Information Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this service protocol information elsewhere in this or other OSCAL instances. The locally defined UUID of the service protocol can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - + Protocol Name - The common name of the protocol, which should be the appropriate "service name" from the IANA Service Name and Transport Protocol Port Number Registry. + The common name of the protocol, which should be the appropriate "service name" from the IANA Service Name and Transport Protocol Port Number Registry. Protocol Name: The common name of the protocol, which should be the appropriate "service name" from the IANA Service Name and Transport Protocol Port Number Registry. @@ -3025,7 +3368,7 @@ Port Range: Where applicable this is the IPv4 port range on which the service operates. - + Start @@ -3035,7 +3378,7 @@ Start: Indicates the starting port number in a port range - + End @@ -3045,7 +3388,7 @@ End: Indicates the ending port number in a port range - + Transport @@ -3070,19 +3413,17 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Implementation State @@ -3114,7 +3455,7 @@ User Title: A name given to the user, which may be used by a tool for display and navigation. - + @@ -3128,7 +3469,7 @@ User Short Name: A short common name, abbreviation, or acronym for the user. - + @@ -3142,47 +3483,45 @@ User Description: A summary of the user's purpose within the system. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-role-id-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-implementation-common-authorized-privilege-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + User Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this user class elsewhere in this or other OSCAL instances. The locally defined UUID of the system user can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this user class elsewhere in this or other OSCAL instances. The locally defined UUID of the system user can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. User Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this user class elsewhere in this or other OSCAL instances. The locally defined UUID of the system user can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -3210,7 +3549,7 @@ Privilege Title: A human readable name for the privilege. - + @@ -3225,14 +3564,14 @@ Privilege Description: A summary of the privilege's purpose within the system. - + + type="oscal-implementation-common-function-performed-FIELD" + minOccurs="1" + maxOccurs="unbounded"/> @@ -3244,7 +3583,7 @@ Functions Performed: Describes a function performed for a given authorized privilege by this user class. - + @@ -3267,22 +3606,22 @@ Inventory Item Description: A summary of the inventory item stating its purpose within the system. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-party-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -3295,38 +3634,36 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-party-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Component Universally Unique Identifier Reference - A machine-oriented identifier reference to a component that is implemented as part of an inventory item. + A machine-oriented identifier reference to a component that is implemented as part of an inventory item. Component Universally Unique Identifier Reference: A machine-oriented identifier reference to a component that is implemented as part of an inventory item. @@ -3338,23 +3675,21 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Inventory Item Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inventory item elsewhere in this or other OSCAL instances. The locally defined UUID of the inventory item can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inventory item elsewhere in this or other OSCAL instances. The locally defined UUID of the inventory item can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Inventory Item Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inventory item elsewhere in this or other OSCAL instances. The locally defined UUID of the inventory item can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -3381,30 +3716,28 @@ Parameter Value: A parameter value or set of values. - + Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Parameter ID - A human-oriented reference to a parameter within a control, who's catalog has been imported into the current implementation context. + A human-oriented reference to a parameter within a control, who's catalog has been imported into the current implementation context. Parameter ID: A human-oriented reference to a parameter within a control, who's catalog has been imported into the current implementation context. @@ -3415,14 +3748,14 @@ System Identification - A human-oriented, globally unique identifier with cross-instance scope that can be used to reference this system identification property elsewhere in this or other OSCAL instances. When referencing an externally defined system identification, the system identification must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). This string should be assigned per-subject, which means it should be consistently used to identify the same system across revisions of the document. + A human-oriented, globally unique identifier with cross-instance scope that can be used to reference this system identification property elsewhere in this or other OSCAL instances. When referencing an externally defined system identification, the system identification must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). This string should be assigned per-subject, which means it should be consistently used to identify the same system across revisions of the document. System Identification: A human-oriented, globally unique identifier with cross-instance scope that can be used to reference this system identification property elsewhere in this or other OSCAL instances. When referencing an externally defined system identification, the system identification must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). This string should be assigned per-subject, which means it should be consistently used to identify the same system across revisions of the document. - - + + Identification System Type @@ -3436,47 +3769,47 @@ + type="oscal-ssp-system-security-plan-ASSEMBLY"/> System Security Plan (SSP) - A system security plan, such as those described in NIST SP 800-18 + A system security plan, such as those described in NIST SP 800-18. - System Security Plan (SSP): A system security plan, such as those described in NIST SP 800-18 + System Security Plan (SSP): A system security plan, such as those described in NIST SP 800-18. + type="oscal-metadata-metadata-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-ssp-import-profile-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-ssp-system-characteristics-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-ssp-system-implementation-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-ssp-control-implementation-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-metadata-back-matter-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> - + System Security Plan Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this system security plan (SSP) elsewhere in this or other OSCAL instances. The locally defined UUID of the SSP can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance).This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this system security plan (SSP) elsewhere in this or other OSCAL instances. The locally defined UUID of the SSP can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance).This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. System Security Plan Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this system security plan (SSP) elsewhere in this or other OSCAL instances. The locally defined UUID of the SSP can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance).This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -3497,19 +3830,17 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Profile Reference @@ -3531,9 +3862,9 @@ + type="oscal-implementation-common-system-id-FIELD" + minOccurs="1" + maxOccurs="unbounded"/> @@ -3544,7 +3875,7 @@ System Name - Full: The full name of the system. - + @@ -3557,7 +3888,7 @@ System Name - Short: A short name for the system, such as an acronym, that is suitable for display in a data table or summary list. - + @@ -3571,76 +3902,74 @@ System Description: A summary of the system. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-ssp-date-authorized-FIELD" + minOccurs="0" + maxOccurs="1"/> Security Sensitivity Level - The overall information system sensitivity categorization, such as defined by FIPS-199. + The overall information system sensitivity categorization, such as defined by FIPS-199. - Security Sensitivity Level: The overall information system sensitivity categorization, such as defined by FIPS-199. + Security Sensitivity Level: The overall information system sensitivity categorization, such as defined by FIPS-199. - + + type="oscal-ssp-system-information-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-ssp-security-impact-level-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-ssp-status-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-ssp-authorization-boundary-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-ssp-network-architecture-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> + type="oscal-ssp-data-flow-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> + type="oscal-metadata-responsible-party-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + @@ -3649,29 +3978,29 @@ System Information - Contains details about all information types that are stored, processed, or transmitted by the system, such as privacy information, and those defined in NIST SP 800-60. + Contains details about all information types that are stored, processed, or transmitted by the system, such as privacy information, and those defined in NIST SP 800-60. - System Information: Contains details about all information types that are stored, processed, or transmitted by the system, such as privacy information, and those defined in NIST SP 800-60. + System Information: Contains details about all information types that are stored, processed, or transmitted by the system, such as privacy information, and those defined in NIST SP 800-60. + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Information Type - Contains details about one information type that is stored, processed, or transmitted by the system, such as privacy information, and those defined in NIST SP 800-60. + Contains details about one information type that is stored, processed, or transmitted by the system, such as privacy information, and those defined in NIST SP 800-60. - Information Type: Contains details about one information type that is stored, processed, or transmitted by the system, such as privacy information, and those defined in NIST SP 800-60. + Information Type: Contains details about one information type that is stored, processed, or transmitted by the system, such as privacy information, and those defined in NIST SP 800-60. @@ -3685,7 +4014,7 @@ title field: A human readable name for the information type. This title should be meaningful within the context of the system. - + @@ -3700,7 +4029,7 @@ Information Type Description: A summary of how this information type is used within the system. - + @@ -3709,7 +4038,7 @@ Information Type Categorization - A set of information type identifiers qualified by the given identification system used, such as NIST SP 800-60. + A set of information type identifiers qualified by the given identification system used, such as NIST SP 800-60. Information Type Categorization: A set of information type identifiers qualified by the given identification system used, such as NIST SP 800-60. @@ -3720,16 +4049,16 @@ Information Type Systematized Identifier - A human-oriented, globally unique identifier qualified by the given identification system used, such as NIST SP 800-60. This identifier has cross-instance scope and can be used to reference this system elsewhere in this or other OSCAL instances. This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A human-oriented, globally unique identifier qualified by the given identification system used, such as NIST SP 800-60. This identifier has cross-instance scope and can be used to reference this system elsewhere in this or other OSCAL instances. This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Information Type Systematized Identifier: A human-oriented, globally unique identifier qualified by the given identification system used, such as NIST SP 800-60. This identifier has cross-instance scope and can be used to reference this system elsewhere in this or other OSCAL instances. This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - + - + Information Type Identification System @@ -3742,154 +4071,31 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - - - - - Confidentiality Impact Level - The expected level of impact resulting from the unauthorized disclosure of the described information. - - - Confidentiality Impact Level: The expected level of impact resulting from the unauthorized disclosure of the described information. - - - - - - - - - - Adjustment Justification - If the selected security level is different from the base security level, this contains the justification for the change. - - - Adjustment Justification: If the selected security level is different from the base security level, this contains the justification for the change. - - - - - - - - - - - - - Integrity Impact Level - The expected level of impact resulting from the unauthorized modification of the described information. - - - Integrity Impact Level: The expected level of impact resulting from the unauthorized modification of the described information. - - - - - - - - - - Adjustment Justification - If the selected security level is different from the base security level, this contains the justification for the change. - - - Adjustment Justification: If the selected security level is different from the base security level, this contains the justification for the change. - - - - - - - - - - - - - Availability Impact Level - The expected level of impact resulting from the disruption of access to or use of the described information or the information system. - - - Availability Impact Level: The expected level of impact resulting from the disruption of access to or use of the described information or the information system. - - - - - - - - - - Adjustment Justification - If the selected security level is different from the base security level, this contains the justification for the change. - - - Adjustment Justification: If the selected security level is different from the base security level, this contains the justification for the change. - - - - - - - - + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + + + - + Information Type Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this information type elsewhere in this or other OSCAL instances. The locally defined UUID of the information type can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this information type elsewhere in this or other OSCAL instances. The locally defined UUID of the information type can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Information Type Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this information type elsewhere in this or other OSCAL instances. The locally defined UUID of the information type can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -3899,6 +4105,47 @@ + + + + Impact Level + The expected level of impact resulting from the described information. + + + Impact Level: The expected level of impact resulting from the described information. + + + + + + + + + + Adjustment Justification + If the selected security level is different from the base security level, this contains the justification for the change. + + + Adjustment Justification: If the selected security level is different from the base security level, this contains the justification for the change. + + + + + + + @@ -3908,7 +4155,7 @@ Base Level (Confidentiality, Integrity, or Availability): The prescribed base (Confidentiality, Integrity, or Availability) security impact level. - + @@ -3919,7 +4166,7 @@ Selected Level (Confidentiality, Integrity, or Availability): The selected (Confidentiality, Integrity, or Availability) security impact level. - + @@ -3931,7 +4178,7 @@ Adjustment Justification: If the selected security level is different from the base security level, this contains the justification for the change. - + @@ -3945,8 +4192,8 @@ + minOccurs="1" + maxOccurs="1"> @@ -3956,7 +4203,7 @@ Security Objective: Confidentiality: A target-level of confidentiality for the system, based on the sensitivity of information within the system. - + @@ -3969,7 +4216,7 @@ Security Objective: Integrity: A target-level of integrity for the system, based on the sensitivity of information within the system. - + @@ -3982,7 +4229,7 @@ Security Objective: Availability: A target-level of availability for the system, based on the sensitivity of information within the system. - + @@ -4001,19 +4248,17 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + State @@ -4033,7 +4278,7 @@ System Authorization Date: The date the system received its authorization. - + @@ -4056,35 +4301,33 @@ Authorization Boundary Description: A summary of the system's authorization boundary. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-ssp-diagram-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + @@ -4110,18 +4353,18 @@ Diagram Description: A summary of the diagram. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -4133,7 +4376,7 @@ Caption: A brief caption to annotate the diagram. - + @@ -4141,23 +4384,21 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Diagram ID - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this diagram elsewhere in this or other OSCAL instances. The locally defined UUID of the diagram can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this diagram elsewhere in this or other OSCAL instances. The locally defined UUID of the diagram can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Diagram ID: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this diagram elsewhere in this or other OSCAL instances. The locally defined UUID of the diagram can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -4185,35 +4426,33 @@ Network Architecture Description: A summary of the system's network architecture. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-ssp-diagram-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + @@ -4239,35 +4478,33 @@ Data Flow Description: A summary of the system's data flow. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-ssp-diagram-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + @@ -4283,22 +4520,22 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Leveraged Authorization - A description of another authorized system from which this system inherits capabilities that satisfy security requirements. Another term for this concept is a common control provider. + A description of another authorized system from which this system inherits capabilities that satisfy security requirements. Another term for this concept is a common control provider. - Leveraged Authorization: A description of another authorized system from which this system inherits capabilities that satisfy security requirements. Another term for this concept is a common control provider. + Leveraged Authorization: A description of another authorized system from which this system inherits capabilities that satisfy security requirements. Another term for this concept is a common control provider. @@ -4312,56 +4549,54 @@ title field: A human readable name for the leveraged authorization in the context of the system. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> party-uuid field - A machine-oriented identifier reference to the party that manages the leveraged system. + A machine-oriented identifier reference to the party that manages the leveraged system. party-uuid field: A machine-oriented identifier reference to the party that manages the leveraged system. - + + type="oscal-ssp-date-authorized-FIELD" + minOccurs="1" + maxOccurs="1"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Leveraged Authorization Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope and can be used to reference this leveraged authorization elsewhere in this or other OSCAL instances. The locally defined UUID of the leveraged authorization can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope and can be used to reference this leveraged authorization elsewhere in this or other OSCAL instances. The locally defined UUID of the leveraged authorization can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Leveraged Authorization Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope and can be used to reference this leveraged authorization elsewhere in this or other OSCAL instances. The locally defined UUID of the leveraged authorization can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -4370,30 +4605,28 @@ + type="oscal-implementation-common-system-user-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> + type="oscal-implementation-common-system-component-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> + type="oscal-implementation-common-inventory-item-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + @@ -4419,18 +4652,18 @@ Control Implementation Description: A statement describing important things to know about how this set of control satisfaction documentation is approached. - + + type="oscal-implementation-common-set-parameter-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-ssp-implemented-requirement-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> @@ -4444,63 +4677,61 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-implementation-common-set-parameter-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-role-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-ssp-statement-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-ssp-by-component-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Control Requirement Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this control requirement elsewhere in this or other OSCAL instances. The locally defined UUID of the control requirement can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this control requirement elsewhere in this or other OSCAL instances. The locally defined UUID of the control requirement can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Control Requirement Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this control requirement elsewhere in this or other OSCAL instances. The locally defined UUID of the control requirement can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - + Control Identifier Reference - A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). + A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). - Control Identifier Reference: A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). + Control Identifier Reference: A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). @@ -4515,52 +4746,50 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-role-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-ssp-by-component-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Control Statement Reference - A human-oriented identifier reference to a control statement. + A human-oriented identifier reference to a control statement. Control Statement Reference: A human-oriented identifier reference to a control statement. - + Control Statement Reference Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this control statement elsewhere in this or other OSCAL instances. The UUID of the control statement in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this control statement elsewhere in this or other OSCAL instances. The UUID of the control statement in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). Control Statement Reference Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this control statement elsewhere in this or other OSCAL instances. The UUID of the control statement in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). @@ -4588,26 +4817,26 @@ Control Implementation Description: An implementation statement that describes how a control or a control statement is implemented within the referenced system component. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-implementation-common-set-parameter-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-implementation-common-implementation-status-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> @@ -4630,18 +4859,18 @@ Control Implementation Export Description: An implementation statement that describes the aspects of the control or control statement implementation that can be available to another system leveraging this system. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -4664,43 +4893,41 @@ Provided Control Implementation Description: An implementation statement that describes the aspects of the control or control statement implementation that can be provided to another system leveraging this system. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-role-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Provided Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this provided entry elsewhere in this or other OSCAL instances. The locally defined UUID of the provided entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this provided entry elsewhere in this or other OSCAL instances. The locally defined UUID of the provided entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Provided Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this provided entry elsewhere in this or other OSCAL instances. The locally defined UUID of the provided entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -4730,53 +4957,51 @@ Control Implementation Responsibility Description: An implementation statement that describes the aspects of the control or control statement implementation that a leveraging system must implement to satisfy the control provided by a leveraged system. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-role-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Responsibility Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this responsibility elsewhere in this or other OSCAL instances. The locally defined UUID of the responsibility can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this responsibility elsewhere in this or other OSCAL instances. The locally defined UUID of the responsibility can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Responsibility Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this responsibility elsewhere in this or other OSCAL instances. The locally defined UUID of the responsibility can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - + Provided UUID - A machine-oriented identifier reference to an inherited control implementation that a leveraging system is inheriting from a leveraged system. + A machine-oriented identifier reference to an inherited control implementation that a leveraging system is inheriting from a leveraged system. Provided UUID: A machine-oriented identifier reference to an inherited control implementation that a leveraging system is inheriting from a leveraged system. @@ -4788,15 +5013,13 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + @@ -4824,38 +5047,38 @@ Inherited Control Implementation Description: An implementation statement that describes the aspects of a control or control statement implementation that a leveraging system is inheriting from a leveraged system. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-role-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - + Inherited Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inherited entry elsewhere in this or other OSCAL instances. The locally defined UUID of the inherited control implementation can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inherited entry elsewhere in this or other OSCAL instances. The locally defined UUID of the inherited control implementation can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Inherited Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inherited entry elsewhere in this or other OSCAL instances. The locally defined UUID of the inherited control implementation can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - + Provided UUID - A machine-oriented identifier reference to an inherited control implementation that a leveraging system is inheriting from a leveraged system. + A machine-oriented identifier reference to an inherited control implementation that a leveraging system is inheriting from a leveraged system. Provided UUID: A machine-oriented identifier reference to an inherited control implementation that a leveraging system is inheriting from a leveraged system. @@ -4885,53 +5108,51 @@ Satisfied Control Implementation Responsibility Description: An implementation statement that describes the aspects of a control or control statement implementation that a leveraging system is implementing based on a requirement from a leveraged system. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-role-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Satisfied Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this satisfied control implementation entry elsewhere in this or other OSCAL instances. The locally defined UUID of the control implementation can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this satisfied control implementation entry elsewhere in this or other OSCAL instances. The locally defined UUID of the control implementation can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Satisfied Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this satisfied control implementation entry elsewhere in this or other OSCAL instances. The locally defined UUID of the control implementation can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - + Responsibility UUID - A machine-oriented identifier reference to a control implementation that satisfies a responsibility imposed by a leveraged system. + A machine-oriented identifier reference to a control implementation that satisfies a responsibility imposed by a leveraged system. Responsibility UUID: A machine-oriented identifier reference to a control implementation that satisfies a responsibility imposed by a leveraged system. @@ -4940,48 +5161,45 @@ + type="oscal-metadata-responsible-role-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Component Universally Unique Identifier Reference - A machine-oriented identifier reference to the component that is implemeting a given control. + A machine-oriented identifier reference to the component that is implemeting a given control. Component Universally Unique Identifier Reference: A machine-oriented identifier reference to the component that is implemeting a given control. - + By-Component Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this by-component entry elsewhere in this or other OSCAL instances. The locally defined UUID of the by-component entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this by-component entry elsewhere in this or other OSCAL instances. The locally defined UUID of the by-component entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. By-Component Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this by-component entry elsewhere in this or other OSCAL instances. The locally defined UUID of the by-component entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - + @@ -4993,13 +5211,13 @@ + type="oscal-metadata-metadata-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-assessment-common-import-ssp-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> @@ -5012,38 +5230,36 @@ + type="oscal-implementation-common-system-component-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-implementation-common-inventory-item-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-implementation-common-system-user-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-local-objective-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-activity-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + @@ -5061,38 +5277,38 @@ + type="oscal-assessment-common-assessment-part-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-reviewed-controls-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-assessment-common-assessment-subject-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-assessment-assets-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> + type="oscal-assessment-common-task-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-back-matter-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> - + Assessment Plan Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment plan in this or other OSCAL instances. The locally defined UUID of the assessment plan can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment plan in this or other OSCAL instances. The locally defined UUID of the assessment plan can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Assessment Plan Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment plan in this or other OSCAL instances. The locally defined UUID of the assessment plan can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -5113,19 +5329,17 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + System Security Plan Reference @@ -5157,46 +5371,44 @@ Objective Description: A human-readable description of this control objective. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-part-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Control Identifier Reference - A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). + A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). - Control Identifier Reference: A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). + Control Identifier Reference: A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). @@ -5221,43 +5433,41 @@ Assessment Method Description: A human-readable description of this assessment method. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-assessment-part-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Assessment Method Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment method elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment method can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment method elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment method can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Assessment Method Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment method elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment method can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -5285,7 +5495,7 @@ Included Activity Title: The title for this included activity. - + @@ -5300,18 +5510,18 @@ Included Activity Description: A human-readable description of this included activity. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -5334,7 +5544,7 @@ Step Title: The title for this step. - + @@ -5349,47 +5559,45 @@ Step Description: A human-readable description of this step. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-reviewed-controls-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> + type="oscal-metadata-responsible-role-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Step Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this step elsewhere in this or other OSCAL instances. The locally defined UUID of the step (in a series of steps) can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this step elsewhere in this or other OSCAL instances. The locally defined UUID of the step (in a series of steps) can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Step Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this step elsewhere in this or other OSCAL instances. The locally defined UUID of the step (in a series of steps) can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -5398,34 +5606,32 @@ + type="oscal-assessment-common-reviewed-controls-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> + type="oscal-metadata-responsible-role-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Assessment Activity Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment activity elsewhere in this or other OSCAL instances. The locally defined UUID of the activity can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment activity elsewhere in this or other OSCAL instances. The locally defined UUID of the activity can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Assessment Activity Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment activity elsewhere in this or other OSCAL instances. The locally defined UUID of the activity can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -5453,7 +5659,7 @@ Task Title: The title for this task. - + @@ -5468,18 +5674,18 @@ Task Description: A human-readable description of this task. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -5502,9 +5708,7 @@ On Date Condition: The task is intended to occur on the specified date. - + On Date Condition @@ -5526,9 +5730,7 @@ On Date Range Condition: The task is intended to occur within the specified date range. - + Start Date Condition @@ -5538,9 +5740,7 @@ Start Date Condition: The task must occur on or after the specified date. - + End Date Condition @@ -5562,7 +5762,7 @@ Frequency Condition: The task is intended to occur at the specified frequency. - + Period @@ -5572,7 +5772,7 @@ Period: The task must occur after the specified period has elapsed. - + Time Unit @@ -5603,23 +5803,21 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Task Universally Unique Identifier Reference - A machine-oriented identifier reference to a unique task. + A machine-oriented identifier reference to a unique task. Task Universally Unique Identifier Reference: A machine-oriented identifier reference to a unique task. @@ -5628,9 +5826,9 @@ + type="oscal-assessment-common-task-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -5643,42 +5841,40 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-role-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-assessment-subject-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Activity Universally Unique Identifier Reference - A machine-oriented identifier reference to an activity defined in the list of activities. + A machine-oriented identifier reference to an activity defined in the list of activities. Activity Universally Unique Identifier Reference: A machine-oriented identifier reference to an activity defined in the list of activities. @@ -5687,40 +5883,38 @@ + type="oscal-assessment-common-assessment-subject-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-role-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Task Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this task elsewhere in this or other OSCAL instances. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this task elsewhere in this or other OSCAL instances. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Task Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this task elsewhere in this or other OSCAL instances. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - + Task Type @@ -5752,18 +5946,18 @@ Control Objective Description: A human-readable description of control objectives. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -5786,53 +5980,51 @@ Assessed Controls Description: A human-readable description of in-scope controls specified for assessment. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-include-all-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-assessment-common-select-control-by-id-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> + type="oscal-assessment-common-select-control-by-id-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + + minOccurs="0" + maxOccurs="unbounded"> @@ -5854,45 +6046,43 @@ Control Objectives Description: A human-readable description of this collection of control objectives. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-include-all-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-assessment-common-select-objective-by-id-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> + type="oscal-assessment-common-select-objective-by-id-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + @@ -5902,15 +6092,13 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + @@ -5935,18 +6123,18 @@ Include Specific Statements: Used to constrain the selection to only specificity identified statements. - + - + Control Identifier Reference - A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). + A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). - Control Identifier Reference: A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). + Control Identifier Reference: A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). @@ -5959,7 +6147,7 @@ Select Objective: Used to select a control objective for inclusion/exclusion based on the control objective's identifier. - + Objective ID @@ -5991,7 +6179,7 @@ Assessment Subject Placeholder Description: A human-readable description of intent of this assessment subject placeholder. - + @@ -6005,11 +6193,11 @@ Assessment Subject Source: Assessment subjects will be identified while conducting the referenced activity-instance. - + Task Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference (in this or other OSCAL instances) an assessment activity to be performed as part of the event. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference (in this or other OSCAL instances) an assessment activity to be performed as part of the event. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Task Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference (in this or other OSCAL instances) an assessment activity to be performed as part of the event. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -6018,34 +6206,32 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Assessment Subject Placeholder Universally Unique Identifier - A machine-oriented, globally unique identifier for a set of assessment subjects that will be identified by a task or an activity that is part of a task. The locally defined UUID of the assessment subject placeholder can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier for a set of assessment subjects that will be identified by a task or an activity that is part of a task. The locally defined UUID of the assessment subject placeholder can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Assessment Subject Placeholder Universally Unique Identifier: A machine-oriented, globally unique identifier for a set of assessment subjects that will be identified by a task or an activity that is part of a task. The locally defined UUID of the assessment subject placeholder can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -6073,49 +6259,47 @@ Include Subjects Description: A human-readable description of the collection of subjects being included in this assessment. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-include-all-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-assessment-common-select-subject-by-id-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> + type="oscal-assessment-common-select-subject-by-id-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Subject Type @@ -6137,44 +6321,42 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Subject Universally Unique Identifier Reference - A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID. + A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID. Subject Universally Unique Identifier Reference: A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID. - + Subject Universally Unique Identifier Reference Type - Used to indicate the type of object pointed to by the uuid-ref within a subject. + Used to indicate the type of object pointed to by the uuid-ref within a subject. Subject Universally Unique Identifier Reference Type: Used to indicate the type of object pointed to by the uuid-ref within a subject. @@ -6185,7 +6367,7 @@ Identifies the Subject - A human-oriented identifier reference to a resource. Use type to indicate whether the identified resource is a component, inventory item, location, user, or something else. + A human-oriented identifier reference to a resource. Use type to indicate whether the identified resource is a component, inventory item, location, user, or something else. Identifies the Subject: A human-oriented identifier reference to a resource. Use type to indicate whether the identified resource is a component, inventory item, location, user, or something else. @@ -6202,49 +6384,47 @@ Subject Reference Title: The title or name for the referenced subject. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Subject Universally Unique Identifier Reference - A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID. + A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID. Subject Universally Unique Identifier Reference: A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID. - + Subject Universally Unique Identifier Reference Type - Used to indicate the type of object pointed to by the uuid-ref within a subject. + Used to indicate the type of object pointed to by the uuid-ref within a subject. Subject Universally Unique Identifier Reference Type: Used to indicate the type of object pointed to by the uuid-ref within a subject. @@ -6262,9 +6442,9 @@ + type="oscal-implementation-common-system-component-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -6287,18 +6467,18 @@ Assessment Platform Title: The title or name for the assessment platform. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -6311,38 +6491,36 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-party-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Component Universally Unique Identifier Reference - A machine-oriented identifier reference to a component that is implemented as part of an inventory item. + A machine-oriented identifier reference to a component that is implemented as part of an inventory item. Component Universally Unique Identifier Reference: A machine-oriented identifier reference to a component that is implemented as part of an inventory item. @@ -6354,23 +6532,21 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Assessment Platform Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment platform elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment platform can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment platform elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment platform can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Assessment Platform Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment platform elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment platform can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -6401,7 +6577,7 @@ Objective Status Title: The title for this objective status. - + @@ -6416,18 +6592,18 @@ Objective Status Description: A human-readable description of the assessor's conclusions regarding the degree to which an objective is satisfied. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -6443,78 +6619,212 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Objective Status State An indication as to whether the objective is satisfied or not. - Objective Status State: An indication as to whether the objective is satisfied or not. + Objective Status State: An indication as to whether the objective is satisfied or not. + + + + + + Objective Status Reason + The reason the objective was given it's status. + + + Objective Status Reason: The reason the objective was given it's status. + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Finding Target Type + Identifies the type of the target. + + + Finding Target Type: Identifies the type of the target. + + + + + + Finding Target Identifier Reference + A machine-oriented identifier reference for a specific target qualified by the type. + + + Finding Target Identifier Reference: A machine-oriented identifier reference for a specific target qualified by the type. + + + + + + + Finding + Describes an individual finding. + + + Finding: Describes an individual finding. + + + + + + + Finding Title + The title for this finding. + + + Finding Title: The title for this finding. + + + + + + + + + + + Finding Description + A human-readable description of this finding. + + + Finding Description: A human-readable description of this finding. + + + + + + + + + + + + + + + Implementation Statement UUID + A machine-oriented identifier reference to the implementation statement in the SSP to which this finding is related. + + + Implementation Statement UUID: A machine-oriented identifier reference to the implementation statement in the SSP to which this finding is related. + + + + + + + + + Related Observation + Relates the finding to a set of referenced observations that were used to determine the finding. + + + Related Observation: Relates the finding to a set of referenced observations that were used to determine the finding. + + + + + Observation Universally Unique Identifier Reference + A machine-oriented identifier reference to an observation defined in the list of observations. + + + Observation Universally Unique Identifier Reference: A machine-oriented identifier reference to an observation defined in the list of observations. - + + + + + + + Associated Risk + Relates the finding to a set of referenced risks that were used to determine the finding. + + + Associated Risk: Relates the finding to a set of referenced risks that were used to determine the finding. + + - Objective Status Reason - The reason the objective was given it's status. + Risk Universally Unique Identifier Reference + A machine-oriented identifier reference to a risk defined in the list of risks. - Objective Status Reason: The reason the objective was given it's status. + Risk Universally Unique Identifier Reference: A machine-oriented identifier reference to a risk defined in the list of risks. - Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - - - - Finding Target Type - Identifies the type of the target. - - - Finding Target Type: Identifies the type of the target. - - - + - Finding Target Identifier Reference - A machine-oriented identifier reference for a specific target qualified by the type. + Finding Universally Unique Identifier + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this finding in this or other OSCAL instances. The locally defined UUID of the finding can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - Finding Target Identifier Reference: A machine-oriented identifier reference for a specific target qualified by the type. + Finding Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this finding in this or other OSCAL instances. The locally defined UUID of the finding can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -6539,7 +6849,7 @@ Observation Title: The title for this observation. - + @@ -6554,18 +6864,18 @@ Observation Description: A human-readable description of this assessment observation. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -6576,7 +6886,7 @@ Observation Method: Identifies how the observation was made. - + @@ -6589,17 +6899,17 @@ Observation Type: Identifies the nature of the observation. More than one may be used to further qualify and enable filtering. - + + type="oscal-assessment-common-origin-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-subject-reference-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -6622,35 +6932,33 @@ Relevant Evidence Description: A human-readable description of this evidence. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Relevant Evidence Reference @@ -6672,7 +6980,7 @@ Collected Field: Date/time stamp identifying when the finding information was collected. - + @@ -6685,30 +6993,28 @@ Expires Field: Date/time identifying when the finding information is out-of-date and no longer valid. Typically used with continuous assessment scenarios. - + Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Observation Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this observation elsewhere in this or other OSCAL instances. The locally defined UUID of the observation can be used to reference the data item locally or globally (e.g., in an imorted OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this observation elsewhere in this or other OSCAL instances. The locally defined UUID of the observation can be used to reference the data item locally or globally (e.g., in an imorted OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Observation Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this observation elsewhere in this or other OSCAL instances. The locally defined UUID of the observation can be used to reference the data item locally or globally (e.g., in an imorted OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -6726,13 +7032,13 @@ + type="oscal-assessment-common-origin-actor-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> + type="oscal-assessment-common-related-task-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -6746,15 +7052,15 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - + Actor Type @@ -6764,17 +7070,17 @@ Actor Type: The kind of actor. - + Actor Universally Unique Identifier Reference - A machine-oriented identifier reference to the tool or person based on the associated type. + A machine-oriented identifier reference to the tool or person based on the associated type. Actor Universally Unique Identifier Reference: A machine-oriented identifier reference to the tool or person based on the associated type. - + Actor Role @@ -6796,21 +7102,21 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-party-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-assessment-subject-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -6823,17 +7129,15 @@ + type="oscal-assessment-common-assessment-subject-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> - + Assessment Subject Placeholder Universally Unique Identifier Reference - A machine-oriented identifier reference to a unique assessment subject placeholder defined by this task. + A machine-oriented identifier reference to a unique assessment subject placeholder defined by this task. Assessment Subject Placeholder Universally Unique Identifier Reference: A machine-oriented identifier reference to a unique assessment subject placeholder defined by this task. @@ -6845,23 +7149,21 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Task Universally Unique Identifier Reference - A machine-oriented identifier reference to a unique task. + A machine-oriented identifier reference to a unique task. Task Universally Unique Identifier Reference: A machine-oriented identifier reference to a unique task. @@ -6878,8 +7180,8 @@ Threat ID: A pointer, by ID, to an externally-defined threat. - - + + Threat Type Identification System @@ -6889,7 +7191,7 @@ Threat Type Identification System: Specifies the source of the threat information. - + Threat Information Resource Reference @@ -6923,7 +7225,7 @@ Risk Title: The title for this risk. - + @@ -6938,7 +7240,7 @@ Risk Description: A human-readable summary of the identified risk, to include a statement of how the risk impacts the system. - + @@ -6953,34 +7255,34 @@ Risk Statement: An summary of impact for how the risk affects the system. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-risk-status-FIELD" + minOccurs="1" + maxOccurs="1"/> + type="oscal-assessment-common-origin-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-threat-id-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-characterization-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -7003,38 +7305,38 @@ Mitigating Factor Description: A human-readable description of this mitigating factor. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-subject-reference-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - + Mitigating Factor Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this mitigating factor elsewhere in this or other OSCAL instances. The locally defined UUID of the mitigating factor can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this mitigating factor elsewhere in this or other OSCAL instances. The locally defined UUID of the mitigating factor can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Mitigating Factor Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this mitigating factor elsewhere in this or other OSCAL instances. The locally defined UUID of the mitigating factor can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - + Implementation UUID - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this implementation statement elsewhere in this or other OSCAL instancess. The locally defined UUID of the implementation statement can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this implementation statement elsewhere in this or other OSCAL instancess. The locally defined UUID of the implementation statement can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Implementation UUID: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this implementation statement elsewhere in this or other OSCAL instancess. The locally defined UUID of the implementation statement can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -7052,13 +7354,13 @@ Risk Resolution Deadline: The date/time by which the risk must be resolved. - + + type="oscal-assessment-common-response-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -7092,7 +7394,7 @@ Title: The title for this risk log entry. - + @@ -7107,7 +7409,7 @@ Risk Task Description: A human-readable description of what was done regarding the risk. - + @@ -7121,7 +7423,7 @@ Start: Identifies the start date and time of the event. - + @@ -7134,25 +7436,25 @@ End: Identifies the end date and time of the event. If the event is a point in time, the start and end will be the same date and time. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-logged-by-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-risk-status-FIELD" + minOccurs="0" + maxOccurs="1"/> @@ -7165,38 +7467,36 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-related-task-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Response Universally Unique Identifier Reference - A machine-oriented identifier reference to a unique risk response. + A machine-oriented identifier reference to a unique risk response. Response Universally Unique Identifier Reference: A machine-oriented identifier reference to a unique risk response. @@ -7208,23 +7508,21 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Risk Log Entry Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk log entry elsewhere in this or other OSCAL instances. The locally defined UUID of the risk log entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk log entry elsewhere in this or other OSCAL instances. The locally defined UUID of the risk log entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Risk Log Entry Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk log entry elsewhere in this or other OSCAL instances. The locally defined UUID of the risk log entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -7245,11 +7543,11 @@ Related Observation: Relates the finding to a set of referenced observations that were used to determine the finding. - + Observation Universally Unique Identifier Reference - A machine-oriented identifier reference to an observation defined in the list of observations. + A machine-oriented identifier reference to an observation defined in the list of observations. Observation Universally Unique Identifier Reference: A machine-oriented identifier reference to an observation defined in the list of observations. @@ -7258,11 +7556,11 @@ - + Risk Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk elsewhere in this or other OSCAL instances. The locally defined UUID of the risk can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk elsewhere in this or other OSCAL instances. The locally defined UUID of the risk can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Risk Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk elsewhere in this or other OSCAL instances. The locally defined UUID of the risk can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -7278,17 +7576,17 @@ Logged By: Used to indicate who created a log entry in what role. - + Party UUID Reference - A machine-oriented identifier reference to the party who is making the log entry. + A machine-oriented identifier reference to the party who is making the log entry. Party UUID Reference: A machine-oriented identifier reference to the party who is making the log entry. - + Actor Role @@ -7308,7 +7606,7 @@ Risk Status: Describes the status of the associated risk. - + @@ -7321,17 +7619,17 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-origin-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> @@ -7344,30 +7642,28 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Facet Name @@ -7377,7 +7673,7 @@ Facet Name: The name of the risk metric within the specified system. - + Naming System @@ -7387,7 +7683,7 @@ Naming System: Specifies the naming system under which this risk metric is organized, which allows for the same names to be used in different systems controlled by different parties. This avoids the potential of a name clash. - + Facet Value @@ -7422,7 +7718,7 @@ Response Title: The title for this response activity. - + @@ -7437,22 +7733,22 @@ Response Description: A human-readable description of this response plan. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-origin-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -7465,9 +7761,9 @@ + type="oscal-assessment-common-subject-reference-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -7479,7 +7775,7 @@ Title for Required Asset: The title for this required asset. - + @@ -7494,39 +7790,37 @@ Description of Required Asset: A human-readable description of this required asset. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Required Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this required asset elsewhere in this or other OSCAL instances. The locally defined UUID of the asset can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this required asset elsewhere in this or other OSCAL instances. The locally defined UUID of the asset can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Required Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this required asset elsewhere in this or other OSCAL instances. The locally defined UUID of the asset can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -7535,36 +7829,34 @@ + type="oscal-assessment-common-task-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Remediation Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this remediation elsewhere in this or other OSCAL instances. The locally defined UUID of the risk response can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this remediation elsewhere in this or other OSCAL instances. The locally defined UUID of the risk response can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Remediation Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this remediation elsewhere in this or other OSCAL instances. The locally defined UUID of the risk response can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - + Remediation Intent @@ -7596,37 +7888,35 @@ Part Title: A name given to the part, which may be used by a tool for display and navigation. - + - + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + + type="oscal-assessment-common-assessment-part-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - + Part Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this part elsewhere in this or other OSCAL instances. The locally defined UUID of the part can be used to reference the data item locally or globally (e.g., in an ported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this part elsewhere in this or other OSCAL instances. The locally defined UUID of the part can be used to reference the data item locally or globally (e.g., in an ported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Part Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this part elsewhere in this or other OSCAL instances. The locally defined UUID of the part can be used to reference the data item locally or globally (e.g., in an ported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - + Part Name @@ -7636,7 +7926,7 @@ Part Name: A textual label that uniquely identifies the part's semantic type. - + Part Namespace @@ -7646,19 +7936,18 @@ Part Namespace: A namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name. - + Part Class - A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns. + A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns. Part Class: A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns. - + @@ -7670,13 +7959,13 @@ + type="oscal-metadata-metadata-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-ar-import-ap-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> @@ -7689,45 +7978,43 @@ + type="oscal-assessment-common-local-objective-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-activity-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + + type="oscal-ar-result-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> + type="oscal-metadata-back-matter-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> - + Assessment Results Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment results instance in this or other OSCAL instances. The locally defined UUID of the assessment result can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment results instance in this or other OSCAL instances. The locally defined UUID of the assessment result can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Assessment Results Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment results instance in this or other OSCAL instances. The locally defined UUID of the assessment result can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -7755,7 +8042,7 @@ Results Title: The title for this set of results. - + @@ -7770,7 +8057,7 @@ Results Description: A human-readable description of this set of test results. - + @@ -7784,7 +8071,7 @@ start field: Date/time stamp identifying the start of the evidence collection reflected in these results. - + @@ -7797,17 +8084,17 @@ end field: Date/time stamp identifying the end of the evidence collection reflected in these results. In a continuous motoring scenario, this may contain the same value as start if appropriate. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -7820,32 +8107,32 @@ + type="oscal-implementation-common-system-component-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-implementation-common-inventory-item-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-implementation-common-system-user-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-assessment-assets-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> + type="oscal-assessment-common-task-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-reviewed-controls-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> @@ -7858,13 +8145,13 @@ + type="oscal-metadata-responsible-party-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-assessment-part-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> @@ -7901,7 +8188,7 @@ Action Title: The title for this event. - + @@ -7916,7 +8203,7 @@ Action Description: A human-readable description of this event. - + @@ -7930,7 +8217,7 @@ Start: Identifies the start date and time of an event. - + @@ -7943,46 +8230,44 @@ End: Identifies the end date and time of an event. If the event is a point in time, the start and end will be the same date and time. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-logged-by-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-related-task-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Assessment Log Entry Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference an assessment event in this or other OSCAL instances. The locally defined UUID of the assessment log entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference an assessment event in this or other OSCAL instances. The locally defined UUID of the assessment log entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Assessment Log Entry Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference an assessment event in this or other OSCAL instances. The locally defined UUID of the assessment log entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -7994,184 +8279,42 @@ + type="oscal-assessment-common-observation-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-risk-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-finding-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Results Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this set of results in this or other OSCAL instances. The locally defined UUID of the assessment result can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this set of results in this or other OSCAL instances. The locally defined UUID of the assessment result can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Results Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this set of results in this or other OSCAL instances. The locally defined UUID of the assessment result can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - - Finding - Describes an individual finding. - - - Finding: Describes an individual finding. - - - - - - - Finding Title - The title for this finding. - - - Finding Title: The title for this finding. - - - - - - - - - - - Finding Description - A human-readable description of this finding. - - - Finding Description: A human-readable description of this finding. - - - - - - - - - - - - - - - Implementation Statement UUID - A machine-oriented identifier reference to the implementation statement in the SSP to which this finding is related. - - - Implementation Statement UUID: A machine-oriented identifier reference to the implementation statement in the SSP to which this finding is related. - - - - - - - - - Related Observation - Relates the finding to a set of referenced observations that were used to determine the finding. - - - Related Observation: Relates the finding to a set of referenced observations that were used to determine the finding. - - - - - Observation Universally Unique Identifier Reference - A machine-oriented identifier reference to an observation defined in the list of observations. - - - Observation Universally Unique Identifier Reference: A machine-oriented identifier reference to an observation defined in the list of observations. - - - - - - - - - Associated Risk - Relates the finding to a set of referenced risks that were used to determine the finding. - - - Associated Risk: Relates the finding to a set of referenced risks that were used to determine the finding. - - - - - Risk Universally Unique Identifier Reference - A machine-oriented identifier reference to a risk defined in the list of risks. - - - Risk Universally Unique Identifier Reference: A machine-oriented identifier reference to a risk defined in the list of risks. - - - - - - - - Remarks - Additional commentary on the containing object. - - - Remarks: Additional commentary on the containing object. - - - - - - - - - - Finding Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this finding in this or other OSCAL instances. The locally defined UUID of the finding can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - Finding Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this finding in this or other OSCAL instances. The locally defined UUID of the finding can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - @@ -8186,19 +8329,17 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Assessment Plan Reference @@ -8210,7 +8351,7 @@ + type="oscal-poam-plan-of-action-and-milestones-ASSEMBLY"/> @@ -8222,43 +8363,47 @@ + type="oscal-metadata-metadata-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-assessment-common-import-ssp-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> + type="oscal-implementation-common-system-id-FIELD" + minOccurs="0" + maxOccurs="1"/> + type="oscal-poam-local-definitions-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> + type="oscal-assessment-common-observation-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-risk-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + + type="oscal-poam-poam-item-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> + type="oscal-metadata-back-matter-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> - + POA&M Universally Unique Identifier - A machine-oriented, globally unique identifier with instancescope that can be used to reference this POA&M instance in this OSCAL instance. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with instancescope that can be used to reference this POA&M instance in this OSCAL instance. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. POA&M Universally Unique Identifier: A machine-oriented, globally unique identifier with instancescope that can be used to reference this POA&M instance in this OSCAL instance. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -8276,26 +8421,28 @@ + type="oscal-implementation-common-system-component-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-implementation-common-inventory-item-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + @@ -8321,7 +8468,7 @@ POA&M Item Title: The title or name for this POA&M item . - + @@ -8336,18 +8483,18 @@ POA&M Item Description: A human-readable description of POA&M item. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -8360,12 +8507,34 @@ + type="oscal-assessment-common-origin-actor-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> + + + + + Related Finding + Relates the poam-item to referenced finding(s). + + + Related Finding: Relates the poam-item to referenced finding(s). + + + + + Finding Universally Unique Identifier Reference + A machine-oriented identifier reference to a finding defined in the list of findings. + + + Finding Universally Unique Identifier Reference: A machine-oriented identifier reference to a finding defined in the list of findings. + + + + @@ -8376,11 +8545,11 @@ Related Observation: Relates the poam-item to a set of referenced observations that were used to determine the finding. - + Observation Universally Unique Identifier Reference - A machine-oriented identifier reference to an observation defined in the list of observations. + A machine-oriented identifier reference to an observation defined in the list of observations. Observation Universally Unique Identifier Reference: A machine-oriented identifier reference to an observation defined in the list of observations. @@ -8398,11 +8567,11 @@ Associated Risk: Relates the finding to a set of referenced risks that were used to determine the finding. - + Risk Universally Unique Identifier Reference - A machine-oriented identifier reference to a risk defined in the list of risks. + A machine-oriented identifier reference to a risk defined in the list of risks. Risk Universally Unique Identifier Reference: A machine-oriented identifier reference to a risk defined in the list of risks. @@ -8414,78 +8583,54 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + POA&M Item Universally Unique Identifier - A machine-oriented, globally unique identifier with instance scope that can be used to reference this POA&M item entry in this OSCAL instance. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with instance scope that can be used to reference this POA&M item entry in this OSCAL instance. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. POA&M Item Universally Unique Identifier: A machine-oriented, globally unique identifier with instance scope that can be used to reference this POA&M item entry in this OSCAL instance. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - - - + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - The content model is the same as blockElementType, but line endings need - to be preserved, since this is preformatted. - - - - - + - The content model is the same as blockElementType, but line endings need + The content model is the same as inlineMarkupType, but line endings need to be preserved, since this is preformatted. @@ -8494,34 +8639,39 @@ + type="listItemType" + minOccurs="1" + maxOccurs="unbounded"/> + - - - + + + - + - - - - + + + + + - + - - + + + + + @@ -8530,49 +8680,49 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + - + + + + + + + + + + + + + + + + + + + + + + + - + + + - - An insert can be used to identify a placeholder for dynamically inserting text related to a specific object, which is referenced by the object's identifier using an id-ref. This insert mechanism allows the selection of which text value from the object to dynamically include based on the application's display requirements. + An insert can be used to identify a placeholder for dynamically inserting text related to a specific object, which is referenced by the object's identifier using an id-ref. This insert mechanism allows the selection of which text value from the object to dynamically include based on the application's display requirements. @@ -8581,68 +8731,26 @@ - The identity of the object to insert a value for. The identity will be selected from the index of objects of the specified type. The specific value to include is based on the application's display requirements, which will likely use a specific data element associated with the type (e.g., title, identifier, value, etc.) that is appropriate for the application. + The identity of the object to insert a value for. The identity will be selected from the index of objects of the specified type. The specific value to include is based on the application's display requirements, which will likely use a specific data element associated with the type (e.g., title, identifier, value, etc.) that is appropriate for the application. - - - - - A string, but not empty and not whitespace-only (whitespace is U+9, U+10, U+32 or [ \n\t]+ ) - - - - - - The xs:dateTime with a required timezone. - - - - - - An email address - - - - - - A URI - - - - - - A URI reference, such as a relative URL - - - - - - A Type 4 ('random' or 'pseudorandom' UUID per RFC 4122 - - - - - - A string token following the rules of XML "no colon" names, with no whitespace. (XML names are single alphabetic characters - followed by alphanumeric characters, periods, underscores or dashes.) - - - A trimmed string, at least one character with no - leading or trailing whitespace. + leading or trailing whitespace. + + + + + + + + + A trimmed string, at least one character with no + leading or trailing whitespace. @@ -8652,32 +8760,24 @@ - - - The xs:date with a required timezone. - - - - - - + The xs:dateTime with a required timezone. - - + + An email address - + Need a better pattern. @@ -8685,32 +8785,14 @@ - - - A host name - - - - - - The ip-v4-address type specifies an IPv4 address in - dot decimal notation. - - - - - - - - The ip-v6-address type specifies an IPv6 address - represented in 8 hextets separated by colons. - This is based on the pattern provided here: - https://stackoverflow.com/questions/53497/regular-expression-that-matches-valid-ipv6-addresses - with some customizations. - - - - + + + + + A trimmed string, at least one character with no + leading or trailing whitespace. + + @@ -8718,7 +8800,7 @@ A trimmed string, at least one character with no - leading or trailing whitespace. + leading or trailing whitespace. @@ -8726,18 +8808,38 @@ A string, but not empty and not whitespace-only - (whitespace is U+9, U+10, U+32 or [ \n\t]+ ) + (whitespace is U+9, U+10, U+32 or [ \n\t]+ ) The OSCAL 'string' datatype restricts the XSD type by prohibiting leading - and trailing whitespace, and something (not only whitespace) is required. + and trailing whitespace, and something (not only whitespace) is required. A trimmed string, at least one character with no - leading or trailing whitespace. + leading or trailing whitespace. + + + + + + + + A string token following the rules of XML "no + colon" names, with no whitespace. (XML names are single alphabetic + characters followed by alphanumeric characters, periods, underscores or dashes.) + + + + + + + + A single token may not contain whitespace. + @@ -8757,13 +8859,13 @@ A URI reference, such as a relative URL - + A trimmed URI, at least one character with no - leading or trailing whitespace. + leading or trailing whitespace. @@ -8771,14 +8873,14 @@ A type 4 ('random' or 'pseudorandom') or type 5 UUID per RFC - 4122. + 4122. - + A sequence of 8-4-4-4-12 hex digits, with extra - constraints in the 13th and 17-18th places for version 4 and 5 - + constraints in the 13th and 17-18th places for version 4 and 5 + diff --git a/xml/schema/oscal_component_schema.xsd b/xml/schema/oscal_component_schema.xsd index e5c9cbc33..8a87e8fa6 100644 --- a/xml/schema/oscal_component_schema.xsd +++ b/xml/schema/oscal_component_schema.xsd @@ -1,26 +1,28 @@ - + OSCAL Component Definition Model 1.0.4 oscal-component-definition -

    The OSCAL Component Definition Model can be used to describe the implementation of controls in a component or a set of components grouped as a capability. A component can be either a technical component, or a documentary component. A technical component is a component that is implemented in hardware (physical or virtual) or software. A documentary component is a component implemented in a document, such as a process, procedure, or policy.

    -

    The root of the OSCAL Implementation Component format is component-definition.

    -

    NOTE: This documentation is a work in progress. As a result, documentation for many of the information elements is missing or incomplete.

    +

    The OSCAL Component Definition Model can be used to describe the implementation of controls in a component or a set of components grouped as a capability. A component can be either a technical component, or a documentary component.

    +

    A technical component is a component that is implemented in hardware (physical or virtual) or software. Suppliers may document components in an OSCAL component definition that describes the implementation of controls in their hardware and software.

    +

    A documentary component is a component implemented for a documented process, procedure, or policy. Suppliers may document components in an OSCAL component definition that describes the implementation of controls in their process, procedure, or policy.

    +

    The information provided by a technical or documentary component can be used by component consumers to provide starting narratives for documenting control implementations in an OSCAL SSP.

    +

    The root of the OSCAL Implementation Layer Component Definition model is component-definition.

    component-definition
    + type="oscal-component-definition-component-definition-ASSEMBLY"/> @@ -32,34 +34,34 @@ + type="oscal-metadata-metadata-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-component-definition-import-component-definition-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-component-definition-defined-component-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-component-definition-capability-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-back-matter-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> - + Component Definition Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component definition elsewhere in this or other OSCAL instances. The locally defined UUID of the component definition can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Provides a globally unique means to identify a given component definition instance. - Component Definition Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component definition elsewhere in this or other OSCAL instances. The locally defined UUID of the component definition can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Component Definition Universally Unique Identifier: Provides a globally unique means to identify a given component definition instance. @@ -72,9 +74,7 @@ Import Component Definition: Loads a component definition from another resource. - + Hyperlink Reference @@ -106,7 +106,7 @@ Component Title: A human readable name for the component. - +
    @@ -121,7 +121,7 @@ Component Description: A description of the component, including information about its function. - +
    @@ -136,57 +136,55 @@ Purpose: A summary of the technological or business purpose of the component. - +
    + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-role-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-implementation-common-protocol-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-component-definition-control-implementation-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Component Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component elsewhere in this or other OSCAL instances. The locally defined UUID of the component can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Provides a globally unique means to identify a given component. - Component Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component elsewhere in this or other OSCAL instances. The locally defined UUID of the component can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Component Identifier: Provides a globally unique means to identify a given component. - + Component Type @@ -218,53 +216,51 @@ Capability Description: A summary of the capability. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-component-definition-incorporates-component-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-component-definition-control-implementation-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Capability Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this capability elsewhere in this or other OSCAL instances. The locally defined UUID of the capability can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance).This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Provides a globally unique means to identify a given capability. - Capability Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this capability elsewhere in this or other OSCAL instances. The locally defined UUID of the capability can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance).This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Capability Identifier: Provides a globally unique means to identify a given capability. - + Capability Name @@ -279,10 +275,10 @@ Incorporates Component - TBD + The collection of components comprising this capability. - Incorporates Component: TBD + Incorporates Component: The collection of components comprising this capability. @@ -296,18 +292,16 @@ Component Description: A description of the component, including information about its function. - + - + Component Reference - A machine-oriented identifier reference to a component. + A machine-oriented identifier reference to a component. Component Reference: A machine-oriented identifier reference to a component. @@ -335,40 +329,38 @@ Control Implementation Description: A description of how the specified set of controls are implemented for the containing component or capability. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-implementation-common-set-parameter-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-component-definition-implemented-requirement-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> - + Control Implementation Set Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference a set of implemented controls elsewhere in this or other OSCAL instances. The locally defined UUID of the control implementation set can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Provides a means to identify a set of control implementations that are supported by a given component or capability. - Control Implementation Set Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference a set of implemented controls elsewhere in this or other OSCAL instances. The locally defined UUID of the control implementation set can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Control Implementation Set Identifier: Provides a means to identify a set of control implementations that are supported by a given component or capability. - + Source Resource Reference @@ -394,72 +386,68 @@ Control Implementation Description - A suggestion for how the specified control may be implemented if the containing component or capability is instantiated in a system security plan. + A suggestion from the supplier (e.g., component vendor or author) for how the specified control may be implemented if the containing component or capability is instantiated in a system security plan. - Control Implementation Description: A suggestion for how the specified control may be implemented if the containing component or capability is instantiated in a system security plan. + Control Implementation Description: A suggestion from the supplier (e.g., component vendor or author) for how the specified control may be implemented if the containing component or capability is instantiated in a system security plan. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-implementation-common-set-parameter-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-role-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-component-definition-statement-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Control Implementation Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference a specific control implementation elsewhere in this or other OSCAL instances. The locally defined UUID of the control implementation can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance).This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Provides a globally unique means to identify a given control implementation by a component. - Control Implementation Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference a specific control implementation elsewhere in this or other OSCAL instances. The locally defined UUID of the control implementation can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance).This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Control Implementation Identifier: Provides a globally unique means to identify a given control implementation by a component. - + Control Identifier Reference - A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). + A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). - Control Identifier Reference: A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). + Control Identifier Reference: A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). @@ -484,55 +472,51 @@ Statement Implementation Description: A summary of how the containing control statement is implemented by the component or capability. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-role-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Control Statement Reference - A human-oriented identifier reference to a control statement. + A human-oriented identifier reference to a control statement. Control Statement Reference: A human-oriented identifier reference to a control statement. - + Control Statement Reference Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this control statement elsewhere in this or other OSCAL instances. The UUID of the control statement in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this control statement elsewhere in this or other OSCAL instances. The UUID of the control statement in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). Control Statement Reference Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this control statement elsewhere in this or other OSCAL instances. The UUID of the control statement in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). @@ -560,7 +544,7 @@ Component Title: A human readable name for the system component. - + @@ -575,7 +559,7 @@ Component Description: A description of the component, including information about its function. - + @@ -590,18 +574,18 @@ Purpose: A summary of the technological or business purpose of the component. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -617,19 +601,17 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + State @@ -642,40 +624,38 @@ + type="oscal-metadata-responsible-role-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-implementation-common-protocol-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Component Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component elsewhere in this or other OSCAL instances. The locally defined UUID of the component can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component elsewhere in this or other OSCAL instances. The locally defined UUID of the component can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Component Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component elsewhere in this or other OSCAL instances. The locally defined UUID of the component can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - + Component Type @@ -707,30 +687,30 @@ Protocol Title: A human readable name for the protocol (e.g., Transport Layer Security). - + + type="oscal-implementation-common-port-range-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - + Service Protocol Information Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this service protocol information elsewhere in this or other OSCAL instances. The locally defined UUID of the service protocol can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this service protocol information elsewhere in this or other OSCAL instances. The locally defined UUID of the service protocol can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Service Protocol Information Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this service protocol information elsewhere in this or other OSCAL instances. The locally defined UUID of the service protocol can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - + Protocol Name - The common name of the protocol, which should be the appropriate "service name" from the IANA Service Name and Transport Protocol Port Number Registry. + The common name of the protocol, which should be the appropriate "service name" from the IANA Service Name and Transport Protocol Port Number Registry. Protocol Name: The common name of the protocol, which should be the appropriate "service name" from the IANA Service Name and Transport Protocol Port Number Registry. @@ -746,7 +726,7 @@ Port Range: Where applicable this is the IPv4 port range on which the service operates. - + Start @@ -756,7 +736,7 @@ Start: Indicates the starting port number in a port range - + End @@ -766,7 +746,7 @@ End: Indicates the ending port number in a port range - + Transport @@ -791,19 +771,17 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Implementation State @@ -835,7 +813,7 @@ User Title: A name given to the user, which may be used by a tool for display and navigation. - + @@ -849,7 +827,7 @@ User Short Name: A short common name, abbreviation, or acronym for the user. - + @@ -863,47 +841,45 @@ User Description: A summary of the user's purpose within the system. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-role-id-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-implementation-common-authorized-privilege-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + User Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this user class elsewhere in this or other OSCAL instances. The locally defined UUID of the system user can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this user class elsewhere in this or other OSCAL instances. The locally defined UUID of the system user can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. User Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this user class elsewhere in this or other OSCAL instances. The locally defined UUID of the system user can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -931,7 +907,7 @@ Privilege Title: A human readable name for the privilege. - + @@ -946,14 +922,14 @@ Privilege Description: A summary of the privilege's purpose within the system. - + + type="oscal-implementation-common-function-performed-FIELD" + minOccurs="1" + maxOccurs="unbounded"/> @@ -965,7 +941,7 @@ Functions Performed: Describes a function performed for a given authorized privilege by this user class. - + @@ -988,22 +964,22 @@ Inventory Item Description: A summary of the inventory item stating its purpose within the system. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-party-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -1016,40 +992,36 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-party-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Component Universally Unique Identifier Reference - A machine-oriented identifier reference to a component that is implemented as part of an inventory item. + A machine-oriented identifier reference to a component that is implemented as part of an inventory item. Component Universally Unique Identifier Reference: A machine-oriented identifier reference to a component that is implemented as part of an inventory item. @@ -1061,23 +1033,21 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Inventory Item Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inventory item elsewhere in this or other OSCAL instances. The locally defined UUID of the inventory item can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inventory item elsewhere in this or other OSCAL instances. The locally defined UUID of the inventory item can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Inventory Item Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inventory item elsewhere in this or other OSCAL instances. The locally defined UUID of the inventory item can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -1104,32 +1074,28 @@ Parameter Value: A parameter value or set of values. - + Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Parameter ID - A human-oriented reference to a parameter within a control, who's catalog has been imported into the current implementation context. + A human-oriented reference to a parameter within a control, who's catalog has been imported into the current implementation context. Parameter ID: A human-oriented reference to a parameter within a control, who's catalog has been imported into the current implementation context. @@ -1140,14 +1106,14 @@ System Identification - A human-oriented, globally unique identifier with cross-instance scope that can be used to reference this system identification property elsewhere in this or other OSCAL instances. When referencing an externally defined system identification, the system identification must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). This string should be assigned per-subject, which means it should be consistently used to identify the same system across revisions of the document. + A human-oriented, globally unique identifier with cross-instance scope that can be used to reference this system identification property elsewhere in this or other OSCAL instances. When referencing an externally defined system identification, the system identification must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). This string should be assigned per-subject, which means it should be consistently used to identify the same system across revisions of the document. System Identification: A human-oriented, globally unique identifier with cross-instance scope that can be used to reference this system identification property elsewhere in this or other OSCAL instances. When referencing an externally defined system identification, the system identification must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). This string should be assigned per-subject, which means it should be consistently used to identify the same system across revisions of the document. - - + + Identification System Type @@ -1163,11 +1129,11 @@ - Publication metadata - Provides information about the publication and availability of the containing document. + Document Metadata + Provides information about the containing document, and defines concepts that are shared across the document. - Publication metadata: Provides information about the publication and availability of the containing document. + Document Metadata: Provides information about the containing document, and defines concepts that are shared across the document. @@ -1181,499 +1147,493 @@ Document Title: A name given to the document, which may be used by a tool for display and navigation. - + + type="oscal-metadata-published-FIELD" + minOccurs="0" + maxOccurs="1"/> + type="oscal-metadata-last-modified-FIELD" + minOccurs="1" + maxOccurs="1"/> + type="oscal-metadata-version-FIELD" + minOccurs="1" + maxOccurs="1"/> + type="oscal-metadata-oscal-version-FIELD" + minOccurs="1" + maxOccurs="1"/> - - - - - - - - - - - - - - - Remarks - Additional commentary on the containing object. + revisions + A group of 'revision' elements - Remarks: Additional commentary on the containing object. + revisions: A group of 'revision' elements - - - - - - - - - Revision History Entry - An entry in a sequential list of revisions to the containing document in reverse chronological order (i.e., most recent previous revision first). - - - Revision History Entry: An entry in a sequential list of revisions to the containing document in reverse chronological order (i.e., most recent previous revision first). - - - - - - - Document Title - A name given to the document revision, which may be used by a tool for display and navigation. - - - Document Title: A name given to the document revision, which may be used by a tool for display and navigation. - - - - + + + + + + Revision History Entry + An entry in a sequential list of revisions to the containing document, expected to be in reverse chronological order (i.e. latest first). + + + Revision History Entry: An entry in a sequential list of revisions to the containing document, expected to be in reverse chronological order (i.e. latest first). + + + + + + + Document Title + A name given to the document revision, which may be used by a tool for display and navigation. + + + Document Title: A name given to the document revision, which may be used by a tool for display and navigation. + + + + + + + + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + - - - - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - - - - Remarks - Additional commentary on the containing object. - - - Remarks: Additional commentary on the containing object. - + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + - - - - - - - - - Location - A location, with associated metadata that can be referenced. - - - Location: A location, with associated metadata that can be referenced. - - - - - Location Title - A name given to the location, which may be used by a tool for display and navigation. + Role + Defines a function, which might be assigned to a party in a specific situation. - Location Title: A name given to the location, which may be used by a tool for display and navigation. + Role: Defines a function, which might be assigned to a party in a specific situation. - - - + + + + + + Role Title + A name given to the role, which may be used by a tool for display and navigation. + + + Role Title: A name given to the role, which may be used by a tool for display and navigation. + + + + + + + + + + + Role Short Name + A short common name, abbreviation, or acronym for the role. + + + Role Short Name: A short common name, abbreviation, or acronym for the role. + + + + + + + + + Role Description + A summary of the role's purpose and associated responsibilities. + + + Role Description: A summary of the role's purpose and associated responsibilities. + + + + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Role Identifier + A unique identifier for the role. + + + Role Identifier: A unique identifier for the role. + + - - - - - - - - Location URL - The uniform resource locator (URL) for a web site or Internet presence associated with the location. - - - Location URL: The uniform resource locator (URL) for a web site or Internet presence associated with the location. - - - - - - - - - - Remarks - Additional commentary on the containing object. - - - Remarks: Additional commentary on the containing object. - + - - - - - - - - Location Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined location elsewhere in this or other OSCAL instances. The locally defined UUID of the location can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - Location Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined location elsewhere in this or other OSCAL instances. The locally defined UUID of the location can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - - - - - Location Reference - A machine-oriented identifier reference to a location defined in the metadata section of this or another OSCAL instance. The UUID of the location in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). - - - Location Reference: A machine-oriented identifier reference to a location defined in the metadata section of this or another OSCAL instance. The UUID of the location in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). - - - - - - - Party (organization or person) - A responsible entity which is either a person or an organization. - - - Party (organization or person): A responsible entity which is either a person or an organization. - - - - - - - Party Name - The full name of the party. This is typically the legal name associated with the party. - - - Party Name: The full name of the party. This is typically the legal name associated with the party. - - - - - - - Party Short Name - A short common name, abbreviation, or acronym for the party. + Location + A physical point of presence, which may be associated with people, organizations, or other concepts within the current or linked OSCAL document. - Party Short Name: A short common name, abbreviation, or acronym for the party. + Location: A physical point of presence, which may be associated with people, organizations, or other concepts within the current or linked OSCAL document. - - + + + + + + Location Title + A name given to the location, which may be used by a tool for display and navigation. + + + Location Title: A name given to the location, which may be used by a tool for display and navigation. + + + + + + + + + + + + + + Location URL + The uniform resource locator (URL) for a web site or other resource associated with the location. + + + Location URL: The uniform resource locator (URL) for a web site or other resource associated with the location. + + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Location Universally Unique Identifier + A unique ID for the location, for reference. + + + Location Universally Unique Identifier: A unique ID for the location, for reference. + + + - + - Party External Identifier - An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID) + Party + An organization or person, which may be associated with roles or other concepts within the current or linked OSCAL document. - Party External Identifier: An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID) + Party: An organization or person, which may be associated with roles or other concepts within the current or linked OSCAL document. - - - + + + + + + Party Name + The full name of the party. This is typically the legal name associated with the party. + + + Party Name: The full name of the party. This is typically the legal name associated with the party. + + + + + + - External Identifier Schema - Indicates the type of external identifier. + Party Short Name + A short common name, abbreviation, or acronym for the party. - External Identifier Schema: Indicates the type of external identifier. + Party Short Name: A short common name, abbreviation, or acronym for the party. - - - + + + + + + + + Party External Identifier + An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID). + + + Party External Identifier: An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID). + + + + + + + External Identifier Schema + Indicates the type of external identifier. + + + External Identifier Schema: Indicates the type of external identifier. + + + + + + + + + + + + + + + + + + + Organizational Affiliation + A reference to another party by UUID, typically an organization, that this subject is associated with. + + + Organizational Affiliation: A reference to another party by UUID, typically an organization, that this subject is associated with. + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Party Universally Unique Identifier + A unique identifier for the party. + + + Party Universally Unique Identifier: A unique identifier for the party. + + + + + + Party Type + A category describing the kind of party the object describes. + + + Party Type: A category describing the kind of party the object describes. + + - - - - - - - - - - - - - Organizational Affiliation - A machine-oriented identifier reference to another party (person or organization) that this subject is associated with. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). - - - Organizational Affiliation: A machine-oriented identifier reference to another party (person or organization) that this subject is associated with. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). - - - - + + Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - - - - Party Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined party elsewhere in this or other OSCAL instances. The locally defined UUID of the party can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - Party Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined party elsewhere in this or other OSCAL instances. The locally defined UUID of the party can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - - - - Party Type - A category describing the kind of party the object describes. - - - Party Type: A category describing the kind of party the object describes. - - - + - Party Reference - A machine-oriented identifier reference to another party defined in metadata. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). + Location Universally Unique Identifier Reference + Reference to a location by UUID. - Party Reference: A machine-oriented identifier reference to another party defined in metadata. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). + Location Universally Unique Identifier Reference: Reference to a location by UUID. - + - + - Role - Defines a function assumed or expected to be assumed by a party in a specific situation. + Party Universally Unique Identifier Reference + Reference to a party by UUID. - Role: Defines a function assumed or expected to be assumed by a party in a specific situation. + Party Universally Unique Identifier Reference: Reference to a party by UUID. - - - - - - Role Title - A name given to the role, which may be used by a tool for display and navigation. - - - Role Title: A name given to the role, which may be used by a tool for display and navigation. - - - - - - - - - - - Role Short Name - A short common name, abbreviation, or acronym for the role. - - - Role Short Name: A short common name, abbreviation, or acronym for the role. - - - - - - - - - Role Description - A summary of the role's purpose and associated responsibilities. - - - Role Description: A summary of the role's purpose and associated responsibilities. - - - - - - - - - - - - Remarks - Additional commentary on the containing object. - - - Remarks: Additional commentary on the containing object. - - - - - - - - - - Role Identifier - A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined role elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, the locally defined ID of the Role from the imported OSCAL instance must be referenced in the context of the containing resource (e.g., import, import-component-definition, import-profile, import-ssp or import-ap). This ID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - Role Identifier: A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined role elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, the locally defined ID of the Role from the imported OSCAL instance must be referenced in the context of the containing resource (e.g., import, import-component-definition, import-profile, import-ssp or import-ap). This ID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - + + Role Identifier Reference - A human-oriented identifier reference to roles served by the user. + Reference to a role by UUID. - Role Identifier Reference: A human-oriented identifier reference to roles served by the user. + Role Identifier Reference: Reference to a role by UUID. - + Back matter - A collection of resources, which may be included directly or by reference. + A collection of resources that may be referenced from within the OSCAL document instance. - Back matter: A collection of resources, which may be included directly or by reference. + Back matter: A collection of resources that may be referenced from within the OSCAL document instance. @@ -1681,10 +1641,10 @@ Resource - A resource associated with content in the containing document. A resource may be directly included in the document base64 encoded or may point to one or more equivalent internet resources. + A resource associated with content in the containing document instance. A resource may be directly included in the document using base64 encoding or may point to one or more equivalent internet resources. - Resource: A resource associated with content in the containing document. A resource may be directly included in the document base64 encoded or may point to one or more equivalent internet resources. + Resource: A resource associated with content in the containing document instance. A resource may be directly included in the document using base64 encoding or may point to one or more equivalent internet resources. @@ -1692,13 +1652,13 @@ Resource Title - A name given to the resource, which may be used by a tool for display and navigation. + An optional name given to the resource, which may be used by a tool for display and navigation. - Resource Title: A name given to the resource, which may be used by a tool for display and navigation. + Resource Title: An optional name given to the resource, which may be used by a tool for display and navigation. - + @@ -1707,33 +1667,33 @@ Resource Description - A short summary of the resource used to indicate the purpose of the resource. + An optional short summary of the resource used to indicate the purpose of the resource. - Resource Description: A short summary of the resource used to indicate the purpose of the resource. + Resource Description: An optional short summary of the resource used to indicate the purpose of the resource. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-document-id-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> Citation - A citation consisting of end note text and optional structured bibliographic data. + An optional citation consisting of end note text using structured markup. - Citation: A citation consisting of end note text and optional structured bibliographic data. + Citation: An optional citation consisting of end note text using structured markup. @@ -1747,18 +1707,18 @@ Citation Text: A line of citation text. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -1767,37 +1727,35 @@ Resource link - A pointer to an external resource with an optional hash for verification and change detection. + A URL-based pointer to an external resource with an optional hash for verification and change detection. - Resource link: A pointer to an external resource with an optional hash for verification and change detection. + Resource link: A URL-based pointer to an external resource with an optional hash for verification and change detection. + type="oscal-metadata-hash-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> - + Hypertext Reference - A resolvable URI reference to a resource. + A resolvable URL pointing to the referenced resource. - Hypertext Reference: A resolvable URI reference to a resource. + Hypertext Reference: A resolvable URL pointing to the referenced resource. - + Media Type - Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + A label that indicates the nature of a resource, as a data serialization or format. - Media Type: Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + Media Type: A label that indicates the nature of a resource, as a data serialization or format. @@ -1807,31 +1765,31 @@ Base64 - The Base64 alphabet in RFC 2045 - aligned with XSD. + A resource encoded using the Base64 alphabet defined by RFC 2045. - Base64: The Base64 alphabet in RFC 2045 - aligned with XSD. + Base64: A resource encoded using the Base64 alphabet defined by RFC 2045. - - + + File Name - Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded. + Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded. File Name: Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded. - + Media Type - Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + A label that indicates the nature of a resource, as a data serialization or format. - Media Type: Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + Media Type: A label that indicates the nature of a resource, as a data serialization or format. @@ -1842,26 +1800,24 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Resource Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined resource elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A unique identifier for a resource. - Resource Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined resource elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Resource Universally Unique Identifier: A unique identifier for a resource. @@ -1872,49 +1828,47 @@ Property - An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values. + An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. - Property: An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values. + Property: An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Property Name - A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object. + A textual label, within a namespace, that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object. - Property Name: A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object. + Property Name: A textual label, within a namespace, that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object. - + Property Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A unique identifier for a property. - Property Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Property Universally Unique Identifier: A unique identifier for a property. - + Property Namespace @@ -1924,9 +1878,7 @@ Property Namespace: A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name. - + Property Value @@ -1936,14 +1888,24 @@ Property Value: Indicates the value of the attribute, characteristic, or quality. - + Property Class - A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns. + A textual label that provides a sub-type or characterization of the property's name. - Property Class: A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns. + Property Class: A textual label that provides a sub-type or characterization of the property's name. + + + + + + Property Group + An identifier for relating distinct sets of properties. + + + Property Group: An identifier for relating distinct sets of properties. @@ -1951,10 +1913,10 @@ Link - A reference to a local or remote resource + A reference to a local or remote resource, that has a specific relation to the containing object. - Link: A reference to a local or remote resource + Link: A reference to a local or remote resource, that has a specific relation to the containing object. @@ -1968,14 +1930,12 @@ Link Text: A textual label to associate with the link, which may be used for presentation in a tool. - + - + Hypertext Reference @@ -1985,24 +1945,34 @@ Hypertext Reference: A resolvable URL reference to a resource. - + - Relation - Describes the type of relationship provided by the link. This can be an indicator of the link's purpose. + Link Relation Type + Describes the type of relationship provided by the link's hypertext reference. This can be an indicator of the link's purpose. - Relation: Describes the type of relationship provided by the link. This can be an indicator of the link's purpose. + Link Relation Type: Describes the type of relationship provided by the link's hypertext reference. This can be an indicator of the link's purpose. - + Media Type - Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + A label that indicates the nature of a resource, as a data serialization or format. - Media Type: Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + Media Type: A label that indicates the nature of a resource, as a data serialization or format. + + + + + + Resource Fragment + In case where the href points to a back-matter/resource, this value will indicate the URI fragment to append to any rlink associated with the resource. This value MUST be URI encoded. + + + Resource Fragment: In case where the href points to a back-matter/resource, this value will indicate the URI fragment to append to any rlink associated with the resource. This value MUST be URI encoded. @@ -2010,50 +1980,123 @@ Responsible Party - A reference to a set of organizations or persons that have responsibility for performing a referenced role in the context of the containing object. + A reference to a set of persons and/or organizations that have responsibility for performing the referenced role in the context of the containing object. - Responsible Party: A reference to a set of organizations or persons that have responsibility for performing a referenced role in the context of the containing object. + Responsible Party: A reference to a set of persons and/or organizations that have responsibility for performing the referenced role in the context of the containing object. + type="oscal-metadata-party-uuid-FIELD" + minOccurs="1" + maxOccurs="unbounded"/> + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Responsible Role - A human-oriented identifier reference to roles served by the user. + A reference to a role performed by a party. + + + Responsible Role: A reference to a role performed by a party. + + + + + + + Action + An action applied by a role within a given party to the content. + + + Action: An action applied by a role within a given party to the content. + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Action Universally Unique Identifier + A unique identifier that can be used to reference this defined action elsewhere in an OSCAL document. A UUID should be consistently used for a given location across revisions of the document. + + + Action Universally Unique Identifier: A unique identifier that can be used to reference this defined action elsewhere in an OSCAL document. A UUID should be consistently used for a given location across revisions of the document. + + + + + + Action Occurrence Date + The date and time when the action occurred. + + + Action Occurrence Date: The date and time when the action occurred. + + + + + + Action Type + The type of action documented by the assembly, such as an approval. + + + Action Type: The type of action documented by the assembly, such as an approval. + + + + + + Action Type System + Specifies the action type system used. - Responsible Role: A human-oriented identifier reference to roles served by the user. + Action Type System: Specifies the action type system used. @@ -2061,50 +2104,46 @@ Responsible Role - A reference to one or more roles with responsibility for performing a function relative to the containing object. + A reference to a role with responsibility for performing a function relative to the containing object, optionally associated with a set of persons and/or organizations that perform that role. - Responsible Role: A reference to one or more roles with responsibility for performing a function relative to the containing object. + Responsible Role: A reference to a role with responsibility for performing a function relative to the containing object, optionally associated with a set of persons and/or organizations that perform that role. + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-party-uuid-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Responsible Role ID - A human-oriented identifier reference to roles responsible for the business function. + A human-oriented identifier reference to a role performed. - Responsible Role ID: A human-oriented identifier reference to roles responsible for the business function. + Responsible Role ID: A human-oriented identifier reference to a role performed. @@ -2118,17 +2157,15 @@ Hash: A representation of a cryptographic digest generated over a resource using a specified hash algorithm. - - + + Hash algorithm - Method by which a hash is derived + The digest method by which a hash is derived. - Hash algorithm: Method by which a hash is derived + Hash algorithm: The digest method by which a hash is derived. @@ -2138,82 +2175,82 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + Publication Timestamp - The date and time the document was published. The date-time value must be formatted according to RFC 3339 with full time and time zone included. + The date and time the document was last made available. - Publication Timestamp: The date and time the document was published. The date-time value must be formatted according to RFC 3339 with full time and time zone included. + Publication Timestamp: The date and time the document was last made available. - + Last Modified Timestamp - The date and time the document was last modified. The date-time value must be formatted according to RFC 3339 with full time and time zone included. + The date and time the document was last stored for later retrieval. - Last Modified Timestamp: The date and time the document was last modified. The date-time value must be formatted according to RFC 3339 with full time and time zone included. + Last Modified Timestamp: The date and time the document was last stored for later retrieval. - + Document Version - A string used to distinguish the current version of the document from other previous (and future) versions. + Used to distinguish a specific revision of an OSCAL document from other previous and future versions. - Document Version: A string used to distinguish the current version of the document from other previous (and future) versions. + Document Version: Used to distinguish a specific revision of an OSCAL document from other previous and future versions. - + - OSCAL version - The OSCAL model version the document was authored against. + OSCAL Version + The OSCAL model version the document was authored against and will conform to as valid. - OSCAL version: The OSCAL model version the document was authored against. + OSCAL Version: The OSCAL model version the document was authored against and will conform to as valid. - + Email Address - An email address as defined by RFC 5322 Section 3.4.1. + An email address as defined by RFC 5322 Section 3.4.1. - Email Address: An email address as defined by RFC 5322 Section 3.4.1. + Email Address: An email address as defined by RFC 5322 Section 3.4.1. - + Telephone Number - Contact number by telephone. + A telephone service number as defined by ITU-T E.164. - Telephone Number: Contact number by telephone. + Telephone Number: A telephone service number as defined by ITU-T E.164. - - + + type flag @@ -2237,9 +2274,9 @@ + type="oscal-metadata-addr-line-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> @@ -2250,7 +2287,7 @@ City: City, town or geographical region for the mailing address. - + @@ -2258,12 +2295,12 @@ State - State, province or analogous geographical region for mailing address + State, province or analogous geographical region for a mailing address. - State: State, province or analogous geographical region for mailing address + State: State, province or analogous geographical region for a mailing address. - + @@ -2271,12 +2308,12 @@ Postal Code - Postal or ZIP code for mailing address + Postal or ZIP code for mailing address. - Postal Code: Postal or ZIP code for mailing address + Postal Code: Postal or ZIP code for mailing address. - + @@ -2289,11 +2326,11 @@ Country Code: The ISO 3166-1 alpha-2 country code for the mailing address. - + - + Address Type @@ -2313,40 +2350,40 @@ Address line: A single line of an address. - + Document Identifier - A document identifier qualified by an identifier scheme. A document identifier provides a globally unique identifier with a cross-instance scope that is used for a group of documents that are to be treated as different versions of the same document. If this element does not appear, or if the value of this element is empty, the value of "document-id" is equal to the value of the "uuid" flag of the top-level root element. + A document identifier qualified by an identifier scheme. - Document Identifier: A document identifier qualified by an identifier scheme. A document identifier provides a globally unique identifier with a cross-instance scope that is used for a group of documents that are to be treated as different versions of the same document. If this element does not appear, or if the value of this element is empty, the value of "document-id" is equal to the value of the "uuid" flag of the top-level root element. + Document Identifier: A document identifier qualified by an identifier scheme. - - + + Document Identification Scheme - Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters. + Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters. - Document Identification Scheme: Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters. + Document Identification Scheme: Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters. - + Part - A partition of a control's definition or a child of another part. + An annotated, markup-based textual element of a control's or catalog group's definition, or a child of another part. - Part: A partition of a control's definition or a child of another part. + Part: An annotated, markup-based textual element of a control's or catalog group's definition, or a child of another part. @@ -2354,74 +2391,72 @@ Part Title - A name given to the part, which may be used by a tool for display and navigation. + An optional name given to the part, which may be used by a tool for display and navigation. - Part Title: A name given to the part, which may be used by a tool for display and navigation. + Part Title: An optional name given to the part, which may be used by a tool for display and navigation. - + - + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + + type="oscal-control-common-part-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - + Part Identifier - A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined part elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A unique identifier for the part. - Part Identifier: A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined part elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Part Identifier: A unique identifier for the part. - + Part Name - A textual label that uniquely identifies the part's semantic type. + A textual label that uniquely identifies the part's semantic type, which exists in a value space qualified by the ns. - Part Name: A textual label that uniquely identifies the part's semantic type. + Part Name: A textual label that uniquely identifies the part's semantic type, which exists in a value space qualified by the ns. - + Part Namespace - A namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name. + An optional namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name. - Part Namespace: A namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name. + Part Namespace: An optional namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name. - + Part Class - A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns. + An optional textual providing a sub-type or characterization of the part's name, or a category to which the part belongs. - Part Class: A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns. + Part Class: An optional textual providing a sub-type or characterization of the part's name, or a category to which the part belongs. - + Parameter @@ -2432,25 +2467,25 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Parameter Label - A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned. + A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned. Parameter Label: A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned. - + @@ -2459,89 +2494,88 @@ Parameter Usage Description - Describes the purpose and use of a parameter + Describes the purpose and use of a parameter. - Parameter Usage Description: Describes the purpose and use of a parameter + Parameter Usage Description: Describes the purpose and use of a parameter. - + + type="oscal-control-common-parameter-constraint-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-parameter-guideline-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-parameter-value-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-parameter-selection-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Parameter Identifier - A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined parameter elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A unique identifier for the parameter. - Parameter Identifier: A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined parameter elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Parameter Identifier: A unique identifier for the parameter. - + Parameter Class - A textual label that provides a characterization of the parameter. + A textual label that provides a characterization of the type, purpose, use or scope of the parameter. - Parameter Class: A textual label that provides a characterization of the parameter. + Parameter Class: A textual label that provides a characterization of the type, purpose, use or scope of the parameter. - + Depends on - **(deprecated)** Another parameter invoking this one. This construct has been deprecated and should not be used. + + (deprecated) Another parameter invoking this one. This construct has been deprecated and should not be used. - Depends on: **(deprecated)** Another parameter invoking this one. This construct has been deprecated and should not be used. + Depends on: (deprecated) Another parameter invoking this one. This construct has been deprecated and should not be used. - + Constraint - A formal or informal expression of a constraint or test + A formal or informal expression of a constraint or test. - Constraint: A formal or informal expression of a constraint or test + Constraint: A formal or informal expression of a constraint or test. @@ -2555,7 +2589,7 @@ Constraint Description: A textual summary of the constraint to be applied. - + @@ -2575,27 +2609,25 @@ Constraint test - A formal (executable) expression of a constraint + A formal (executable) expression of a constraint. - Constraint test: A formal (executable) expression of a constraint + Constraint test: A formal (executable) expression of a constraint. - + Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + @@ -2603,7 +2635,7 @@ - + Guideline @@ -2613,12 +2645,10 @@ Guideline: A prose statement that provides a recommendation for the use of a parameter. - + - + Parameter Value @@ -2627,16 +2657,16 @@ Parameter Value: A parameter value or set of values. - + - + Selection - Presenting a choice among alternatives + Presenting a choice among alternatives. - Selection: Presenting a choice among alternatives + Selection: Presenting a choice among alternatives. @@ -2644,18 +2674,18 @@ Choice - A value selection among several such options + A value selection among several such options. - Choice: A value selection among several such options + Choice: A value selection among several such options. - + - + Parameter Cardinality @@ -2666,7 +2696,7 @@ - + Include All @@ -2676,55 +2706,33 @@ Include All: Include all controls from the imported catalog or profile resources. - - - - - + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - The content model is the same as blockElementType, but line endings need - to be preserved, since this is preformatted. - - - - - + - The content model is the same as blockElementType, but line endings need + The content model is the same as inlineMarkupType, but line endings need to be preserved, since this is preformatted. @@ -2733,42 +2741,39 @@ + type="listItemType" + minOccurs="1" + maxOccurs="unbounded"/> + - - - + + + - + - - - - + + + + + - + - - + + + + + @@ -2777,65 +2782,49 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + - + + + + + + + + + + + + + + + + + + + + + + + - + + + - - An insert can be used to identify a placeholder for dynamically inserting text related to a specific object, which is referenced by the object's identifier using an id-ref. This insert mechanism allows the selection of which text value from the object to dynamically include based on the application's display requirements. + An insert can be used to identify a placeholder for dynamically inserting text related to a specific object, which is referenced by the object's identifier using an id-ref. This insert mechanism allows the selection of which text value from the object to dynamically include based on the application's display requirements. @@ -2844,103 +2833,38 @@ - The identity of the object to insert a value for. The identity will be selected from the index of objects of the specified type. The specific value to include is based on the application's display requirements, which will likely use a specific data element associated with the type (e.g., title, identifier, value, etc.) that is appropriate for the application. + The identity of the object to insert a value for. The identity will be selected from the index of objects of the specified type. The specific value to include is based on the application's display requirements, which will likely use a specific data element associated with the type (e.g., title, identifier, value, etc.) that is appropriate for the application. - - - - - A string, but not empty and not whitespace-only (whitespace is U+9, U+10, U+32 or [ \n\t]+ ) - - - - - - The xs:dateTime with a required timezone. - - - - - - An email address - - - - - - A URI - - - - - - A URI reference, such as a relative URL - - - - - - A Type 4 ('random' or 'pseudorandom' UUID per RFC 4122 - - - - - - A string token following the rules of XML "no colon" names, with no whitespace. (XML names are single alphabetic characters - followed by alphanumeric characters, periods, underscores or dashes.) - - - A trimmed string, at least one character with no - leading or trailing whitespace. + leading or trailing whitespace. - - - - - - - - The xs:date with a required timezone. - - - - - - + The xs:dateTime with a required timezone. - - + + An email address - + Need a better pattern. @@ -2948,40 +2872,12 @@ - - - A host name - - - - - - The ip-v4-address type specifies an IPv4 address in - dot decimal notation. - - - - - - - - The ip-v6-address type specifies an IPv6 address - represented in 8 hextets separated by colons. - This is based on the pattern provided here: - https://stackoverflow.com/questions/53497/regular-expression-that-matches-valid-ipv6-addresses - with some customizations. - - - - - - - - + + A trimmed string, at least one character with no - leading or trailing whitespace. + leading or trailing whitespace. @@ -2989,18 +2885,38 @@ A string, but not empty and not whitespace-only - (whitespace is U+9, U+10, U+32 or [ \n\t]+ ) + (whitespace is U+9, U+10, U+32 or [ \n\t]+ ) The OSCAL 'string' datatype restricts the XSD type by prohibiting leading - and trailing whitespace, and something (not only whitespace) is required. + and trailing whitespace, and something (not only whitespace) is required. A trimmed string, at least one character with no - leading or trailing whitespace. + leading or trailing whitespace. + + + + + + + + A string token following the rules of XML "no + colon" names, with no whitespace. (XML names are single alphabetic + characters followed by alphanumeric characters, periods, underscores or dashes.) + + + + + + + + A single token may not contain whitespace. + @@ -3020,13 +2936,13 @@ A URI reference, such as a relative URL - + A trimmed URI, at least one character with no - leading or trailing whitespace. + leading or trailing whitespace. @@ -3034,14 +2950,14 @@ A type 4 ('random' or 'pseudorandom') or type 5 UUID per RFC - 4122. + 4122. - + A sequence of 8-4-4-4-12 hex digits, with extra - constraints in the 13th and 17-18th places for version 4 and 5 - + constraints in the 13th and 17-18th places for version 4 and 5 + diff --git a/xml/schema/oscal_mapping_schema.xsd b/xml/schema/oscal_mapping_schema.xsd new file mode 100644 index 000000000..e65e06bb0 --- /dev/null +++ b/xml/schema/oscal_mapping_schema.xsd @@ -0,0 +1,1769 @@ + + + + + OSCAL Control Mapping Model + 1.0.3 + oscal-mapping + +

    The OSCAL Control mapping format can be used to describe how a collection of security controls and related control enhancements relate to another collection of controls. The root of the Control Catalog format is mapping-collection.

    +
    + mapping-collection +
    +
    + + + + + Mapping Collection + A collection of relationship-based control and/or control statement mappings. + + + Mapping Collection: A collection of relationship-based control and/or control statement mappings. + + + + + + + + + + Mapping Collection Universally Unique Identifier + A globally unique identifier with cross-instance scope for this catalog instance. This UUID should be changed when this document is revised. + + + Mapping Collection Universally Unique Identifier: A globally unique identifier with cross-instance scope for this catalog instance. This UUID should be changed when this document is revised. + + + + + + + Control Mapping + A mapping between two target resources. + + + Control Mapping: A mapping between two target resources. + + + + + + + + + + Mapping Universally Unique Identifier + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this mapping definition elsewhere in this or other OSCAL instances. The locally defined UUID of the mapping can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same mapping across revisions of the document. + + + Mapping Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this mapping definition elsewhere in this or other OSCAL instances. The locally defined UUID of the mapping can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same mapping across revisions of the document. + + + + + + + Document Metadata + Provides information about the containing document, and defines concepts that are shared across the document. + + + Document Metadata: Provides information about the containing document, and defines concepts that are shared across the document. + + + + + + + Document Title + A name given to the document, which may be used by a tool for display and navigation. + + + Document Title: A name given to the document, which may be used by a tool for display and navigation. + + + + + + + + + + + + + + revisions + A group of 'revision' elements + + + revisions: A group of 'revision' elements + + + + + + + + Revision History Entry + An entry in a sequential list of revisions to the containing document, expected to be in reverse chronological order (i.e. latest first). + + + Revision History Entry: An entry in a sequential list of revisions to the containing document, expected to be in reverse chronological order (i.e. latest first). + + + + + + + Document Title + A name given to the document revision, which may be used by a tool for display and navigation. + + + Document Title: A name given to the document revision, which may be used by a tool for display and navigation. + + + + + + + + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + + + + + + + + + + Role + Defines a function, which might be assigned to a party in a specific situation. + + + Role: Defines a function, which might be assigned to a party in a specific situation. + + + + + + + Role Title + A name given to the role, which may be used by a tool for display and navigation. + + + Role Title: A name given to the role, which may be used by a tool for display and navigation. + + + + + + + + + + + Role Short Name + A short common name, abbreviation, or acronym for the role. + + + Role Short Name: A short common name, abbreviation, or acronym for the role. + + + + + + + + + Role Description + A summary of the role's purpose and associated responsibilities. + + + Role Description: A summary of the role's purpose and associated responsibilities. + + + + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Role Identifier + A unique identifier for the role. + + + Role Identifier: A unique identifier for the role. + + + + + + + + + Location + A physical point of presence, which may be associated with people, organizations, or other concepts within the current or linked OSCAL document. + + + Location: A physical point of presence, which may be associated with people, organizations, or other concepts within the current or linked OSCAL document. + + + + + + + Location Title + A name given to the location, which may be used by a tool for display and navigation. + + + Location Title: A name given to the location, which may be used by a tool for display and navigation. + + + + + + + + + + + + + + Location URL + The uniform resource locator (URL) for a web site or other resource associated with the location. + + + Location URL: The uniform resource locator (URL) for a web site or other resource associated with the location. + + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Location Universally Unique Identifier + A unique ID for the location, for reference. + + + Location Universally Unique Identifier: A unique ID for the location, for reference. + + + + + + + + + Party + An organization or person, which may be associated with roles or other concepts within the current or linked OSCAL document. + + + Party: An organization or person, which may be associated with roles or other concepts within the current or linked OSCAL document. + + + + + + + Party Name + The full name of the party. This is typically the legal name associated with the party. + + + Party Name: The full name of the party. This is typically the legal name associated with the party. + + + + + + + + + Party Short Name + A short common name, abbreviation, or acronym for the party. + + + Party Short Name: A short common name, abbreviation, or acronym for the party. + + + + + + + + + Party External Identifier + An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID). + + + Party External Identifier: An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID). + + + + + + + External Identifier Schema + Indicates the type of external identifier. + + + External Identifier Schema: Indicates the type of external identifier. + + + + + + + + + + + + + + + + + + + Organizational Affiliation + A reference to another party by UUID, typically an organization, that this subject is associated with. + + + Organizational Affiliation: A reference to another party by UUID, typically an organization, that this subject is associated with. + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Party Universally Unique Identifier + A unique identifier for the party. + + + Party Universally Unique Identifier: A unique identifier for the party. + + + + + + Party Type + A category describing the kind of party the object describes. + + + Party Type: A category describing the kind of party the object describes. + + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + + Location Universally Unique Identifier Reference + Reference to a location by UUID. + + + Location Universally Unique Identifier Reference: Reference to a location by UUID. + + + + + + + Party Universally Unique Identifier Reference + Reference to a party by UUID. + + + Party Universally Unique Identifier Reference: Reference to a party by UUID. + + + + + + + Role Identifier Reference + Reference to a role by UUID. + + + Role Identifier Reference: Reference to a role by UUID. + + + + + + + Back matter + A collection of resources that may be referenced from within the OSCAL document instance. + + + Back matter: A collection of resources that may be referenced from within the OSCAL document instance. + + + + + + + Resource + A resource associated with content in the containing document instance. A resource may be directly included in the document using base64 encoding or may point to one or more equivalent internet resources. + + + Resource: A resource associated with content in the containing document instance. A resource may be directly included in the document using base64 encoding or may point to one or more equivalent internet resources. + + + + + + + Resource Title + An optional name given to the resource, which may be used by a tool for display and navigation. + + + Resource Title: An optional name given to the resource, which may be used by a tool for display and navigation. + + + + + + + + + + + Resource Description + An optional short summary of the resource used to indicate the purpose of the resource. + + + Resource Description: An optional short summary of the resource used to indicate the purpose of the resource. + + + + + + + + + + + + + Citation + An optional citation consisting of end note text using structured markup. + + + Citation: An optional citation consisting of end note text using structured markup. + + + + + + + Citation Text + A line of citation text. + + + Citation Text: A line of citation text. + + + + + + + + + + + + + + + + Resource link + A URL-based pointer to an external resource with an optional hash for verification and change detection. + + + Resource link: A URL-based pointer to an external resource with an optional hash for verification and change detection. + + + + + + + + Hypertext Reference + A resolvable URL pointing to the referenced resource. + + + Hypertext Reference: A resolvable URL pointing to the referenced resource. + + + + + + Media Type + A label that indicates the nature of a resource, as a data serialization or format. + + + Media Type: A label that indicates the nature of a resource, as a data serialization or format. + + + + + + + + + Base64 + A resource encoded using the Base64 alphabet defined by RFC 2045. + + + Base64: A resource encoded using the Base64 alphabet defined by RFC 2045. + + + + + + + File Name + Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded. + + + File Name: Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded. + + + + + + Media Type + A label that indicates the nature of a resource, as a data serialization or format. + + + Media Type: A label that indicates the nature of a resource, as a data serialization or format. + + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Resource Universally Unique Identifier + A unique identifier for a resource. + + + Resource Universally Unique Identifier: A unique identifier for a resource. + + + + + + + + + + Property + An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. + + + Property: An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Property Name + A textual label, within a namespace, that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object. + + + Property Name: A textual label, within a namespace, that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object. + + + + + + Property Universally Unique Identifier + A unique identifier for a property. + + + Property Universally Unique Identifier: A unique identifier for a property. + + + + + + Property Namespace + A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name. + + + Property Namespace: A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name. + + + + + + Property Value + Indicates the value of the attribute, characteristic, or quality. + + + Property Value: Indicates the value of the attribute, characteristic, or quality. + + + + + + Property Class + A textual label that provides a sub-type or characterization of the property's name. + + + Property Class: A textual label that provides a sub-type or characterization of the property's name. + + + + + + Property Group + An identifier for relating distinct sets of properties. + + + Property Group: An identifier for relating distinct sets of properties. + + + + + + + Link + A reference to a local or remote resource, that has a specific relation to the containing object. + + + Link: A reference to a local or remote resource, that has a specific relation to the containing object. + + + + + + + Link Text + A textual label to associate with the link, which may be used for presentation in a tool. + + + Link Text: A textual label to associate with the link, which may be used for presentation in a tool. + + + + + + + + + + + Hypertext Reference + A resolvable URL reference to a resource. + + + Hypertext Reference: A resolvable URL reference to a resource. + + + + + + Link Relation Type + Describes the type of relationship provided by the link's hypertext reference. This can be an indicator of the link's purpose. + + + Link Relation Type: Describes the type of relationship provided by the link's hypertext reference. This can be an indicator of the link's purpose. + + + + + + Media Type + A label that indicates the nature of a resource, as a data serialization or format. + + + Media Type: A label that indicates the nature of a resource, as a data serialization or format. + + + + + + Resource Fragment + In case where the href points to a back-matter/resource, this value will indicate the URI fragment to append to any rlink associated with the resource. This value MUST be URI encoded. + + + Resource Fragment: In case where the href points to a back-matter/resource, this value will indicate the URI fragment to append to any rlink associated with the resource. This value MUST be URI encoded. + + + + + + + Responsible Party + A reference to a set of persons and/or organizations that have responsibility for performing the referenced role in the context of the containing object. + + + Responsible Party: A reference to a set of persons and/or organizations that have responsibility for performing the referenced role in the context of the containing object. + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Responsible Role + A reference to a role performed by a party. + + + Responsible Role: A reference to a role performed by a party. + + + + + + + Action + An action applied by a role within a given party to the content. + + + Action: An action applied by a role within a given party to the content. + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Action Universally Unique Identifier + A unique identifier that can be used to reference this defined action elsewhere in an OSCAL document. A UUID should be consistently used for a given location across revisions of the document. + + + Action Universally Unique Identifier: A unique identifier that can be used to reference this defined action elsewhere in an OSCAL document. A UUID should be consistently used for a given location across revisions of the document. + + + + + + Action Occurrence Date + The date and time when the action occurred. + + + Action Occurrence Date: The date and time when the action occurred. + + + + + + Action Type + The type of action documented by the assembly, such as an approval. + + + Action Type: The type of action documented by the assembly, such as an approval. + + + + + + Action Type System + Specifies the action type system used. + + + Action Type System: Specifies the action type system used. + + + + + + + Responsible Role + A reference to a role with responsibility for performing a function relative to the containing object, optionally associated with a set of persons and/or organizations that perform that role. + + + Responsible Role: A reference to a role with responsibility for performing a function relative to the containing object, optionally associated with a set of persons and/or organizations that perform that role. + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Responsible Role ID + A human-oriented identifier reference to a role performed. + + + Responsible Role ID: A human-oriented identifier reference to a role performed. + + + + + + + Hash + A representation of a cryptographic digest generated over a resource using a specified hash algorithm. + + + Hash: A representation of a cryptographic digest generated over a resource using a specified hash algorithm. + + + + + + + Hash algorithm + The digest method by which a hash is derived. + + + Hash algorithm: The digest method by which a hash is derived. + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + Publication Timestamp + The date and time the document was last made available. + + + Publication Timestamp: The date and time the document was last made available. + + + + + + + Last Modified Timestamp + The date and time the document was last stored for later retrieval. + + + Last Modified Timestamp: The date and time the document was last stored for later retrieval. + + + + + + + Document Version + Used to distinguish a specific revision of an OSCAL document from other previous and future versions. + + + Document Version: Used to distinguish a specific revision of an OSCAL document from other previous and future versions. + + + + + + + OSCAL Version + The OSCAL model version the document was authored against and will conform to as valid. + + + OSCAL Version: The OSCAL model version the document was authored against and will conform to as valid. + + + + + + + Email Address + An email address as defined by RFC 5322 Section 3.4.1. + + + Email Address: An email address as defined by RFC 5322 Section 3.4.1. + + + + + + + Telephone Number + A telephone service number as defined by ITU-T E.164. + + + Telephone Number: A telephone service number as defined by ITU-T E.164. + + + + + + + type flag + Indicates the type of phone number. + + + type flag: Indicates the type of phone number. + + + + + + + + + Address + A postal address for the location. + + + Address: A postal address for the location. + + + + + + + + City + City, town or geographical region for the mailing address. + + + City: City, town or geographical region for the mailing address. + + + + + + + + + State + State, province or analogous geographical region for a mailing address. + + + State: State, province or analogous geographical region for a mailing address. + + + + + + + + + Postal Code + Postal or ZIP code for mailing address. + + + Postal Code: Postal or ZIP code for mailing address. + + + + + + + + + Country Code + The ISO 3166-1 alpha-2 country code for the mailing address. + + + Country Code: The ISO 3166-1 alpha-2 country code for the mailing address. + + + + + + + + + Address Type + Indicates the type of address. + + + Address Type: Indicates the type of address. + + + + + + + Address line + A single line of an address. + + + Address line: A single line of an address. + + + + + + + Document Identifier + A document identifier qualified by an identifier scheme. + + + Document Identifier: A document identifier qualified by an identifier scheme. + + + + + + + Document Identification Scheme + Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters. + + + Document Identification Scheme: Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters. + + + + + + + + + Mapping Entry + A relationship-based mapping between a source and target set consisting of members (i.e., controls, control statements) from the respective source and target. + + + Mapping Entry: A relationship-based mapping between a source and target set consisting of members (i.e., controls, control statements) from the respective source and target. + + + + + + + + + Mapping Entry Relationship + The relationship type for the mapping entry, which describes the relationship between the effective requirements of the specified source and target sets. + + + Mapping Entry Relationship: The relationship type for the mapping entry, which describes the relationship between the effective requirements of the specified source and target sets. + + + + + + + Relationship Value Namespace + A namespace qualifying the relationship's value. This allows different organizations to associate distinct semantics for relationships with the same name. + + + Relationship Value Namespace: A namespace qualifying the relationship's value. This allows different organizations to associate distinct semantics for relationships with the same name. + + + + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Mapping Entry Identifier + The unique identifier for the mapping entry. + + + Mapping Entry Identifier: The unique identifier for the mapping entry. + + + + + + + Mapping Entry Item (source or target) + Identifies a specific edge within a source or target that is the subject of a mapping. + + + Mapping Entry Item (source or target): Identifies a specific edge within a source or target that is the subject of a mapping. + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Subject Type + The semantic type of the subject. + + + Subject Type: The semantic type of the subject. + + + + + + Subject Identifier Reference + A reference to an identified subject that is of the specified type. + + + Subject Identifier Reference: A reference to an identified subject that is of the specified type. + + + + + + + Mapped Resource Reference + A reference to a resource that is either the source or target of a mapping. + + + Mapped Resource Reference: A reference to a resource that is either the source or target of a mapping. + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Resource Type + The semantic type of the resource. + + + Resource Type: The semantic type of the resource. + + + + + + Catalog or Profile Reference + A resolvable URL reference to the base catalog or profile that this profile is tailoring. + + + Catalog or Profile Reference: A resolvable URL reference to the base catalog or profile that this profile is tailoring. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The content model is the same as inlineMarkupType, but line endings need + to be preserved, since this is preformatted. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An insert can be used to identify a placeholder for dynamically inserting text related to a specific object, which is referenced by the object's identifier using an id-ref. This insert mechanism allows the selection of which text value from the object to dynamically include based on the application's display requirements. + + + + The type of object to include from (e.g., parameter, control, component, role, etc.) + + + + + The identity of the object to insert a value for. The identity will be selected from the index of objects of the specified type. The specific value to include is based on the application's display requirements, which will likely use a specific data element associated with the type (e.g., title, identifier, value, etc.) that is appropriate for the application. + + + + + + + + A trimmed string, at least one character with no + leading or trailing whitespace. + + + + + + + + + + + + The xs:dateTime with a required timezone. + + + + + + + + An email address + + + + + Need a better pattern. + + + + + + + A string, but not empty and not whitespace-only + (whitespace is U+9, U+10, U+32 or [ \n\t]+ ) + + + + The OSCAL 'string' datatype restricts the XSD type by prohibiting leading + and trailing whitespace, and something (not only whitespace) is required. + + + + + A trimmed string, at least one character with no + leading or trailing whitespace. + + + + + + + + A string token following the rules of XML "no + colon" names, with no whitespace. (XML names are single alphabetic + characters followed by alphanumeric characters, periods, underscores or dashes.) + + + + + + + + A single token may not contain whitespace. + + + + + + + + A URI + + + + + Requires a scheme with colon per RFC 3986. + + + + + + + A URI reference, such as a relative URL + + + + + + A trimmed URI, at least one character with no + leading or trailing whitespace. + + + + + + + A type 4 ('random' or 'pseudorandom') or type 5 UUID per RFC + 4122. + + + + + A sequence of 8-4-4-4-12 hex digits, with extra + constraints in the 13th and 17-18th places for version 4 and 5 + + + + + +
    diff --git a/xml/schema/oscal_poam_schema.xsd b/xml/schema/oscal_poam_schema.xsd index f774b7a8a..c31deaf91 100644 --- a/xml/schema/oscal_poam_schema.xsd +++ b/xml/schema/oscal_poam_schema.xsd @@ -1,11 +1,11 @@ - + OSCAL Plan of Action and Milestones (POA&M) Model @@ -19,7 +19,7 @@ + type="oscal-poam-plan-of-action-and-milestones-ASSEMBLY"/> @@ -31,43 +31,47 @@ + type="oscal-metadata-metadata-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-assessment-common-import-ssp-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> + type="oscal-implementation-common-system-id-FIELD" + minOccurs="0" + maxOccurs="1"/> + type="oscal-poam-local-definitions-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> + type="oscal-assessment-common-observation-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-risk-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + + type="oscal-poam-poam-item-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> + type="oscal-metadata-back-matter-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> - + POA&M Universally Unique Identifier - A machine-oriented, globally unique identifier with instancescope that can be used to reference this POA&M instance in this OSCAL instance. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with instancescope that can be used to reference this POA&M instance in this OSCAL instance. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. POA&M Universally Unique Identifier: A machine-oriented, globally unique identifier with instancescope that can be used to reference this POA&M instance in this OSCAL instance. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -85,26 +89,28 @@ + type="oscal-implementation-common-system-component-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-implementation-common-inventory-item-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + @@ -130,7 +136,7 @@ POA&M Item Title: The title or name for this POA&M item . - + @@ -145,18 +151,18 @@ POA&M Item Description: A human-readable description of POA&M item. - +
    + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -169,12 +175,34 @@ + type="oscal-assessment-common-origin-actor-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> + + + + + Related Finding + Relates the poam-item to referenced finding(s). + + + Related Finding: Relates the poam-item to referenced finding(s). + + + + + Finding Universally Unique Identifier Reference + A machine-oriented identifier reference to a finding defined in the list of findings. + + + Finding Universally Unique Identifier Reference: A machine-oriented identifier reference to a finding defined in the list of findings. + + + + @@ -185,11 +213,11 @@ Related Observation: Relates the poam-item to a set of referenced observations that were used to determine the finding. - + Observation Universally Unique Identifier Reference - A machine-oriented identifier reference to an observation defined in the list of observations. + A machine-oriented identifier reference to an observation defined in the list of observations. Observation Universally Unique Identifier Reference: A machine-oriented identifier reference to an observation defined in the list of observations. @@ -207,11 +235,11 @@ Associated Risk: Relates the finding to a set of referenced risks that were used to determine the finding. - + Risk Universally Unique Identifier Reference - A machine-oriented identifier reference to a risk defined in the list of risks. + A machine-oriented identifier reference to a risk defined in the list of risks. Risk Universally Unique Identifier Reference: A machine-oriented identifier reference to a risk defined in the list of risks. @@ -223,23 +251,21 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + POA&M Item Universally Unique Identifier - A machine-oriented, globally unique identifier with instance scope that can be used to reference this POA&M item entry in this OSCAL instance. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with instance scope that can be used to reference this POA&M item entry in this OSCAL instance. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. POA&M Item Universally Unique Identifier: A machine-oriented, globally unique identifier with instance scope that can be used to reference this POA&M item entry in this OSCAL instance. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -249,11 +275,11 @@ - Publication metadata - Provides information about the publication and availability of the containing document. + Document Metadata + Provides information about the containing document, and defines concepts that are shared across the document. - Publication metadata: Provides information about the publication and availability of the containing document. + Document Metadata: Provides information about the containing document, and defines concepts that are shared across the document. @@ -267,499 +293,493 @@ Document Title: A name given to the document, which may be used by a tool for display and navigation. - + + type="oscal-metadata-published-FIELD" + minOccurs="0" + maxOccurs="1"/> + type="oscal-metadata-last-modified-FIELD" + minOccurs="1" + maxOccurs="1"/> + type="oscal-metadata-version-FIELD" + minOccurs="1" + maxOccurs="1"/> + type="oscal-metadata-oscal-version-FIELD" + minOccurs="1" + maxOccurs="1"/> - - - - - - - - - - - - - - - Remarks - Additional commentary on the containing object. + revisions + A group of 'revision' elements - Remarks: Additional commentary on the containing object. + revisions: A group of 'revision' elements - - - - - - - - - Revision History Entry - An entry in a sequential list of revisions to the containing document in reverse chronological order (i.e., most recent previous revision first). - - - Revision History Entry: An entry in a sequential list of revisions to the containing document in reverse chronological order (i.e., most recent previous revision first). - - - - - - - Document Title - A name given to the document revision, which may be used by a tool for display and navigation. - - - Document Title: A name given to the document revision, which may be used by a tool for display and navigation. - - - - + + + + + + Revision History Entry + An entry in a sequential list of revisions to the containing document, expected to be in reverse chronological order (i.e. latest first). + + + Revision History Entry: An entry in a sequential list of revisions to the containing document, expected to be in reverse chronological order (i.e. latest first). + + + + + + + Document Title + A name given to the document revision, which may be used by a tool for display and navigation. + + + Document Title: A name given to the document revision, which may be used by a tool for display and navigation. + + + + + + + + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + - - - - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - - - - Remarks - Additional commentary on the containing object. - - - Remarks: Additional commentary on the containing object. - + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + - - - - - - - - - Location - A location, with associated metadata that can be referenced. - - - Location: A location, with associated metadata that can be referenced. - - - - - Location Title - A name given to the location, which may be used by a tool for display and navigation. + Role + Defines a function, which might be assigned to a party in a specific situation. - Location Title: A name given to the location, which may be used by a tool for display and navigation. + Role: Defines a function, which might be assigned to a party in a specific situation. - - - + + + + + + Role Title + A name given to the role, which may be used by a tool for display and navigation. + + + Role Title: A name given to the role, which may be used by a tool for display and navigation. + + + + + + + + + + + Role Short Name + A short common name, abbreviation, or acronym for the role. + + + Role Short Name: A short common name, abbreviation, or acronym for the role. + + + + + + + + + Role Description + A summary of the role's purpose and associated responsibilities. + + + Role Description: A summary of the role's purpose and associated responsibilities. + + + + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Role Identifier + A unique identifier for the role. + + + Role Identifier: A unique identifier for the role. + + - - - - - - - - Location URL - The uniform resource locator (URL) for a web site or Internet presence associated with the location. - - - Location URL: The uniform resource locator (URL) for a web site or Internet presence associated with the location. - - - - - - - - - - Remarks - Additional commentary on the containing object. - - - Remarks: Additional commentary on the containing object. - + - - - - - - - - Location Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined location elsewhere in this or other OSCAL instances. The locally defined UUID of the location can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - Location Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined location elsewhere in this or other OSCAL instances. The locally defined UUID of the location can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - - - - - Location Reference - A machine-oriented identifier reference to a location defined in the metadata section of this or another OSCAL instance. The UUID of the location in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). - - - Location Reference: A machine-oriented identifier reference to a location defined in the metadata section of this or another OSCAL instance. The UUID of the location in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). - - - - - - - Party (organization or person) - A responsible entity which is either a person or an organization. - - - Party (organization or person): A responsible entity which is either a person or an organization. - - - - - Party Name - The full name of the party. This is typically the legal name associated with the party. + Location + A physical point of presence, which may be associated with people, organizations, or other concepts within the current or linked OSCAL document. - Party Name: The full name of the party. This is typically the legal name associated with the party. + Location: A physical point of presence, which may be associated with people, organizations, or other concepts within the current or linked OSCAL document. - - - - - - - - Party Short Name - A short common name, abbreviation, or acronym for the party. - - - Party Short Name: A short common name, abbreviation, or acronym for the party. - - - + + + + + + Location Title + A name given to the location, which may be used by a tool for display and navigation. + + + Location Title: A name given to the location, which may be used by a tool for display and navigation. + + + + + + + + + + + + + + Location URL + The uniform resource locator (URL) for a web site or other resource associated with the location. + + + Location URL: The uniform resource locator (URL) for a web site or other resource associated with the location. + + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Location Universally Unique Identifier + A unique ID for the location, for reference. + + + Location Universally Unique Identifier: A unique ID for the location, for reference. + + + - + - Party External Identifier - An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID) + Party + An organization or person, which may be associated with roles or other concepts within the current or linked OSCAL document. - Party External Identifier: An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID) + Party: An organization or person, which may be associated with roles or other concepts within the current or linked OSCAL document. - - - + + + - External Identifier Schema - Indicates the type of external identifier. + Party Name + The full name of the party. This is typically the legal name associated with the party. - External Identifier Schema: Indicates the type of external identifier. + Party Name: The full name of the party. This is typically the legal name associated with the party. - - - + + + + + + + + Party Short Name + A short common name, abbreviation, or acronym for the party. + + + Party Short Name: A short common name, abbreviation, or acronym for the party. + + + + + + + + + Party External Identifier + An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID). + + + Party External Identifier: An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID). + + + + + + + External Identifier Schema + Indicates the type of external identifier. + + + External Identifier Schema: Indicates the type of external identifier. + + + + + + + + + + + + + + + + + + + Organizational Affiliation + A reference to another party by UUID, typically an organization, that this subject is associated with. + + + Organizational Affiliation: A reference to another party by UUID, typically an organization, that this subject is associated with. + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Party Universally Unique Identifier + A unique identifier for the party. + + + Party Universally Unique Identifier: A unique identifier for the party. + + + + + + Party Type + A category describing the kind of party the object describes. + + + Party Type: A category describing the kind of party the object describes. + + - - - - - - - - - - - - - Organizational Affiliation - A machine-oriented identifier reference to another party (person or organization) that this subject is associated with. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). - - - Organizational Affiliation: A machine-oriented identifier reference to another party (person or organization) that this subject is associated with. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). - - - - + + Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - - - - Party Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined party elsewhere in this or other OSCAL instances. The locally defined UUID of the party can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - Party Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined party elsewhere in this or other OSCAL instances. The locally defined UUID of the party can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - - - - Party Type - A category describing the kind of party the object describes. - - - Party Type: A category describing the kind of party the object describes. - - - - - - Party Reference - A machine-oriented identifier reference to another party defined in metadata. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). - - - Party Reference: A machine-oriented identifier reference to another party defined in metadata. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). - - - - + - Role - Defines a function assumed or expected to be assumed by a party in a specific situation. + Location Universally Unique Identifier Reference + Reference to a location by UUID. - Role: Defines a function assumed or expected to be assumed by a party in a specific situation. + Location Universally Unique Identifier Reference: Reference to a location by UUID. - - - - - - Role Title - A name given to the role, which may be used by a tool for display and navigation. - - - Role Title: A name given to the role, which may be used by a tool for display and navigation. - - - - - - - - - - - Role Short Name - A short common name, abbreviation, or acronym for the role. - - - Role Short Name: A short common name, abbreviation, or acronym for the role. - - - - - - - - - Role Description - A summary of the role's purpose and associated responsibilities. - - - Role Description: A summary of the role's purpose and associated responsibilities. - - - - - - - - - - - - Remarks - Additional commentary on the containing object. - - - Remarks: Additional commentary on the containing object. - - - - - - - - - - Role Identifier - A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined role elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, the locally defined ID of the Role from the imported OSCAL instance must be referenced in the context of the containing resource (e.g., import, import-component-definition, import-profile, import-ssp or import-ap). This ID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - Role Identifier: A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined role elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, the locally defined ID of the Role from the imported OSCAL instance must be referenced in the context of the containing resource (e.g., import, import-component-definition, import-profile, import-ssp or import-ap). This ID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - + + + + + + Party Universally Unique Identifier Reference + Reference to a party by UUID. + + + Party Universally Unique Identifier Reference: Reference to a party by UUID. + + + Role Identifier Reference - A human-oriented identifier reference to roles served by the user. + Reference to a role by UUID. - Role Identifier Reference: A human-oriented identifier reference to roles served by the user. + Role Identifier Reference: Reference to a role by UUID. - + Back matter - A collection of resources, which may be included directly or by reference. + A collection of resources that may be referenced from within the OSCAL document instance. - Back matter: A collection of resources, which may be included directly or by reference. + Back matter: A collection of resources that may be referenced from within the OSCAL document instance. @@ -767,10 +787,10 @@ Resource - A resource associated with content in the containing document. A resource may be directly included in the document base64 encoded or may point to one or more equivalent internet resources. + A resource associated with content in the containing document instance. A resource may be directly included in the document using base64 encoding or may point to one or more equivalent internet resources. - Resource: A resource associated with content in the containing document. A resource may be directly included in the document base64 encoded or may point to one or more equivalent internet resources. + Resource: A resource associated with content in the containing document instance. A resource may be directly included in the document using base64 encoding or may point to one or more equivalent internet resources. @@ -778,13 +798,13 @@ Resource Title - A name given to the resource, which may be used by a tool for display and navigation. + An optional name given to the resource, which may be used by a tool for display and navigation. - Resource Title: A name given to the resource, which may be used by a tool for display and navigation. + Resource Title: An optional name given to the resource, which may be used by a tool for display and navigation. - + @@ -793,33 +813,33 @@ Resource Description - A short summary of the resource used to indicate the purpose of the resource. + An optional short summary of the resource used to indicate the purpose of the resource. - Resource Description: A short summary of the resource used to indicate the purpose of the resource. + Resource Description: An optional short summary of the resource used to indicate the purpose of the resource. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-document-id-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> Citation - A citation consisting of end note text and optional structured bibliographic data. + An optional citation consisting of end note text using structured markup. - Citation: A citation consisting of end note text and optional structured bibliographic data. + Citation: An optional citation consisting of end note text using structured markup. @@ -833,18 +853,18 @@ Citation Text: A line of citation text. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -853,35 +873,35 @@ Resource link - A pointer to an external resource with an optional hash for verification and change detection. + A URL-based pointer to an external resource with an optional hash for verification and change detection. - Resource link: A pointer to an external resource with an optional hash for verification and change detection. + Resource link: A URL-based pointer to an external resource with an optional hash for verification and change detection. + type="oscal-metadata-hash-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> - + Hypertext Reference - A resolvable URI reference to a resource. + A resolvable URL pointing to the referenced resource. - Hypertext Reference: A resolvable URI reference to a resource. + Hypertext Reference: A resolvable URL pointing to the referenced resource. - + Media Type - Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + A label that indicates the nature of a resource, as a data serialization or format. - Media Type: Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + Media Type: A label that indicates the nature of a resource, as a data serialization or format. @@ -891,31 +911,31 @@ Base64 - The Base64 alphabet in RFC 2045 - aligned with XSD. + A resource encoded using the Base64 alphabet defined by RFC 2045. - Base64: The Base64 alphabet in RFC 2045 - aligned with XSD. + Base64: A resource encoded using the Base64 alphabet defined by RFC 2045. - - + + File Name - Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded. + Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded. File Name: Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded. - + Media Type - Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + A label that indicates the nature of a resource, as a data serialization or format. - Media Type: Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + Media Type: A label that indicates the nature of a resource, as a data serialization or format. @@ -926,26 +946,24 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Resource Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined resource elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A unique identifier for a resource. - Resource Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined resource elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Resource Universally Unique Identifier: A unique identifier for a resource. @@ -956,49 +974,47 @@ Property - An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values. + An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. - Property: An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values. + Property: An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Property Name - A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object. + A textual label, within a namespace, that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object. - Property Name: A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object. + Property Name: A textual label, within a namespace, that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object. - + Property Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A unique identifier for a property. - Property Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Property Universally Unique Identifier: A unique identifier for a property. - + Property Namespace @@ -1008,7 +1024,7 @@ Property Namespace: A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name. - + Property Value @@ -1018,14 +1034,24 @@ Property Value: Indicates the value of the attribute, characteristic, or quality. - + Property Class - A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns. + A textual label that provides a sub-type or characterization of the property's name. - Property Class: A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns. + Property Class: A textual label that provides a sub-type or characterization of the property's name. + + + + + + Property Group + An identifier for relating distinct sets of properties. + + + Property Group: An identifier for relating distinct sets of properties. @@ -1033,10 +1059,10 @@ Link - A reference to a local or remote resource + A reference to a local or remote resource, that has a specific relation to the containing object. - Link: A reference to a local or remote resource + Link: A reference to a local or remote resource, that has a specific relation to the containing object. @@ -1050,12 +1076,12 @@ Link Text: A textual label to associate with the link, which may be used for presentation in a tool. - + - + Hypertext Reference @@ -1065,24 +1091,34 @@ Hypertext Reference: A resolvable URL reference to a resource. - + - Relation - Describes the type of relationship provided by the link. This can be an indicator of the link's purpose. + Link Relation Type + Describes the type of relationship provided by the link's hypertext reference. This can be an indicator of the link's purpose. - Relation: Describes the type of relationship provided by the link. This can be an indicator of the link's purpose. + Link Relation Type: Describes the type of relationship provided by the link's hypertext reference. This can be an indicator of the link's purpose. - + Media Type - Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + A label that indicates the nature of a resource, as a data serialization or format. + + + Media Type: A label that indicates the nature of a resource, as a data serialization or format. + + + + + + Resource Fragment + In case where the href points to a back-matter/resource, this value will indicate the URI fragment to append to any rlink associated with the resource. This value MUST be URI encoded. - Media Type: Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + Resource Fragment: In case where the href points to a back-matter/resource, this value will indicate the URI fragment to append to any rlink associated with the resource. This value MUST be URI encoded. @@ -1090,48 +1126,123 @@ Responsible Party - A reference to a set of organizations or persons that have responsibility for performing a referenced role in the context of the containing object. + A reference to a set of persons and/or organizations that have responsibility for performing the referenced role in the context of the containing object. - Responsible Party: A reference to a set of organizations or persons that have responsibility for performing a referenced role in the context of the containing object. + Responsible Party: A reference to a set of persons and/or organizations that have responsibility for performing the referenced role in the context of the containing object. + type="oscal-metadata-party-uuid-FIELD" + minOccurs="1" + maxOccurs="unbounded"/> + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Responsible Role - A human-oriented identifier reference to roles served by the user. + A reference to a role performed by a party. + + + Responsible Role: A reference to a role performed by a party. + + + + + + + Action + An action applied by a role within a given party to the content. + + + Action: An action applied by a role within a given party to the content. + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Action Universally Unique Identifier + A unique identifier that can be used to reference this defined action elsewhere in an OSCAL document. A UUID should be consistently used for a given location across revisions of the document. + + + Action Universally Unique Identifier: A unique identifier that can be used to reference this defined action elsewhere in an OSCAL document. A UUID should be consistently used for a given location across revisions of the document. + + + + + + Action Occurrence Date + The date and time when the action occurred. + + + Action Occurrence Date: The date and time when the action occurred. + + + + + + Action Type + The type of action documented by the assembly, such as an approval. + + + Action Type: The type of action documented by the assembly, such as an approval. + + + + + + Action Type System + Specifies the action type system used. - Responsible Role: A human-oriented identifier reference to roles served by the user. + Action Type System: Specifies the action type system used. @@ -1139,48 +1250,46 @@ Responsible Role - A reference to one or more roles with responsibility for performing a function relative to the containing object. + A reference to a role with responsibility for performing a function relative to the containing object, optionally associated with a set of persons and/or organizations that perform that role. - Responsible Role: A reference to one or more roles with responsibility for performing a function relative to the containing object. + Responsible Role: A reference to a role with responsibility for performing a function relative to the containing object, optionally associated with a set of persons and/or organizations that perform that role. + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-party-uuid-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Responsible Role ID - A human-oriented identifier reference to roles responsible for the business function. + A human-oriented identifier reference to a role performed. - Responsible Role ID: A human-oriented identifier reference to roles responsible for the business function. + Responsible Role ID: A human-oriented identifier reference to a role performed. @@ -1194,15 +1303,15 @@ Hash: A representation of a cryptographic digest generated over a resource using a specified hash algorithm. - - + + Hash algorithm - Method by which a hash is derived + The digest method by which a hash is derived. - Hash algorithm: Method by which a hash is derived + Hash algorithm: The digest method by which a hash is derived. @@ -1212,82 +1321,82 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + Publication Timestamp - The date and time the document was published. The date-time value must be formatted according to RFC 3339 with full time and time zone included. + The date and time the document was last made available. - Publication Timestamp: The date and time the document was published. The date-time value must be formatted according to RFC 3339 with full time and time zone included. + Publication Timestamp: The date and time the document was last made available. - + Last Modified Timestamp - The date and time the document was last modified. The date-time value must be formatted according to RFC 3339 with full time and time zone included. + The date and time the document was last stored for later retrieval. - Last Modified Timestamp: The date and time the document was last modified. The date-time value must be formatted according to RFC 3339 with full time and time zone included. + Last Modified Timestamp: The date and time the document was last stored for later retrieval. - + Document Version - A string used to distinguish the current version of the document from other previous (and future) versions. + Used to distinguish a specific revision of an OSCAL document from other previous and future versions. - Document Version: A string used to distinguish the current version of the document from other previous (and future) versions. + Document Version: Used to distinguish a specific revision of an OSCAL document from other previous and future versions. - + - OSCAL version - The OSCAL model version the document was authored against. + OSCAL Version + The OSCAL model version the document was authored against and will conform to as valid. - OSCAL version: The OSCAL model version the document was authored against. + OSCAL Version: The OSCAL model version the document was authored against and will conform to as valid. - + Email Address - An email address as defined by RFC 5322 Section 3.4.1. + An email address as defined by RFC 5322 Section 3.4.1. - Email Address: An email address as defined by RFC 5322 Section 3.4.1. + Email Address: An email address as defined by RFC 5322 Section 3.4.1. - + Telephone Number - Contact number by telephone. + A telephone service number as defined by ITU-T E.164. - Telephone Number: Contact number by telephone. + Telephone Number: A telephone service number as defined by ITU-T E.164. - - + + type flag @@ -1311,9 +1420,9 @@ + type="oscal-metadata-addr-line-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> @@ -1324,7 +1433,7 @@ City: City, town or geographical region for the mailing address. - + @@ -1332,12 +1441,12 @@ State - State, province or analogous geographical region for mailing address + State, province or analogous geographical region for a mailing address. - State: State, province or analogous geographical region for mailing address + State: State, province or analogous geographical region for a mailing address. - + @@ -1345,12 +1454,12 @@ Postal Code - Postal or ZIP code for mailing address + Postal or ZIP code for mailing address. - Postal Code: Postal or ZIP code for mailing address + Postal Code: Postal or ZIP code for mailing address. - + @@ -1363,11 +1472,11 @@ Country Code: The ISO 3166-1 alpha-2 country code for the mailing address. - + - + Address Type @@ -1387,27 +1496,27 @@ Address line: A single line of an address. - + Document Identifier - A document identifier qualified by an identifier scheme. A document identifier provides a globally unique identifier with a cross-instance scope that is used for a group of documents that are to be treated as different versions of the same document. If this element does not appear, or if the value of this element is empty, the value of "document-id" is equal to the value of the "uuid" flag of the top-level root element. + A document identifier qualified by an identifier scheme. - Document Identifier: A document identifier qualified by an identifier scheme. A document identifier provides a globally unique identifier with a cross-instance scope that is used for a group of documents that are to be treated as different versions of the same document. If this element does not appear, or if the value of this element is empty, the value of "document-id" is equal to the value of the "uuid" flag of the top-level root element. + Document Identifier: A document identifier qualified by an identifier scheme. - - + + Document Identification Scheme - Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters. + Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters. - Document Identification Scheme: Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters. + Document Identification Scheme: Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters. @@ -1434,7 +1543,7 @@ Component Title: A human readable name for the system component. - + @@ -1449,7 +1558,7 @@ Component Description: A description of the component, including information about its function. - + @@ -1464,18 +1573,18 @@ Purpose: A summary of the technological or business purpose of the component. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -1491,19 +1600,17 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + State @@ -1516,40 +1623,38 @@ + type="oscal-metadata-responsible-role-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-implementation-common-protocol-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Component Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component elsewhere in this or other OSCAL instances. The locally defined UUID of the component can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component elsewhere in this or other OSCAL instances. The locally defined UUID of the component can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Component Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component elsewhere in this or other OSCAL instances. The locally defined UUID of the component can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - + Component Type @@ -1581,30 +1686,30 @@ Protocol Title: A human readable name for the protocol (e.g., Transport Layer Security). - + + type="oscal-implementation-common-port-range-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - + Service Protocol Information Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this service protocol information elsewhere in this or other OSCAL instances. The locally defined UUID of the service protocol can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this service protocol information elsewhere in this or other OSCAL instances. The locally defined UUID of the service protocol can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Service Protocol Information Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this service protocol information elsewhere in this or other OSCAL instances. The locally defined UUID of the service protocol can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - + Protocol Name - The common name of the protocol, which should be the appropriate "service name" from the IANA Service Name and Transport Protocol Port Number Registry. + The common name of the protocol, which should be the appropriate "service name" from the IANA Service Name and Transport Protocol Port Number Registry. Protocol Name: The common name of the protocol, which should be the appropriate "service name" from the IANA Service Name and Transport Protocol Port Number Registry. @@ -1620,7 +1725,7 @@ Port Range: Where applicable this is the IPv4 port range on which the service operates. - + Start @@ -1630,7 +1735,7 @@ Start: Indicates the starting port number in a port range - + End @@ -1640,7 +1745,7 @@ End: Indicates the ending port number in a port range - + Transport @@ -1665,19 +1770,17 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Implementation State @@ -1709,7 +1812,7 @@ User Title: A name given to the user, which may be used by a tool for display and navigation. - + @@ -1723,7 +1826,7 @@ User Short Name: A short common name, abbreviation, or acronym for the user. - + @@ -1737,47 +1840,45 @@ User Description: A summary of the user's purpose within the system. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-role-id-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-implementation-common-authorized-privilege-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + User Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this user class elsewhere in this or other OSCAL instances. The locally defined UUID of the system user can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this user class elsewhere in this or other OSCAL instances. The locally defined UUID of the system user can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. User Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this user class elsewhere in this or other OSCAL instances. The locally defined UUID of the system user can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -1805,7 +1906,7 @@ Privilege Title: A human readable name for the privilege. - + @@ -1820,14 +1921,14 @@ Privilege Description: A summary of the privilege's purpose within the system. - + + type="oscal-implementation-common-function-performed-FIELD" + minOccurs="1" + maxOccurs="unbounded"/> @@ -1839,7 +1940,7 @@ Functions Performed: Describes a function performed for a given authorized privilege by this user class. - + @@ -1862,22 +1963,22 @@ Inventory Item Description: A summary of the inventory item stating its purpose within the system. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-party-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -1890,38 +1991,36 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-party-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Component Universally Unique Identifier Reference - A machine-oriented identifier reference to a component that is implemented as part of an inventory item. + A machine-oriented identifier reference to a component that is implemented as part of an inventory item. Component Universally Unique Identifier Reference: A machine-oriented identifier reference to a component that is implemented as part of an inventory item. @@ -1933,23 +2032,21 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Inventory Item Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inventory item elsewhere in this or other OSCAL instances. The locally defined UUID of the inventory item can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inventory item elsewhere in this or other OSCAL instances. The locally defined UUID of the inventory item can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Inventory Item Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inventory item elsewhere in this or other OSCAL instances. The locally defined UUID of the inventory item can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -1976,30 +2073,28 @@ Parameter Value: A parameter value or set of values. - + Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Parameter ID - A human-oriented reference to a parameter within a control, who's catalog has been imported into the current implementation context. + A human-oriented reference to a parameter within a control, who's catalog has been imported into the current implementation context. Parameter ID: A human-oriented reference to a parameter within a control, who's catalog has been imported into the current implementation context. @@ -2010,14 +2105,14 @@ System Identification - A human-oriented, globally unique identifier with cross-instance scope that can be used to reference this system identification property elsewhere in this or other OSCAL instances. When referencing an externally defined system identification, the system identification must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). This string should be assigned per-subject, which means it should be consistently used to identify the same system across revisions of the document. + A human-oriented, globally unique identifier with cross-instance scope that can be used to reference this system identification property elsewhere in this or other OSCAL instances. When referencing an externally defined system identification, the system identification must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). This string should be assigned per-subject, which means it should be consistently used to identify the same system across revisions of the document. System Identification: A human-oriented, globally unique identifier with cross-instance scope that can be used to reference this system identification property elsewhere in this or other OSCAL instances. When referencing an externally defined system identification, the system identification must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). This string should be assigned per-subject, which means it should be consistently used to identify the same system across revisions of the document. - - + + Identification System Type @@ -2030,14 +2125,14 @@ - + Part - A partition of a control's definition or a child of another part. + An annotated, markup-based textual element of a control's or catalog group's definition, or a child of another part. - Part: A partition of a control's definition or a child of another part. + Part: An annotated, markup-based textual element of a control's or catalog group's definition, or a child of another part. @@ -2045,74 +2140,72 @@ Part Title - A name given to the part, which may be used by a tool for display and navigation. + An optional name given to the part, which may be used by a tool for display and navigation. - Part Title: A name given to the part, which may be used by a tool for display and navigation. + Part Title: An optional name given to the part, which may be used by a tool for display and navigation. - + - + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + + type="oscal-control-common-part-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - + Part Identifier - A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined part elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A unique identifier for the part. - Part Identifier: A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined part elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Part Identifier: A unique identifier for the part. - + Part Name - A textual label that uniquely identifies the part's semantic type. + A textual label that uniquely identifies the part's semantic type, which exists in a value space qualified by the ns. - Part Name: A textual label that uniquely identifies the part's semantic type. + Part Name: A textual label that uniquely identifies the part's semantic type, which exists in a value space qualified by the ns. - + Part Namespace - A namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name. + An optional namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name. - Part Namespace: A namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name. + Part Namespace: An optional namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name. - + Part Class - A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns. + An optional textual providing a sub-type or characterization of the part's name, or a category to which the part belongs. - Part Class: A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns. + Part Class: An optional textual providing a sub-type or characterization of the part's name, or a category to which the part belongs. - + Parameter @@ -2123,25 +2216,25 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Parameter Label - A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned. + A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned. Parameter Label: A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned. - + @@ -2150,89 +2243,88 @@ Parameter Usage Description - Describes the purpose and use of a parameter + Describes the purpose and use of a parameter. - Parameter Usage Description: Describes the purpose and use of a parameter + Parameter Usage Description: Describes the purpose and use of a parameter. - + + type="oscal-control-common-parameter-constraint-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-parameter-guideline-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-parameter-value-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-parameter-selection-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Parameter Identifier - A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined parameter elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A unique identifier for the parameter. - Parameter Identifier: A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined parameter elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Parameter Identifier: A unique identifier for the parameter. - + Parameter Class - A textual label that provides a characterization of the parameter. + A textual label that provides a characterization of the type, purpose, use or scope of the parameter. - Parameter Class: A textual label that provides a characterization of the parameter. + Parameter Class: A textual label that provides a characterization of the type, purpose, use or scope of the parameter. - + Depends on - **(deprecated)** Another parameter invoking this one. This construct has been deprecated and should not be used. + + (deprecated) Another parameter invoking this one. This construct has been deprecated and should not be used. - Depends on: **(deprecated)** Another parameter invoking this one. This construct has been deprecated and should not be used. + Depends on: (deprecated) Another parameter invoking this one. This construct has been deprecated and should not be used. - + Constraint - A formal or informal expression of a constraint or test + A formal or informal expression of a constraint or test. - Constraint: A formal or informal expression of a constraint or test + Constraint: A formal or informal expression of a constraint or test. @@ -2246,7 +2338,7 @@ Constraint Description: A textual summary of the constraint to be applied. - + @@ -2266,27 +2358,25 @@ Constraint test - A formal (executable) expression of a constraint + A formal (executable) expression of a constraint. - Constraint test: A formal (executable) expression of a constraint + Constraint test: A formal (executable) expression of a constraint. - + Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + @@ -2294,7 +2384,7 @@ - + Guideline @@ -2304,12 +2394,10 @@ Guideline: A prose statement that provides a recommendation for the use of a parameter. - + - + Parameter Value @@ -2318,16 +2406,16 @@ Parameter Value: A parameter value or set of values. - + - + Selection - Presenting a choice among alternatives + Presenting a choice among alternatives. - Selection: Presenting a choice among alternatives + Selection: Presenting a choice among alternatives. @@ -2335,18 +2423,18 @@ Choice - A value selection among several such options + A value selection among several such options. - Choice: A value selection among several such options + Choice: A value selection among several such options. - + - + Parameter Cardinality @@ -2357,7 +2445,7 @@ - + Include All @@ -2381,19 +2469,17 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + System Security Plan Reference @@ -2425,46 +2511,44 @@ Objective Description: A human-readable description of this control objective. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-part-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Control Identifier Reference - A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). + A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). - Control Identifier Reference: A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). + Control Identifier Reference: A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). @@ -2489,43 +2573,41 @@ Assessment Method Description: A human-readable description of this assessment method. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-assessment-part-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Assessment Method Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment method elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment method can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment method elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment method can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Assessment Method Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment method elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment method can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -2553,7 +2635,7 @@ Included Activity Title: The title for this included activity. - + @@ -2568,18 +2650,18 @@ Included Activity Description: A human-readable description of this included activity. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -2602,7 +2684,7 @@ Step Title: The title for this step. - + @@ -2617,47 +2699,45 @@ Step Description: A human-readable description of this step. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-reviewed-controls-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> + type="oscal-metadata-responsible-role-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Step Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this step elsewhere in this or other OSCAL instances. The locally defined UUID of the step (in a series of steps) can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this step elsewhere in this or other OSCAL instances. The locally defined UUID of the step (in a series of steps) can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Step Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this step elsewhere in this or other OSCAL instances. The locally defined UUID of the step (in a series of steps) can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -2666,34 +2746,32 @@ + type="oscal-assessment-common-reviewed-controls-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> + type="oscal-metadata-responsible-role-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Assessment Activity Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment activity elsewhere in this or other OSCAL instances. The locally defined UUID of the activity can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment activity elsewhere in this or other OSCAL instances. The locally defined UUID of the activity can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Assessment Activity Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment activity elsewhere in this or other OSCAL instances. The locally defined UUID of the activity can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -2721,7 +2799,7 @@ Task Title: The title for this task. - + @@ -2736,18 +2814,18 @@ Task Description: A human-readable description of this task. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -2770,7 +2848,7 @@ On Date Condition: The task is intended to occur on the specified date. - + On Date Condition @@ -2792,9 +2870,7 @@ On Date Range Condition: The task is intended to occur within the specified date range. - + Start Date Condition @@ -2804,7 +2880,7 @@ Start Date Condition: The task must occur on or after the specified date. - + End Date Condition @@ -2826,7 +2902,7 @@ Frequency Condition: The task is intended to occur at the specified frequency. - + Period @@ -2836,7 +2912,7 @@ Period: The task must occur after the specified period has elapsed. - + Time Unit @@ -2867,23 +2943,21 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Task Universally Unique Identifier Reference - A machine-oriented identifier reference to a unique task. + A machine-oriented identifier reference to a unique task. Task Universally Unique Identifier Reference: A machine-oriented identifier reference to a unique task. @@ -2892,9 +2966,9 @@ + type="oscal-assessment-common-task-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -2907,42 +2981,40 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-role-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-assessment-subject-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Activity Universally Unique Identifier Reference - A machine-oriented identifier reference to an activity defined in the list of activities. + A machine-oriented identifier reference to an activity defined in the list of activities. Activity Universally Unique Identifier Reference: A machine-oriented identifier reference to an activity defined in the list of activities. @@ -2951,40 +3023,38 @@ + type="oscal-assessment-common-assessment-subject-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-role-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Task Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this task elsewhere in this or other OSCAL instances. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this task elsewhere in this or other OSCAL instances. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Task Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this task elsewhere in this or other OSCAL instances. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - + Task Type @@ -3016,18 +3086,18 @@ Control Objective Description: A human-readable description of control objectives. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -3050,53 +3120,51 @@ Assessed Controls Description: A human-readable description of in-scope controls specified for assessment. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-include-all-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-assessment-common-select-control-by-id-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> + type="oscal-assessment-common-select-control-by-id-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + + minOccurs="0" + maxOccurs="unbounded"> @@ -3118,45 +3186,43 @@ Control Objectives Description: A human-readable description of this collection of control objectives. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-include-all-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-assessment-common-select-objective-by-id-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> + type="oscal-assessment-common-select-objective-by-id-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + @@ -3166,15 +3232,13 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + @@ -3199,18 +3263,18 @@ Include Specific Statements: Used to constrain the selection to only specificity identified statements. - + - + Control Identifier Reference - A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). + A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). - Control Identifier Reference: A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). + Control Identifier Reference: A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). @@ -3223,7 +3287,7 @@ Select Objective: Used to select a control objective for inclusion/exclusion based on the control objective's identifier. - + Objective ID @@ -3255,7 +3319,7 @@ Assessment Subject Placeholder Description: A human-readable description of intent of this assessment subject placeholder. - + @@ -3269,11 +3333,11 @@ Assessment Subject Source: Assessment subjects will be identified while conducting the referenced activity-instance. - + Task Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference (in this or other OSCAL instances) an assessment activity to be performed as part of the event. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference (in this or other OSCAL instances) an assessment activity to be performed as part of the event. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Task Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference (in this or other OSCAL instances) an assessment activity to be performed as part of the event. The locally defined UUID of the task can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -3282,34 +3346,32 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Assessment Subject Placeholder Universally Unique Identifier - A machine-oriented, globally unique identifier for a set of assessment subjects that will be identified by a task or an activity that is part of a task. The locally defined UUID of the assessment subject placeholder can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier for a set of assessment subjects that will be identified by a task or an activity that is part of a task. The locally defined UUID of the assessment subject placeholder can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Assessment Subject Placeholder Universally Unique Identifier: A machine-oriented, globally unique identifier for a set of assessment subjects that will be identified by a task or an activity that is part of a task. The locally defined UUID of the assessment subject placeholder can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -3337,49 +3399,47 @@ Include Subjects Description: A human-readable description of the collection of subjects being included in this assessment. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-include-all-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-assessment-common-select-subject-by-id-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> + type="oscal-assessment-common-select-subject-by-id-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Subject Type @@ -3401,44 +3461,42 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Subject Universally Unique Identifier Reference - A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID. + A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID. Subject Universally Unique Identifier Reference: A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID. - + Subject Universally Unique Identifier Reference Type - Used to indicate the type of object pointed to by the uuid-ref within a subject. + Used to indicate the type of object pointed to by the uuid-ref within a subject. Subject Universally Unique Identifier Reference Type: Used to indicate the type of object pointed to by the uuid-ref within a subject. @@ -3449,7 +3507,7 @@ Identifies the Subject - A human-oriented identifier reference to a resource. Use type to indicate whether the identified resource is a component, inventory item, location, user, or something else. + A human-oriented identifier reference to a resource. Use type to indicate whether the identified resource is a component, inventory item, location, user, or something else. Identifies the Subject: A human-oriented identifier reference to a resource. Use type to indicate whether the identified resource is a component, inventory item, location, user, or something else. @@ -3466,49 +3524,47 @@ Subject Reference Title: The title or name for the referenced subject. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Subject Universally Unique Identifier Reference - A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID. + A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID. Subject Universally Unique Identifier Reference: A machine-oriented identifier reference to a component, inventory-item, location, party, user, or resource using it's UUID. - + Subject Universally Unique Identifier Reference Type - Used to indicate the type of object pointed to by the uuid-ref within a subject. + Used to indicate the type of object pointed to by the uuid-ref within a subject. Subject Universally Unique Identifier Reference Type: Used to indicate the type of object pointed to by the uuid-ref within a subject. @@ -3526,9 +3582,9 @@ + type="oscal-implementation-common-system-component-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -3551,18 +3607,18 @@ Assessment Platform Title: The title or name for the assessment platform. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -3575,38 +3631,36 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-party-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Component Universally Unique Identifier Reference - A machine-oriented identifier reference to a component that is implemented as part of an inventory item. + A machine-oriented identifier reference to a component that is implemented as part of an inventory item. Component Universally Unique Identifier Reference: A machine-oriented identifier reference to a component that is implemented as part of an inventory item. @@ -3618,23 +3672,21 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Assessment Platform Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment platform elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment platform can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment platform elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment platform can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Assessment Platform Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this assessment platform elsewhere in this or other OSCAL instances. The locally defined UUID of the assessment platform can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -3665,7 +3717,7 @@ Objective Status Title: The title for this objective status. - + @@ -3680,18 +3732,18 @@ Objective Status Description: A human-readable description of the assessor's conclusions regarding the degree to which an objective is satisfied. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -3707,19 +3759,17 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Objective Status State @@ -3729,7 +3779,7 @@ Objective Status State: An indication as to whether the objective is satisfied or not. - + Objective Status Reason @@ -3742,26 +3792,24 @@ + type="oscal-implementation-common-implementation-status-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Finding Target Type @@ -3771,17 +3819,155 @@ Finding Target Type: Identifies the type of the target. - + Finding Target Identifier Reference - A machine-oriented identifier reference for a specific target qualified by the type. + A machine-oriented identifier reference for a specific target qualified by the type. Finding Target Identifier Reference: A machine-oriented identifier reference for a specific target qualified by the type. + + + + Finding + Describes an individual finding. + + + Finding: Describes an individual finding. + + + + + + + Finding Title + The title for this finding. + + + Finding Title: The title for this finding. + + + + + + + + + + + Finding Description + A human-readable description of this finding. + + + Finding Description: A human-readable description of this finding. + + + + + + + + + + + + + + + Implementation Statement UUID + A machine-oriented identifier reference to the implementation statement in the SSP to which this finding is related. + + + Implementation Statement UUID: A machine-oriented identifier reference to the implementation statement in the SSP to which this finding is related. + + + + + + + + + Related Observation + Relates the finding to a set of referenced observations that were used to determine the finding. + + + Related Observation: Relates the finding to a set of referenced observations that were used to determine the finding. + + + + + Observation Universally Unique Identifier Reference + A machine-oriented identifier reference to an observation defined in the list of observations. + + + Observation Universally Unique Identifier Reference: A machine-oriented identifier reference to an observation defined in the list of observations. + + + + + + + + + Associated Risk + Relates the finding to a set of referenced risks that were used to determine the finding. + + + Associated Risk: Relates the finding to a set of referenced risks that were used to determine the finding. + + + + + Risk Universally Unique Identifier Reference + A machine-oriented identifier reference to a risk defined in the list of risks. + + + Risk Universally Unique Identifier Reference: A machine-oriented identifier reference to a risk defined in the list of risks. + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Finding Universally Unique Identifier + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this finding in this or other OSCAL instances. The locally defined UUID of the finding can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + + + Finding Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this finding in this or other OSCAL instances. The locally defined UUID of the finding can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + + + @@ -3803,7 +3989,7 @@ Observation Title: The title for this observation. - + @@ -3818,18 +4004,18 @@ Observation Description: A human-readable description of this assessment observation. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -3840,7 +4026,7 @@ Observation Method: Identifies how the observation was made. - + @@ -3853,17 +4039,17 @@ Observation Type: Identifies the nature of the observation. More than one may be used to further qualify and enable filtering. - + + type="oscal-assessment-common-origin-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-subject-reference-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -3886,35 +4072,33 @@ Relevant Evidence Description: A human-readable description of this evidence. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Relevant Evidence Reference @@ -3936,7 +4120,7 @@ Collected Field: Date/time stamp identifying when the finding information was collected. - + @@ -3949,30 +4133,28 @@ Expires Field: Date/time identifying when the finding information is out-of-date and no longer valid. Typically used with continuous assessment scenarios. - + Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Observation Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this observation elsewhere in this or other OSCAL instances. The locally defined UUID of the observation can be used to reference the data item locally or globally (e.g., in an imorted OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this observation elsewhere in this or other OSCAL instances. The locally defined UUID of the observation can be used to reference the data item locally or globally (e.g., in an imorted OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Observation Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this observation elsewhere in this or other OSCAL instances. The locally defined UUID of the observation can be used to reference the data item locally or globally (e.g., in an imorted OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -3990,13 +4172,13 @@ + type="oscal-assessment-common-origin-actor-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> + type="oscal-assessment-common-related-task-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -4010,15 +4192,15 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - + Actor Type @@ -4028,17 +4210,17 @@ Actor Type: The kind of actor. - + Actor Universally Unique Identifier Reference - A machine-oriented identifier reference to the tool or person based on the associated type. + A machine-oriented identifier reference to the tool or person based on the associated type. Actor Universally Unique Identifier Reference: A machine-oriented identifier reference to the tool or person based on the associated type. - + Actor Role @@ -4060,21 +4242,21 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-party-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-assessment-subject-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -4087,17 +4269,15 @@ + type="oscal-assessment-common-assessment-subject-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> - + Assessment Subject Placeholder Universally Unique Identifier Reference - A machine-oriented identifier reference to a unique assessment subject placeholder defined by this task. + A machine-oriented identifier reference to a unique assessment subject placeholder defined by this task. Assessment Subject Placeholder Universally Unique Identifier Reference: A machine-oriented identifier reference to a unique assessment subject placeholder defined by this task. @@ -4109,23 +4289,21 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Task Universally Unique Identifier Reference - A machine-oriented identifier reference to a unique task. + A machine-oriented identifier reference to a unique task. Task Universally Unique Identifier Reference: A machine-oriented identifier reference to a unique task. @@ -4142,8 +4320,8 @@ Threat ID: A pointer, by ID, to an externally-defined threat. - - + + Threat Type Identification System @@ -4153,7 +4331,7 @@ Threat Type Identification System: Specifies the source of the threat information. - + Threat Information Resource Reference @@ -4187,7 +4365,7 @@ Risk Title: The title for this risk. - + @@ -4202,7 +4380,7 @@ Risk Description: A human-readable summary of the identified risk, to include a statement of how the risk impacts the system. - + @@ -4217,34 +4395,34 @@ Risk Statement: An summary of impact for how the risk affects the system. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-risk-status-FIELD" + minOccurs="1" + maxOccurs="1"/> + type="oscal-assessment-common-origin-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-threat-id-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-characterization-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -4267,38 +4445,38 @@ Mitigating Factor Description: A human-readable description of this mitigating factor. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-subject-reference-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - + Mitigating Factor Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this mitigating factor elsewhere in this or other OSCAL instances. The locally defined UUID of the mitigating factor can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this mitigating factor elsewhere in this or other OSCAL instances. The locally defined UUID of the mitigating factor can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Mitigating Factor Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this mitigating factor elsewhere in this or other OSCAL instances. The locally defined UUID of the mitigating factor can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - + Implementation UUID - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this implementation statement elsewhere in this or other OSCAL instancess. The locally defined UUID of the implementation statement can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this implementation statement elsewhere in this or other OSCAL instancess. The locally defined UUID of the implementation statement can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Implementation UUID: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this implementation statement elsewhere in this or other OSCAL instancess. The locally defined UUID of the implementation statement can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -4316,13 +4494,13 @@ Risk Resolution Deadline: The date/time by which the risk must be resolved. - + + type="oscal-assessment-common-response-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -4356,7 +4534,7 @@ Title: The title for this risk log entry. - + @@ -4371,7 +4549,7 @@ Risk Task Description: A human-readable description of what was done regarding the risk. - + @@ -4385,7 +4563,7 @@ Start: Identifies the start date and time of the event. - + @@ -4398,25 +4576,25 @@ End: Identifies the end date and time of the event. If the event is a point in time, the start and end will be the same date and time. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-logged-by-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-risk-status-FIELD" + minOccurs="0" + maxOccurs="1"/> @@ -4429,38 +4607,36 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-related-task-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Response Universally Unique Identifier Reference - A machine-oriented identifier reference to a unique risk response. + A machine-oriented identifier reference to a unique risk response. Response Universally Unique Identifier Reference: A machine-oriented identifier reference to a unique risk response. @@ -4472,23 +4648,21 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Risk Log Entry Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk log entry elsewhere in this or other OSCAL instances. The locally defined UUID of the risk log entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk log entry elsewhere in this or other OSCAL instances. The locally defined UUID of the risk log entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Risk Log Entry Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk log entry elsewhere in this or other OSCAL instances. The locally defined UUID of the risk log entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -4509,11 +4683,11 @@ Related Observation: Relates the finding to a set of referenced observations that were used to determine the finding. - + Observation Universally Unique Identifier Reference - A machine-oriented identifier reference to an observation defined in the list of observations. + A machine-oriented identifier reference to an observation defined in the list of observations. Observation Universally Unique Identifier Reference: A machine-oriented identifier reference to an observation defined in the list of observations. @@ -4522,11 +4696,11 @@ - + Risk Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk elsewhere in this or other OSCAL instances. The locally defined UUID of the risk can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk elsewhere in this or other OSCAL instances. The locally defined UUID of the risk can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Risk Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this risk elsewhere in this or other OSCAL instances. The locally defined UUID of the risk can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -4542,17 +4716,17 @@ Logged By: Used to indicate who created a log entry in what role. - + Party UUID Reference - A machine-oriented identifier reference to the party who is making the log entry. + A machine-oriented identifier reference to the party who is making the log entry. Party UUID Reference: A machine-oriented identifier reference to the party who is making the log entry. - + Actor Role @@ -4572,7 +4746,7 @@ Risk Status: Describes the status of the associated risk. - + @@ -4585,17 +4759,17 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-origin-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> @@ -4608,30 +4782,28 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Facet Name @@ -4641,7 +4813,7 @@ Facet Name: The name of the risk metric within the specified system. - + Naming System @@ -4651,7 +4823,7 @@ Naming System: Specifies the naming system under which this risk metric is organized, which allows for the same names to be used in different systems controlled by different parties. This avoids the potential of a name clash. - + Facet Value @@ -4686,7 +4858,7 @@ Response Title: The title for this response activity. - + @@ -4701,22 +4873,22 @@ Response Description: A human-readable description of this response plan. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-assessment-common-origin-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -4729,9 +4901,9 @@ + type="oscal-assessment-common-subject-reference-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -4743,7 +4915,7 @@ Title for Required Asset: The title for this required asset. - + @@ -4758,39 +4930,37 @@ Description of Required Asset: A human-readable description of this required asset. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Required Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this required asset elsewhere in this or other OSCAL instances. The locally defined UUID of the asset can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this required asset elsewhere in this or other OSCAL instances. The locally defined UUID of the asset can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Required Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this required asset elsewhere in this or other OSCAL instances. The locally defined UUID of the asset can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -4799,36 +4969,34 @@ + type="oscal-assessment-common-task-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Remediation Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this remediation elsewhere in this or other OSCAL instances. The locally defined UUID of the risk response can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this remediation elsewhere in this or other OSCAL instances. The locally defined UUID of the risk response can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Remediation Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this remediation elsewhere in this or other OSCAL instances. The locally defined UUID of the risk response can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - + Remediation Intent @@ -4860,37 +5028,35 @@ Part Title: A name given to the part, which may be used by a tool for display and navigation. - + - + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + + type="oscal-assessment-common-assessment-part-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - + Part Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this part elsewhere in this or other OSCAL instances. The locally defined UUID of the part can be used to reference the data item locally or globally (e.g., in an ported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this part elsewhere in this or other OSCAL instances. The locally defined UUID of the part can be used to reference the data item locally or globally (e.g., in an ported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Part Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this part elsewhere in this or other OSCAL instances. The locally defined UUID of the part can be used to reference the data item locally or globally (e.g., in an ported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - + Part Name @@ -4900,7 +5066,7 @@ Part Name: A textual label that uniquely identifies the part's semantic type. - + Part Namespace @@ -4910,66 +5076,44 @@ Part Namespace: A namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name. - + Part Class - A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns. + A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns. Part Class: A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns. - - - - - + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - The content model is the same as blockElementType, but line endings need - to be preserved, since this is preformatted. - - - - - + - The content model is the same as blockElementType, but line endings need + The content model is the same as inlineMarkupType, but line endings need to be preserved, since this is preformatted. @@ -4978,34 +5122,39 @@ + type="listItemType" + minOccurs="1" + maxOccurs="unbounded"/> + - - - + + + - + - - - - + + + + + - + - - + + + + + @@ -5014,49 +5163,49 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + - + + + + + + + + + + + + + + + + + + + + + + + - + + + - - An insert can be used to identify a placeholder for dynamically inserting text related to a specific object, which is referenced by the object's identifier using an id-ref. This insert mechanism allows the selection of which text value from the object to dynamically include based on the application's display requirements. + An insert can be used to identify a placeholder for dynamically inserting text related to a specific object, which is referenced by the object's identifier using an id-ref. This insert mechanism allows the selection of which text value from the object to dynamically include based on the application's display requirements. @@ -5065,103 +5214,38 @@ - The identity of the object to insert a value for. The identity will be selected from the index of objects of the specified type. The specific value to include is based on the application's display requirements, which will likely use a specific data element associated with the type (e.g., title, identifier, value, etc.) that is appropriate for the application. + The identity of the object to insert a value for. The identity will be selected from the index of objects of the specified type. The specific value to include is based on the application's display requirements, which will likely use a specific data element associated with the type (e.g., title, identifier, value, etc.) that is appropriate for the application. - - - - - A string, but not empty and not whitespace-only (whitespace is U+9, U+10, U+32 or [ \n\t]+ ) - - - - - - The xs:dateTime with a required timezone. - - - - - - An email address - - - - - - A URI - - - - - - A URI reference, such as a relative URL - - - - - - A Type 4 ('random' or 'pseudorandom' UUID per RFC 4122 - - - - - - A string token following the rules of XML "no colon" names, with no whitespace. (XML names are single alphabetic characters - followed by alphanumeric characters, periods, underscores or dashes.) - - - A trimmed string, at least one character with no - leading or trailing whitespace. + leading or trailing whitespace. - - - - - - - - The xs:date with a required timezone. - - - - - - + The xs:dateTime with a required timezone. - - + + An email address - + Need a better pattern. @@ -5169,32 +5253,14 @@ - - - A host name - - - - - - The ip-v4-address type specifies an IPv4 address in - dot decimal notation. - - - - - - - - The ip-v6-address type specifies an IPv6 address - represented in 8 hextets separated by colons. - This is based on the pattern provided here: - https://stackoverflow.com/questions/53497/regular-expression-that-matches-valid-ipv6-addresses - with some customizations. - - - - + + + + + A trimmed string, at least one character with no + leading or trailing whitespace. + + @@ -5202,7 +5268,7 @@ A trimmed string, at least one character with no - leading or trailing whitespace. + leading or trailing whitespace. @@ -5210,18 +5276,38 @@ A string, but not empty and not whitespace-only - (whitespace is U+9, U+10, U+32 or [ \n\t]+ ) + (whitespace is U+9, U+10, U+32 or [ \n\t]+ ) The OSCAL 'string' datatype restricts the XSD type by prohibiting leading - and trailing whitespace, and something (not only whitespace) is required. + and trailing whitespace, and something (not only whitespace) is required. A trimmed string, at least one character with no - leading or trailing whitespace. + leading or trailing whitespace. + + + + + + + + A string token following the rules of XML "no + colon" names, with no whitespace. (XML names are single alphabetic + characters followed by alphanumeric characters, periods, underscores or dashes.) + + + + + + + + A single token may not contain whitespace. + @@ -5241,13 +5327,13 @@ A URI reference, such as a relative URL - + A trimmed URI, at least one character with no - leading or trailing whitespace. + leading or trailing whitespace. @@ -5255,14 +5341,14 @@ A type 4 ('random' or 'pseudorandom') or type 5 UUID per RFC - 4122. + 4122. - + A sequence of 8-4-4-4-12 hex digits, with extra - constraints in the 13th and 17-18th places for version 4 and 5 - + constraints in the 13th and 17-18th places for version 4 and 5 + diff --git a/xml/schema/oscal_profile_schema.xsd b/xml/schema/oscal_profile_schema.xsd index e27d43d1e..307c55146 100644 --- a/xml/schema/oscal_profile_schema.xsd +++ b/xml/schema/oscal_profile_schema.xsd @@ -1,91 +1,93 @@ - + OSCAL Profile Model 1.0.4 oscal-profile -

    A profile designates a selection and configuration of controls from one or more catalogs, along with a series of operations over them. The topmost element in the OSCAL profile XML schema is profile.

    +

    In OSCAL a profile represents a set of selected controls from one or more control catalogs. Such a set of controls can be referenced by an OSCAL system security plan (SSP) to establish a control baseline. This effective set of controls is produced from an OSCAL profile using a deterministic, predictable process called profile resolution.

    +

    A profile references one or more OSCAL catalogs or profiles to import controls for control selection and tailoring. A profile can also describe how a resulting catalog is structured. When the profile is resolved, these selections and modifications are processed to produce a resulting OSCAL catalog.

    +

    OSCAL profiles have uses beyond establishing control baselines, such as documentation generation or as reference tables for validations.

    profile
    - + Profile - Each OSCAL profile is defined by a Profile element + Each OSCAL profile is defined by a profile element. - Profile: Each OSCAL profile is defined by a Profile element + Profile: Each OSCAL profile is defined by a profile element. + type="oscal-metadata-metadata-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-profile-import-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> + type="oscal-profile-merge-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> + type="oscal-profile-modify-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> + type="oscal-metadata-back-matter-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> - + Profile Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this profile elsewhere in this or other OSCAL instances. The locally defined UUID of the profile can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance).This identifier should be assigned per-subject, which means it should be consistently used to identify the same profile across revisions of the document. + Provides a globally unique means to identify a given profile instance. - Profile Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this profile elsewhere in this or other OSCAL instances. The locally defined UUID of the profile can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance).This identifier should be assigned per-subject, which means it should be consistently used to identify the same profile across revisions of the document. + Profile Universally Unique Identifier: Provides a globally unique means to identify a given profile instance. - Import resource - The import designates a catalog or profile to be included (referenced and potentially modified) by this profile. The import also identifies which controls to select using the include-all, include-controls, and exclude-controls directives. + Import Resource + Designates a referenced source catalog or profile that provides a source of control information for use in creating a new overlay or baseline. - Import resource: The import designates a catalog or profile to be included (referenced and potentially modified) by this profile. The import also identifies which controls to select using the include-all, include-controls, and exclude-controls directives. + Import Resource: Designates a referenced source catalog or profile that provides a source of control information for use in creating a new overlay or baseline. + type="oscal-control-common-include-all-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-profile-select-control-by-id-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> + type="oscal-profile-select-control-by-id-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - + Catalog or Profile Reference @@ -99,31 +101,31 @@ - Merge controls - A Merge element provides structuring directives that drive how controls are organized after resolution. + Merge Controls + Provides structuring directives that instruct how controls are organized after profile resolution. - Merge controls: A Merge element provides structuring directives that drive how controls are organized after resolution. + Merge Controls: Provides structuring directives that instruct how controls are organized after profile resolution. - Combination rule - A Combine element defines how to combine multiple (competing) versions of the same control. + Combination Rule + A Combine element defines how to resolve duplicate instances of the same control (e.g., controls with the same ID). - Combination rule: A Combine element defines how to combine multiple (competing) versions of the same control. + Combination Rule: A Combine element defines how to resolve duplicate instances of the same control (e.g., controls with the same ID). - + - Combination method - How clashing controls should be handled + Combination Method + Declare how clashing controls should be handled. - Combination method: How clashing controls should be handled + Combination Method: Declare how clashing controls should be handled. @@ -133,11 +135,11 @@ - Flat - Use the flat structuring method. + Flat Without Grouping + Directs that controls appear without any grouping structure. - Flat: Use the flat structuring method. + Flat Without Grouping: Directs that controls appear without any grouping structure. @@ -145,34 +147,34 @@ - As-Is Structuring Directive - An As-is element indicates that the controls should be structured in resolution as they are structured in their source catalogs. It does not contain any elements or attributes. + Group As-Is + Indicates that the controls selected should retain their original grouping as defined in the import source. - As-Is Structuring Directive: An As-is element indicates that the controls should be structured in resolution as they are structured in their source catalogs. It does not contain any elements or attributes. + Group As-Is: Indicates that the controls selected should retain their original grouping as defined in the import source. - + - + - Custom grouping - A Custom element frames a structure for embedding represented controls in resolution. + Custom Grouping + Provides an alternate grouping structure that selected controls will be placed in. - Custom grouping: A Custom element frames a structure for embedding represented controls in resolution. + Custom Grouping: Provides an alternate grouping structure that selected controls will be placed in. + type="oscal-profile-group-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-profile-insert-controls-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -182,11 +184,11 @@ - Control group - A group of (selected) controls or of groups of controls + Control Group + A group of (selected) controls or of groups of controls. - Control group: A group of (selected) controls or of groups of controls + Control Group: A group of (selected) controls or of groups of controls. @@ -194,54 +196,54 @@ Group Title - A name given to the group, which may be used by a tool for display and navigation. + A name to be given to the group for use in display. - Group Title: A name given to the group, which may be used by a tool for display and navigation. + Group Title: A name to be given to the group for use in display. - + + type="oscal-control-common-parameter-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-part-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-profile-group-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-profile-insert-controls-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - + Group Identifier - A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined group elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same group across revisions of the document. + Identifies the group. - Group Identifier: A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined group elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same group across revisions of the document. + Group Identifier: Identifies the group. - + Group Class @@ -255,11 +257,11 @@ - Modify controls - Set parameters or amend controls in resolution + Modify Controls + Set parameters or amend controls in resolution. - Modify controls: Set parameters or amend controls in resolution + Modify Controls: Set parameters or amend controls in resolution. @@ -267,32 +269,32 @@ Parameter Setting - A parameter setting, to be propagated to points of insertion + A parameter setting, to be propagated to points of insertion. - Parameter Setting: A parameter setting, to be propagated to points of insertion + Parameter Setting: A parameter setting, to be propagated to points of insertion. + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Parameter Label - A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned. + A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned. Parameter Label: A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned. - + @@ -301,46 +303,46 @@ Parameter Usage Description - Describes the purpose and use of a parameter + Describes the purpose and use of a parameter. - Parameter Usage Description: Describes the purpose and use of a parameter + Parameter Usage Description: Describes the purpose and use of a parameter. - + + type="oscal-control-common-parameter-constraint-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-parameter-guideline-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-parameter-value-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-parameter-selection-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> - + Parameter ID - A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined parameter elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + An identifier for the parameter. - Parameter ID: A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined parameter elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Parameter ID: An identifier for the parameter. - + Parameter Class @@ -350,50 +352,197 @@ Parameter Class: A textual label that provides a characterization of the parameter. - + - Depends on + Depends On **(deprecated)** Another parameter invoking this one. This construct has been deprecated and should not be used. - Depends on: **(deprecated)** Another parameter invoking this one. This construct has been deprecated and should not be used. + Depends On: **(deprecated)** Another parameter invoking this one. This construct has been deprecated and should not be used. + + +
    +
    + + + + + Alteration + Specifies changes to be made to an included control when a profile is resolved. + + + Alteration: Specifies changes to be made to an included control when a profile is resolved. + + + + + + + Removal + Specifies objects to be removed from a control based on specific aspects of the object that must all match. + + + Removal: Specifies objects to be removed from a control based on specific aspects of the object that must all match. + + + + + Reference by (assigned) name + Identify items remove by matching their assigned name. + + + Reference by (assigned) name: Identify items remove by matching their assigned name. + + + + + + Reference by class + Identify items to remove by matching their class. + + + Reference by class: Identify items to remove by matching their class. + + + + + + Reference by ID + Identify items to remove indicated by their id. + + + Reference by ID: Identify items to remove indicated by their id. + + + + + + Item Name Reference + Identify items to remove by the name of the item's information object name, e.g. title or prop. + + + Item Name Reference: Identify items to remove by the name of the item's information object name, e.g. title or prop. + + + + + + Item Namespace Reference + Identify items to remove by the item's ns, which is the namespace associated with a part, or prop. + + + Item Namespace Reference: Identify items to remove by the item's ns, which is the namespace associated with a part, or prop. + + + + + + + + + Addition + Specifies contents to be added into controls, in resolution. + + + Addition: Specifies contents to be added into controls, in resolution. + + + + + + + Title Change + A name given to the control, which may be used by a tool for display and navigation. + + + Title Change: A name given to the control, which may be used by a tool for display and navigation. + + + + + + + + + + + + + + + Position + Where to add the new content with respect to the targeted element (beside it or inside it). + + + Position: Where to add the new content with respect to the targeted element (beside it or inside it). + + + + + + Reference by ID + Target location of the addition. + + + Reference by ID: Target location of the addition. + + + + + + + + + Control Identifier Reference + A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). + + + Control Identifier Reference: A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). - - Select controls + Select Controls Specifies which controls to use in the containing context. - Select controls: Specifies which controls to use in the containing context. + Select Controls: Specifies which controls to use in the containing context. + type="oscal-control-common-include-all-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-profile-select-control-by-id-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> + type="oscal-profile-select-control-by-id-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - + Order @@ -407,11 +556,11 @@ - Call - Call a control by its ID + Select Control + Select a control or controls from an imported control set. - Call: Call a control by its ID + Select Control: Select a control or controls from an imported control set. @@ -419,12 +568,12 @@ Match Controls by Identifier - + Selecting a control by its ID given as a literal. - Match Controls by Identifier: + Match Controls by Identifier: Selecting a control by its ID given as a literal. - + @@ -432,16 +581,16 @@ Match Controls by Pattern - Select controls by (regular expression) match on ID + Selecting a set of controls by matching their IDs with a wildcard pattern. - Match Controls by Pattern: Select controls by (regular expression) match on ID + Match Controls by Pattern: Selecting a set of controls by matching their IDs with a wildcard pattern. - + Pattern - A glob expression matching the IDs of one or more controls to be selected. + A glob expression matching the IDs of one or more controls to be selected. Pattern: A glob expression matching the IDs of one or more controls to be selected. @@ -450,179 +599,25 @@ - + - Include contained controls with control + Include Contained Controls with Control When a control is included, whether its child (dependent) controls are also included. - Include contained controls with control: When a control is included, whether its child (dependent) controls are also included. - - - - - - - Alteration - An Alter element specifies changes to be made to an included control when a profile is resolved. - - - Alteration: An Alter element specifies changes to be made to an included control when a profile is resolved. - - - - - - - - - Control Identifier Reference - A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). - - - Control Identifier Reference: A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). - - - - - - - Removal - Specifies objects to be removed from a control based on specific aspects of the object that must all match. - - - Removal: Specifies objects to be removed from a control based on specific aspects of the object that must all match. - - - - - Reference by (assigned) name - Identify items to remove by matching their assigned name - - - Reference by (assigned) name: Identify items to remove by matching their assigned name - - - - - - Reference by class - Identify items to remove by matching their class. - - - Reference by class: Identify items to remove by matching their class. - - - - - - Reference by ID - Identify items to remove indicated by their id. - - - Reference by ID: Identify items to remove indicated by their id. - - - - - - Item Name Reference - Identify items to remove by the name of the item's information element name, e.g. title or prop - - - - Item Name Reference: Identify items to remove by the name of the item's information element name, e.g. title or prop - - - - - - Item Namespace Reference - Identify items to remove by the item's ns, which is the namespace associated with a part, or prop. - - - Item Namespace Reference: Identify items to remove by the item's ns, which is the namespace associated with a part, or prop. - - - - - - - Addition - Specifies contents to be added into controls, in resolution - - - Addition: Specifies contents to be added into controls, in resolution - - - - - - - Title Change - A name given to the control, which may be used by a tool for display and navigation. - - - Title Change: A name given to the control, which may be used by a tool for display and navigation. - - - - - - - - - - - - - - - Position - Where to add the new content with respect to the targeted element (beside it or inside it) - - - Position: Where to add the new content with respect to the targeted element (beside it or inside it) - - - - - - Reference by ID - Target location of the addition. - - - Reference by ID: Target location of the addition. + Include Contained Controls with Control: When a control is included, whether its child (dependent) controls are also included. - Publication metadata - Provides information about the publication and availability of the containing document. + Document Metadata + Provides information about the containing document, and defines concepts that are shared across the document. - Publication metadata: Provides information about the publication and availability of the containing document. + Document Metadata: Provides information about the containing document, and defines concepts that are shared across the document. @@ -636,488 +631,493 @@ Document Title: A name given to the document, which may be used by a tool for display and navigation. - +
    + type="oscal-metadata-published-FIELD" + minOccurs="0" + maxOccurs="1"/> + type="oscal-metadata-last-modified-FIELD" + minOccurs="1" + maxOccurs="1"/> + type="oscal-metadata-version-FIELD" + minOccurs="1" + maxOccurs="1"/> + type="oscal-metadata-oscal-version-FIELD" + minOccurs="1" + maxOccurs="1"/> - - - - - - - - - - - - - - - Remarks - Additional commentary on the containing object. + revisions + A group of 'revision' elements - Remarks: Additional commentary on the containing object. + revisions: A group of 'revision' elements - - - - - - - - - Revision History Entry - An entry in a sequential list of revisions to the containing document in reverse chronological order (i.e., most recent previous revision first). - - - Revision History Entry: An entry in a sequential list of revisions to the containing document in reverse chronological order (i.e., most recent previous revision first). - - - - - - - Document Title - A name given to the document revision, which may be used by a tool for display and navigation. - - - Document Title: A name given to the document revision, which may be used by a tool for display and navigation. - - - - + + + + + + Revision History Entry + An entry in a sequential list of revisions to the containing document, expected to be in reverse chronological order (i.e. latest first). + + + Revision History Entry: An entry in a sequential list of revisions to the containing document, expected to be in reverse chronological order (i.e. latest first). + + + + + + + Document Title + A name given to the document revision, which may be used by a tool for display and navigation. + + + Document Title: A name given to the document revision, which may be used by a tool for display and navigation. + + + + + + + + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + - - - - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - - - - Remarks - Additional commentary on the containing object. - - - Remarks: Additional commentary on the containing object. - + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + - - - - - - - - - Location - A location, with associated metadata that can be referenced. - - - Location: A location, with associated metadata that can be referenced. - - - - - Location Title - A name given to the location, which may be used by a tool for display and navigation. + Role + Defines a function, which might be assigned to a party in a specific situation. - Location Title: A name given to the location, which may be used by a tool for display and navigation. + Role: Defines a function, which might be assigned to a party in a specific situation. - - - + + + + + + Role Title + A name given to the role, which may be used by a tool for display and navigation. + + + Role Title: A name given to the role, which may be used by a tool for display and navigation. + + + + + + + + + + + Role Short Name + A short common name, abbreviation, or acronym for the role. + + + Role Short Name: A short common name, abbreviation, or acronym for the role. + + + + + + + + + Role Description + A summary of the role's purpose and associated responsibilities. + + + Role Description: A summary of the role's purpose and associated responsibilities. + + + + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Role Identifier + A unique identifier for the role. + + + Role Identifier: A unique identifier for the role. + + - - - - - - - - Location URL - The uniform resource locator (URL) for a web site or Internet presence associated with the location. - - - Location URL: The uniform resource locator (URL) for a web site or Internet presence associated with the location. - - - - - - - - - - Remarks - Additional commentary on the containing object. - - - Remarks: Additional commentary on the containing object. - + - - - - - - - - Location Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined location elsewhere in this or other OSCAL instances. The locally defined UUID of the location can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - Location Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined location elsewhere in this or other OSCAL instances. The locally defined UUID of the location can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - - - - - Location Reference - A machine-oriented identifier reference to a location defined in the metadata section of this or another OSCAL instance. The UUID of the location in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). - - - Location Reference: A machine-oriented identifier reference to a location defined in the metadata section of this or another OSCAL instance. The UUID of the location in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). - - - - - - - Party (organization or person) - A responsible entity which is either a person or an organization. - - - Party (organization or person): A responsible entity which is either a person or an organization. - - - - - - - Party Name - The full name of the party. This is typically the legal name associated with the party. - - - Party Name: The full name of the party. This is typically the legal name associated with the party. - - - - - - - Party Short Name - A short common name, abbreviation, or acronym for the party. + Location + A physical point of presence, which may be associated with people, organizations, or other concepts within the current or linked OSCAL document. - Party Short Name: A short common name, abbreviation, or acronym for the party. + Location: A physical point of presence, which may be associated with people, organizations, or other concepts within the current or linked OSCAL document. - - + + + + + + Location Title + A name given to the location, which may be used by a tool for display and navigation. + + + Location Title: A name given to the location, which may be used by a tool for display and navigation. + + + + + + + + + + + + + + Location URL + The uniform resource locator (URL) for a web site or other resource associated with the location. + + + Location URL: The uniform resource locator (URL) for a web site or other resource associated with the location. + + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Location Universally Unique Identifier + A unique ID for the location, for reference. + + + Location Universally Unique Identifier: A unique ID for the location, for reference. + + + - + - Party External Identifier - An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID) + Party + An organization or person, which may be associated with roles or other concepts within the current or linked OSCAL document. - Party External Identifier: An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID) + Party: An organization or person, which may be associated with roles or other concepts within the current or linked OSCAL document. - - - + + + + + + Party Name + The full name of the party. This is typically the legal name associated with the party. + + + Party Name: The full name of the party. This is typically the legal name associated with the party. + + + + + + + + + Party Short Name + A short common name, abbreviation, or acronym for the party. + + + Party Short Name: A short common name, abbreviation, or acronym for the party. + + + + + + - External Identifier Schema - Indicates the type of external identifier. + Party External Identifier + An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID). - External Identifier Schema: Indicates the type of external identifier. + Party External Identifier: An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID). - - - + + + + + + External Identifier Schema + Indicates the type of external identifier. + + + External Identifier Schema: Indicates the type of external identifier. + + + + + + + + + + + + + + + + + + + Organizational Affiliation + A reference to another party by UUID, typically an organization, that this subject is associated with. + + + Organizational Affiliation: A reference to another party by UUID, typically an organization, that this subject is associated with. + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Party Universally Unique Identifier + A unique identifier for the party. + + + Party Universally Unique Identifier: A unique identifier for the party. + + + + + + Party Type + A category describing the kind of party the object describes. + + + Party Type: A category describing the kind of party the object describes. + + - - - - - - - - - - - - - Organizational Affiliation - A machine-oriented identifier reference to another party (person or organization) that this subject is associated with. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). - - - Organizational Affiliation: A machine-oriented identifier reference to another party (person or organization) that this subject is associated with. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). - - - - + + Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - - - - Party Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined party elsewhere in this or other OSCAL instances. The locally defined UUID of the party can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - Party Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined party elsewhere in this or other OSCAL instances. The locally defined UUID of the party can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - - - - Party Type - A category describing the kind of party the object describes. - - - Party Type: A category describing the kind of party the object describes. - - + + + + Location Universally Unique Identifier Reference + Reference to a location by UUID. + + + Location Universally Unique Identifier Reference: Reference to a location by UUID. + + + - Party Reference - A machine-oriented identifier reference to another party defined in metadata. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). + Party Universally Unique Identifier Reference + Reference to a party by UUID. - Party Reference: A machine-oriented identifier reference to another party defined in metadata. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). + Party Universally Unique Identifier Reference: Reference to a party by UUID. - + - + - Role - Defines a function assumed or expected to be assumed by a party in a specific situation. + Role Identifier Reference + Reference to a role by UUID. - Role: Defines a function assumed or expected to be assumed by a party in a specific situation. + Role Identifier Reference: Reference to a role by UUID. - - - - - - Role Title - A name given to the role, which may be used by a tool for display and navigation. - - - Role Title: A name given to the role, which may be used by a tool for display and navigation. - - - - - - - - - - - Role Short Name - A short common name, abbreviation, or acronym for the role. - - - Role Short Name: A short common name, abbreviation, or acronym for the role. - - - - - - - - - Role Description - A summary of the role's purpose and associated responsibilities. - - - Role Description: A summary of the role's purpose and associated responsibilities. - - - - - - - - - - - - Remarks - Additional commentary on the containing object. - - - Remarks: Additional commentary on the containing object. - - - - - - - - - - Role Identifier - A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined role elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, the locally defined ID of the Role from the imported OSCAL instance must be referenced in the context of the containing resource (e.g., import, import-component-definition, import-profile, import-ssp or import-ap). This ID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - Role Identifier: A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined role elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, the locally defined ID of the Role from the imported OSCAL instance must be referenced in the context of the containing resource (e.g., import, import-component-definition, import-profile, import-ssp or import-ap). This ID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - + + Back matter - A collection of resources, which may be included directly or by reference. + A collection of resources that may be referenced from within the OSCAL document instance. - Back matter: A collection of resources, which may be included directly or by reference. + Back matter: A collection of resources that may be referenced from within the OSCAL document instance. @@ -1125,10 +1125,10 @@ Resource - A resource associated with content in the containing document. A resource may be directly included in the document base64 encoded or may point to one or more equivalent internet resources. + A resource associated with content in the containing document instance. A resource may be directly included in the document using base64 encoding or may point to one or more equivalent internet resources. - Resource: A resource associated with content in the containing document. A resource may be directly included in the document base64 encoded or may point to one or more equivalent internet resources. + Resource: A resource associated with content in the containing document instance. A resource may be directly included in the document using base64 encoding or may point to one or more equivalent internet resources. @@ -1136,13 +1136,13 @@ Resource Title - A name given to the resource, which may be used by a tool for display and navigation. + An optional name given to the resource, which may be used by a tool for display and navigation. - Resource Title: A name given to the resource, which may be used by a tool for display and navigation. + Resource Title: An optional name given to the resource, which may be used by a tool for display and navigation. - + @@ -1151,33 +1151,33 @@ Resource Description - A short summary of the resource used to indicate the purpose of the resource. + An optional short summary of the resource used to indicate the purpose of the resource. - Resource Description: A short summary of the resource used to indicate the purpose of the resource. + Resource Description: An optional short summary of the resource used to indicate the purpose of the resource. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-document-id-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> Citation - A citation consisting of end note text and optional structured bibliographic data. + An optional citation consisting of end note text using structured markup. - Citation: A citation consisting of end note text and optional structured bibliographic data. + Citation: An optional citation consisting of end note text using structured markup. @@ -1191,18 +1191,18 @@ Citation Text: A line of citation text. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -1211,35 +1211,35 @@ Resource link - A pointer to an external resource with an optional hash for verification and change detection. + A URL-based pointer to an external resource with an optional hash for verification and change detection. - Resource link: A pointer to an external resource with an optional hash for verification and change detection. + Resource link: A URL-based pointer to an external resource with an optional hash for verification and change detection. + type="oscal-metadata-hash-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> - + Hypertext Reference - A resolvable URI reference to a resource. + A resolvable URL pointing to the referenced resource. - Hypertext Reference: A resolvable URI reference to a resource. + Hypertext Reference: A resolvable URL pointing to the referenced resource. - + Media Type - Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + A label that indicates the nature of a resource, as a data serialization or format. - Media Type: Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + Media Type: A label that indicates the nature of a resource, as a data serialization or format. @@ -1249,31 +1249,31 @@ Base64 - The Base64 alphabet in RFC 2045 - aligned with XSD. + A resource encoded using the Base64 alphabet defined by RFC 2045. - Base64: The Base64 alphabet in RFC 2045 - aligned with XSD. + Base64: A resource encoded using the Base64 alphabet defined by RFC 2045. - - + + File Name - Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded. + Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded. File Name: Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded. - + Media Type - Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + A label that indicates the nature of a resource, as a data serialization or format. - Media Type: Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + Media Type: A label that indicates the nature of a resource, as a data serialization or format. @@ -1284,26 +1284,24 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Resource Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined resource elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A unique identifier for a resource. - Resource Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined resource elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Resource Universally Unique Identifier: A unique identifier for a resource. @@ -1314,49 +1312,47 @@ Property - An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values. + An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. - Property: An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values. + Property: An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Property Name - A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object. + A textual label, within a namespace, that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object. - Property Name: A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object. + Property Name: A textual label, within a namespace, that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object. - + Property Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A unique identifier for a property. - Property Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Property Universally Unique Identifier: A unique identifier for a property. - + Property Namespace @@ -1366,7 +1362,7 @@ Property Namespace: A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name. - + Property Value @@ -1376,14 +1372,24 @@ Property Value: Indicates the value of the attribute, characteristic, or quality. - + Property Class - A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns. + A textual label that provides a sub-type or characterization of the property's name. + + + Property Class: A textual label that provides a sub-type or characterization of the property's name. + + + + + + Property Group + An identifier for relating distinct sets of properties. - Property Class: A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns. + Property Group: An identifier for relating distinct sets of properties. @@ -1391,10 +1397,10 @@ Link - A reference to a local or remote resource + A reference to a local or remote resource, that has a specific relation to the containing object. - Link: A reference to a local or remote resource + Link: A reference to a local or remote resource, that has a specific relation to the containing object. @@ -1408,12 +1414,12 @@ Link Text: A textual label to associate with the link, which may be used for presentation in a tool. - + - + Hypertext Reference @@ -1423,24 +1429,34 @@ Hypertext Reference: A resolvable URL reference to a resource. - + - Relation - Describes the type of relationship provided by the link. This can be an indicator of the link's purpose. + Link Relation Type + Describes the type of relationship provided by the link's hypertext reference. This can be an indicator of the link's purpose. - Relation: Describes the type of relationship provided by the link. This can be an indicator of the link's purpose. + Link Relation Type: Describes the type of relationship provided by the link's hypertext reference. This can be an indicator of the link's purpose. - + Media Type - Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + A label that indicates the nature of a resource, as a data serialization or format. - Media Type: Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + Media Type: A label that indicates the nature of a resource, as a data serialization or format. + + + + + + Resource Fragment + In case where the href points to a back-matter/resource, this value will indicate the URI fragment to append to any rlink associated with the resource. This value MUST be URI encoded. + + + Resource Fragment: In case where the href points to a back-matter/resource, this value will indicate the URI fragment to append to any rlink associated with the resource. This value MUST be URI encoded. @@ -1448,48 +1464,123 @@ Responsible Party - A reference to a set of organizations or persons that have responsibility for performing a referenced role in the context of the containing object. + A reference to a set of persons and/or organizations that have responsibility for performing the referenced role in the context of the containing object. - Responsible Party: A reference to a set of organizations or persons that have responsibility for performing a referenced role in the context of the containing object. + Responsible Party: A reference to a set of persons and/or organizations that have responsibility for performing the referenced role in the context of the containing object. + type="oscal-metadata-party-uuid-FIELD" + minOccurs="1" + maxOccurs="unbounded"/> + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Responsible Role - A human-oriented identifier reference to roles served by the user. + A reference to a role performed by a party. + + + Responsible Role: A reference to a role performed by a party. + + + + + + + Action + An action applied by a role within a given party to the content. + + + Action: An action applied by a role within a given party to the content. + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Action Universally Unique Identifier + A unique identifier that can be used to reference this defined action elsewhere in an OSCAL document. A UUID should be consistently used for a given location across revisions of the document. + + + Action Universally Unique Identifier: A unique identifier that can be used to reference this defined action elsewhere in an OSCAL document. A UUID should be consistently used for a given location across revisions of the document. + + + + + + Action Occurrence Date + The date and time when the action occurred. + + + Action Occurrence Date: The date and time when the action occurred. + + + + + + Action Type + The type of action documented by the assembly, such as an approval. + + + Action Type: The type of action documented by the assembly, such as an approval. + + + + + + Action Type System + Specifies the action type system used. - Responsible Role: A human-oriented identifier reference to roles served by the user. + Action Type System: Specifies the action type system used. @@ -1497,48 +1588,46 @@ Responsible Role - A reference to one or more roles with responsibility for performing a function relative to the containing object. + A reference to a role with responsibility for performing a function relative to the containing object, optionally associated with a set of persons and/or organizations that perform that role. - Responsible Role: A reference to one or more roles with responsibility for performing a function relative to the containing object. + Responsible Role: A reference to a role with responsibility for performing a function relative to the containing object, optionally associated with a set of persons and/or organizations that perform that role. + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-party-uuid-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Responsible Role ID - A human-oriented identifier reference to roles responsible for the business function. + A human-oriented identifier reference to a role performed. - Responsible Role ID: A human-oriented identifier reference to roles responsible for the business function. + Responsible Role ID: A human-oriented identifier reference to a role performed. @@ -1552,15 +1641,15 @@ Hash: A representation of a cryptographic digest generated over a resource using a specified hash algorithm. - - + + Hash algorithm - Method by which a hash is derived + The digest method by which a hash is derived. - Hash algorithm: Method by which a hash is derived + Hash algorithm: The digest method by which a hash is derived. @@ -1570,82 +1659,82 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + Publication Timestamp - The date and time the document was published. The date-time value must be formatted according to RFC 3339 with full time and time zone included. + The date and time the document was last made available. - Publication Timestamp: The date and time the document was published. The date-time value must be formatted according to RFC 3339 with full time and time zone included. + Publication Timestamp: The date and time the document was last made available. - + Last Modified Timestamp - The date and time the document was last modified. The date-time value must be formatted according to RFC 3339 with full time and time zone included. + The date and time the document was last stored for later retrieval. - Last Modified Timestamp: The date and time the document was last modified. The date-time value must be formatted according to RFC 3339 with full time and time zone included. + Last Modified Timestamp: The date and time the document was last stored for later retrieval. - + Document Version - A string used to distinguish the current version of the document from other previous (and future) versions. + Used to distinguish a specific revision of an OSCAL document from other previous and future versions. - Document Version: A string used to distinguish the current version of the document from other previous (and future) versions. + Document Version: Used to distinguish a specific revision of an OSCAL document from other previous and future versions. - + - OSCAL version - The OSCAL model version the document was authored against. + OSCAL Version + The OSCAL model version the document was authored against and will conform to as valid. - OSCAL version: The OSCAL model version the document was authored against. + OSCAL Version: The OSCAL model version the document was authored against and will conform to as valid. - + Email Address - An email address as defined by RFC 5322 Section 3.4.1. + An email address as defined by RFC 5322 Section 3.4.1. - Email Address: An email address as defined by RFC 5322 Section 3.4.1. + Email Address: An email address as defined by RFC 5322 Section 3.4.1. - + Telephone Number - Contact number by telephone. + A telephone service number as defined by ITU-T E.164. - Telephone Number: Contact number by telephone. + Telephone Number: A telephone service number as defined by ITU-T E.164. - - + + type flag @@ -1669,9 +1758,9 @@ + type="oscal-metadata-addr-line-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> @@ -1682,7 +1771,7 @@ City: City, town or geographical region for the mailing address. - + @@ -1690,12 +1779,12 @@ State - State, province or analogous geographical region for mailing address + State, province or analogous geographical region for a mailing address. - State: State, province or analogous geographical region for mailing address + State: State, province or analogous geographical region for a mailing address. - + @@ -1703,12 +1792,12 @@ Postal Code - Postal or ZIP code for mailing address + Postal or ZIP code for mailing address. - Postal Code: Postal or ZIP code for mailing address + Postal Code: Postal or ZIP code for mailing address. - + @@ -1721,11 +1810,11 @@ Country Code: The ISO 3166-1 alpha-2 country code for the mailing address. - + - + Address Type @@ -1745,40 +1834,40 @@ Address line: A single line of an address. - + Document Identifier - A document identifier qualified by an identifier scheme. A document identifier provides a globally unique identifier with a cross-instance scope that is used for a group of documents that are to be treated as different versions of the same document. If this element does not appear, or if the value of this element is empty, the value of "document-id" is equal to the value of the "uuid" flag of the top-level root element. + A document identifier qualified by an identifier scheme. - Document Identifier: A document identifier qualified by an identifier scheme. A document identifier provides a globally unique identifier with a cross-instance scope that is used for a group of documents that are to be treated as different versions of the same document. If this element does not appear, or if the value of this element is empty, the value of "document-id" is equal to the value of the "uuid" flag of the top-level root element. + Document Identifier: A document identifier qualified by an identifier scheme. - - + + Document Identification Scheme - Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters. + Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters. - Document Identification Scheme: Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters. + Document Identification Scheme: Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters. - + Part - A partition of a control's definition or a child of another part. + An annotated, markup-based textual element of a control's or catalog group's definition, or a child of another part. - Part: A partition of a control's definition or a child of another part. + Part: An annotated, markup-based textual element of a control's or catalog group's definition, or a child of another part. @@ -1786,74 +1875,72 @@ Part Title - A name given to the part, which may be used by a tool for display and navigation. + An optional name given to the part, which may be used by a tool for display and navigation. - Part Title: A name given to the part, which may be used by a tool for display and navigation. + Part Title: An optional name given to the part, which may be used by a tool for display and navigation. - + - + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + + type="oscal-control-common-part-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - + Part Identifier - A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined part elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A unique identifier for the part. - Part Identifier: A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined part elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Part Identifier: A unique identifier for the part. - + Part Name - A textual label that uniquely identifies the part's semantic type. + A textual label that uniquely identifies the part's semantic type, which exists in a value space qualified by the ns. - Part Name: A textual label that uniquely identifies the part's semantic type. + Part Name: A textual label that uniquely identifies the part's semantic type, which exists in a value space qualified by the ns. - + Part Namespace - A namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name. + An optional namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name. - Part Namespace: A namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name. + Part Namespace: An optional namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name. - + Part Class - A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns. + An optional textual providing a sub-type or characterization of the part's name, or a category to which the part belongs. - Part Class: A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns. + Part Class: An optional textual providing a sub-type or characterization of the part's name, or a category to which the part belongs. - + Parameter @@ -1864,25 +1951,25 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Parameter Label - A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned. + A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned. Parameter Label: A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned. - + @@ -1891,89 +1978,88 @@ Parameter Usage Description - Describes the purpose and use of a parameter + Describes the purpose and use of a parameter. - Parameter Usage Description: Describes the purpose and use of a parameter + Parameter Usage Description: Describes the purpose and use of a parameter. - + + type="oscal-control-common-parameter-constraint-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-parameter-guideline-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-parameter-value-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-parameter-selection-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Parameter Identifier - A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined parameter elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A unique identifier for the parameter. - Parameter Identifier: A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined parameter elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Parameter Identifier: A unique identifier for the parameter. - + Parameter Class - A textual label that provides a characterization of the parameter. + A textual label that provides a characterization of the type, purpose, use or scope of the parameter. - Parameter Class: A textual label that provides a characterization of the parameter. + Parameter Class: A textual label that provides a characterization of the type, purpose, use or scope of the parameter. - + Depends on - **(deprecated)** Another parameter invoking this one. This construct has been deprecated and should not be used. + + (deprecated) Another parameter invoking this one. This construct has been deprecated and should not be used. - Depends on: **(deprecated)** Another parameter invoking this one. This construct has been deprecated and should not be used. + Depends on: (deprecated) Another parameter invoking this one. This construct has been deprecated and should not be used. - + Constraint - A formal or informal expression of a constraint or test + A formal or informal expression of a constraint or test. - Constraint: A formal or informal expression of a constraint or test + Constraint: A formal or informal expression of a constraint or test. @@ -1987,7 +2073,7 @@ Constraint Description: A textual summary of the constraint to be applied. - + @@ -2007,27 +2093,25 @@ Constraint test - A formal (executable) expression of a constraint + A formal (executable) expression of a constraint. - Constraint test: A formal (executable) expression of a constraint + Constraint test: A formal (executable) expression of a constraint. - + Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + @@ -2035,7 +2119,7 @@ - + Guideline @@ -2045,12 +2129,10 @@ Guideline: A prose statement that provides a recommendation for the use of a parameter. - + - + Parameter Value @@ -2059,16 +2141,16 @@ Parameter Value: A parameter value or set of values. - + - + Selection - Presenting a choice among alternatives + Presenting a choice among alternatives. - Selection: Presenting a choice among alternatives + Selection: Presenting a choice among alternatives. @@ -2076,18 +2158,18 @@ Choice - A value selection among several such options + A value selection among several such options. - Choice: A value selection among several such options + Choice: A value selection among several such options. - + - + Parameter Cardinality @@ -2098,7 +2180,7 @@ - + Include All @@ -2108,55 +2190,33 @@ Include All: Include all controls from the imported catalog or profile resources. - - - - - + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - The content model is the same as blockElementType, but line endings need - to be preserved, since this is preformatted. - - - - - + - The content model is the same as blockElementType, but line endings need + The content model is the same as inlineMarkupType, but line endings need to be preserved, since this is preformatted. @@ -2165,34 +2225,39 @@ + type="listItemType" + minOccurs="1" + maxOccurs="unbounded"/> + - - - + + + - + - - - - + + + + + - + - - + + + + + @@ -2201,49 +2266,49 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + - + + + + + + + + + + + + + + + + + + + + + + + - + + + - - An insert can be used to identify a placeholder for dynamically inserting text related to a specific object, which is referenced by the object's identifier using an id-ref. This insert mechanism allows the selection of which text value from the object to dynamically include based on the application's display requirements. + An insert can be used to identify a placeholder for dynamically inserting text related to a specific object, which is referenced by the object's identifier using an id-ref. This insert mechanism allows the selection of which text value from the object to dynamically include based on the application's display requirements. @@ -2252,103 +2317,48 @@ - The identity of the object to insert a value for. The identity will be selected from the index of objects of the specified type. The specific value to include is based on the application's display requirements, which will likely use a specific data element associated with the type (e.g., title, identifier, value, etc.) that is appropriate for the application. + The identity of the object to insert a value for. The identity will be selected from the index of objects of the specified type. The specific value to include is based on the application's display requirements, which will likely use a specific data element associated with the type (e.g., title, identifier, value, etc.) that is appropriate for the application. - - - - - A string, but not empty and not whitespace-only (whitespace is U+9, U+10, U+32 or [ \n\t]+ ) - - - - - - The xs:dateTime with a required timezone. - - - - - - An email address - - - - - - A URI - - - - - - A URI reference, such as a relative URL - - - - - - A Type 4 ('random' or 'pseudorandom' UUID per RFC 4122 - - - - - - A string token following the rules of XML "no colon" names, with no whitespace. (XML names are single alphabetic characters - followed by alphanumeric characters, periods, underscores or dashes.) - - - A trimmed string, at least one character with no - leading or trailing whitespace. + leading or trailing whitespace. - - - - - - - - The xs:date with a required timezone. - - - + + + + + A trimmed string, at least one character with no + leading or trailing whitespace. + + - + The xs:dateTime with a required timezone. - - + + An email address - + Need a better pattern. @@ -2356,59 +2366,41 @@ - - - A host name - - - - - - The ip-v4-address type specifies an IPv4 address in - dot decimal notation. - - - - - - + - The ip-v6-address type specifies an IPv6 address - represented in 8 hextets separated by colons. - This is based on the pattern provided here: - https://stackoverflow.com/questions/53497/regular-expression-that-matches-valid-ipv6-addresses - with some customizations. + A string, but not empty and not whitespace-only + (whitespace is U+9, U+10, U+32 or [ \n\t]+ ) - - - - - - + + The OSCAL 'string' datatype restricts the XSD type by prohibiting leading + and trailing whitespace, and something (not only whitespace) is required. + + A trimmed string, at least one character with no - leading or trailing whitespace. + leading or trailing whitespace. - + - A string, but not empty and not whitespace-only - (whitespace is U+9, U+10, U+32 or [ \n\t]+ ) + + A string token following the rules of XML "no + colon" names, with no whitespace. (XML names are single alphabetic + characters followed by alphanumeric characters, periods, underscores or dashes.) + - - - The OSCAL 'string' datatype restricts the XSD type by prohibiting leading - and trailing whitespace, and something (not only whitespace) is required. - - - + + + - A trimmed string, at least one character with no - leading or trailing whitespace. + + A single token may not contain whitespace. + @@ -2428,13 +2420,13 @@ A URI reference, such as a relative URL - + A trimmed URI, at least one character with no - leading or trailing whitespace. + leading or trailing whitespace. @@ -2442,14 +2434,14 @@ A type 4 ('random' or 'pseudorandom') or type 5 UUID per RFC - 4122. + 4122. - + A sequence of 8-4-4-4-12 hex digits, with extra - constraints in the 13th and 17-18th places for version 4 and 5 - + constraints in the 13th and 17-18th places for version 4 and 5 + diff --git a/xml/schema/oscal_ssp_schema.xsd b/xml/schema/oscal_ssp_schema.xsd index 05ea0adf8..65d762410 100644 --- a/xml/schema/oscal_ssp_schema.xsd +++ b/xml/schema/oscal_ssp_schema.xsd @@ -1,11 +1,11 @@ - + OSCAL System Security Plan (SSP) Model @@ -19,47 +19,47 @@ + type="oscal-ssp-system-security-plan-ASSEMBLY"/> System Security Plan (SSP) - A system security plan, such as those described in NIST SP 800-18 + A system security plan, such as those described in NIST SP 800-18. - System Security Plan (SSP): A system security plan, such as those described in NIST SP 800-18 + System Security Plan (SSP): A system security plan, such as those described in NIST SP 800-18. + type="oscal-metadata-metadata-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-ssp-import-profile-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-ssp-system-characteristics-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-ssp-system-implementation-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-ssp-control-implementation-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-metadata-back-matter-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> - + System Security Plan Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this system security plan (SSP) elsewhere in this or other OSCAL instances. The locally defined UUID of the SSP can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance).This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this system security plan (SSP) elsewhere in this or other OSCAL instances. The locally defined UUID of the SSP can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance).This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. System Security Plan Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this system security plan (SSP) elsewhere in this or other OSCAL instances. The locally defined UUID of the SSP can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance).This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -80,19 +80,17 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Profile Reference @@ -114,9 +112,9 @@ + type="oscal-implementation-common-system-id-FIELD" + minOccurs="1" + maxOccurs="unbounded"/> @@ -127,7 +125,7 @@ System Name - Full: The full name of the system. - + @@ -140,7 +138,7 @@ System Name - Short: A short name for the system, such as an acronym, that is suitable for display in a data table or summary list. - + @@ -154,76 +152,74 @@ System Description: A summary of the system. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-ssp-date-authorized-FIELD" + minOccurs="0" + maxOccurs="1"/> Security Sensitivity Level - The overall information system sensitivity categorization, such as defined by FIPS-199. + The overall information system sensitivity categorization, such as defined by FIPS-199. - Security Sensitivity Level: The overall information system sensitivity categorization, such as defined by FIPS-199. + Security Sensitivity Level: The overall information system sensitivity categorization, such as defined by FIPS-199. - + + type="oscal-ssp-system-information-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-ssp-security-impact-level-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-ssp-status-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-ssp-authorization-boundary-ASSEMBLY" + minOccurs="1" + maxOccurs="1"/> + type="oscal-ssp-network-architecture-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> + type="oscal-ssp-data-flow-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> + type="oscal-metadata-responsible-party-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + @@ -232,29 +228,29 @@ System Information - Contains details about all information types that are stored, processed, or transmitted by the system, such as privacy information, and those defined in NIST SP 800-60. + Contains details about all information types that are stored, processed, or transmitted by the system, such as privacy information, and those defined in NIST SP 800-60. - System Information: Contains details about all information types that are stored, processed, or transmitted by the system, such as privacy information, and those defined in NIST SP 800-60. + System Information: Contains details about all information types that are stored, processed, or transmitted by the system, such as privacy information, and those defined in NIST SP 800-60. + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Information Type - Contains details about one information type that is stored, processed, or transmitted by the system, such as privacy information, and those defined in NIST SP 800-60. + Contains details about one information type that is stored, processed, or transmitted by the system, such as privacy information, and those defined in NIST SP 800-60. - Information Type: Contains details about one information type that is stored, processed, or transmitted by the system, such as privacy information, and those defined in NIST SP 800-60. + Information Type: Contains details about one information type that is stored, processed, or transmitted by the system, such as privacy information, and those defined in NIST SP 800-60. @@ -268,7 +264,7 @@ title field: A human readable name for the information type. This title should be meaningful within the context of the system. - + @@ -283,7 +279,7 @@ Information Type Description: A summary of how this information type is used within the system. - + @@ -292,7 +288,7 @@ Information Type Categorization - A set of information type identifiers qualified by the given identification system used, such as NIST SP 800-60. + A set of information type identifiers qualified by the given identification system used, such as NIST SP 800-60. Information Type Categorization: A set of information type identifiers qualified by the given identification system used, such as NIST SP 800-60. @@ -303,16 +299,16 @@ Information Type Systematized Identifier - A human-oriented, globally unique identifier qualified by the given identification system used, such as NIST SP 800-60. This identifier has cross-instance scope and can be used to reference this system elsewhere in this or other OSCAL instances. This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A human-oriented, globally unique identifier qualified by the given identification system used, such as NIST SP 800-60. This identifier has cross-instance scope and can be used to reference this system elsewhere in this or other OSCAL instances. This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Information Type Systematized Identifier: A human-oriented, globally unique identifier qualified by the given identification system used, such as NIST SP 800-60. This identifier has cross-instance scope and can be used to reference this system elsewhere in this or other OSCAL instances. This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - + - + Information Type Identification System @@ -325,154 +321,31 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - - - - - Confidentiality Impact Level - The expected level of impact resulting from the unauthorized disclosure of the described information. - - - Confidentiality Impact Level: The expected level of impact resulting from the unauthorized disclosure of the described information. - - - - - - - - - - Adjustment Justification - If the selected security level is different from the base security level, this contains the justification for the change. - - - Adjustment Justification: If the selected security level is different from the base security level, this contains the justification for the change. - - - - - - - - - - - - - Integrity Impact Level - The expected level of impact resulting from the unauthorized modification of the described information. - - - Integrity Impact Level: The expected level of impact resulting from the unauthorized modification of the described information. - - - - - - - - - - Adjustment Justification - If the selected security level is different from the base security level, this contains the justification for the change. - - - Adjustment Justification: If the selected security level is different from the base security level, this contains the justification for the change. - - - - - - - - - - - - - Availability Impact Level - The expected level of impact resulting from the disruption of access to or use of the described information or the information system. - - - Availability Impact Level: The expected level of impact resulting from the disruption of access to or use of the described information or the information system. - - - - - - - - - - Adjustment Justification - If the selected security level is different from the base security level, this contains the justification for the change. - - - Adjustment Justification: If the selected security level is different from the base security level, this contains the justification for the change. - - - - - - - - + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + + + - + Information Type Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this information type elsewhere in this or other OSCAL instances. The locally defined UUID of the information type can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this information type elsewhere in this or other OSCAL instances. The locally defined UUID of the information type can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Information Type Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this information type elsewhere in this or other OSCAL instances. The locally defined UUID of the information type can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -482,6 +355,47 @@ + + + + Impact Level + The expected level of impact resulting from the described information. + + + Impact Level: The expected level of impact resulting from the described information. + + + + + + + + + + Adjustment Justification + If the selected security level is different from the base security level, this contains the justification for the change. + + + Adjustment Justification: If the selected security level is different from the base security level, this contains the justification for the change. + + + + + + + @@ -491,7 +405,7 @@ Base Level (Confidentiality, Integrity, or Availability): The prescribed base (Confidentiality, Integrity, or Availability) security impact level. - + @@ -502,7 +416,7 @@ Selected Level (Confidentiality, Integrity, or Availability): The selected (Confidentiality, Integrity, or Availability) security impact level. - + @@ -514,7 +428,7 @@ Adjustment Justification: If the selected security level is different from the base security level, this contains the justification for the change. - + @@ -528,8 +442,8 @@ + minOccurs="1" + maxOccurs="1"> @@ -539,7 +453,7 @@ Security Objective: Confidentiality: A target-level of confidentiality for the system, based on the sensitivity of information within the system. - + @@ -552,7 +466,7 @@ Security Objective: Integrity: A target-level of integrity for the system, based on the sensitivity of information within the system. - + @@ -565,7 +479,7 @@ Security Objective: Availability: A target-level of availability for the system, based on the sensitivity of information within the system. - + @@ -584,19 +498,17 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + State @@ -616,7 +528,7 @@ System Authorization Date: The date the system received its authorization. - + @@ -639,35 +551,33 @@ Authorization Boundary Description: A summary of the system's authorization boundary. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-ssp-diagram-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + @@ -693,18 +603,18 @@ Diagram Description: A summary of the diagram. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -716,7 +626,7 @@ Caption: A brief caption to annotate the diagram. - + @@ -724,23 +634,21 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Diagram ID - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this diagram elsewhere in this or other OSCAL instances. The locally defined UUID of the diagram can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this diagram elsewhere in this or other OSCAL instances. The locally defined UUID of the diagram can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Diagram ID: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this diagram elsewhere in this or other OSCAL instances. The locally defined UUID of the diagram can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -768,35 +676,33 @@ Network Architecture Description: A summary of the system's network architecture. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-ssp-diagram-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + @@ -822,35 +728,33 @@ Data Flow Description: A summary of the system's data flow. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-ssp-diagram-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + @@ -866,22 +770,22 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Leveraged Authorization - A description of another authorized system from which this system inherits capabilities that satisfy security requirements. Another term for this concept is a common control provider. + A description of another authorized system from which this system inherits capabilities that satisfy security requirements. Another term for this concept is a common control provider. - Leveraged Authorization: A description of another authorized system from which this system inherits capabilities that satisfy security requirements. Another term for this concept is a common control provider. + Leveraged Authorization: A description of another authorized system from which this system inherits capabilities that satisfy security requirements. Another term for this concept is a common control provider. @@ -895,56 +799,54 @@ title field: A human readable name for the leveraged authorization in the context of the system. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> party-uuid field - A machine-oriented identifier reference to the party that manages the leveraged system. + A machine-oriented identifier reference to the party that manages the leveraged system. party-uuid field: A machine-oriented identifier reference to the party that manages the leveraged system. - + + type="oscal-ssp-date-authorized-FIELD" + minOccurs="1" + maxOccurs="1"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Leveraged Authorization Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope and can be used to reference this leveraged authorization elsewhere in this or other OSCAL instances. The locally defined UUID of the leveraged authorization can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope and can be used to reference this leveraged authorization elsewhere in this or other OSCAL instances. The locally defined UUID of the leveraged authorization can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Leveraged Authorization Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope and can be used to reference this leveraged authorization elsewhere in this or other OSCAL instances. The locally defined UUID of the leveraged authorization can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -953,30 +855,28 @@ + type="oscal-implementation-common-system-user-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> + type="oscal-implementation-common-system-component-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> + type="oscal-implementation-common-inventory-item-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + @@ -1002,18 +902,18 @@ Control Implementation Description: A statement describing important things to know about how this set of control satisfaction documentation is approached. - + + type="oscal-implementation-common-set-parameter-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-ssp-implemented-requirement-ASSEMBLY" + minOccurs="1" + maxOccurs="unbounded"/> @@ -1027,63 +927,61 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-implementation-common-set-parameter-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-role-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-ssp-statement-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-ssp-by-component-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Control Requirement Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this control requirement elsewhere in this or other OSCAL instances. The locally defined UUID of the control requirement can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this control requirement elsewhere in this or other OSCAL instances. The locally defined UUID of the control requirement can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Control Requirement Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this control requirement elsewhere in this or other OSCAL instances. The locally defined UUID of the control requirement can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - + Control Identifier Reference - A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). + A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). - Control Identifier Reference: A human-oriented identifier reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). + Control Identifier Reference: A reference to a control with a corresponding id value. When referencing an externally defined control, the Control Identifier Reference must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). @@ -1098,52 +996,50 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-role-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-ssp-by-component-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Control Statement Reference - A human-oriented identifier reference to a control statement. + A human-oriented identifier reference to a control statement. Control Statement Reference: A human-oriented identifier reference to a control statement. - + Control Statement Reference Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this control statement elsewhere in this or other OSCAL instances. The UUID of the control statement in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this control statement elsewhere in this or other OSCAL instances. The UUID of the control statement in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). Control Statement Reference Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this control statement elsewhere in this or other OSCAL instances. The UUID of the control statement in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). @@ -1171,26 +1067,26 @@ Control Implementation Description: An implementation statement that describes how a control or a control statement is implemented within the referenced system component. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-implementation-common-set-parameter-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-implementation-common-implementation-status-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> @@ -1213,18 +1109,18 @@ Control Implementation Export Description: An implementation statement that describes the aspects of the control or control statement implementation that can be available to another system leveraging this system. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -1247,43 +1143,41 @@ Provided Control Implementation Description: An implementation statement that describes the aspects of the control or control statement implementation that can be provided to another system leveraging this system. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-role-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Provided Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this provided entry elsewhere in this or other OSCAL instances. The locally defined UUID of the provided entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this provided entry elsewhere in this or other OSCAL instances. The locally defined UUID of the provided entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Provided Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this provided entry elsewhere in this or other OSCAL instances. The locally defined UUID of the provided entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -1313,53 +1207,51 @@ Control Implementation Responsibility Description: An implementation statement that describes the aspects of the control or control statement implementation that a leveraging system must implement to satisfy the control provided by a leveraged system. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-role-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Responsibility Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this responsibility elsewhere in this or other OSCAL instances. The locally defined UUID of the responsibility can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this responsibility elsewhere in this or other OSCAL instances. The locally defined UUID of the responsibility can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Responsibility Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this responsibility elsewhere in this or other OSCAL instances. The locally defined UUID of the responsibility can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - + Provided UUID - A machine-oriented identifier reference to an inherited control implementation that a leveraging system is inheriting from a leveraged system. + A machine-oriented identifier reference to an inherited control implementation that a leveraging system is inheriting from a leveraged system. Provided UUID: A machine-oriented identifier reference to an inherited control implementation that a leveraging system is inheriting from a leveraged system. @@ -1371,15 +1263,13 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + @@ -1407,38 +1297,38 @@ Inherited Control Implementation Description: An implementation statement that describes the aspects of a control or control statement implementation that a leveraging system is inheriting from a leveraged system. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-role-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - + Inherited Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inherited entry elsewhere in this or other OSCAL instances. The locally defined UUID of the inherited control implementation can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inherited entry elsewhere in this or other OSCAL instances. The locally defined UUID of the inherited control implementation can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Inherited Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inherited entry elsewhere in this or other OSCAL instances. The locally defined UUID of the inherited control implementation can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - + Provided UUID - A machine-oriented identifier reference to an inherited control implementation that a leveraging system is inheriting from a leveraged system. + A machine-oriented identifier reference to an inherited control implementation that a leveraging system is inheriting from a leveraged system. Provided UUID: A machine-oriented identifier reference to an inherited control implementation that a leveraging system is inheriting from a leveraged system. @@ -1468,53 +1358,51 @@ Satisfied Control Implementation Responsibility Description: An implementation statement that describes the aspects of a control or control statement implementation that a leveraging system is implementing based on a requirement from a leveraged system. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-role-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Satisfied Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this satisfied control implementation entry elsewhere in this or other OSCAL instances. The locally defined UUID of the control implementation can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this satisfied control implementation entry elsewhere in this or other OSCAL instances. The locally defined UUID of the control implementation can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Satisfied Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this satisfied control implementation entry elsewhere in this or other OSCAL instances. The locally defined UUID of the control implementation can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - + Responsibility UUID - A machine-oriented identifier reference to a control implementation that satisfies a responsibility imposed by a leveraged system. + A machine-oriented identifier reference to a control implementation that satisfies a responsibility imposed by a leveraged system. Responsibility UUID: A machine-oriented identifier reference to a control implementation that satisfies a responsibility imposed by a leveraged system. @@ -1523,40 +1411,38 @@ + type="oscal-metadata-responsible-role-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Component Universally Unique Identifier Reference - A machine-oriented identifier reference to the component that is implemeting a given control. + A machine-oriented identifier reference to the component that is implemeting a given control. Component Universally Unique Identifier Reference: A machine-oriented identifier reference to the component that is implemeting a given control. - + By-Component Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this by-component entry elsewhere in this or other OSCAL instances. The locally defined UUID of the by-component entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this by-component entry elsewhere in this or other OSCAL instances. The locally defined UUID of the by-component entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. By-Component Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this by-component entry elsewhere in this or other OSCAL instances. The locally defined UUID of the by-component entry can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -1566,11 +1452,11 @@ - Publication metadata - Provides information about the publication and availability of the containing document. + Document Metadata + Provides information about the containing document, and defines concepts that are shared across the document. - Publication metadata: Provides information about the publication and availability of the containing document. + Document Metadata: Provides information about the containing document, and defines concepts that are shared across the document. @@ -1584,499 +1470,493 @@ Document Title: A name given to the document, which may be used by a tool for display and navigation. - + + type="oscal-metadata-published-FIELD" + minOccurs="0" + maxOccurs="1"/> + type="oscal-metadata-last-modified-FIELD" + minOccurs="1" + maxOccurs="1"/> + type="oscal-metadata-version-FIELD" + minOccurs="1" + maxOccurs="1"/> + type="oscal-metadata-oscal-version-FIELD" + minOccurs="1" + maxOccurs="1"/> - - - - - - - - - - - - - - - Remarks - Additional commentary on the containing object. + revisions + A group of 'revision' elements - Remarks: Additional commentary on the containing object. + revisions: A group of 'revision' elements - - - - - - - - - Revision History Entry - An entry in a sequential list of revisions to the containing document in reverse chronological order (i.e., most recent previous revision first). - - - Revision History Entry: An entry in a sequential list of revisions to the containing document in reverse chronological order (i.e., most recent previous revision first). - - - - - - - Document Title - A name given to the document revision, which may be used by a tool for display and navigation. - - - Document Title: A name given to the document revision, which may be used by a tool for display and navigation. - - - - + + + + + + Revision History Entry + An entry in a sequential list of revisions to the containing document, expected to be in reverse chronological order (i.e. latest first). + + + Revision History Entry: An entry in a sequential list of revisions to the containing document, expected to be in reverse chronological order (i.e. latest first). + + + + + + + Document Title + A name given to the document revision, which may be used by a tool for display and navigation. + + + Document Title: A name given to the document revision, which may be used by a tool for display and navigation. + + + + + + + + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + - - - - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - - - - Remarks - Additional commentary on the containing object. - - - Remarks: Additional commentary on the containing object. - + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + - - - - - - - - - Location - A location, with associated metadata that can be referenced. - - - Location: A location, with associated metadata that can be referenced. - - - - - Location Title - A name given to the location, which may be used by a tool for display and navigation. + Role + Defines a function, which might be assigned to a party in a specific situation. - Location Title: A name given to the location, which may be used by a tool for display and navigation. + Role: Defines a function, which might be assigned to a party in a specific situation. - - - + + + + + + Role Title + A name given to the role, which may be used by a tool for display and navigation. + + + Role Title: A name given to the role, which may be used by a tool for display and navigation. + + + + + + + + + + + Role Short Name + A short common name, abbreviation, or acronym for the role. + + + Role Short Name: A short common name, abbreviation, or acronym for the role. + + + + + + + + + Role Description + A summary of the role's purpose and associated responsibilities. + + + Role Description: A summary of the role's purpose and associated responsibilities. + + + + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Role Identifier + A unique identifier for the role. + + + Role Identifier: A unique identifier for the role. + + - - - - - - - - Location URL - The uniform resource locator (URL) for a web site or Internet presence associated with the location. - - - Location URL: The uniform resource locator (URL) for a web site or Internet presence associated with the location. - - - - - - - - - - Remarks - Additional commentary on the containing object. - - - Remarks: Additional commentary on the containing object. - + - - - - - - - - Location Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined location elsewhere in this or other OSCAL instances. The locally defined UUID of the location can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - Location Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined location elsewhere in this or other OSCAL instances. The locally defined UUID of the location can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - - - - - Location Reference - A machine-oriented identifier reference to a location defined in the metadata section of this or another OSCAL instance. The UUID of the location in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). - - - Location Reference: A machine-oriented identifier reference to a location defined in the metadata section of this or another OSCAL instance. The UUID of the location in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). - - - - - - - Party (organization or person) - A responsible entity which is either a person or an organization. - - - Party (organization or person): A responsible entity which is either a person or an organization. - - - - - Party Name - The full name of the party. This is typically the legal name associated with the party. + Location + A physical point of presence, which may be associated with people, organizations, or other concepts within the current or linked OSCAL document. - Party Name: The full name of the party. This is typically the legal name associated with the party. + Location: A physical point of presence, which may be associated with people, organizations, or other concepts within the current or linked OSCAL document. - - - - - - - - Party Short Name - A short common name, abbreviation, or acronym for the party. - - - Party Short Name: A short common name, abbreviation, or acronym for the party. - - - + + + + + + Location Title + A name given to the location, which may be used by a tool for display and navigation. + + + Location Title: A name given to the location, which may be used by a tool for display and navigation. + + + + + + + + + + + + + + Location URL + The uniform resource locator (URL) for a web site or other resource associated with the location. + + + Location URL: The uniform resource locator (URL) for a web site or other resource associated with the location. + + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Location Universally Unique Identifier + A unique ID for the location, for reference. + + + Location Universally Unique Identifier: A unique ID for the location, for reference. + + + - + - Party External Identifier - An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID) + Party + An organization or person, which may be associated with roles or other concepts within the current or linked OSCAL document. - Party External Identifier: An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID) + Party: An organization or person, which may be associated with roles or other concepts within the current or linked OSCAL document. - - - + + + + + + Party Name + The full name of the party. This is typically the legal name associated with the party. + + + Party Name: The full name of the party. This is typically the legal name associated with the party. + + + + + + + + + Party Short Name + A short common name, abbreviation, or acronym for the party. + + + Party Short Name: A short common name, abbreviation, or acronym for the party. + + + + + + + + + Party External Identifier + An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID). + + + Party External Identifier: An identifier for a person or organization using a designated scheme. e.g. an Open Researcher and Contributor ID (ORCID). + + + + + + + External Identifier Schema + Indicates the type of external identifier. + + + External Identifier Schema: Indicates the type of external identifier. + + + + + + + + + + + + + + + + - External Identifier Schema - Indicates the type of external identifier. + Organizational Affiliation + A reference to another party by UUID, typically an organization, that this subject is associated with. - External Identifier Schema: Indicates the type of external identifier. + Organizational Affiliation: A reference to another party by UUID, typically an organization, that this subject is associated with. - - - + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Party Universally Unique Identifier + A unique identifier for the party. + + + Party Universally Unique Identifier: A unique identifier for the party. + + + + + + Party Type + A category describing the kind of party the object describes. + + + Party Type: A category describing the kind of party the object describes. + + - - - - - - - - - - - - - Organizational Affiliation - A machine-oriented identifier reference to another party (person or organization) that this subject is associated with. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). - - - Organizational Affiliation: A machine-oriented identifier reference to another party (person or organization) that this subject is associated with. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). - - - - + + Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - - - - Party Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined party elsewhere in this or other OSCAL instances. The locally defined UUID of the party can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - Party Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined party elsewhere in this or other OSCAL instances. The locally defined UUID of the party can be used to reference the data item locally or globally (e.g., from an importing OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - - - - Party Type - A category describing the kind of party the object describes. - - - Party Type: A category describing the kind of party the object describes. - - - + - Party Reference - A machine-oriented identifier reference to another party defined in metadata. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). + Location Universally Unique Identifier Reference + Reference to a location by UUID. - Party Reference: A machine-oriented identifier reference to another party defined in metadata. The UUID of the party in the source OSCAL instance is sufficient to reference the data item locally or globally (e.g., in an imported OSCAL instance). + Location Universally Unique Identifier Reference: Reference to a location by UUID. - + - + - Role - Defines a function assumed or expected to be assumed by a party in a specific situation. + Party Universally Unique Identifier Reference + Reference to a party by UUID. - Role: Defines a function assumed or expected to be assumed by a party in a specific situation. + Party Universally Unique Identifier Reference: Reference to a party by UUID. - - - - - - Role Title - A name given to the role, which may be used by a tool for display and navigation. - - - Role Title: A name given to the role, which may be used by a tool for display and navigation. - - - - - - - - - - - Role Short Name - A short common name, abbreviation, or acronym for the role. - - - Role Short Name: A short common name, abbreviation, or acronym for the role. - - - - - - - - - Role Description - A summary of the role's purpose and associated responsibilities. - - - Role Description: A summary of the role's purpose and associated responsibilities. - - - - - - - - - - - - Remarks - Additional commentary on the containing object. - - - Remarks: Additional commentary on the containing object. - - - - - - - - - - Role Identifier - A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined role elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, the locally defined ID of the Role from the imported OSCAL instance must be referenced in the context of the containing resource (e.g., import, import-component-definition, import-profile, import-ssp or import-ap). This ID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - Role Identifier: A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined role elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, the locally defined ID of the Role from the imported OSCAL instance must be referenced in the context of the containing resource (e.g., import, import-component-definition, import-profile, import-ssp or import-ap). This ID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - - - + + Role Identifier Reference - A human-oriented identifier reference to roles served by the user. + Reference to a role by UUID. - Role Identifier Reference: A human-oriented identifier reference to roles served by the user. + Role Identifier Reference: Reference to a role by UUID. - + Back matter - A collection of resources, which may be included directly or by reference. + A collection of resources that may be referenced from within the OSCAL document instance. - Back matter: A collection of resources, which may be included directly or by reference. + Back matter: A collection of resources that may be referenced from within the OSCAL document instance. @@ -2084,10 +1964,10 @@ Resource - A resource associated with content in the containing document. A resource may be directly included in the document base64 encoded or may point to one or more equivalent internet resources. + A resource associated with content in the containing document instance. A resource may be directly included in the document using base64 encoding or may point to one or more equivalent internet resources. - Resource: A resource associated with content in the containing document. A resource may be directly included in the document base64 encoded or may point to one or more equivalent internet resources. + Resource: A resource associated with content in the containing document instance. A resource may be directly included in the document using base64 encoding or may point to one or more equivalent internet resources. @@ -2095,13 +1975,13 @@ Resource Title - A name given to the resource, which may be used by a tool for display and navigation. + An optional name given to the resource, which may be used by a tool for display and navigation. - Resource Title: A name given to the resource, which may be used by a tool for display and navigation. + Resource Title: An optional name given to the resource, which may be used by a tool for display and navigation. - + @@ -2110,33 +1990,33 @@ Resource Description - A short summary of the resource used to indicate the purpose of the resource. + An optional short summary of the resource used to indicate the purpose of the resource. - Resource Description: A short summary of the resource used to indicate the purpose of the resource. + Resource Description: An optional short summary of the resource used to indicate the purpose of the resource. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-document-id-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> Citation - A citation consisting of end note text and optional structured bibliographic data. + An optional citation consisting of end note text using structured markup. - Citation: A citation consisting of end note text and optional structured bibliographic data. + Citation: An optional citation consisting of end note text using structured markup. @@ -2150,18 +2030,18 @@ Citation Text: A line of citation text. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -2170,35 +2050,35 @@ Resource link - A pointer to an external resource with an optional hash for verification and change detection. + A URL-based pointer to an external resource with an optional hash for verification and change detection. - Resource link: A pointer to an external resource with an optional hash for verification and change detection. + Resource link: A URL-based pointer to an external resource with an optional hash for verification and change detection. + type="oscal-metadata-hash-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> - + Hypertext Reference - A resolvable URI reference to a resource. + A resolvable URL pointing to the referenced resource. - Hypertext Reference: A resolvable URI reference to a resource. + Hypertext Reference: A resolvable URL pointing to the referenced resource. - + Media Type - Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + A label that indicates the nature of a resource, as a data serialization or format. - Media Type: Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + Media Type: A label that indicates the nature of a resource, as a data serialization or format. @@ -2208,31 +2088,31 @@ Base64 - The Base64 alphabet in RFC 2045 - aligned with XSD. + A resource encoded using the Base64 alphabet defined by RFC 2045. - Base64: The Base64 alphabet in RFC 2045 - aligned with XSD. + Base64: A resource encoded using the Base64 alphabet defined by RFC 2045. - - + + File Name - Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded. + Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded. File Name: Name of the file before it was encoded as Base64 to be embedded in a resource. This is the name that will be assigned to the file when the file is decoded. - + Media Type - Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + A label that indicates the nature of a resource, as a data serialization or format. - Media Type: Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + Media Type: A label that indicates the nature of a resource, as a data serialization or format. @@ -2243,26 +2123,24 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Resource Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined resource elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A unique identifier for a resource. - Resource Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined resource elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Resource Universally Unique Identifier: A unique identifier for a resource. @@ -2273,49 +2151,47 @@ Property - An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values. + An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. - Property: An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values. + Property: An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Property Name - A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object. + A textual label, within a namespace, that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object. - Property Name: A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object. + Property Name: A textual label, within a namespace, that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object. - + Property Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A unique identifier for a property. - Property Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this defined property elsewhere in this or other OSCAL instances. This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Property Universally Unique Identifier: A unique identifier for a property. - + Property Namespace @@ -2325,7 +2201,7 @@ Property Namespace: A namespace qualifying the property's name. This allows different organizations to associate distinct semantics with the same name. - + Property Value @@ -2335,14 +2211,24 @@ Property Value: Indicates the value of the attribute, characteristic, or quality. - + Property Class - A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns. + A textual label that provides a sub-type or characterization of the property's name. + + + Property Class: A textual label that provides a sub-type or characterization of the property's name. + + + + + + Property Group + An identifier for relating distinct sets of properties. - Property Class: A textual label that provides a sub-type or characterization of the property's name. This can be used to further distinguish or discriminate between the semantics of multiple properties of the same object with the same name and ns. + Property Group: An identifier for relating distinct sets of properties. @@ -2350,10 +2236,10 @@ Link - A reference to a local or remote resource + A reference to a local or remote resource, that has a specific relation to the containing object. - Link: A reference to a local or remote resource + Link: A reference to a local or remote resource, that has a specific relation to the containing object. @@ -2367,12 +2253,12 @@ Link Text: A textual label to associate with the link, which may be used for presentation in a tool. - + - + Hypertext Reference @@ -2382,24 +2268,34 @@ Hypertext Reference: A resolvable URL reference to a resource. - + - Relation - Describes the type of relationship provided by the link. This can be an indicator of the link's purpose. + Link Relation Type + Describes the type of relationship provided by the link's hypertext reference. This can be an indicator of the link's purpose. - Relation: Describes the type of relationship provided by the link. This can be an indicator of the link's purpose. + Link Relation Type: Describes the type of relationship provided by the link's hypertext reference. This can be an indicator of the link's purpose. - + Media Type - Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + A label that indicates the nature of a resource, as a data serialization or format. + + + Media Type: A label that indicates the nature of a resource, as a data serialization or format. + + + + + + Resource Fragment + In case where the href points to a back-matter/resource, this value will indicate the URI fragment to append to any rlink associated with the resource. This value MUST be URI encoded. - Media Type: Specifies a media type as defined by the Internet Assigned Numbers Authority (IANA) Media Types Registry. + Resource Fragment: In case where the href points to a back-matter/resource, this value will indicate the URI fragment to append to any rlink associated with the resource. This value MUST be URI encoded. @@ -2407,48 +2303,123 @@ Responsible Party - A reference to a set of organizations or persons that have responsibility for performing a referenced role in the context of the containing object. + A reference to a set of persons and/or organizations that have responsibility for performing the referenced role in the context of the containing object. - Responsible Party: A reference to a set of organizations or persons that have responsibility for performing a referenced role in the context of the containing object. + Responsible Party: A reference to a set of persons and/or organizations that have responsibility for performing the referenced role in the context of the containing object. + type="oscal-metadata-party-uuid-FIELD" + minOccurs="1" + maxOccurs="unbounded"/> + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Responsible Role - A human-oriented identifier reference to roles served by the user. + A reference to a role performed by a party. + + + Responsible Role: A reference to a role performed by a party. + + + + + + + Action + An action applied by a role within a given party to the content. + + + Action: An action applied by a role within a given party to the content. + + + + + + + + + Remarks + Additional commentary about the containing object. + + + Remarks: Additional commentary about the containing object. + + + + + + + + + + Action Universally Unique Identifier + A unique identifier that can be used to reference this defined action elsewhere in an OSCAL document. A UUID should be consistently used for a given location across revisions of the document. + + + Action Universally Unique Identifier: A unique identifier that can be used to reference this defined action elsewhere in an OSCAL document. A UUID should be consistently used for a given location across revisions of the document. + + + + + + Action Occurrence Date + The date and time when the action occurred. + + + Action Occurrence Date: The date and time when the action occurred. + + + + + + Action Type + The type of action documented by the assembly, such as an approval. + + + Action Type: The type of action documented by the assembly, such as an approval. + + + + + + Action Type System + Specifies the action type system used. - Responsible Role: A human-oriented identifier reference to roles served by the user. + Action Type System: Specifies the action type system used. @@ -2456,48 +2427,46 @@ Responsible Role - A reference to one or more roles with responsibility for performing a function relative to the containing object. + A reference to a role with responsibility for performing a function relative to the containing object, optionally associated with a set of persons and/or organizations that perform that role. - Responsible Role: A reference to one or more roles with responsibility for performing a function relative to the containing object. + Responsible Role: A reference to a role with responsibility for performing a function relative to the containing object, optionally associated with a set of persons and/or organizations that perform that role. + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-party-uuid-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Responsible Role ID - A human-oriented identifier reference to roles responsible for the business function. + A human-oriented identifier reference to a role performed. - Responsible Role ID: A human-oriented identifier reference to roles responsible for the business function. + Responsible Role ID: A human-oriented identifier reference to a role performed. @@ -2511,15 +2480,15 @@ Hash: A representation of a cryptographic digest generated over a resource using a specified hash algorithm. - - + + Hash algorithm - Method by which a hash is derived + The digest method by which a hash is derived. - Hash algorithm: Method by which a hash is derived + Hash algorithm: The digest method by which a hash is derived. @@ -2529,82 +2498,82 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + Publication Timestamp - The date and time the document was published. The date-time value must be formatted according to RFC 3339 with full time and time zone included. + The date and time the document was last made available. - Publication Timestamp: The date and time the document was published. The date-time value must be formatted according to RFC 3339 with full time and time zone included. + Publication Timestamp: The date and time the document was last made available. - + Last Modified Timestamp - The date and time the document was last modified. The date-time value must be formatted according to RFC 3339 with full time and time zone included. + The date and time the document was last stored for later retrieval. - Last Modified Timestamp: The date and time the document was last modified. The date-time value must be formatted according to RFC 3339 with full time and time zone included. + Last Modified Timestamp: The date and time the document was last stored for later retrieval. - + Document Version - A string used to distinguish the current version of the document from other previous (and future) versions. + Used to distinguish a specific revision of an OSCAL document from other previous and future versions. - Document Version: A string used to distinguish the current version of the document from other previous (and future) versions. + Document Version: Used to distinguish a specific revision of an OSCAL document from other previous and future versions. - + - OSCAL version - The OSCAL model version the document was authored against. + OSCAL Version + The OSCAL model version the document was authored against and will conform to as valid. - OSCAL version: The OSCAL model version the document was authored against. + OSCAL Version: The OSCAL model version the document was authored against and will conform to as valid. - + Email Address - An email address as defined by RFC 5322 Section 3.4.1. + An email address as defined by RFC 5322 Section 3.4.1. - Email Address: An email address as defined by RFC 5322 Section 3.4.1. + Email Address: An email address as defined by RFC 5322 Section 3.4.1. - + Telephone Number - Contact number by telephone. + A telephone service number as defined by ITU-T E.164. - Telephone Number: Contact number by telephone. + Telephone Number: A telephone service number as defined by ITU-T E.164. - - + + type flag @@ -2628,9 +2597,9 @@ + type="oscal-metadata-addr-line-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> @@ -2641,7 +2610,7 @@ City: City, town or geographical region for the mailing address. - + @@ -2649,12 +2618,12 @@ State - State, province or analogous geographical region for mailing address + State, province or analogous geographical region for a mailing address. - State: State, province or analogous geographical region for mailing address + State: State, province or analogous geographical region for a mailing address. - + @@ -2662,12 +2631,12 @@ Postal Code - Postal or ZIP code for mailing address + Postal or ZIP code for mailing address. - Postal Code: Postal or ZIP code for mailing address + Postal Code: Postal or ZIP code for mailing address. - + @@ -2680,11 +2649,11 @@ Country Code: The ISO 3166-1 alpha-2 country code for the mailing address. - + - + Address Type @@ -2704,27 +2673,27 @@ Address line: A single line of an address. - + Document Identifier - A document identifier qualified by an identifier scheme. A document identifier provides a globally unique identifier with a cross-instance scope that is used for a group of documents that are to be treated as different versions of the same document. If this element does not appear, or if the value of this element is empty, the value of "document-id" is equal to the value of the "uuid" flag of the top-level root element. + A document identifier qualified by an identifier scheme. - Document Identifier: A document identifier qualified by an identifier scheme. A document identifier provides a globally unique identifier with a cross-instance scope that is used for a group of documents that are to be treated as different versions of the same document. If this element does not appear, or if the value of this element is empty, the value of "document-id" is equal to the value of the "uuid" flag of the top-level root element. + Document Identifier: A document identifier qualified by an identifier scheme. - - + + Document Identification Scheme - Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters. + Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters. - Document Identification Scheme: Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters. + Document Identification Scheme: Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters. @@ -2751,7 +2720,7 @@ Component Title: A human readable name for the system component. - + @@ -2766,7 +2735,7 @@ Component Description: A description of the component, including information about its function. - + @@ -2781,18 +2750,18 @@ Purpose: A summary of the technological or business purpose of the component. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -2808,19 +2777,17 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + State @@ -2833,40 +2800,38 @@ + type="oscal-metadata-responsible-role-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-implementation-common-protocol-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Component Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component elsewhere in this or other OSCAL instances. The locally defined UUID of the component can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component elsewhere in this or other OSCAL instances. The locally defined UUID of the component can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Component Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this component elsewhere in this or other OSCAL instances. The locally defined UUID of the component can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - + Component Type @@ -2898,30 +2863,30 @@ Protocol Title: A human readable name for the protocol (e.g., Transport Layer Security). - + + type="oscal-implementation-common-port-range-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - + Service Protocol Information Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this service protocol information elsewhere in this or other OSCAL instances. The locally defined UUID of the service protocol can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this service protocol information elsewhere in this or other OSCAL instances. The locally defined UUID of the service protocol can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Service Protocol Information Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this service protocol information elsewhere in this or other OSCAL instances. The locally defined UUID of the service protocol can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. - + Protocol Name - The common name of the protocol, which should be the appropriate "service name" from the IANA Service Name and Transport Protocol Port Number Registry. + The common name of the protocol, which should be the appropriate "service name" from the IANA Service Name and Transport Protocol Port Number Registry. Protocol Name: The common name of the protocol, which should be the appropriate "service name" from the IANA Service Name and Transport Protocol Port Number Registry. @@ -2937,7 +2902,7 @@ Port Range: Where applicable this is the IPv4 port range on which the service operates. - + Start @@ -2947,7 +2912,7 @@ Start: Indicates the starting port number in a port range - + End @@ -2957,7 +2922,7 @@ End: Indicates the ending port number in a port range - + Transport @@ -2982,19 +2947,17 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Implementation State @@ -3026,7 +2989,7 @@ User Title: A name given to the user, which may be used by a tool for display and navigation. - + @@ -3040,7 +3003,7 @@ User Short Name: A short common name, abbreviation, or acronym for the user. - + @@ -3054,47 +3017,45 @@ User Description: A summary of the user's purpose within the system. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-role-id-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-implementation-common-authorized-privilege-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + User Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this user class elsewhere in this or other OSCAL instances. The locally defined UUID of the system user can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this user class elsewhere in this or other OSCAL instances. The locally defined UUID of the system user can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. User Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this user class elsewhere in this or other OSCAL instances. The locally defined UUID of the system user can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -3122,7 +3083,7 @@ Privilege Title: A human readable name for the privilege. - + @@ -3137,14 +3098,14 @@ Privilege Description: A summary of the privilege's purpose within the system. - + + type="oscal-implementation-common-function-performed-FIELD" + minOccurs="1" + maxOccurs="unbounded"/> @@ -3156,7 +3117,7 @@ Functions Performed: Describes a function performed for a given authorized privilege by this user class. - + @@ -3179,22 +3140,22 @@ Inventory Item Description: A summary of the inventory item stating its purpose within the system. - + + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-party-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> @@ -3207,38 +3168,36 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-responsible-party-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Component Universally Unique Identifier Reference - A machine-oriented identifier reference to a component that is implemented as part of an inventory item. + A machine-oriented identifier reference to a component that is implemented as part of an inventory item. Component Universally Unique Identifier Reference: A machine-oriented identifier reference to a component that is implemented as part of an inventory item. @@ -3250,23 +3209,21 @@ Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Inventory Item Universally Unique Identifier - A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inventory item elsewhere in this or other OSCAL instances. The locally defined UUID of the inventory item can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inventory item elsewhere in this or other OSCAL instances. The locally defined UUID of the inventory item can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. Inventory Item Universally Unique Identifier: A machine-oriented, globally unique identifier with cross-instance scope that can be used to reference this inventory item elsewhere in this or other OSCAL instances. The locally defined UUID of the inventory item can be used to reference the data item locally or globally (e.g., in an imported OSCAL instance). This UUID should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. @@ -3293,30 +3250,28 @@ Parameter Value: A parameter value or set of values. - + Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Parameter ID - A human-oriented reference to a parameter within a control, who's catalog has been imported into the current implementation context. + A human-oriented reference to a parameter within a control, who's catalog has been imported into the current implementation context. Parameter ID: A human-oriented reference to a parameter within a control, who's catalog has been imported into the current implementation context. @@ -3327,14 +3282,14 @@ System Identification - A human-oriented, globally unique identifier with cross-instance scope that can be used to reference this system identification property elsewhere in this or other OSCAL instances. When referencing an externally defined system identification, the system identification must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). This string should be assigned per-subject, which means it should be consistently used to identify the same system across revisions of the document. + A human-oriented, globally unique identifier with cross-instance scope that can be used to reference this system identification property elsewhere in this or other OSCAL instances. When referencing an externally defined system identification, the system identification must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). This string should be assigned per-subject, which means it should be consistently used to identify the same system across revisions of the document. System Identification: A human-oriented, globally unique identifier with cross-instance scope that can be used to reference this system identification property elsewhere in this or other OSCAL instances. When referencing an externally defined system identification, the system identification must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). This string should be assigned per-subject, which means it should be consistently used to identify the same system across revisions of the document. - - + + Identification System Type @@ -3347,14 +3302,14 @@ - + Part - A partition of a control's definition or a child of another part. + An annotated, markup-based textual element of a control's or catalog group's definition, or a child of another part. - Part: A partition of a control's definition or a child of another part. + Part: An annotated, markup-based textual element of a control's or catalog group's definition, or a child of another part. @@ -3362,74 +3317,72 @@ Part Title - A name given to the part, which may be used by a tool for display and navigation. + An optional name given to the part, which may be used by a tool for display and navigation. - Part Title: A name given to the part, which may be used by a tool for display and navigation. + Part Title: An optional name given to the part, which may be used by a tool for display and navigation. - + - + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + + type="oscal-control-common-part-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> - + Part Identifier - A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined part elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A unique identifier for the part. - Part Identifier: A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined part elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Part Identifier: A unique identifier for the part. - + Part Name - A textual label that uniquely identifies the part's semantic type. + A textual label that uniquely identifies the part's semantic type, which exists in a value space qualified by the ns. - Part Name: A textual label that uniquely identifies the part's semantic type. + Part Name: A textual label that uniquely identifies the part's semantic type, which exists in a value space qualified by the ns. - + Part Namespace - A namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name. + An optional namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name. - Part Namespace: A namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name. + Part Namespace: An optional namespace qualifying the part's name. This allows different organizations to associate distinct semantics with the same name. - + Part Class - A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns. + An optional textual providing a sub-type or characterization of the part's name, or a category to which the part belongs. - Part Class: A textual label that provides a sub-type or characterization of the part's name. This can be used to further distinguish or discriminate between the semantics of multiple parts of the same control with the same name and ns. + Part Class: An optional textual providing a sub-type or characterization of the part's name, or a category to which the part belongs. - + Parameter @@ -3440,25 +3393,25 @@ + type="oscal-metadata-property-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-metadata-link-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> Parameter Label - A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned. + A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned. Parameter Label: A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned. - + @@ -3467,89 +3420,88 @@ Parameter Usage Description - Describes the purpose and use of a parameter + Describes the purpose and use of a parameter. - Parameter Usage Description: Describes the purpose and use of a parameter + Parameter Usage Description: Describes the purpose and use of a parameter. - + + type="oscal-control-common-parameter-constraint-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-parameter-guideline-ASSEMBLY" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-parameter-value-FIELD" + minOccurs="0" + maxOccurs="unbounded"/> + type="oscal-control-common-parameter-selection-ASSEMBLY" + minOccurs="0" + maxOccurs="1"/> Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + - + Parameter Identifier - A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined parameter elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + A unique identifier for the parameter. - Parameter Identifier: A human-oriented, locally unique identifier with cross-instance scope that can be used to reference this defined parameter elsewhere in this or other OSCAL instances. When referenced from another OSCAL instance, this identifier must be referenced in the context of the containing resource (e.g., import-profile). This id should be assigned per-subject, which means it should be consistently used to identify the same subject across revisions of the document. + Parameter Identifier: A unique identifier for the parameter. - + Parameter Class - A textual label that provides a characterization of the parameter. + A textual label that provides a characterization of the type, purpose, use or scope of the parameter. - Parameter Class: A textual label that provides a characterization of the parameter. + Parameter Class: A textual label that provides a characterization of the type, purpose, use or scope of the parameter. - + Depends on - **(deprecated)** Another parameter invoking this one. This construct has been deprecated and should not be used. + + (deprecated) Another parameter invoking this one. This construct has been deprecated and should not be used. - Depends on: **(deprecated)** Another parameter invoking this one. This construct has been deprecated and should not be used. + Depends on: (deprecated) Another parameter invoking this one. This construct has been deprecated and should not be used. - + Constraint - A formal or informal expression of a constraint or test + A formal or informal expression of a constraint or test. - Constraint: A formal or informal expression of a constraint or test + Constraint: A formal or informal expression of a constraint or test. @@ -3563,7 +3515,7 @@ Constraint Description: A textual summary of the constraint to be applied. - + @@ -3583,27 +3535,25 @@ Constraint test - A formal (executable) expression of a constraint + A formal (executable) expression of a constraint. - Constraint test: A formal (executable) expression of a constraint + Constraint test: A formal (executable) expression of a constraint. - + Remarks - Additional commentary on the containing object. + Additional commentary about the containing object. - Remarks: Additional commentary on the containing object. + Remarks: Additional commentary about the containing object. - + @@ -3611,7 +3561,7 @@ - + Guideline @@ -3621,12 +3571,10 @@ Guideline: A prose statement that provides a recommendation for the use of a parameter. - + - + Parameter Value @@ -3635,16 +3583,16 @@ Parameter Value: A parameter value or set of values. - + - + Selection - Presenting a choice among alternatives + Presenting a choice among alternatives. - Selection: Presenting a choice among alternatives + Selection: Presenting a choice among alternatives. @@ -3652,18 +3600,18 @@ Choice - A value selection among several such options + A value selection among several such options. - Choice: A value selection among several such options + Choice: A value selection among several such options. - + - + Parameter Cardinality @@ -3674,7 +3622,7 @@ - + Include All @@ -3684,55 +3632,33 @@ Include All: Include all controls from the imported catalog or profile resources. - - - - - + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - The content model is the same as blockElementType, but line endings need - to be preserved, since this is preformatted. - - - - - + - The content model is the same as blockElementType, but line endings need + The content model is the same as inlineMarkupType, but line endings need to be preserved, since this is preformatted. @@ -3741,34 +3667,39 @@ + type="listItemType" + minOccurs="1" + maxOccurs="unbounded"/> + - - - + + + - + - - - - + + + + + - + - - + + + + + @@ -3777,49 +3708,49 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + - + + + + + + + + + + + + + + + + + + + + + + + - + + + - - An insert can be used to identify a placeholder for dynamically inserting text related to a specific object, which is referenced by the object's identifier using an id-ref. This insert mechanism allows the selection of which text value from the object to dynamically include based on the application's display requirements. + An insert can be used to identify a placeholder for dynamically inserting text related to a specific object, which is referenced by the object's identifier using an id-ref. This insert mechanism allows the selection of which text value from the object to dynamically include based on the application's display requirements. @@ -3828,68 +3759,16 @@ - The identity of the object to insert a value for. The identity will be selected from the index of objects of the specified type. The specific value to include is based on the application's display requirements, which will likely use a specific data element associated with the type (e.g., title, identifier, value, etc.) that is appropriate for the application. + The identity of the object to insert a value for. The identity will be selected from the index of objects of the specified type. The specific value to include is based on the application's display requirements, which will likely use a specific data element associated with the type (e.g., title, identifier, value, etc.) that is appropriate for the application. - - - - - A string, but not empty and not whitespace-only (whitespace is U+9, U+10, U+32 or [ \n\t]+ ) - - - - - - The xs:dateTime with a required timezone. - - - - - - An email address - - - - - - A URI - - - - - - A URI reference, such as a relative URL - - - - - - A Type 4 ('random' or 'pseudorandom' UUID per RFC 4122 - - - - - - A string token following the rules of XML "no colon" names, with no whitespace. (XML names are single alphabetic characters - followed by alphanumeric characters, periods, underscores or dashes.) - - - A trimmed string, at least one character with no - leading or trailing whitespace. + leading or trailing whitespace. @@ -3899,32 +3778,24 @@ - - - The xs:date with a required timezone. - - - - - - + The xs:dateTime with a required timezone. - - + + An email address - + Need a better pattern. @@ -3932,40 +3803,12 @@ - - - A host name - - - - - - The ip-v4-address type specifies an IPv4 address in - dot decimal notation. - - - - - - - - The ip-v6-address type specifies an IPv6 address - represented in 8 hextets separated by colons. - This is based on the pattern provided here: - https://stackoverflow.com/questions/53497/regular-expression-that-matches-valid-ipv6-addresses - with some customizations. - - - - - - - - + + A trimmed string, at least one character with no - leading or trailing whitespace. + leading or trailing whitespace. @@ -3973,18 +3816,38 @@ A string, but not empty and not whitespace-only - (whitespace is U+9, U+10, U+32 or [ \n\t]+ ) + (whitespace is U+9, U+10, U+32 or [ \n\t]+ ) The OSCAL 'string' datatype restricts the XSD type by prohibiting leading - and trailing whitespace, and something (not only whitespace) is required. + and trailing whitespace, and something (not only whitespace) is required. A trimmed string, at least one character with no - leading or trailing whitespace. + leading or trailing whitespace. + + + + + + + + A string token following the rules of XML "no + colon" names, with no whitespace. (XML names are single alphabetic + characters followed by alphanumeric characters, periods, underscores or dashes.) + + + + + + + + A single token may not contain whitespace. + @@ -4004,13 +3867,13 @@ A URI reference, such as a relative URL - + A trimmed URI, at least one character with no - leading or trailing whitespace. + leading or trailing whitespace. @@ -4018,14 +3881,14 @@ A type 4 ('random' or 'pseudorandom') or type 5 UUID per RFC - 4122. + 4122. - + A sequence of 8-4-4-4-12 hex digits, with extra - constraints in the 13th and 17-18th places for version 4 and 5 - + constraints in the 13th and 17-18th places for version 4 and 5 +