References: Advanced Statement Structure — Voiding, Sub-Statements, Extensions, and Attachments¶
-
MIME (Multipurpose Internet Mail Extensions) - Wikipedia - Background on the multipart/mixed envelope xAPI uses when statements carry binary attachments. Explains content types, boundaries, and the SHA-2 hashing model.
-
Universally Unique Identifier - Wikipedia - Covers UUID versions and generation rules; the xAPI spec mandates UUIDs for statement IDs and registrations, and clients must generate them client-side without coordination.
-
SHA-2 - Wikipedia - The cryptographic hash family xAPI uses to bind attachments to their statements via
sha2. Helpful for understanding why the hash is required and how to compute it. -
Designing Data-Intensive Applications - Martin Kleppmann - O'Reilly Media - The chapter on transaction processing and event ordering grounds why voiding (rather than deletion) is the right design for an append-only learning ledger.
-
RESTful Web APIs - Leonard Richardson, Mike Amundsen, Sam Ruby - O'Reilly Media - Discussion of resource versioning and "compensating events" gives xAPI's voiding pattern a much wider engineering context than the spec alone.
-
xAPI Spec — Voiding Statements - ADL Initiative - The specification's authoritative description of the voiding verb, statement references, and the rules governing what can and cannot be voided. The source of truth for this chapter.
-
xAPI Spec — Attachments - ADL Initiative - Detailed rules for the attachments object, the multipart envelope, content types, and the canonical
sha2validation requirement. -
xAPI Profile Specification - ADL Initiative - Defines Statement Templates and Patterns — the reusable structures that turn ad-hoc statements into a machine-checkable shape. Required reading before designing a custom profile.
-
xAPI.com — Sub-Statements - Rustici Software - A clear deep-dive blog post on when sub-statements are appropriate and when they are not, with realistic examples. Pairs well with this chapter's voiding/sub-statement comparison.
-
ADL Verb Vocabulary Registry - ADL / Tin Can - The community registry that includes the canonical voiding verb and other verbs that interact with advanced statement features. The lookup tool this chapter assumes you know.