References: Advanced Statement Structure — Voiding, Sub-Statements, Extensions, and Attachments¶
<<<<<<< HEAD 1. Experience API (xAPI) - Wikipedia - Sections on result, context, voiding, and extensions cover the optional statement parts this chapter focuses on, with examples of how statements gain precision when these fields are populated correctly.
-
JSON Schema - Wikipedia - Background on JSON structure, helpful for understanding how xAPI extension fields are validated and why the schema-flexibility of extensions cuts both ways.
-
Universally Unique Identifier (UUID) - Wikipedia - The format used for statement IDs and registration values, including version 4 randomness guarantees that make voiding-by-id safe.
-
xAPI: An Introduction - Megan Bowe & ADL contributors - Advanced Distributed Learning - The advanced-statement chapters cover voiding semantics, sub-statements, and the registration field with longer worked examples than the spec itself provides.
-
The xAPI Companion - Megan Bowe & Aaron Silvers - HT2 Labs - Particularly strong on context activities (parent / grouping / category / other) and the design questions that determine which bucket each context activity belongs in.
-
xAPI-Spec — Voiding and Sub-Statements - ADL Net - Authoritative description of the voided verb and the rules around what may and may not be voided, plus the sub-statement constraints that prevent statements-of-statements-of-statements.
-
xAPI Profiles Specification - ADL Net - Profiles formalize statement patterns and reusable extensions; this is the canonical reference once you move beyond ad-hoc context activities.
-
Profile Server (Reference Implementation) - ADL Net - A working profile server that publishes JSON-LD profiles at stable URLs — useful for understanding how extensions and patterns should be documented externally.
-
xAPI Statement Examples — Veracity Learning - Yet Analytics - Industry blog with practical statement-design walk-throughs covering attachments, signed statements, and complex context activities for real deployments.
10. Rustici Software xAPI Documentation - Rustici Software - Practitioner-focused documentation on extensions, attachments, and statement signing, with clear guidance on when to use each and the cost they impose on consumers.¶
-
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.
d2ecc9b (iframe updates)