2.3. Statement Lifecycle {#2-3-statement-lifecycle}
With no applicable conformance requirements in this section of the xAPI Specification, this section is intentionally blank.
2.3.1. Statement Immutability {#2-3-1-statement-immutability}
With no applicable conformance requirements in this section of the xAPI Specification, this section is intentionally blank.
2.3.2. Voiding {#2-3-2-voiding}
Definitions
- A Voided Statement is defined as a Statement that is not a Voiding Statement and is the Target of a Voiding Statement within the LRS
- A Voiding Statement is defined as a Statement whose "verb" property's "id" property's IRI ending with "voided"
- A Voiding Statement's Target is defined as the Statement corresponding to the "object" properties "id" property's UUID
Requirements
ID | Requirement |
---|---|
XAPI-00016 | A Voiding Statement cannot Target another Voiding Statement. LRS behavior this new VOIDING statement MAY be rejected. If the LRS accepts that statement, the violating VOIDING statement SHOULD be ignored. |
XAPI-00017 | An LRS rejects a Voiding Statement with 400 Bad Request if the "objectType" field does not have a value of "StatementRef" |
XAPI-00018 | An LRS MUST consider a Statement it contains voided if the Statement is not itself a voiding Statement and the LRS also contains a voiding Statement referring to the first Statement. Test: Void a statement and then send a GET for that statement which uses “statementId” instead of “voidedStatementId.” The statement should then not be returned in the GET request, which should return a 404. |
XAPI-00019 | A Voiding Statement is defined as a Statement whose "verb" property's "id" property's IRI ending with "voided" |
XAPI-00020 | A Voiding Statement's "objectType" field has a value of "StatementRef" |