IMS Public Candidate Final Release

IMS Global Logo

IMS Question and Test Interoperability (QTI): Assessment, Section and Item Information Model Version 3.0

IMS Public Candidate Final Release
Version 1.0

Date Issued: 14th September, 2020
Latest version: http://www.imsglobal.org/qti/

IPR and Distribution Notices

Recipients of this document are requested to submit, with their comments, notification of any relevant patent claims or other intellectual property rights of which they may be aware that might be infringed by any implementation of the specification set forth in this document, and to provide supporting documentation.

IMS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on IMS's procedures with respect to rights in IMS specifications can be found at the IMS Intellectual Property Rights web page: http://www.imsglobal.org/ipr/imsipr_policyFinal.pdf.

Copyright © 2020 IMS Global Learning Consortium. All Rights Reserved.

Use of this specification to develop products or services is governed by the license with IMS found on the IMS website: http://www.imsglobal.org/speclicense.html.

Permission is granted to all parties to use excerpts from this document as needed in producing requests for proposals.

The limited permissions granted above are perpetual and will not be revoked by IMS or its successors or assigns.

THIS SPECIFICATION IS BEING OFFERED WITHOUT ANY WARRANTY WHATSOEVER, AND IN PARTICULAR, ANY WARRANTY OF NONINFRINGEMENT IS EXPRESSLY DISCLAIMED. ANY USE OF THIS SPECIFICATION SHALL BE MADE ENTIRELY AT THE IMPLEMENTER'S OWN RISK, AND NEITHER THE CONSORTIUM, NOR ANY OF ITS MEMBERS OR SUBMITTERS, SHALL HAVE ANY LIABILITY WHATSOEVER TO ANY IMPLEMENTER OR THIRD PARTY FOR ANY DAMAGES OF ANY NATURE WHATSOEVER, DIRECTLY OR INDIRECTLY, ARISING FROM THE USE OF THIS SPECIFICATION.

Public contributions, comments and questions can be posted here: www.imsglobal.org/forums/ims-glc-public-forums-and-resources.

Trademark information: http://www.imsglobal.org/copyright.html

Document Name: IMS Question and Test Interoperability (QTI): Assessment, Section and Item Information Model v3.0

Revision: 14th September, 2020

toc | top

Abstract

This document is the core part of the IMS Global Question and Test Interoperability (QTI) v3.0 specification. This document describes the information model for items, sections and whole tests used in assessment. Formally these are known as the Assessment, Section and Item (ASI) features.

The IMS QTI specification describes a data model for the representation of question (qti-assessment-item) and test (qti-assessment-test) data and their corresponding results reports. Therefore, the specification enables the exchange of this item, test and results data between authoring tools, item banks, test constructional tools, learning systems and assessment delivery systems. The data model is described abstractly, using the Unified Modeling Language (UML) to facilitate binding to a wide range of data-modelling tools and programming languages. For interchange between systems a binding is provided to the industry standard eXtensible Markup Language (XML) [QTI, 20a] and use of this binding is required for certification. The IMS QTI specification has been designed to support both interoperability and innovation through the provision of well-defined extension points. These extension points can be used to wrap specialized or proprietary data in ways that allows it to be used alongside items that can be represented directly.

toc | top

Table of Contents

Abstract

1. Introduction

1.1 Scope and Context

1.2 Changes in QTI 3.0

1.3 Conventions

1.4 Structure of this Document

1.5 Nomenclature and Definitions

2. Key Data Model Features

2.1 The Structure of the Data Model

2.1.1 Assessments, Sections and Items

2.1.2 Metadata

2.1.3 Usage Data

2.1.4 Results Reporting

2.2 Items

2.2.1 The Item Session Lifecycle

2.2.2 Item Variables

2.2.2.1 Context Variable

2.2.2.2 Response Variable

2.2.2.3 Outcomes Variable

2.3 The Content Model

2.3.1 Basic Classes

2.3.2 XHTML Elements

2.3.2.1 Text Elements

2.3.2.2 List Elements

2.3.2.3 Object Elements

2.3.2.4 Presentation Elements

2.3.2.5 Table Elements

2.3.2.6 Image Elements

2.3.2.7 Hypertext Element

2.3.2.8 HTML5 Elements

2.3.3 MathML

2.3.4 Variable Content

2.3.5 Formatting Items with Stylesheets

2.3.6 Accessibility

2.3.7 Internationalization

2.4 Interactions

2.4.1 Simple Interactions

2.4.1.1 Choice Interaction

2.4.1.2 Order Interaction

2.4.1.3 Associate Interaction

2.4.1.4 Match Interaction

2.4.1.5 Gap Match Interaction

2.4.2 Text-based Interactions

2.4.2.1 Inline Choice Interaction

2.4.2.2 Text Interaction

2.4.2.3 Extended Text Interaction

2.4.2.4 Hot Text Interaction

2.4.3 Graphical Interactions

2.4.3.1 Hotspot Interaction

2.4.3.2 Graphic Order Interaction

2.4.3.3 Graphic Associate Interaction

2.4.3.4 Graphic Gap Match Interaction

2.4.3.5 Select Point Interaction

2.4.3.6 Position Object Interaction

2.4.4 Miscellaneous Interactions

2.4.4.1 Slider Interaction

2.4.4.2 Media Interaction

2.4.4.3 Drawing Interaction

2.4.4.4 Upload Interaction

2.4.4.5 Custom Interaction

2.4.4.6 Portable Custiom Interaction (PCI)

2.4.5 Alternative Ways to End an Attempt

2.5 Response Processing

2.5.1 Response Processing Templates

2.5.2 Generalized Response Resprocessing

2.6 Modal Feedback

2.7 Item Templates

2.7.1 Using Template Variables in an Item's Body

2.7.2 Using Template Variables in Operator Attributes Values

2.7.3 Template Processing

2.8 Tests, Testparts and Sections

2.8.1 The Structure of a Test

2.8.2 Navigation and Submission

2.8.3 Pre-conditions and Branching

2.8.3.1 Pre-conditions

2.8.3.2 Branching

2.8.4 Adaptive Sequencing using IMS CAT

2.8.5 Time Limits

2.8.6 Rubric Blocks

2.9 Outcome Processing

2.10 Test-level Feedback

2.11 Expressions

2.11.1 Builtin General Expressions

2.11.1.1 BaseValue Expression

2.11.1.2 Variable Expression

2.11.1.3 Default Expression

2.11.1.4 Correct Expression

2.11.1.5 Map Response Exprssion

2.11.1.6 Map Response Point Expression

2.11.1.7 Math Constant Expression

2.11.2 Expressions Used only in Outcomes Processing

2.11.2.1 Number Correct Expression

2.11.2.2 Number Incorrect Expression

2.11.2.3 Number Presented Expression

2.11.2.4 Number Responded Expresson

2.11.2.5 Number Selected Expression

2.11.2.6 Outcome Minimum Expression

2.11.2.7 Outcome Maximum Expression

2.11.2.8 Test Variables Expression

2.11.3 Operators

2.11.3.1 AnyN Expression

2.11.3.2 Custom Operator Expression

2.11.3.3 Equal Expression

2.11.3.4 Equal Rounded Expression

2.11.3.5 Field Value Expression

2.11.3.6 Index Expression

2.11.3.7 Inside Expression

2.11.3.8 Multiple Expression

2.11.3.9 Ordered Expression

2.11.3.10 And Expression

2.11.3.11 GCD Expression

2.11.3.12 LCM Expression

2.11.3.13 Min Expression

2.11.3.14 Max Expression

2.11.3.15 Or Expression

2.11.3.16 Product Expression

2.11.3.17 Contains Expression

2.11.3.18 Delete Expression

2.11.3.19 Divide Expression

2.11.3.20 Duration Expression

2.11.3.21 Duration LT Expression

2.11.3.22 GT Expression

2.11.3.23 GTE Expression

2.11.3.24 Integer Divide Expression

2.11.3.25 Integer Modulus Expression

2.11.3.26 LT Expression

2.11.3.27 LTE Expression

2.11.3.28 Match Expression

2.11.3.29 Member Expression

2.11.3.30 Power Expression

2.11.3.31 Subtract Expression

2.11.3.32 ContainerSize Expression

2.11.3.33 Integer to Float Expression

2.11.3.34 IsNull Expression

2.11.3.35 Not Expression

2.11.3.36 Random Expression

2.11.3.37 Round Expression

2.11.3.38 Truncate Expression

2.11.3.39 Math Operator Expression

2.11.3.40 Sum Expression

2.11.3.41 Pattern Match Expression

2.11.3.42 Repeat Expression

2.11.3.43 RoundTo Expression

2.11.3.44 Stats Operator Expression

2.11.3.45 String Match Expression

2.11.3.46 Substring Expression

2.12 Items and Test Fragments

2.13 The Accessibility Features

2.13.1 Alternative Accessibility Content Functionality

2.13.2 Support for Speech Synthesis Markup Language

2.13.3 Support for WAI-ARIA

2.14 The Internationalization Features

2.14.1 Support for Bidirectional Text

2.14.2 Support for Ruby

2.14.3 Support for Alternative Languages

3. Root Attribute Descriptions

3.1 "qti-assessment-item" Root Attribute Description

3.2 "qti-assessment-section" Root Attribute Description

3.3 "qti-assessment-stimulus" Root Attribute Description

3.4 "qti-assessment-test" Root Attribute Description

3.5 "qti-outcome-declaration" Root Attribute Description

3.6 "qti-response-processing" Root Attribute Description

4. Root Class Descriptions

4.1 "AssessmentItem" Root Class Description

4.1.1 "identifier" Characteristic Description

4.1.2 "title" Characteristic Description

4.1.3 "label" Characteristic Description

4.1.4 "language" Characteristic Description

4.1.5 "tool-name" Characteristic Description

4.1.6 "tool-version" Characteristic Description

4.1.7 "adaptive" Characteristic Description

4.1.8 "time-dependent" Characteristic Description

4.1.9 "dataExtension" Characteristic Description

4.1.10 "qti-context-declaration" Attribute Description

4.1.11 "qti-response-declaration" Attribute Description

4.1.12 "qti-outcome-declaration" Attribute Description

4.1.13 "qti-template-declaration" Attribute Description

4.1.14 "qti-template-processing" Attribute Description

4.1.15 "qti-assessment-stimulus-ref" Attribute Description

4.1.16 "qti-companion-materials-info" Attribute Description

4.1.17 "qti-stylesheet" Attribute Description

4.1.18 "qti-item-body" Attribute Description

4.1.19 "qti-catalog-info" Attribute Description

4.1.20 "qti-response-processing" Attribute Description

4.1.21 "qti-modal-feedback" Attribute Description

4.2 "AssessmentSection" Root Class Description

4.2.1 "identifier" Characteristic Description

4.2.2 "required" Characteristic Description

4.2.3 "fixed" Characteristic Description

4.2.4 "title" Characteristic Description

4.2.5 "class" Characteristic Description

4.2.6 "visible" Characteristic Description

4.2.7 "keep-together" Characteristic Description

4.2.8 "dataExtension" Characteristic Description

4.2.9 "qti-pre-condition" Attribute Description

4.2.10 "qti-branch-rule" Attribute Description

4.2.11 "qti-item-session-control" Attribute Description

4.2.12 "qti-time-limits" Attribute Description

4.2.13 "adaptive" Attribute Description

4.2.14 "qti-rubric-block" Attribute Description

4.2.15 "sectionPart" Attribute Description

4.3 "AssessmentStimulus" Root Class Description

4.3.1 "identifier" Characteristic Description

4.3.2 "title" Characteristic Description

4.3.3 "label" Characteristic Description

4.3.4 "language" Characteristic Description

4.3.5 "tool-name" Characteristic Description

4.3.6 "tool-version" Characteristic Description

4.3.7 "dataExtension" Characteristic Description

4.3.8 "qti-stylesheet" Attribute Description

4.3.9 "qti-stimulus-body" Attribute Description

4.3.10 "qti-catalog-info" Attribute Description

4.4 "AssessmentTest" Root Class Description

4.4.1 "identifier" Characteristic Description

4.4.2 "title" Characteristic Description

4.4.3 "class" Characteristic Description

4.4.4 "tool-name" Characteristic Description

4.4.5 "tool-version" Characteristic Description

4.4.6 "dataExtension" Characteristic Description

4.4.7 "qti-context-declaration" Attribute Description

4.4.8 "qti-outcome-declaration" Attribute Description

4.4.9 "qti-time-limits" Attribute Description

4.4.10 "qti-stylesheet" Attribute Description

4.4.11 "qti-rubric-block" Attribute Description

4.4.12 "qti-test-part" Attribute Description

4.4.13 "qti-outcome-processing" Attribute Description

4.4.14 "qti-test-feedback" Attribute Description

4.5 "OutcomeDeclaration" Root Class Description

4.5.1 "identifier" Characteristic Description

4.5.2 "cardinality" Characteristic Description

4.5.3 "base-type" Characteristic Description

4.5.4 "view" Characteristic Description

4.5.5 "interpretation" Characteristic Description

4.5.6 "long-interpretation" Characteristic Description

4.5.7 "normal-maximum" Characteristic Description

4.5.8 "normal-minimum" Characteristic Description

4.5.9 "mastery-value" Characteristic Description

4.5.10 "external-scored" Characteristic Description

4.5.11 "variable-identifier-ref" Characteristic Description

4.5.12 "qti-default-value" Attribute Description

4.5.13 "lookupTable" Attribute Description

4.6 "ResponseProcessing" Root Class Description

4.6.1 "template" Characteristic Description

4.6.2 "template-location" Characteristic Description

4.6.3 "responseRuleGroup" Attribute Description

5. Data Class Descriptions

5.1 "A" Class Description

5.1.1 "href" Characteristic Description

5.1.2 "type" Characteristic Description

5.1.3 "inlineGroup" Attribute Description

5.2 "ARIABase" Class Description

5.2.1 "role" Characteristic Description

5.2.2 "aria-controls" Characteristic Description

5.2.3 "aria-describedby" Characteristic Description

5.2.4 "aria-flowto" Characteristic Description

5.2.5 "aria-label" Characteristic Description

5.2.6 "aria-labelledby" Characteristic Description

5.2.7 "aria-level" Characteristic Description

5.2.8 "aria-live" Characteristic Description

5.2.9 "aria-orientation" Characteristic Description

5.2.10 "aria-owns" Characteristic Description

5.2.11 "aria-hidden" Characteristic Description

5.2.12 "aria-activedescendant" Characteristic Description

5.2.13 "aria-atomic" Characteristic Description

5.2.14 "aria-autocomplete" Characteristic Description

5.2.15 "aria-busy" Characteristic Description

5.2.16 "aria-checked" Characteristic Description

5.2.17 "aria-disabled" Characteristic Description

5.2.18 "aria-dropeffect" Characteristic Description

5.2.19 "aria-expanded" Characteristic Description

5.2.20 "aria-haspopup" Characteristic Description

5.2.21 "aria-invalid" Characteristic Description

5.2.22 "aria-multiline" Characteristic Description

5.2.23 "aria-multiselectable" Characteristic Description

5.2.24 "aria-posinset" Characteristic Description

5.2.25 "aria-pressed" Characteristic Description

5.2.26 "aria-readonly" Characteristic Description

5.2.27 "aria-relevant" Characteristic Description

5.2.28 "aria-required" Characteristic Description

5.2.29 "aria-selected" Characteristic Description

5.2.30 "aria-setsize" Characteristic Description

5.2.31 "aria-sort" Characteristic Description

5.2.32 "aria-valuemax" Characteristic Description

5.2.33 "aria-valuemin" Characteristic Description

5.2.34 "aria-valuenow" Characteristic Description

5.2.35 "aria-valuetext" Characteristic Description

5.3 "AdaptiveSelection" Class Description

5.3.1 "qti-adaptive-engine-ref" Attribute Description

5.3.2 "qti-adaptive-settings-ref" Attribute Description

5.3.3 "qti-usagedata-ref" Attribute Description

5.3.4 "qti-metadata-ref" Attribute Description

5.4 "AnyN" Class Description

5.4.1 "min" Characteristic Description

5.4.2 "max" Characteristic Description

5.4.3 "logic" Attribute Description

5.5 "AreaMapping" Class Description

5.5.1 "lower-bound" Characteristic Description

5.5.2 "upper-bound" Characteristic Description

5.5.3 "default-value" Characteristic Description

5.5.4 "qti-area-map-entry" Attribute Description

5.6 "AssessmentItemRef" Class Description

5.6.1 "identifier" Characteristic Description

5.6.2 "required" Characteristic Description

5.6.3 "fixed" Characteristic Description

5.6.4 "class" Characteristic Description

5.6.5 "href" Characteristic Description

5.6.6 "category" Characteristic Description

5.6.7 "dataExtension" Characteristic Description

5.6.8 "qti-pre-condition" Attribute Description

5.6.9 "qti-branch-rule" Attribute Description

5.6.10 "qti-item-session-control" Attribute Description

5.6.11 "qti-time-limits" Attribute Description

5.6.12 "qti-variable-mapping" Attribute Description

5.6.13 "qti-weight" Attribute Description

5.6.14 "qti-template-default" Attribute Description

5.7 "AssociableHotspot" Class Description

5.7.1 "identifier" Characteristic Description

5.7.2 "template-identifier" Characteristic Description

5.7.3 "show-hide" Characteristic Description

5.7.4 "match-group" Characteristic Description

5.7.5 "shape" Characteristic Description

5.7.6 "coords" Characteristic Description

5.7.7 "hotspot-label" Characteristic Description

5.7.8 "match-max" Characteristic Description

5.7.9 "match-min" Characteristic Description

5.8 "AssociateInteraction" Class Description

5.8.1 "shuffle" Characteristic Description

5.8.2 "max-associations" Characteristic Description

5.8.3 "min-associations" Characteristic Description

5.8.4 "qti-simple-associable-choice" Attribute Description

5.9 "Audio" Class Description

5.9.1 "src" Characteristic Description

5.9.2 "crossorigin" Characteristic Description

5.9.3 "preload" Characteristic Description

5.9.4 "autoplay" Characteristic Description

5.9.5 "mediagroup" Characteristic Description

5.9.6 "loop" Characteristic Description

5.9.7 "muted" Characteristic Description

5.9.8 "controls" Characteristic Description

5.9.9 "source" Attribute Description

5.9.10 "track" Attribute Description

5.10 "BDI" Class Description

5.10.1 "flowContentModel" Attribute Description

5.11 "BDO" Class Description

5.11.1 "title" Characteristic Description

5.11.2 "inlineContentModel" Attribute Description

5.12 "BR" Class Description

5.13 "BaseHTML5Flow" Class Description

5.13.1 "flowGroup" Attribute Description

5.14 "BaseHTML5Phrasing" Class Description

5.14.1 "phrasingContentModel" Attribute Description

5.15 "BasePromptInteraction" Class Description

5.15.1 "id" Characteristic Description

5.15.2 "class" Characteristic Description

5.15.3 "lang" Characteristic Description

5.15.4 "language" Characteristic Description

5.15.5 "label" Characteristic Description

5.15.6 "base" Characteristic Description

5.15.7 "response-identifier" Characteristic Description

5.15.8 "dir" Characteristic Description

5.15.9 "data-catalog-idref" Characteristic Description

5.15.10 "data-qti-suppress-tts" Characteristic Description

5.15.11 "dataExtension" Characteristic Description

5.15.12 "qti-prompt" Attribute Description

5.16 "BaseSequence" Class Description

5.16.1 "id" Characteristic Description

5.16.2 "class" Characteristic Description

5.16.3 "lang" Characteristic Description

5.16.4 "language" Characteristic Description

5.16.5 "label" Characteristic Description

5.16.6 "dir" Characteristic Description

5.16.7 "data-catalog-idref" Characteristic Description

5.16.8 "data-qti-suppress-tts" Characteristic Description

5.16.9 "dataExtension" Characteristic Description

5.17 "BaseSequenceEmpty" Class Description

5.17.1 "id" Characteristic Description

5.17.2 "class" Characteristic Description

5.17.3 "lang" Characteristic Description

5.17.4 "language" Characteristic Description

5.17.5 "label" Characteristic Description

5.17.6 "dir" Characteristic Description

5.17.7 "data-catalog-idref" Characteristic Description

5.17.8 "data-qti-suppress-tts" Characteristic Description

5.17.9 "dataExtension" Characteristic Description

5.18 "BaseSequenceFull" Class Description

5.18.1 "id" Characteristic Description

5.18.2 "class" Characteristic Description

5.18.3 "lang" Characteristic Description

5.18.4 "language" Characteristic Description

5.18.5 "label" Characteristic Description

5.18.6 "response-identifier" Characteristic Description

5.18.7 "base" Characteristic Description

5.18.8 "dir" Characteristic Description

5.18.9 "data-catalog-idref" Characteristic Description

5.18.10 "data-qti-suppress-tts" Characteristic Description

5.18.11 "dataExtension" Characteristic Description

5.19 "BaseSequenceRIdent" Class Description

5.19.1 "id" Characteristic Description

5.19.2 "class" Characteristic Description

5.19.3 "lang" Characteristic Description

5.19.4 "language" Characteristic Description

5.19.5 "label" Characteristic Description

5.19.6 "response-identifier" Characteristic Description

5.19.7 "dir" Characteristic Description

5.19.8 "data-catalog-idref" Characteristic Description

5.19.9 "data-qti-suppress-tts" Characteristic Description

5.19.10 "dataExtension" Characteristic Description

5.20 "BaseSequenceXBase" Class Description

5.20.1 "id" Characteristic Description

5.20.2 "class" Characteristic Description

5.20.3 "lang" Characteristic Description

5.20.4 "language" Characteristic Description

5.20.5 "label" Characteristic Description

5.20.6 "base" Characteristic Description

5.20.7 "dir" Characteristic Description

5.20.8 "data-catalog-idref" Characteristic Description

5.20.9 "data-qti-suppress-tts" Characteristic Description

5.20.10 "dataExtension" Characteristic Description

5.21 "BaseSequenceXBaseEmpty" Class Description

5.21.1 "id" Characteristic Description

5.21.2 "class" Characteristic Description

5.21.3 "lang" Characteristic Description

5.21.4 "language" Characteristic Description

5.21.5 "label" Characteristic Description

5.21.6 "base" Characteristic Description

5.21.7 "dir" Characteristic Description

5.21.8 "data-catalog-idref" Characteristic Description

5.21.9 "data-qti-suppress-tts" Characteristic Description

5.21.10 "dataExtension" Characteristic Description

5.22 "BlockQuote" Class Description

5.22.1 "cite" Characteristic Description

5.22.2 "flowContent" Attribute Description

5.23 "BranchRule" Class Description

5.23.1 "target" Characteristic Description

5.23.2 "logic" Attribute Description

5.24 "Calculator" Class Description

5.24.1 "qti-calculator-type" Attribute Description

5.24.2 "qti-description" Attribute Description

5.24.3 "qti-calculator-info" Attribute Description

5.25 "Caption" Class Description

5.25.1 "inlineGroup" Attribute Description

5.26 "Card" Class Description

5.26.1 "support" Characteristic Description

5.26.2 "language" Characteristic Description

5.26.3 "cardSelection" Attribute Description

5.26.4 "qti-card-entry" Attribute Description

5.27 "CardEntry" Class Description

5.27.1 "language" Characteristic Description

5.27.2 "default" Characteristic Description

5.27.3 "dataExtension" Characteristic Description

5.27.4 "qti-html-content" Attribute Description

5.27.5 "qti-file-href" Attribute Description

5.28 "Catalog" Class Description

5.28.1 "id" Characteristic Description

5.28.2 "qti-card" Attribute Description

5.29 "CatalogInfo" Class Description

5.29.1 "qti-catalog" Attribute Description

5.30 "ChoiceInteraction" Class Description

5.30.1 "shuffle" Characteristic Description

5.30.2 "max-choices" Characteristic Description

5.30.3 "min-choices" Characteristic Description

5.30.4 "orientation" Characteristic Description

5.30.5 "qti-simple-choice" Attribute Description

5.31 "Col" Class Description

5.31.1 "span" Characteristic Description

5.32 "ColGroup" Class Description

5.32.1 "span" Characteristic Description

5.32.2 "col" Attribute Description

5.33 "CompanionMaterialsInfo" Class Description

5.33.1 "qti-calculator" Attribute Description

5.33.2 "qti-rule" Attribute Description

5.33.3 "qti-protractor" Attribute Description

5.33.4 "qti-digital-material" Attribute Description

5.33.5 "qti-physical-material" Attribute Description

5.33.6 "extensions" Attribute Description

5.34 "ContextDeclaration" Class Description

5.34.1 "identifier" Characteristic Description

5.34.2 "cardinality" Characteristic Description

5.34.3 "base-type" Characteristic Description

5.34.4 "qti-default-value" Attribute Description

5.35 "CorrectResponse" Class Description

5.35.1 "interpretation" Characteristic Description

5.35.2 "qti-value" Attribute Description

5.36 "CustomInteraction" Class Description

5.36.1 "extension" Characteristic Description

5.36.2 "extension" Attribute Description

5.37 "CustomOperator" Class Description

5.37.1 "class" Characteristic Description

5.37.2 "definition" Characteristic Description

5.37.3 "extension" Characteristic Description

5.37.4 "logic" Attribute Description

5.37.5 "extension" Attribute Description

5.38 "DD" Class Description

5.38.1 "flowGroup" Attribute Description

5.39 "DL" Class Description

5.39.1 "dlSelection" Attribute Description

5.40 "DT" Class Description

5.40.1 "inlineGroup" Attribute Description

5.41 "DefaultValue" Class Description

5.41.1 "interpretation" Characteristic Description

5.41.2 "qti-value" Attribute Description

5.42 "Div" Class Description

5.42.1 "divSelection" Attribute Description

5.43 "DrawingInteraction" Class Description

5.43.1 "object" Attribute Description

5.44 "EndAttemptInteraction" Class Description

5.44.1 "response-identifier" Characteristic Description

5.44.2 "title" Characteristic Description

5.44.3 "count-attempt" Characteristic Description

5.45 "Equal" Class Description

5.45.1 "tolerance-mode" Characteristic Description

5.45.2 "tolerance" Characteristic Description

5.45.3 "include-lower-bound" Characteristic Description

5.45.4 "include-upper-bound" Characteristic Description

5.45.5 "logic" Attribute Description

5.46 "EqualRounded" Class Description

5.46.1 "rounding-mode" Characteristic Description

5.46.2 "figures" Characteristic Description

5.46.3 "logic" Attribute Description

5.47 "ExtendedTextInteraction" Class Description

5.47.1 "base" Characteristic Description

5.47.2 "string-identifier" Characteristic Description

5.47.3 "expected-length" Characteristic Description

5.47.4 "pattern-mask" Characteristic Description

5.47.5 "placeholder-text" Characteristic Description

5.47.6 "max-strings" Characteristic Description

5.47.7 "min-strings" Characteristic Description

5.47.8 "expected-lines" Characteristic Description

5.47.9 "format" Characteristic Description

5.48 "FeedbackBlock" Class Description

5.48.1 "outcome-identifier" Characteristic Description

5.48.2 "identifier" Characteristic Description

5.48.3 "show-hide" Characteristic Description

5.48.4 "qti-stylesheet" Attribute Description

5.48.5 "qti-content-body" Attribute Description

5.48.6 "qti-catalog-info" Attribute Description

5.49 "FeedbackContentBody" Class Description

5.49.1 "feedbackBlockStatic" Attribute Description

5.50 "FeedbackFlowContentBody" Class Description

5.50.1 "feedbackFlowStaticGroup" Attribute Description

5.51 "FeedbackInline" Class Description

5.51.1 "outcome-identifier" Characteristic Description

5.51.2 "identifier" Characteristic Description

5.51.3 "show-hide" Characteristic Description

5.51.4 "feedbackInlineGroup" Attribute Description

5.52 "FieldValue" Class Description

5.52.1 "field-identifier" Characteristic Description

5.52.2 "logic" Attribute Description

5.53 "Figure" Class Description

5.53.1 "figcaption" Attribute Description

5.53.2 "flowContentModel" Attribute Description

5.54 "Gap" Class Description

5.54.1 "identifier" Characteristic Description

5.54.2 "template-identifier" Characteristic Description

5.54.3 "show-hide" Characteristic Description

5.54.4 "match-group" Characteristic Description

5.54.5 "required" Characteristic Description

5.55 "GapImg" Class Description

5.55.1 "identifier" Characteristic Description

5.55.2 "template-identifier" Characteristic Description

5.55.3 "show-hide" Characteristic Description

5.55.4 "match-group" Characteristic Description

5.55.5 "match-max" Characteristic Description

5.55.6 "match-min" Characteristic Description

5.55.7 "object-label" Characteristic Description

5.55.8 "top" Characteristic Description

5.55.9 "left" Characteristic Description

5.55.10 "object" Attribute Description

5.56 "GapMatchInteraction" Class Description

5.56.1 "shuffle" Characteristic Description

5.56.2 "min-associations" Characteristic Description

5.56.3 "max-associations" Characteristic Description

5.56.4 "gapChoice" Attribute Description

5.56.5 "blockStaticGroup" Attribute Description

5.57 "GapText" Class Description

5.57.1 "identifier" Characteristic Description

5.57.2 "template-identifier" Characteristic Description

5.57.3 "show-hide" Characteristic Description

5.57.4 "match-group" Characteristic Description

5.57.5 "match-max" Characteristic Description

5.57.6 "match-min" Characteristic Description

5.57.7 "inlineChoiceGroup" Attribute Description

5.58 "GraphicAssociateInteraction" Class Description

5.58.1 "min-associations" Characteristic Description

5.58.2 "max-associations" Characteristic Description

5.58.3 "object" Attribute Description

5.58.4 "qti-associable-hotspot" Attribute Description

5.59 "GraphicGapMatchInteraction" Class Description

5.59.1 "min-associations" Characteristic Description

5.59.2 "max-associations" Characteristic Description

5.59.3 "qti-prompt" Attribute Description

5.59.4 "object" Attribute Description

5.59.5 "gapChoice" Attribute Description

5.59.6 "qti-associable-hotspot" Attribute Description

5.60 "GraphicOrderInteraction" Class Description

5.60.1 "min-choices" Characteristic Description

5.60.2 "max-choices" Characteristic Description

5.60.3 "qti-prompt" Attribute Description

5.60.4 "object" Attribute Description

5.60.5 "qti-hotspot-choice" Attribute Description

5.61 "HR" Class Description

5.62 "HTMLContent" Class Description

5.62.1 "language" Characteristic Description

5.62.2 "dataExtension" Characteristic Description

5.62.3 "htmlContentFlow" Attribute Description

5.63 "HTMLText" Class Description

5.63.1 "inlineGroup" Attribute Description

5.64 "HotText" Class Description

5.64.1 "identifier" Characteristic Description

5.64.2 "template-identifier" Characteristic Description

5.64.3 "show-hide" Characteristic Description

5.64.4 "inlineChoiceGroup" Attribute Description

5.65 "HotTextInteraction" Class Description

5.65.1 "max-choices" Characteristic Description

5.65.2 "min-choices" Characteristic Description

5.65.3 "blockStaticGroup" Attribute Description

5.66 "HotspotChoice" Class Description

5.66.1 "identifier" Characteristic Description

5.66.2 "template-identifier" Characteristic Description

5.66.3 "show-hide" Characteristic Description

5.66.4 "shape" Characteristic Description

5.66.5 "coords" Characteristic Description

5.66.6 "hotspot-label" Characteristic Description

5.67 "HotspotInteraction" Class Description

5.67.1 "min-choices" Characteristic Description

5.67.2 "max-choices" Characteristic Description

5.67.3 "object" Attribute Description

5.67.4 "qti-hotspot-choice" Attribute Description

5.68 "Img" Class Description

5.68.1 "src" Characteristic Description

5.68.2 "alt" Characteristic Description

5.68.3 "longdesc" Characteristic Description

5.68.4 "height" Characteristic Description

5.68.5 "width" Characteristic Description

5.69 "IncrementSI" Class Description

5.69.1 "qti-minor-increment" Attribute Description

5.69.2 "qti-major-increment" Attribute Description

5.70 "IncrementUS" Class Description

5.70.1 "qti-minor-increment" Attribute Description

5.70.2 "qti-major-increment" Attribute Description

5.71 "Index" Class Description

5.71.1 "n" Characteristic Description

5.71.2 "logic" Attribute Description

5.72 "InlineChoice" Class Description

5.72.1 "identifier" Characteristic Description

5.72.2 "fixed" Characteristic Description

5.72.3 "template-identifier" Characteristic Description

5.72.4 "show-hide" Characteristic Description

5.72.5 "inlineChoiceGroup" Attribute Description

5.73 "InlineChoiceInteraction" Class Description

5.73.1 "shuffle" Characteristic Description

5.73.2 "required" Characteristic Description

5.73.3 "qti-label" Attribute Description

5.73.4 "qti-inline-choice" Attribute Description

5.74 "Inside" Class Description

5.74.1 "shape" Characteristic Description

5.74.2 "coords" Characteristic Description

5.74.3 "logic" Attribute Description

5.75 "InteractionMarkup" Class Description

5.75.1 "flowStaticGroup" Attribute Description

5.75.2 "template" Attribute Description

5.76 "InteractionModules" Class Description

5.76.1 "primary-configuration" Characteristic Description

5.76.2 "secondary-configuration" Characteristic Description

5.76.3 "qti-interaction-module" Attribute Description

5.77 "InterpolationTable" Class Description

5.77.1 "default-value" Characteristic Description

5.77.2 "qti-interpolation-table-entry" Attribute Description

5.78 "ItemBody" Class Description

5.78.1 "id" Characteristic Description

5.78.2 "class" Characteristic Description

5.78.3 "language" Characteristic Description

5.78.4 "label" Characteristic Description

5.78.5 "dir" Characteristic Description

5.78.6 "data-catalog-idref" Characteristic Description

5.78.7 "itemBodySelect" Attribute Description

5.79 "ItemFileInfo" Class Description

5.79.1 "mime-type" Characteristic Description

5.79.2 "label" Characteristic Description

5.79.3 "qti-file-href" Attribute Description

5.79.4 "qti-resource-icon" Attribute Description

5.80 "LI" Class Description

5.80.1 "flowGroup" Attribute Description

5.81 "Label" Class Description

5.81.1 "inlineChoiceGroup" Attribute Description

5.82 "Logic0toMany" Class Description

5.82.1 "logic" Attribute Description

5.83 "Logic1toMany" Class Description

5.83.1 "logic" Attribute Description

5.84 "LogicPair" Class Description

5.84.1 "logic" Attribute Description

5.85 "LogicSingle" Class Description

5.85.1 "logic" Attribute Description

5.86 "LookupOutcomeValue" Class Description

5.86.1 "identifier" Characteristic Description

5.86.2 "expressionGroup" Attribute Description

5.87 "Mapping" Class Description

5.87.1 "lower-bound" Characteristic Description

5.87.2 "upper-bound" Characteristic Description

5.87.3 "default-value" Characteristic Description

5.87.4 "qti-map-entry" Attribute Description

5.88 "MatchInteraction" Class Description

5.88.1 "shuffle" Characteristic Description

5.88.2 "max-associations" Characteristic Description

5.88.3 "min-associations" Characteristic Description

5.88.4 "qti-simple-match-set" Attribute Description

5.89 "MatchTable" Class Description

5.89.1 "default-value" Characteristic Description

5.89.2 "qti-match-table-entry" Attribute Description

5.90 "MathOperator" Class Description

5.90.1 "name" Characteristic Description

5.90.2 "logic" Attribute Description

5.91 "MediaInteraction" Class Description

5.91.1 "autostart" Characteristic Description

5.91.2 "min-plays" Characteristic Description

5.91.3 "max-plays" Characteristic Description

5.91.4 "loop" Characteristic Description

5.91.5 "coords" Characteristic Description

5.91.6 "object" Attribute Description

5.91.7 "audio" Attribute Description

5.91.8 "video" Attribute Description

5.92 "ModalFeedback" Class Description

5.92.1 "outcome-identifier" Characteristic Description

5.92.2 "show-hide" Characteristic Description

5.92.3 "identifier" Characteristic Description

5.92.4 "title" Characteristic Description

5.92.5 "dataExtension" Characteristic Description

5.92.6 "qti-stylesheet" Attribute Description

5.92.7 "qti-content-body" Attribute Description

5.92.8 "qti-catalog-info" Attribute Description

5.93 "NumericLogic1toMany" Class Description

5.93.1 "logic" Attribute Description

5.94 "OUL" Class Description

5.94.1 "li" Attribute Description

5.95 "Object" Class Description

5.95.1 "data" Characteristic Description

5.95.2 "type" Characteristic Description

5.95.3 "width" Characteristic Description

5.95.4 "height" Characteristic Description

5.95.5 "objectFlowGroup" Attribute Description

5.96 "OrderInteraction" Class Description

5.96.1 "shuffle" Characteristic Description

5.96.2 "min-choices" Characteristic Description

5.96.3 "max-choices" Characteristic Description

5.96.4 "orientation" Characteristic Description

5.96.5 "qti-simple-choice" Attribute Description

5.97 "Ordering" Class Description

5.97.1 "shuffle" Characteristic Description

5.97.2 "extension" Characteristic Description

5.97.3 "extensions" Attribute Description

5.98 "OutcomeCondition" Class Description

5.98.1 "qti-outcome-if" Attribute Description

5.98.2 "qti-outcome-else-if" Attribute Description

5.98.3 "qti-outcome-else" Attribute Description

5.99 "OutcomeElse" Class Description

5.99.1 "outcomeRule" Attribute Description

5.100 "OutcomeIf" Class Description

5.100.1 "expressionGroup" Attribute Description

5.100.2 "outcomeRule" Attribute Description

5.101 "OutcomeProcessing" Class Description

5.101.1 "outcomeRule" Attribute Description

5.102 "OutcomeProcessingFragment" Class Description

5.102.1 "outcomeRule" Attribute Description

5.103 "PatternMatch" Class Description

5.103.1 "pattern" Characteristic Description

5.103.2 "logic" Attribute Description

5.104 "Picture" Class Description

5.104.1 "source" Attribute Description

5.104.2 "img" Attribute Description

5.105 "PortableCustomInteraction" Class Description

5.105.1 "custom-interaction-type-identifier" Characteristic Description

5.105.2 "module" Characteristic Description

5.105.3 "qti-interaction-modules" Attribute Description

5.105.4 "qti-interaction-markup" Attribute Description

5.105.5 "qti-template-variable" Attribute Description

5.105.6 "qti-context-variable" Attribute Description

5.106 "PositionObjectInteraction" Class Description

5.106.1 "center-point" Characteristic Description

5.106.2 "min-choices" Characteristic Description

5.106.3 "max-choices" Characteristic Description

5.106.4 "object" Attribute Description

5.107 "PositionObjectStage" Class Description

5.107.1 "id" Characteristic Description

5.107.2 "dataExtension" Characteristic Description

5.107.3 "object" Attribute Description

5.107.4 "qti-position-object-interaction" Attribute Description

5.108 "Prompt" Class Description

5.108.1 "promptStaticGroup" Attribute Description

5.109 "Protractor" Class Description

5.109.1 "qti-description" Attribute Description

5.109.2 "qti-increment" Attribute Description

5.110 "Q" Class Description

5.110.1 "cite" Characteristic Description

5.110.2 "inlineGroup" Attribute Description

5.111 "RTC" Class Description

5.111.1 "phrasingContentModel" Attribute Description

5.111.2 "rt" Attribute Description

5.112 "Repeat" Class Description

5.112.1 "number-repeats" Characteristic Description

5.112.2 "logic" Attribute Description

5.113 "ResponseCondition" Class Description

5.113.1 "qti-response-if" Attribute Description

5.113.2 "qti-response-else-if" Attribute Description

5.113.3 "qti-response-else" Attribute Description

5.114 "ResponseDeclaration" Class Description

5.114.1 "identifier" Characteristic Description

5.114.2 "cardinality" Characteristic Description

5.114.3 "base-type" Characteristic Description

5.114.4 "qti-default-value" Attribute Description

5.114.5 "qti-correct-response" Attribute Description

5.114.6 "qti-mapping" Attribute Description

5.114.7 "qti-area-mapping" Attribute Description

5.115 "ResponseElse" Class Description

5.115.1 "responseRuleGroup" Attribute Description

5.116 "ResponseIf" Class Description

5.116.1 "expressionGroup" Attribute Description

5.116.2 "responseRuleGroup" Attribute Description

5.117 "ResponseProcessingFragment" Class Description

5.117.1 "responseRuleGroup" Attribute Description

5.118 "RoundTo" Class Description

5.118.1 "rounding-mode" Characteristic Description

5.118.2 "figures" Characteristic Description

5.118.3 "logic" Attribute Description

5.119 "RubricBlock" Class Description

5.119.1 "use" Characteristic Description

5.119.2 "view" Characteristic Description

5.119.3 "qti-stylesheet" Attribute Description

5.119.4 "qti-content-body" Attribute Description

5.119.5 "qti-catalog-info" Attribute Description

5.120 "RubricBlockContentBody" Class Description

5.120.1 "contentModel" Attribute Description

5.121 "RubricBlockTemplateBlock" Class Description

5.121.1 "template-identifier" Characteristic Description

5.121.2 "show-hide" Characteristic Description

5.121.3 "identifier" Characteristic Description

5.121.4 "qti-stylesheet" Attribute Description

5.121.5 "qti-content-body" Attribute Description

5.121.6 "qti-catalog-info" Attribute Description

5.122 "RubricBlockTemplateBlockContentBody" Class Description

5.122.1 "rtBlockContentModel" Attribute Description

5.123 "RubricBlockTemplateInline" Class Description

5.123.1 "template-identifier" Characteristic Description

5.123.2 "show-hide" Characteristic Description

5.123.3 "identifier" Characteristic Description

5.123.4 "rtInlineStaticGroup" Attribute Description

5.124 "Ruby" Class Description

5.124.1 "rubySelection" Attribute Description

5.125 "Rule" Class Description

5.125.1 "qti-description" Attribute Description

5.125.2 "qti-rule-system" Attribute Description

5.126 "SIRuleSystem" Class Description

5.126.1 "qti-minimum-length" Attribute Description

5.126.2 "qti-minor-increment" Attribute Description

5.126.3 "qti-major-increment" Attribute Description

5.127 "SelectPointInteraction" Class Description

5.127.1 "min-choices" Characteristic Description

5.127.2 "max-choices" Characteristic Description

5.127.3 "object" Attribute Description

5.128 "Selection" Class Description

5.128.1 "select" Characteristic Description

5.128.2 "with-replacement" Characteristic Description

5.128.3 "extension" Characteristic Description

5.128.4 "extensions" Attribute Description

5.129 "SetValue" Class Description

5.129.1 "identifier" Characteristic Description

5.129.2 "expressionGroup" Attribute Description

5.130 "SimpleAssociableChoice" Class Description

5.130.1 "identifier" Characteristic Description

5.130.2 "fixed" Characteristic Description

5.130.3 "template-identifier" Characteristic Description

5.130.4 "show-hide" Characteristic Description

5.130.5 "match-group" Characteristic Description

5.130.6 "match-max" Characteristic Description

5.130.7 "match-min" Characteristic Description

5.130.8 "flowStaticGroup" Attribute Description

5.131 "SimpleChoice" Class Description

5.131.1 "identifier" Characteristic Description

5.131.2 "fixed" Characteristic Description

5.131.3 "template-identifier" Characteristic Description

5.131.4 "show-hide" Characteristic Description

5.131.5 "flowStaticGroup" Attribute Description

5.132 "SimpleMatchSet" Class Description

5.132.1 "id" Characteristic Description

5.132.2 "dataExtension" Characteristic Description

5.132.3 "qti-simple-associable-choice" Attribute Description

5.133 "SliderInteraction" Class Description

5.133.1 "lower-bound" Characteristic Description

5.133.2 "upper-bound" Characteristic Description

5.133.3 "step" Characteristic Description

5.133.4 "step-label" Characteristic Description

5.133.5 "orientation" Characteristic Description

5.133.6 "reverse" Characteristic Description

5.134 "Source" Class Description

5.134.1 "src" Characteristic Description

5.134.2 "type" Characteristic Description

5.134.3 "srcset" Characteristic Description

5.134.4 "media" Characteristic Description

5.134.5 "sizes" Characteristic Description

5.135 "StatsOperator" Class Description

5.135.1 "name" Characteristic Description

5.135.2 "logic" Attribute Description

5.136 "StimulusBody" Class Description

5.136.1 "selectStimulus" Attribute Description

5.137 "StringMatch" Class Description

5.137.1 "case-sensitive" Characteristic Description

5.137.2 "substring" Characteristic Description

5.137.3 "logic" Attribute Description

5.138 "Substring" Class Description

5.138.1 "case-sensitive" Characteristic Description

5.138.2 "logic" Attribute Description

5.139 "TDH" Class Description

5.139.1 "headers" Characteristic Description

5.139.2 "scope" Characteristic Description

5.139.3 "abbr" Characteristic Description

5.139.4 "axis" Characteristic Description

5.139.5 "rowspan" Characteristic Description

5.139.6 "colspan" Characteristic Description

5.139.7 "align" Characteristic Description

5.139.8 "valign" Characteristic Description

5.139.9 "flowGroup" Attribute Description

5.140 "TR" Class Description

5.140.1 "tableCellGroup" Attribute Description

5.141 "Table" Class Description

5.141.1 "summary" Characteristic Description

5.141.2 "caption" Attribute Description

5.141.3 "col" Attribute Description

5.141.4 "colgroup" Attribute Description

5.141.5 "thead" Attribute Description

5.141.6 "tfoot" Attribute Description

5.141.7 "tbody" Attribute Description

5.142 "TablePart" Class Description

5.142.1 "tr" Attribute Description

5.143 "Template" Class Description

5.143.1 "extensions" Attribute Description

5.144 "TemplateBlock" Class Description

5.144.1 "template-identifier" Characteristic Description

5.144.2 "show-hide" Characteristic Description

5.144.3 "identifier" Characteristic Description

5.145 "TemplateBlockContent" Class Description

5.145.1 "qti-stylesheet" Attribute Description

5.145.2 "qti-content-body" Attribute Description

5.145.3 "qti-catalog-info" Attribute Description

5.146 "TemplateBlockContentBody" Class Description

5.146.1 "fatBlockStatic" Attribute Description

5.147 "TemplateBlockFeedbackBlock" Class Description

5.147.1 "outcome-identifier" Characteristic Description

5.147.2 "show-hide" Characteristic Description

5.147.3 "identifier" Characteristic Description

5.148 "TemplateCondition" Class Description

5.148.1 "qti-template-if" Attribute Description

5.148.2 "qti-template-else-if" Attribute Description

5.148.3 "qti-template-else" Attribute Description

5.149 "TemplateConstraint" Class Description

5.149.1 "expressionGroup" Attribute Description

5.150 "TemplateDeclaration" Class Description

5.150.1 "identifier" Characteristic Description

5.150.2 "cardinality" Characteristic Description

5.150.3 "base-type" Characteristic Description

5.150.4 "param-variable" Characteristic Description

5.150.5 "math-variable" Characteristic Description

5.150.6 "qti-default-value" Attribute Description

5.151 "TemplateDefault" Class Description

5.151.1 "template-identifier" Characteristic Description

5.151.2 "expressionGroup" Attribute Description

5.152 "TemplateElse" Class Description

5.152.1 "templateRuleGroup" Attribute Description

5.153 "TemplateIf" Class Description

5.153.1 "expressionGroup" Attribute Description

5.153.2 "templateRuleGroup" Attribute Description

5.154 "TemplateInline" Class Description

5.154.1 "template-identifier" Characteristic Description

5.154.2 "show-hide" Characteristic Description

5.154.3 "identifier" Characteristic Description

5.154.4 "inlineStaticGroup" Attribute Description

5.155 "TemplateProcessing" Class Description

5.155.1 "templateRuleGroup" Attribute Description

5.156 "TestFeedback" Class Description

5.156.1 "access" Characteristic Description

5.156.2 "outcome-identifier" Characteristic Description

5.156.3 "show-hide" Characteristic Description

5.156.4 "identifier" Characteristic Description

5.156.5 "title" Characteristic Description

5.156.6 "dataExtension" Characteristic Description

5.156.7 "qti-stylesheet" Attribute Description

5.156.8 "qti-content-body" Attribute Description

5.156.9 "qti-catalog-info" Attribute Description

5.157 "TestFeedbackFlowContentBody" Class Description

5.157.1 "feedbackFlowStaticGroup" Attribute Description

5.158 "TestPart" Class Description

5.158.1 "identifier" Characteristic Description

5.158.2 "class" Characteristic Description

5.158.3 "navigation-mode" Characteristic Description

5.158.4 "submission-mode" Characteristic Description

5.158.5 "dataExtension" Characteristic Description

5.158.6 "qti-pre-condition" Attribute Description

5.158.7 "qti-branch-rule" Attribute Description

5.158.8 "qti-item-session-control" Attribute Description

5.158.9 "qti-time-limits" Attribute Description

5.158.10 "qti-rubric-block" Attribute Description

5.158.11 "assessmentSectionSelection" Attribute Description

5.158.12 "qti-test-feedback" Attribute Description

5.159 "TestRubricBlock" Class Description

5.159.1 "view" Characteristic Description

5.159.2 "use" Characteristic Description

5.159.3 "qti-stylesheet" Attribute Description

5.159.4 "qti-content-body" Attribute Description

5.159.5 "qti-catalog-info" Attribute Description

5.159.6 "qti-printed-variable" Attribute Description

5.160 "TestRubricBlockContentBody" Class Description

5.160.1 "contentModel" Attribute Description

5.161 "TextEntryInteraction" Class Description

5.161.1 "response-identifier" Characteristic Description

5.161.2 "base" Characteristic Description

5.161.3 "string-identifier" Characteristic Description

5.161.4 "expected-length" Characteristic Description

5.161.5 "pattern-mask" Characteristic Description

5.161.6 "placeholder-text" Characteristic Description

5.161.7 "format" Characteristic Description

5.162 "Track" Class Description

5.162.1 "kind" Characteristic Description

5.162.2 "src" Characteristic Description

5.162.3 "srclang" Characteristic Description

5.162.4 "default" Characteristic Description

5.163 "USRuleSystem" Class Description

5.163.1 "qti-minimum-length" Attribute Description

5.163.2 "qti-minor-increment" Attribute Description

5.163.3 "qti-major-increment" Attribute Description

5.164 "UploadInteraction" Class Description

5.164.1 "type" Characteristic Description

5.165 "Video" Class Description

5.165.1 "src" Characteristic Description

5.165.2 "crossorigin" Characteristic Description

5.165.3 "preload" Characteristic Description

5.165.4 "autoplay" Characteristic Description

5.165.5 "mediagroup" Characteristic Description

5.165.6 "loop" Characteristic Description

5.165.7 "muted" Characteristic Description

5.165.8 "controls" Characteristic Description

5.165.9 "poster" Characteristic Description

5.165.10 "width" Characteristic Description

5.165.11 "height" Characteristic Description

5.165.12 "source" Attribute Description

5.165.13 "track" Attribute Description

6. Abstract Class Descriptions

6.1 "Adaptive" Class Description

6.1.1 "qti-adaptive-selection" Attribute Description

6.1.2 "selectOrderSelection" Attribute Description

6.2 "AssessmentSectionSelection" Class Description

6.2.1 "qti-assessment-section" Attribute Description

6.2.2 "qti-assessment-section-ref" Attribute Description

6.3 "BlockContentModel" Class Description

6.3.1 "pre" Attribute Description

6.3.2 "h1" Attribute Description

6.3.3 "h2" Attribute Description

6.3.4 "h3" Attribute Description

6.3.5 "h4" Attribute Description

6.3.6 "h5" Attribute Description

6.3.7 "h6" Attribute Description

6.3.8 "p" Attribute Description

6.3.9 "address" Attribute Description

6.3.10 "dl" Attribute Description

6.3.11 "ol" Attribute Description

6.3.12 "ul" Attribute Description

6.3.13 "hr" Attribute Description

6.3.14 "blockquote" Attribute Description

6.3.15 "table" Attribute Description

6.3.16 "div" Attribute Description

6.3.17 "article" Attribute Description

6.3.18 "aside" Attribute Description

6.3.19 "audio" Attribute Description

6.3.20 "figure" Attribute Description

6.3.21 "footer" Attribute Description

6.3.22 "header" Attribute Description

6.3.23 "nav" Attribute Description

6.3.24 "section" Attribute Description

6.3.25 "video" Attribute Description

6.4 "BlockGroup" Class Description

6.4.1 "qti-position-object-stage" Attribute Description

6.4.2 "qti-custom-interaction" Attribute Description

6.4.3 "qti-portable-custom-interaction" Attribute Description

6.4.4 "qti-drawing-interaction" Attribute Description

6.4.5 "qti-gap-match-interaction" Attribute Description

6.4.6 "qti-match-interaction" Attribute Description

6.4.7 "qti-graphic-gap-match-interaction" Attribute Description

6.4.8 "qti-hotspot-interaction" Attribute Description

6.4.9 "qti-graphic-order-interaction" Attribute Description

6.4.10 "qti-select-point-interaction" Attribute Description

6.4.11 "qti-graphic-associate-interaction" Attribute Description

6.4.12 "qti-slider-interaction" Attribute Description

6.4.13 "qti-choice-interaction" Attribute Description

6.4.14 "qti-media-interaction" Attribute Description

6.4.15 "qti-hottext-interaction" Attribute Description

6.4.16 "qti-order-interaction" Attribute Description

6.4.17 "qti-extended-text-interaction" Attribute Description

6.4.18 "qti-upload-interaction" Attribute Description

6.4.19 "qti-associate-interaction" Attribute Description

6.4.20 "qti-feedback-block" Attribute Description

6.4.21 "qti-template-block" Attribute Description

6.4.22 "math" Attribute Description

6.4.23 "include" Attribute Description

6.4.24 "blockContentModel" Attribute Description

6.5 "BlockStaticGroup" Class Description

6.5.1 "qti-feedback-block" Attribute Description

6.5.2 "qti-template-block" Attribute Description

6.5.3 "math" Attribute Description

6.5.4 "include" Attribute Description

6.5.5 "blockContentModel" Attribute Description

6.6 "CardSelection" Class Description

6.6.1 "qti-html-content" Attribute Description

6.6.2 "qti-file-href" Attribute Description

6.7 "DLSelection" Class Description

6.7.1 "dd" Attribute Description

6.7.2 "dt" Attribute Description

6.8 "DivSelection" Class Description

6.8.1 "qti-position-object-stage" Attribute Description

6.8.2 "flowGroup" Attribute Description

6.9 "ExpressionGroup" Class Description

6.9.1 "qti-and" Attribute Description

6.9.2 "qti-gt" Attribute Description

6.9.3 "qti-not" Attribute Description

6.9.4 "qti-lt" Attribute Description

6.9.5 "qti-gte" Attribute Description

6.9.6 "qti-lte" Attribute Description

6.9.7 "qti-or" Attribute Description

6.9.8 "qti-sum" Attribute Description

6.9.9 "qti-duration-lt" Attribute Description

6.9.10 "qti-duration-gte" Attribute Description

6.9.11 "qti-subtract" Attribute Description

6.9.12 "qti-divide" Attribute Description

6.9.13 "qti-multiple" Attribute Description

6.9.14 "qti-ordered" Attribute Description

6.9.15 "qti-custom-operator" Attribute Description

6.9.16 "qti-random" Attribute Description

6.9.17 "qti-substring" Attribute Description

6.9.18 "qti-equal-rounded" Attribute Description

6.9.19 "qti-null" Attribute Description

6.9.20 "qti-delete" Attribute Description

6.9.21 "qti-match" Attribute Description

6.9.22 "qti-index" Attribute Description

6.9.23 "qti-power" Attribute Description

6.9.24 "qti-equal" Attribute Description

6.9.25 "qti-contains" Attribute Description

6.9.26 "qti-container-size" Attribute Description

6.9.27 "qti-correct" Attribute Description

6.9.28 "qti-default" Attribute Description

6.9.29 "qti-any-n" Attribute Description

6.9.30 "qti-integer-divide" Attribute Description

6.9.31 "qti-integer-modulus" Attribute Description

6.9.32 "qti-is-null" Attribute Description

6.9.33 "qti-member" Attribute Description

6.9.34 "qti-product" Attribute Description

6.9.35 "qti-round" Attribute Description

6.9.36 "qti-truncate" Attribute Description

6.9.37 "qti-field-value" Attribute Description

6.9.38 "qti-random-integer" Attribute Description

6.9.39 "qti-random-float" Attribute Description

6.9.40 "qti-variable" Attribute Description

6.9.41 "qti-test-variables" Attribute Description

6.9.42 "qti-integer-to-float" Attribute Description

6.9.43 "qti-inside" Attribute Description

6.9.44 "qti-base-value" Attribute Description

6.9.45 "qti-pattern-match" Attribute Description

6.9.46 "qti-map-response-point" Attribute Description

6.9.47 "qti-map-response" Attribute Description

6.9.48 "qti-string-match" Attribute Description

6.9.49 "qti-repeat" Attribute Description

6.9.50 "qti-round-to" Attribute Description

6.9.51 "qti-lcm" Attribute Description

6.9.52 "qti-gcd" Attribute Description

6.9.53 "qti-min" Attribute Description

6.9.54 "qti-max" Attribute Description

6.9.55 "qti-math-constant" Attribute Description

6.9.56 "qti-stats-operator" Attribute Description

6.9.57 "qti-math-operator" Attribute Description

6.9.58 "qti-number-correct" Attribute Description

6.9.59 "qti-number-incorrect" Attribute Description

6.9.60 "qti-number-presented" Attribute Description

6.9.61 "qti-number-responded" Attribute Description

6.9.62 "qti-number-selected" Attribute Description

6.9.63 "qti-outcome-minimum" Attribute Description

6.9.64 "qti-outcome-maximum" Attribute Description

6.10 "FeedandTempBlockStatic" Class Description

6.10.1 "flowContentModel" Attribute Description

6.10.2 "math" Attribute Description

6.10.3 "include" Attribute Description

6.10.4 "qti-template-block" Attribute Description

6.10.5 "qti-template-inline" Attribute Description

6.10.6 "qti-feedback-block" Attribute Description

6.10.7 "qti-feedback-inline" Attribute Description

6.10.8 "qti-printed-variable" Attribute Description

6.11 "FeedbackBlockStatic" Class Description

6.11.1 "blockGroup" Attribute Description

6.11.2 "inlineContentModel" Attribute Description

6.11.3 "qti-template-inline" Attribute Description

6.11.4 "qti-feedback-inline" Attribute Description

6.11.5 "qti-printed-variable" Attribute Description

6.12 "FeedbackFlowStaticGroup" Class Description

6.12.1 "qti-printed-variable" Attribute Description

6.12.2 "qti-hottext" Attribute Description

6.12.3 "qti-template-inline" Attribute Description

6.12.4 "qti-template-block" Attribute Description

6.12.5 "math" Attribute Description

6.12.6 "include" Attribute Description

6.12.7 "flowContentModel" Attribute Description

6.13 "FeedbackInlineGroup" Class Description

6.13.1 "inlineContentModel" Attribute Description

6.13.2 "math" Attribute Description

6.13.3 "include" Attribute Description

6.13.4 "qti-template-inline" Attribute Description

6.13.5 "qti-printed-variable" Attribute Description

6.14 "FlowContentModel" Class Description

6.14.1 "pre" Attribute Description

6.14.2 "h1" Attribute Description

6.14.3 "h2" Attribute Description

6.14.4 "h3" Attribute Description

6.14.5 "h4" Attribute Description

6.14.6 "h5" Attribute Description

6.14.7 "h6" Attribute Description

6.14.8 "p" Attribute Description

6.14.9 "address" Attribute Description

6.14.10 "dl" Attribute Description

6.14.11 "ol" Attribute Description

6.14.12 "ul" Attribute Description

6.14.13 "br" Attribute Description

6.14.14 "hr" Attribute Description

6.14.15 "img" Attribute Description

6.14.16 "object" Attribute Description

6.14.17 "blockquote" Attribute Description

6.14.18 "em" Attribute Description

6.14.19 "a" Attribute Description

6.14.20 "code" Attribute Description

6.14.21 "span" Attribute Description

6.14.22 "sub" Attribute Description

6.14.23 "acronym" Attribute Description

6.14.24 "big" Attribute Description

6.14.25 "tt" Attribute Description

6.14.26 "kbd" Attribute Description

6.14.27 "q" Attribute Description

6.14.28 "i" Attribute Description

6.14.29 "dfn" Attribute Description

6.14.30 "abbr" Attribute Description

6.14.31 "strong" Attribute Description

6.14.32 "sup" Attribute Description

6.14.33 "var" Attribute Description

6.14.34 "small" Attribute Description

6.14.35 "samp" Attribute Description

6.14.36 "b" Attribute Description

6.14.37 "cite" Attribute Description

6.14.38 "table" Attribute Description

6.14.39 "div" Attribute Description

6.14.40 "bdo" Attribute Description

6.14.41 "bdi" Attribute Description

6.14.42 "figure" Attribute Description

6.14.43 "audio" Attribute Description

6.14.44 "video" Attribute Description

6.14.45 "article" Attribute Description

6.14.46 "aside" Attribute Description

6.14.47 "footer" Attribute Description

6.14.48 "header" Attribute Description

6.14.49 "label" Attribute Description

6.14.50 "nav" Attribute Description

6.14.51 "section" Attribute Description

6.14.52 "ruby" Attribute Description

6.14.53 "ssmlGroup" Attribute Description

6.14.54 "picture" Attribute Description

6.15 "FlowGroup" Class Description

6.15.1 "qti-printed-variable" Attribute Description

6.15.2 "qti-feedback-block" Attribute Description

6.15.3 "qti-hottext" Attribute Description

6.15.4 "qti-feedback-inline" Attribute Description

6.15.5 "qti-template-inline" Attribute Description

6.15.6 "qti-template-block" Attribute Description

6.15.7 "math" Attribute Description

6.15.8 "include" Attribute Description

6.15.9 "qti-text-entry-interaction" Attribute Description

6.15.10 "qti-inline-choice-interaction" Attribute Description

6.15.11 "qti-end-attempt-interaction" Attribute Description

6.15.12 "qti-custom-interaction" Attribute Description

6.15.13 "qti-portable-custom-interaction" Attribute Description

6.15.14 "qti-drawing-interaction" Attribute Description

6.15.15 "qti-gap-match-interaction" Attribute Description

6.15.16 "qti-match-interaction" Attribute Description

6.15.17 "qti-graphic-gap-match-interaction" Attribute Description

6.15.18 "qti-hotspot-interaction" Attribute Description

6.15.19 "qti-graphic-order-interaction" Attribute Description

6.15.20 "qti-select-point-interaction" Attribute Description

6.15.21 "qti-graphic-associate-interaction" Attribute Description

6.15.22 "qti-slider-interaction" Attribute Description

6.15.23 "qti-choice-interaction" Attribute Description

6.15.24 "qti-media-interaction" Attribute Description

6.15.25 "qti-hottext-interaction" Attribute Description

6.15.26 "qti-order-interaction" Attribute Description

6.15.27 "qti-extended-text-interaction" Attribute Description

6.15.28 "qti-upload-interaction" Attribute Description

6.15.29 "qti-associate-interaction" Attribute Description

6.15.30 "flowContentModel" Attribute Description

6.16 "FlowStaticGroup" Class Description

6.16.1 "qti-printed-variable" Attribute Description

6.16.2 "qti-feedback-block" Attribute Description

6.16.3 "qti-feedback-inline" Attribute Description

6.16.4 "qti-template-inline" Attribute Description

6.16.5 "qti-template-block" Attribute Description

6.16.6 "math" Attribute Description

6.16.7 "include" Attribute Description

6.16.8 "flowContentModel" Attribute Description

6.17 "GapChoice" Class Description

6.17.1 "qti-gap-text" Attribute Description

6.17.2 "qti-gap-img" Attribute Description

6.18 "HTMLContentFlow" Class Description

6.18.1 "math" Attribute Description

6.18.2 "flowContent" Attribute Description

6.19 "IncrementSelection" Class Description

6.19.1 "qti-increment-si" Attribute Description

6.19.2 "qti-increment-us" Attribute Description

6.20 "InlineChoiceGroup" Class Description

6.20.1 "qti-printed-variable" Attribute Description

6.20.2 "qti-feedback-inline" Attribute Description

6.20.3 "qti-template-inline" Attribute Description

6.20.4 "math" Attribute Description

6.20.5 "include" Attribute Description

6.20.6 "inlineContentModel" Attribute Description

6.21 "InlineContentModel" Class Description

6.21.1 "img" Attribute Description

6.21.2 "picture" Attribute Description

6.21.3 "br" Attribute Description

6.21.4 "object" Attribute Description

6.21.5 "em" Attribute Description

6.21.6 "a" Attribute Description

6.21.7 "code" Attribute Description

6.21.8 "span" Attribute Description

6.21.9 "sub" Attribute Description

6.21.10 "acronym" Attribute Description

6.21.11 "big" Attribute Description

6.21.12 "tt" Attribute Description

6.21.13 "kbd" Attribute Description

6.21.14 "q" Attribute Description

6.21.15 "i" Attribute Description

6.21.16 "dfn" Attribute Description

6.21.17 "abbr" Attribute Description

6.21.18 "strong" Attribute Description

6.21.19 "sup" Attribute Description

6.21.20 "var" Attribute Description

6.21.21 "small" Attribute Description

6.21.22 "samp" Attribute Description

6.21.23 "b" Attribute Description

6.21.24 "cite" Attribute Description

6.21.25 "bdo" Attribute Description

6.21.26 "bdi" Attribute Description

6.21.27 "label" Attribute Description

6.21.28 "ruby" Attribute Description

6.21.29 "ssml11Group" Attribute Description

6.22 "InlineGroup" Class Description

6.22.1 "qti-text-entry-interaction" Attribute Description

6.22.2 "qti-hottext" Attribute Description

6.22.3 "qti-printed-variable" Attribute Description

6.22.4 "qti-gap" Attribute Description

6.22.5 "qti-feedback-inline" Attribute Description

6.22.6 "qti-template-inline" Attribute Description

6.22.7 "qti-inline-choice-interaction" Attribute Description

6.22.8 "qti-end-attempt-interaction" Attribute Description

6.22.9 "qti-custom-interaction" Attribute Description

6.22.10 "math" Attribute Description

6.22.11 "include" Attribute Description

6.22.12 "inlineContentModel" Attribute Description

6.23 "InlineStaticGroup" Class Description

6.23.1 "qti-hottext" Attribute Description

6.23.2 "qti-printed-variable" Attribute Description

6.23.3 "qti-gap" Attribute Description

6.23.4 "qti-feedback-inline" Attribute Description

6.23.5 "qti-template-inline" Attribute Description

6.23.6 "math" Attribute Description

6.23.7 "include" Attribute Description

6.23.8 "inlineContentModel" Attribute Description

6.24 "ItemBodySelect" Class Description

6.24.1 "qti-rubric-block" Attribute Description

6.24.2 "blockGroup" Attribute Description

6.25 "LookupTable" Class Description

6.25.1 "qti-match-table" Attribute Description

6.25.2 "qti-interpolation-table" Attribute Description

6.26 "NumericExpressionGroup" Class Description

6.26.1 "qti-sum" Attribute Description

6.26.2 "qti-subtract" Attribute Description

6.26.3 "qti-divide" Attribute Description

6.26.4 "qti-multiple" Attribute Description

6.26.5 "qti-ordered" Attribute Description

6.26.6 "qti-custom-operator" Attribute Description

6.26.7 "qti-random" Attribute Description

6.26.8 "qti-null" Attribute Description

6.26.9 "qti-delete" Attribute Description

6.26.10 "qti-index" Attribute Description

6.26.11 "qti-power" Attribute Description

6.26.12 "qti-container-size" Attribute Description

6.26.13 "qti-correct" Attribute Description

6.26.14 "qti-default" Attribute Description

6.26.15 "qti-integer-divide" Attribute Description

6.26.16 "qti-integer-modulus" Attribute Description

6.26.17 "qti-product" Attribute Description

6.26.18 "qti-round" Attribute Description

6.26.19 "qti-truncate" Attribute Description

6.26.20 "qti-field-value" Attribute Description

6.26.21 "qti-random-integer" Attribute Description

6.26.22 "qti-variable" Attribute Description

6.26.23 "qti-test-variables" Attribute Description

6.26.24 "qti-integer-to-float" Attribute Description

6.26.25 "qti-base-value" Attribute Description

6.26.26 "qti-map-response-point" Attribute Description

6.26.27 "qti-map-response" Attribute Description

6.26.28 "qti-repeat" Attribute Description

6.26.29 "qti-round-to" Attribute Description

6.26.30 "qti-lcm" Attribute Description

6.26.31 "qti-gcd" Attribute Description

6.26.32 "qti-min" Attribute Description

6.26.33 "qti-max" Attribute Description

6.26.34 "qti-math-constant" Attribute Description

6.26.35 "qti-stats-operator" Attribute Description

6.26.36 "qti-math-operator" Attribute Description

6.26.37 "qti-random-float" Attribute Description

6.26.38 "qti-number-correct" Attribute Description

6.26.39 "qti-number-incorrect" Attribute Description

6.26.40 "qti-number-presented" Attribute Description

6.26.41 "qti-number-responded" Attribute Description

6.26.42 "qti-number-selected" Attribute Description

6.26.43 "qti-outcome-minimum" Attribute Description

6.26.44 "qti-outcome-maximum" Attribute Description

6.27 "ObjectFlowGroup" Class Description

6.27.1 "math" Attribute Description

6.27.2 "include" Attribute Description

6.27.3 "param" Attribute Description

6.27.4 "flowContentModel" Attribute Description

6.28 "OutcomeRule" Class Description

6.28.1 "qti-lookup-outcome-value" Attribute Description

6.28.2 "qti-outcome-processing-fragment" Attribute Description

6.28.3 "qti-set-outcome-value" Attribute Description

6.28.4 "include" Attribute Description

6.28.5 "qti-exit-test" Attribute Description

6.28.6 "qti-outcome-condition" Attribute Description

6.29 "PhraseRBSelection" Class Description

6.29.1 "phrasingContentModel" Attribute Description

6.29.2 "rb" Attribute Description

6.30 "PhrasingContentModelHTML5" Class Description

6.30.1 "a" Attribute Description

6.30.2 "abbr" Attribute Description

6.30.3 "b" Attribute Description

6.30.4 "bdo" Attribute Description

6.30.5 "br" Attribute Description

6.30.6 "cite" Attribute Description

6.30.7 "code" Attribute Description

6.30.8 "dfn" Attribute Description

6.30.9 "em" Attribute Description

6.30.10 "i" Attribute Description

6.30.11 "img" Attribute Description

6.30.12 "picture" Attribute Description

6.30.13 "kbd" Attribute Description

6.30.14 "object" Attribute Description

6.30.15 "q" Attribute Description

6.30.16 "samp" Attribute Description

6.30.17 "small" Attribute Description

6.30.18 "span" Attribute Description

6.30.19 "strong" Attribute Description

6.30.20 "sub" Attribute Description

6.30.21 "sup" Attribute Description

6.30.22 "var" Attribute Description

6.30.23 "audio" Attribute Description

6.30.24 "bdi" Attribute Description

6.30.25 "label" Attribute Description

6.30.26 "ruby" Attribute Description

6.30.27 "video" Attribute Description

6.31 "PromptStaticGroup" Class Description

6.31.1 "math" Attribute Description

6.31.2 "include" Attribute Description

6.31.3 "flowContentModel" Attribute Description

6.32 "RPRTSelection" Class Description

6.32.1 "rp" Attribute Description

6.32.2 "rtrtcSelection" Attribute Description

6.33 "RTRTCSelection" Class Description

6.33.1 "rt" Attribute Description

6.33.2 "rtc" Attribute Description

6.34 "ResponseRuleGroup" Class Description

6.34.1 "include" Attribute Description

6.34.2 "qti-response-condition" Attribute Description

6.34.3 "qti-response-processing-fragment" Attribute Description

6.34.4 "qti-set-outcome-value" Attribute Description

6.34.5 "qti-exit-response" Attribute Description

6.34.6 "qti-lookup-outcome-value" Attribute Description

6.35 "RubricBlockContentModel" Class Description

6.35.1 "flowContentModel" Attribute Description

6.35.2 "math" Attribute Description

6.35.3 "include" Attribute Description

6.35.4 "qti-template-block" Attribute Description

6.35.5 "qti-template-inline" Attribute Description

6.35.6 "qti-printed-variable" Attribute Description

6.36 "RubricTemplateBlockContentModel" Class Description

6.36.1 "flowContentModel" Attribute Description

6.36.2 "math" Attribute Description

6.36.3 "include" Attribute Description

6.36.4 "qti-printed-variable" Attribute Description

6.37 "RubricTemplateInlineStaticGroup" Class Description

6.37.1 "inlineContentModel" Attribute Description

6.37.2 "math" Attribute Description

6.37.3 "include" Attribute Description

6.37.4 "qti-printed-variable" Attribute Description

6.38 "RubySelection" Class Description

6.38.1 "phraseSelection" Attribute Description

6.38.2 "rprtSelection" Attribute Description

6.39 "RuleSystemSelection" Class Description

6.39.1 "qti-rule-system-si" Attribute Description

6.39.2 "qti-rule-system-us" Attribute Description

6.40 "SSMLGroup" Class Description

6.40.1 "p" Attribute Description

6.40.2 "s" Attribute Description

6.40.3 "say-as" Attribute Description

6.40.4 "phoneme" Attribute Description

6.40.5 "sub" Attribute Description

6.40.6 "voice" Attribute Description

6.40.7 "emphasis" Attribute Description

6.40.8 "break" Attribute Description

6.40.9 "prosody" Attribute Description

6.40.10 "mark" Attribute Description

6.40.11 "audio" Attribute Description

6.40.12 "speak" Attribute Description

6.41 "SectionPart" Class Description

6.41.1 "include" Attribute Description

6.41.2 "qti-assessment-item-ref" Attribute Description

6.41.3 "qti-assessment-section" Attribute Description

6.41.4 "qti-assessment-section-ref" Attribute Description

6.42 "SelectOrderSelection" Class Description

6.42.1 "qti-selection" Attribute Description

6.42.2 "qti-ordering" Attribute Description

6.43 "SelectStimulusBody" Class Description

6.43.1 "blockContent" Attribute Description

6.43.2 "math" Attribute Description

6.44 "TableCellGroup" Class Description

6.44.1 "td" Attribute Description

6.44.2 "th" Attribute Description

6.45 "TemplateRuleGroup" Class Description

6.45.1 "qti-set-template-value" Attribute Description

6.45.2 "qti-exit-template" Attribute Description

6.45.3 "qti-template-condition" Attribute Description

6.45.4 "qti-set-default-value" Attribute Description

6.45.5 "qti-set-correct-response" Attribute Description

6.45.6 "qti-template-constraint" Attribute Description

6.46 "TestFeedbackFlowStaticGroup" Class Description

6.46.1 "flowContentModel" Attribute Description

6.46.2 "include" Attribute Description

6.46.3 "math" Attribute Description

6.47 "TestRubricBlockContentModel" Class Description

6.47.1 "flowContentModel" Attribute Description

6.47.2 "include" Attribute Description

6.47.3 "math" Attribute Description

7. Derived Class Descriptions

7.1 "ARIABaseEmpty" Class Description

7.1.1 "role" Characteristic Description

7.1.2 "aria-controls" Characteristic Description

7.1.3 "aria-describedby" Characteristic Description

7.1.4 "aria-flowto" Characteristic Description

7.1.5 "aria-label" Characteristic Description

7.1.6 "aria-labelledby" Characteristic Description

7.1.7 "aria-level" Characteristic Description

7.1.8 "aria-live" Characteristic Description

7.1.9 "aria-orientation" Characteristic Description

7.1.10 "aria-owns" Characteristic Description

7.1.11 "aria-hidden" Characteristic Description

7.1.12 "aria-activedescendant" Characteristic Description

7.1.13 "aria-atomic" Characteristic Description

7.1.14 "aria-autocomplete" Characteristic Description

7.1.15 "aria-busy" Characteristic Description

7.1.16 "aria-checked" Characteristic Description

7.1.17 "aria-disabled" Characteristic Description

7.1.18 "aria-dropeffect" Characteristic Description

7.1.19 "aria-expanded" Characteristic Description

7.1.20 "aria-haspopup" Characteristic Description

7.1.21 "aria-invalid" Characteristic Description

7.1.22 "aria-multiline" Characteristic Description

7.1.23 "aria-multiselectable" Characteristic Description

7.1.24 "aria-posinset" Characteristic Description

7.1.25 "aria-pressed" Characteristic Description

7.1.26 "aria-readonly" Characteristic Description

7.1.27 "aria-relevant" Characteristic Description

7.1.28 "aria-required" Characteristic Description

7.1.29 "aria-selected" Characteristic Description

7.1.30 "aria-setsize" Characteristic Description

7.1.31 "aria-sort" Characteristic Description

7.1.32 "aria-valuemax" Characteristic Description

7.1.33 "aria-valuemin" Characteristic Description

7.1.34 "aria-valuenow" Characteristic Description

7.1.35 "aria-valuetext" Characteristic Description

7.2 "ARIALevelInteger" Class Description

7.2.1 "minInclusive" Attribute Description

7.3 "AdaptiveHref" Class Description

7.3.1 "identifier" Characteristic Description

7.3.2 "href" Characteristic Description

7.4 "AreaMapEntry" Class Description

7.4.1 "shape" Characteristic Description

7.4.2 "coords" Characteristic Description

7.4.3 "mapped-value" Characteristic Description

7.5 "AssessmentSectionRef" Class Description

7.5.1 "identifier" Characteristic Description

7.5.2 "class" Characteristic Description

7.5.3 "href" Characteristic Description

7.5.4 "dataExtension" Characteristic Description

7.6 "AssessmentStimulusRef" Class Description

7.6.1 "identifier" Characteristic Description

7.6.2 "href" Characteristic Description

7.6.3 "title" Characteristic Description

7.6.4 "dataExtension" Characteristic Description

7.7 "BaseValue" Class Description

7.7.1 "base-type" Characteristic Description

7.8 "ContextUniqueIDRef" Class Description

7.8.1 "identifier" Characteristic Description

7.9 "Coords" Class Description

7.9.1 "pattern" Attribute Description

7.10 "Correct" Class Description

7.10.1 "identifier" Characteristic Description

7.11 "DataHTML5Extension" Class Description

7.11.1 "pattern" Attribute Description

7.12 "Default" Class Description

7.12.1 "identifier" Characteristic Description

7.13 "EncVariableString" Class Description

7.13.1 "pattern" Attribute Description

7.14 "FileHref" Class Description

7.15 "FileHrefCard" Class Description

7.15.1 "mime-type" Characteristic Description

7.16 "Identifier" Class Description

7.17 "InteractionModule" Class Description

7.17.1 "id" Characteristic Description

7.17.2 "primary-path" Characteristic Description

7.17.3 "fallback-path" Characteristic Description

7.18 "InterpolationTableEntry" Class Description

7.18.1 "source-value" Characteristic Description

7.18.2 "include-boundary" Characteristic Description

7.18.3 "target-value" Characteristic Description

7.19 "ItemSessionControl" Class Description

7.19.1 "max-attempts" Characteristic Description

7.19.2 "show-feedback" Characteristic Description

7.19.3 "allow-review" Characteristic Description

7.19.4 "show-solution" Characteristic Description

7.19.5 "allow-comment" Characteristic Description

7.19.6 "allow-skipping" Characteristic Description

7.19.7 "validate-responses" Characteristic Description

7.20 "Length" Class Description

7.20.1 "pattern" Attribute Description

7.21 "MapEntry" Class Description

7.21.1 "map-key" Characteristic Description

7.21.2 "mapped-value" Characteristic Description

7.21.3 "case-sensitive" Characteristic Description

7.22 "MapResponse" Class Description

7.22.1 "identifier" Characteristic Description

7.23 "MatchTableEntry" Class Description

7.23.1 "source-value" Characteristic Description

7.23.2 "target-value" Characteristic Description

7.24 "MathConstant" Class Description

7.24.1 "name" Characteristic Description

7.25 "MimeType" Class Description

7.25.1 "pattern" Attribute Description

7.26 "NonNegativeDouble" Class Description

7.26.1 "minInclusive" Attribute Description

7.27 "Number" Class Description

7.27.1 "section-identifier" Characteristic Description

7.27.2 "include-category" Characteristic Description

7.27.3 "exclude-category" Characteristic Description

7.28 "OutcomeMinMax" Class Description

7.28.1 "section-identifier" Characteristic Description

7.28.2 "include-category" Characteristic Description

7.28.3 "exclude-category" Characteristic Description

7.28.4 "outcome-identifier" Characteristic Description

7.28.5 "weight-identifier" Characteristic Description

7.29 "Param" Class Description

7.29.1 "name" Characteristic Description

7.29.2 "value" Characteristic Description

7.29.3 "valuetype" Characteristic Description

7.29.4 "type" Characteristic Description

7.30 "PrintedVariable" Class Description

7.30.1 "id" Characteristic Description

7.30.2 "class" Characteristic Description

7.30.3 "language" Characteristic Description

7.30.4 "label" Characteristic Description

7.30.5 "baseuri" Characteristic Description

7.30.6 "identifier" Characteristic Description

7.30.7 "format" Characteristic Description

7.30.8 "base" Characteristic Description

7.30.9 "index" Characteristic Description

7.30.10 "power-form" Characteristic Description

7.30.11 "field" Characteristic Description

7.30.12 "delimiter" Characteristic Description

7.30.13 "mapping-indicator" Characteristic Description

7.31 "RadialSIValue" Class Description

7.31.1 "unit" Characteristic Description

7.32 "RadialUSValue" Class Description

7.32.1 "unit" Characteristic Description

7.33 "RandomFloat" Class Description

7.33.1 "min" Characteristic Description

7.33.2 "max" Characteristic Description

7.34 "RandomInteger" Class Description

7.34.1 "min" Characteristic Description

7.34.2 "max" Characteristic Description

7.34.3 "step" Characteristic Description

7.35 "SILinearValue" Class Description

7.35.1 "unit" Characteristic Description

7.36 "StyleSheet" Class Description

7.36.1 "href" Characteristic Description

7.36.2 "type" Characteristic Description

7.36.3 "media" Characteristic Description

7.36.4 "title" Characteristic Description

7.37 "SupportExtString" Class Description

7.37.1 "pattern" Attribute Description

7.38 "TemplateUniqueIDRef" Class Description

7.38.1 "template-identifier" Characteristic Description

7.39 "TestVariables" Class Description

7.39.1 "section-identifier" Characteristic Description

7.39.2 "include-category" Characteristic Description

7.39.3 "exclude-category" Characteristic Description

7.39.4 "variable-identifier" Characteristic Description

7.39.5 "weight-identifier" Characteristic Description

7.39.6 "base-type" Characteristic Description

7.40 "TimeLimits" Class Description

7.40.1 "min-time" Characteristic Description

7.40.2 "max-time" Characteristic Description

7.40.3 "allow-late-submission" Characteristic Description

7.41 "URL" Class Description

7.42 "USLinearValue" Class Description

7.42.1 "unit" Characteristic Description

7.43 "UniqueIdentifier" Class Description

7.44 "UniqueIdentifierRef" Class Description

7.45 "UseExtensionString" Class Description

7.45.1 "pattern" Attribute Description

7.46 "Value" Class Description

7.46.1 "field-identifier" Characteristic Description

7.46.2 "base-type" Characteristic Description

7.47 "Variable" Class Description

7.47.1 "identifier" Characteristic Description

7.47.2 "weight-identifier" Characteristic Description

7.48 "VariableMapping" Class Description

7.48.1 "source-identifier" Characteristic Description

7.48.2 "target-identifier" Characteristic Description

7.49 "VariableString" Class Description

7.49.1 "pattern" Attribute Description

7.50 "Weight" Class Description

7.50.1 "identifier" Characteristic Description

7.50.2 "value" Characteristic Description

8. Enumerated Vocabulary Descriptions

8.1 "ARIAAutoCompleteEnum" Vocabulary Description

8.2 "ARIACheckedEnum" Vocabulary Description

8.3 "ARIAExpandedEnum" Vocabulary Description

8.4 "ARIAInvalidEnum" Vocabulary Description

8.5 "ARIALiveValueEnum" Vocabulary Description

8.6 "ARIAOrientationValueEnum" Vocabulary Description

8.7 "ARIAPressedEnum" Vocabulary Description

8.8 "ARIARoleValue" Vocabulary Description

8.9 "ARIASelectedEnum" Vocabulary Description

8.10 "ARIASortEnum" Vocabulary Description

8.11 "AlignEnum" Vocabulary Description

8.12 "BaseTypeEnum" Vocabulary Description

8.13 "CORSSettingsEnum" Vocabulary Description

8.14 "CalculatorTypeEnum" Vocabulary Description

8.15 "CardinalityEnum" Vocabulary Description

8.16 "DIR" Vocabulary Description

8.17 "ExternalScoredEnum" Vocabulary Description

8.18 "KindValueEnum" Vocabulary Description

8.19 "MathConstantsEnum" Vocabulary Description

8.20 "MathOperatorNameEnum" Vocabulary Description

8.21 "NavigationModeEnum" Vocabulary Description

8.22 "OrientationEnum" Vocabulary Description

8.23 "ParamTypeEnum" Vocabulary Description

8.24 "PreLoadValueEnum" Vocabulary Description

8.25 "RoundingModeEnum" Vocabulary Description

8.26 "SIRadialUnitTypeEnum" Vocabulary Description

8.27 "SIUnitTypeEnum" Vocabulary Description

8.28 "ShapeEnum" Vocabulary Description

8.29 "ShowHideEnum" Vocabulary Description

8.30 "StatsOperatorNameEnum" Vocabulary Description

8.31 "SubmissionModeEnum" Vocabulary Description

8.32 "SupportEnum" Vocabulary Description

8.33 "SuppressTTSEnum" Vocabulary Description

8.34 "TableCellScopeEnum" Vocabulary Description

8.35 "TestFeedbackAccessEnum" Vocabulary Description

8.36 "TextFormatEnum" Vocabulary Description

8.37 "ToleranceModeEnum" Vocabulary Description

8.38 "USRadialUnitTypeEnum" Vocabulary Description

8.39 "USUnitTypeEnum" Vocabulary Description

8.40 "UseEnum" Vocabulary Description

8.41 "ValignEnum" Vocabulary Description

9. Miscellaneous Descriptions

9.1 List Class Descriptions

9.1.1 "IdentifierList" Class Description

9.1.2 "IntegerList" Class Description

9.1.3 "StringList" Class Description

9.1.4 "ToleranceList" Class Description

9.2 Enumerated List Class Descriptions

9.2.1 "ARIADropEffectList" Vocabulary Description

9.2.2 "ARIARelevantList" Vocabulary Description

9.2.3 "ViewEnum" Vocabulary Description

9.3 Union Class Descriptions

9.3.1 "FloatOrVariableRef" Class Description

9.3.2 "IntOrIdentifier" Class Description

9.3.3 "IntegerOrVariableRef" Class Description

9.3.4 "StringOrVariableRef" Class Description

9.3.5 "SupportEnumExt" Class Description

9.3.6 "UseEnumExt" Class Description

9.4 Imported Class Descriptions

9.4.1 "Include" Class Description

9.4.2 "MathML3" Class Description

9.4.3 "SSMLv1p1" Class Description

10. Extending and Profiling the Data Model

10.1 Extending the Data Model

10.1.1 Companion Materials

10.1.2 Section Selection

10.1.3 Section Ordering

10.1.4 Customizable Interactions

10.1.5 Custom Operators

10.1.6 Enumerated Vocabularies

10.1.7 Controlled Characteristics on the HTML and Interaction Elements

10.2 Profiling the Data Model

References

Appendix A Modelling Concepts and Terms

A1 Data Model Descriptions

A1.1 Data Model Diagrams

A1.2 Class Descriptions

A1.3 Attribute and Characteristic Descriptions

A1.4 Enumerated Vocabulary Descriptions

A1.5 External Vocabulary Descriptions

A1.6 Import Class Descriptions

A1.7 Link Data Descriptions

About this Document

List of Contributors

Revision History

toc | top

List of Figures

Figure 4.1 AssessmentItem class definitions

Figure 4.2 AssessmentSection class definitions

Figure 4.3 AssessmentStimulus class definitions

Figure 4.4 AssessmentTest class definitions

Figure 4.5 OutcomeDeclaration class definitions

Figure 4.6 ResponseProcessing class definitions

Figure 5.1 A class definitions

Figure 5.2 ARIABase class definitions

Figure 5.3 AdaptiveSelection class definitions

Figure 5.4 AnyN class definitions

Figure 5.5 AreaMapping class definitions

Figure 5.6 AssessmentItemRef class definitions

Figure 5.7 AssociableHotspot class definitions

Figure 5.8 AssociateInteraction class definitions

Figure 5.9 Audio class definitions

Figure 5.10 BDI class definitions

Figure 5.11 BDO class definitions

Figure 5.12 BR class definitions

Figure 5.13 BaseHTML5Flow class definitions

Figure 5.14 BaseHTML5Phrasing class definitions

Figure 5.15 BasePromptInteraction class definitions

Figure 5.16 BaseSequence class definitions

Figure 5.17 BaseSequenceEmpty class definitions

Figure 5.18 BaseSequenceFull class definitions

Figure 5.19 BaseSequenceRIdent class definitions

Figure 5.20 BaseSequenceXBase class definitions

Figure 5.21 BaseSequenceXBaseEmpty class definitions

Figure 5.22 BlockQuote class definitions

Figure 5.23 BranchRule class definitions

Figure 5.24 Calculator class definitions

Figure 5.25 Caption class definitions

Figure 5.26 Card class definitions

Figure 5.27 CardEntry class definitions

Figure 5.28 Catalog class definitions

Figure 5.29 CatalogInfo class definitions

Figure 5.30 ChoiceInteraction class definitions

Figure 5.31 Col class definitions

Figure 5.32 ColGroup class definitions

Figure 5.33 CompanionMaterialsInfo class definitions

Figure 5.34 ContextDeclaration class definitions

Figure 5.35 CorrectResponse class definitions

Figure 5.36 CustomInteraction class definitions

Figure 5.37 CustomOperator class definitions

Figure 5.38 DD class definitions

Figure 5.39 DL class definitions

Figure 5.40 DT class definitions

Figure 5.41 DefaultValue class definitions

Figure 5.42 Div class definitions

Figure 5.43 DrawingInteraction class definitions

Figure 5.44 EndAttemptInteraction class definitions

Figure 5.45 Equal class definitions

Figure 5.46 EqualRounded class definitions

Figure 5.47 ExtendedTextInteraction class definitions

Figure 5.48 FeedbackBlock class definitions

Figure 5.49 FeedbackContentBody class definitions

Figure 5.50 FeedbackFlowContentBody class definitions

Figure 5.51 FeedbackInline class definitions

Figure 5.52 FieldValue class definitions

Figure 5.53 Figure class definitions

Figure 5.54 Gap class definitions

Figure 5.55 GapImg class definitions

Figure 5.56 GapMatchInteraction class definitions

Figure 5.57 GapText class definitions

Figure 5.58 GraphicAssociateInteraction class definitions

Figure 5.59 GraphicGapMatchInteraction class definitions

Figure 5.60 GraphicOrderInteraction class definitions

Figure 5.61 HR class definitions

Figure 5.62 HTMLContent class definitions

Figure 5.63 HTMLText class definitions

Figure 5.64 HotText class definitions

Figure 5.65 HotTextInteraction class definitions

Figure 5.66 HotspotChoice class definitions

Figure 5.67 HotspotInteraction class definitions

Figure 5.68 Img class definitions

Figure 5.69 IncrementSI class definitions

Figure 5.70 IncrementUS class definitions

Figure 5.71 Index class definitions

Figure 5.72 InlineChoice class definitions

Figure 5.73 InlineChoiceInteraction class definitions

Figure 5.74 Inside class definitions

Figure 5.75 InteractionMarkup class definitions

Figure 5.76 InteractionModules class definitions

Figure 5.77 InterpolationTable class definitions

Figure 5.78 ItemBody class definitions

Figure 5.79 ItemFileInfo class definitions

Figure 5.80 LI class definitions

Figure 5.81 Label class definitions

Figure 5.82 Logic0toMany class definitions

Figure 5.83 Logic1toMany class definitions

Figure 5.84 LogicPair class definitions

Figure 5.85 LogicSingle class definitions

Figure 5.86 LookupOutcomeValue class definitions

Figure 5.87 Mapping class definitions

Figure 5.88 MatchInteraction class definitions

Figure 5.89 MatchTable class definitions

Figure 5.90 MathOperator class definitions

Figure 5.91 MediaInteraction class definitions

Figure 5.92 ModalFeedback class definitions

Figure 5.93 NumericLogic1toMany class definitions

Figure 5.94 OUL class definitions

Figure 5.95 Object class definitions

Figure 5.96 OrderInteraction class definitions

Figure 5.97 Ordering class definitions

Figure 5.98 OutcomeCondition class definitions

Figure 5.99 OutcomeElse class definitions

Figure 5.100 OutcomeIf class definitions

Figure 5.101 OutcomeProcessing class definitions

Figure 5.102 OutcomeProcessingFragment class definitions

Figure 5.103 PatternMatch class definitions

Figure 5.104 Picture class definitions

Figure 5.105 PortableCustomInteraction class definitions

Figure 5.106 PositionObjectInteraction class definitions

Figure 5.107 PositionObjectStage class definitions

Figure 5.108 Prompt class definitions

Figure 5.109 Protractor class definitions

Figure 5.110 Q class definitions

Figure 5.111 RTC class definitions

Figure 5.112 Repeat class definitions

Figure 5.113 ResponseCondition class definitions

Figure 5.114 ResponseDeclaration class definitions

Figure 5.115 ResponseElse class definitions

Figure 5.116 ResponseIf class definitions

Figure 5.117 ResponseProcessingFragment class definitions

Figure 5.118 RoundTo class definitions

Figure 5.119 RubricBlock class definitions

Figure 5.120 RubricBlockContentBody class definitions

Figure 5.121 RubricBlockTemplateBlock class definitions

Figure 5.122 RubricBlockTemplateBlockContentBody class definitions

Figure 5.123 RubricBlockTemplateInline class definitions

Figure 5.124 Ruby class definitions

Figure 5.125 Rule class definitions

Figure 5.126 SIRuleSystem class definitions

Figure 5.127 SelectPointInteraction class definitions

Figure 5.128 Selection class definitions

Figure 5.129 SetValue class definitions

Figure 5.130 SimpleAssociableChoice class definitions

Figure 5.131 SimpleChoice class definitions

Figure 5.132 SimpleMatchSet class definitions

Figure 5.133 SliderInteraction class definitions

Figure 5.134 Source class definitions

Figure 5.135 StatsOperator class definitions

Figure 5.136 StimulusBody class definitions

Figure 5.137 StringMatch class definitions

Figure 5.138 Substring class definitions

Figure 5.139 TDH class definitions

Figure 5.140 TR class definitions

Figure 5.141 Table class definitions

Figure 5.142 TablePart class definitions

Figure 5.143 Template class definitions

Figure 5.144 TemplateBlock class definitions

Figure 5.145 TemplateBlockContent class definitions

Figure 5.146 TemplateBlockContentBody class definitions

Figure 5.147 TemplateBlockFeedbackBlock class definitions

Figure 5.148 TemplateCondition class definitions

Figure 5.149 TemplateConstraint class definitions

Figure 5.150 TemplateDeclaration class definitions

Figure 5.151 TemplateDefault class definitions

Figure 5.152 TemplateElse class definitions

Figure 5.153 TemplateIf class definitions

Figure 5.154 TemplateInline class definitions

Figure 5.155 TemplateProcessing class definitions

Figure 5.156 TestFeedback class definitions

Figure 5.157 TestFeedbackFlowContentBody class definitions

Figure 5.158 TestPart class definitions

Figure 5.159 TestRubricBlock class definitions

Figure 5.160 TestRubricBlockContentBody class definitions

Figure 5.161 TextEntryInteraction class definitions

Figure 5.162 Track class definitions

Figure 5.163 USRuleSystem class definitions

Figure 5.164 UploadInteraction class definitions

Figure 5.165 Video class definitions

Figure 6.1 Adaptive class definitions

Figure 6.2 AssessmentSectionSelection class definitions

Figure 6.3 BlockContentModel class definitions

Figure 6.4 BlockGroup class definitions

Figure 6.5 BlockStaticGroup class definitions

Figure 6.6 CardSelection class definitions

Figure 6.7 DLSelection class definitions

Figure 6.8 DivSelection class definitions

Figure 6.9 ExpressionGroup class definitions

Figure 6.10 FeedandTempBlockStatic class definitions

Figure 6.11 FeedbackBlockStatic class definitions

Figure 6.12 FeedbackFlowStaticGroup class definitions

Figure 6.13 FeedbackInlineGroup class definitions

Figure 6.14 FlowContentModel class definitions

Figure 6.15 FlowGroup class definitions

Figure 6.16 FlowStaticGroup class definitions

Figure 6.17 GapChoice class definitions

Figure 6.18 HTMLContentFlow class definitions

Figure 6.19 IncrementSelection class definitions

Figure 6.20 InlineChoiceGroup class definitions

Figure 6.21 InlineContentModel class definitions

Figure 6.22 InlineGroup class definitions

Figure 6.23 InlineStaticGroup class definitions

Figure 6.24 ItemBodySelect class definitions

Figure 6.25 LookupTable class definitions

Figure 6.26 NumericExpressionGroup class definitions

Figure 6.27 ObjectFlowGroup class definitions

Figure 6.28 OutcomeRule class definitions

Figure 6.29 PhraseRBSelection class definitions

Figure 6.30 PhrasingContentModelHTML5 class definitions

Figure 6.31 PromptStaticGroup class definitions

Figure 6.32 RPRTSelection class definitions

Figure 6.33 RTRTCSelection class definitions

Figure 6.34 ResponseRuleGroup class definitions

Figure 6.35 RubricBlockContentModel class definitions

Figure 6.36 RubricTemplateBlockContentModel class definitions

Figure 6.37 RubricTemplateInlineStaticGroup class definitions

Figure 6.38 RubySelection class definitions

Figure 6.39 RuleSystemSelection class definitions

Figure 6.40 SSMLGroup class definitions

Figure 6.41 SectionPart class definitions

Figure 6.42 SelectOrderSelection class definitions

Figure 6.43 SelectStimulusBody class definitions

Figure 6.44 TableCellGroup class definitions

Figure 6.45 TemplateRuleGroup class definitions

Figure 6.46 TestFeedbackFlowStaticGroup class definitions

Figure 6.47 TestRubricBlockContentModel class definitions

Figure 7.1 ARIABaseEmpty class definitions

Figure 7.2 ARIALevelInteger class definitions

Figure 7.3 AdaptiveHref class definitions

Figure 7.4 AreaMapEntry class definitions

Figure 7.5 AssessmentSectionRef class definitions

Figure 7.6 AssessmentStimulusRef class definitions

Figure 7.7 BaseValue class definitions

Figure 7.8 ContextUniqueIDRef class definitions

Figure 7.9 Coords class definitions

Figure 7.10 Correct class definitions

Figure 7.11 DataHTML5Extension class definitions

Figure 7.12 Default class definitions

Figure 7.13 EncVariableString class definitions

Figure 7.14 FileHref class definitions

Figure 7.15 FileHrefCard class definitions

Figure 7.16 Identifier class definitions

Figure 7.17 InteractionModule class definitions

Figure 7.18 InterpolationTableEntry class definitions

Figure 7.19 ItemSessionControl class definitions

Figure 7.20 Length class definitions

Figure 7.21 MapEntry class definitions

Figure 7.22 MapResponse class definitions

Figure 7.23 MatchTableEntry class definitions

Figure 7.24 MathConstant class definitions

Figure 7.25 MimeType class definitions

Figure 7.26 NonNegativeDouble class definitions

Figure 7.27 Number class definitions

Figure 7.28 OutcomeMinMax class definitions

Figure 7.29 Param class definitions

Figure 7.30 PrintedVariable class definitions

Figure 7.31 RadialSIValue class definitions

Figure 7.32 RadialUSValue class definitions

Figure 7.33 RandomFloat class definitions

Figure 7.34 RandomInteger class definitions

Figure 7.35 SILinearValue class definitions

Figure 7.36 StyleSheet class definitions

Figure 7.37 SupportExtString class definitions

Figure 7.38 TemplateUniqueIDRef class definitions

Figure 7.39 TestVariables class definitions

Figure 7.40 TimeLimits class definitions

Figure 7.41 URL class definitions

Figure 7.42 USLinearValue class definitions

Figure 7.43 UniqueIdentifier class definitions

Figure 7.44 UniqueIdentifierRef class definitions

Figure 7.45 UseExtensionString class definitions

Figure 7.46 Value class definitions

Figure 7.47 Variable class definitions

Figure 7.48 VariableMapping class definitions

Figure 7.49 VariableString class definitions

Figure 7.50 Weight class definitions

Figure 8.1 ARIAAutoCompleteEnum class definitions

Figure 8.2 ARIACheckedEnum class definitions

Figure 8.3 ARIAExpandedEnum class definitions

Figure 8.4 ARIAInvalidEnum class definitions

Figure 8.5 ARIALiveValueEnum class definitions

Figure 8.6 ARIAOrientationValueEnum class definitions

Figure 8.7 ARIAPressedEnum class definitions

Figure 8.8 ARIARoleValue class definitions

Figure 8.9 ARIASelectedEnum class definitions

Figure 8.10 ARIASortEnum class definitions

Figure 8.11 AlignEnum class definitions

Figure 8.12 BaseTypeEnum class definitions

Figure 8.13 CORSSettingsEnum class definitions

Figure 8.14 CalculatorTypeEnum class definitions

Figure 8.15 CardinalityEnum class definitions

Figure 8.16 DIR class definitions

Figure 8.17 ExternalScoredEnum class definitions

Figure 8.18 KindValueEnum class definitions

Figure 8.19 MathConstantsEnum class definitions

Figure 8.20 MathOperatorNameEnum class definitions

Figure 8.21 NavigationModeEnum class definitions

Figure 8.22 OrientationEnum class definitions

Figure 8.23 ParamTypeEnum class definitions

Figure 8.24 PreLoadValueEnum class definitions

Figure 8.25 RoundingModeEnum class definitions

Figure 8.26 SIRadialUnitTypeEnum class definitions

Figure 8.27 SIUnitTypeEnum class definitions

Figure 8.28 ShapeEnum class definitions

Figure 8.29 ShowHideEnum class definitions

Figure 8.30 StatsOperatorNameEnum class definitions

Figure 8.31 SubmissionModeEnum class definitions

Figure 8.32 SupportEnum class definitions

Figure 8.33 SuppressTTSEnum class definitions

Figure 8.34 TableCellScopeEnum class definitions

Figure 8.35 TestFeedbackAccessEnum class definitions

Figure 8.36 TextFormatEnum class definitions

Figure 8.37 ToleranceModeEnum class definitions

Figure 8.38 USRadialUnitTypeEnum class definitions

Figure 8.39 USUnitTypeEnum class definitions

Figure 8.40 UseEnum class definitions

Figure 8.41 ValignEnum class definitions

Figure 9.1.1 IdentifierList class definitions

Figure 9.1.2 IntegerList class definitions

Figure 9.1.3 StringList class definitions

Figure 9.1.4 ToleranceList class definitions

Figure 9.2.1 ARIADropEffectList class definitions

Figure 9.2.2 ARIARelevantList class definitions

Figure 9.2.3 ViewEnum class definitions

Figure 9.3.1 FloatOrVariableRef class definitions

Figure 9.3.2 IntOrIdentifier class definitions

Figure 9.3.3 IntegerOrVariableRef class definitions

Figure 9.3.4 StringOrVariableRef class definitions

Figure 9.3.5 SupportEnumExt class definitions

Figure 9.3.6 UseEnumExt class definitions

toc | top

List of Tables

Table 3.1 Description of the "qti-assessment-item" root attribute.

Table 3.2 Description of the "qti-assessment-section" root attribute.

Table 3.3 Description of the "qti-assessment-stimulus" root attribute.

Table 3.4 Description of the "qti-assessment-test" root attribute.

Table 3.5 Description of the "qti-outcome-declaration" root attribute.

Table 3.6 Description of the "qti-response-processing" root attribute.

Table 4.1 AssessmentItem class definitions

Table 4.1.1 Description of the "identifier" characteristic for the "AssessmentItem" class

Table 4.1.2 Description of the "title" characteristic for the "AssessmentItem" class

Table 4.1.3 Description of the "label" characteristic for the "AssessmentItem" class

Table 4.1.4 Description of the "language" characteristic for the "AssessmentItem" class

Table 4.1.5 Description of the "tool-name" characteristic for the "AssessmentItem" class

Table 4.1.6 Description of the "tool-version" characteristic for the "AssessmentItem" class

Table 4.1.7 Description of the "adaptive" characteristic for the "AssessmentItem" class

Table 4.1.8 Description of the "time-dependent" characteristic for the "AssessmentItem" class

Table 4.1.9 Description of the "dataExtension" characteristic for the "AssessmentItem" class

Table 4.1.10 Description of the "qti-context-declaration" attribute for the "AssessmentItem" class

Table 4.1.11 Description of the "qti-response-declaration" attribute for the "AssessmentItem" class

Table 4.1.12 Description of the "qti-outcome-declaration" attribute for the "AssessmentItem" class

Table 4.1.13 Description of the "qti-template-declaration" attribute for the "AssessmentItem" class

Table 4.1.14 Description of the "qti-template-processing" attribute for the "AssessmentItem" class

Table 4.1.15 Description of the "qti-assessment-stimulus-ref" attribute for the "AssessmentItem" class

Table 4.1.16 Description of the "qti-companion-materials-info" attribute for the "AssessmentItem" class

Table 4.1.17 Description of the "qti-stylesheet" attribute for the "AssessmentItem" class

Table 4.1.18 Description of the "qti-item-body" attribute for the "AssessmentItem" class

Table 4.1.19 Description of the "qti-catalog-info" attribute for the "AssessmentItem" class

Table 4.1.20 Description of the "qti-response-processing" attribute for the "AssessmentItem" class

Table 4.1.21 Description of the "qti-modal-feedback" attribute for the "AssessmentItem" class

Table 4.2 AssessmentSection class definitions

Table 4.2.1 Description of the "identifier" characteristic for the "AssessmentSection" class

Table 4.2.2 Description of the "required" characteristic for the "AssessmentSection" class

Table 4.2.3 Description of the "fixed" characteristic for the "AssessmentSection" class

Table 4.2.4 Description of the "title" characteristic for the "AssessmentSection" class

Table 4.2.5 Description of the "class" characteristic for the "AssessmentSection" class

Table 4.2.6 Description of the "visible" characteristic for the "AssessmentSection" class

Table 4.2.7 Description of the "keep-together" characteristic for the "AssessmentSection" class

Table 4.2.8 Description of the "dataExtension" characteristic for the "AssessmentSection" class

Table 4.2.9 Description of the "qti-pre-condition" attribute for the "AssessmentSection" class

Table 4.2.10 Description of the "qti-branch-rule" attribute for the "AssessmentSection" class

Table 4.2.11 Description of the "qti-item-session-control" attribute for the "AssessmentSection" class

Table 4.2.12 Description of the "qti-time-limits" attribute for the "AssessmentSection" class

Table 4.2.13 Description of the "adaptive" attribute for the "AssessmentSection" class

Table 4.2.14 Description of the "qti-rubric-block" attribute for the "AssessmentSection" class

Table 4.2.15 Description of the "sectionPart" attribute for the "AssessmentSection" class

Table 4.3 AssessmentStimulus class definitions

Table 4.3.1 Description of the "identifier" characteristic for the "AssessmentStimulus" class

Table 4.3.2 Description of the "title" characteristic for the "AssessmentStimulus" class

Table 4.3.3 Description of the "label" characteristic for the "AssessmentStimulus" class

Table 4.3.4 Description of the "language" characteristic for the "AssessmentStimulus" class

Table 4.3.5 Description of the "tool-name" characteristic for the "AssessmentStimulus" class

Table 4.3.6 Description of the "tool-version" characteristic for the "AssessmentStimulus" class

Table 4.3.7 Description of the "dataExtension" characteristic for the "AssessmentStimulus" class

Table 4.3.8 Description of the "qti-stylesheet" attribute for the "AssessmentStimulus" class

Table 4.3.9 Description of the "qti-stimulus-body" attribute for the "AssessmentStimulus" class

Table 4.3.10 Description of the "qti-catalog-info" attribute for the "AssessmentStimulus" class

Table 4.4 AssessmentTest class definitions

Table 4.4.1 Description of the "identifier" characteristic for the "AssessmentTest" class

Table 4.4.2 Description of the "title" characteristic for the "AssessmentTest" class

Table 4.4.3 Description of the "class" characteristic for the "AssessmentTest" class

Table 4.4.4 Description of the "tool-name" characteristic for the "AssessmentTest" class

Table 4.4.5 Description of the "tool-version" characteristic for the "AssessmentTest" class

Table 4.4.6 Description of the "dataExtension" characteristic for the "AssessmentTest" class

Table 4.4.7 Description of the "qti-context-declaration" attribute for the "AssessmentTest" class

Table 4.4.8 Description of the "qti-outcome-declaration" attribute for the "AssessmentTest" class

Table 4.4.9 Description of the "qti-time-limits" attribute for the "AssessmentTest" class

Table 4.4.10 Description of the "qti-stylesheet" attribute for the "AssessmentTest" class

Table 4.4.11 Description of the "qti-rubric-block" attribute for the "AssessmentTest" class

Table 4.4.12 Description of the "qti-test-part" attribute for the "AssessmentTest" class

Table 4.4.13 Description of the "qti-outcome-processing" attribute for the "AssessmentTest" class

Table 4.4.14 Description of the "qti-test-feedback" attribute for the "AssessmentTest" class

Table 4.5 OutcomeDeclaration class definitions

Table 4.5.1 Description of the "identifier" characteristic for the "OutcomeDeclaration" class

Table 4.5.2 Description of the "cardinality" characteristic for the "OutcomeDeclaration" class

Table 4.5.3 Description of the "base-type" characteristic for the "OutcomeDeclaration" class

Table 4.5.4 Description of the "view" characteristic for the "OutcomeDeclaration" class

Table 4.5.5 Description of the "interpretation" characteristic for the "OutcomeDeclaration" class

Table 4.5.6 Description of the "long-interpretation" characteristic for the "OutcomeDeclaration" class

Table 4.5.7 Description of the "normal-maximum" characteristic for the "OutcomeDeclaration" class

Table 4.5.8 Description of the "normal-minimum" characteristic for the "OutcomeDeclaration" class

Table 4.5.9 Description of the "mastery-value" characteristic for the "OutcomeDeclaration" class

Table 4.5.10 Description of the "external-scored" characteristic for the "OutcomeDeclaration" class

Table 4.5.11 Description of the "variable-identifier-ref" characteristic for the "OutcomeDeclaration" class

Table 4.5.12 Description of the "qti-default-value" attribute for the "OutcomeDeclaration" class

Table 4.5.13 Description of the "lookupTable" attribute for the "OutcomeDeclaration" class

Table 4.6 ResponseProcessing class definitions

Table 4.6.1 Description of the "template" characteristic for the "ResponseProcessing" class

Table 4.6.2 Description of the "template-location" characteristic for the "ResponseProcessing" class

Table 4.6.3 Description of the "responseRuleGroup" attribute for the "ResponseProcessing" class

Table 5.1 A class definitions

Table 5.1.1 Description of the "href" characteristic for the "A" class

Table 5.1.2 Description of the "type" characteristic for the "A" class

Table 5.1.3 Description of the "inlineGroup" attribute for the "A" class

Table 5.2 ARIABase class definitions

Table 5.2.1 Description of the "role" characteristic for the "ARIABase" class

Table 5.2.2 Description of the "aria-controls" characteristic for the "ARIABase" class

Table 5.2.3 Description of the "aria-describedby" characteristic for the "ARIABase" class

Table 5.2.4 Description of the "aria-flowto" characteristic for the "ARIABase" class

Table 5.2.5 Description of the "aria-label" characteristic for the "ARIABase" class

Table 5.2.6 Description of the "aria-labelledby" characteristic for the "ARIABase" class

Table 5.2.7 Description of the "aria-level" characteristic for the "ARIABase" class

Table 5.2.8 Description of the "aria-live" characteristic for the "ARIABase" class

Table 5.2.9 Description of the "aria-orientation" characteristic for the "ARIABase" class

Table 5.2.10 Description of the "aria-owns" characteristic for the "ARIABase" class

Table 5.2.11 Description of the "aria-hidden" characteristic for the "ARIABase" class

Table 5.2.12 Description of the "aria-activedescendant" characteristic for the "ARIABase" class

Table 5.2.13 Description of the "aria-atomic" characteristic for the "ARIABase" class

Table 5.2.14 Description of the "aria-autocomplete" characteristic for the "ARIABase" class

Table 5.2.15 Description of the "aria-busy" characteristic for the "ARIABase" class

Table 5.2.16 Description of the "aria-checked" characteristic for the "ARIABase" class

Table 5.2.17 Description of the "aria-disabled" characteristic for the "ARIABase" class

Table 5.2.18 Description of the "aria-dropeffect" characteristic for the "ARIABase" class

Table 5.2.19 Description of the "aria-expanded" characteristic for the "ARIABase" class

Table 5.2.20 Description of the "aria-haspopup" characteristic for the "ARIABase" class

Table 5.2.21 Description of the "aria-invalid" characteristic for the "ARIABase" class

Table 5.2.22 Description of the "aria-multiline" characteristic for the "ARIABase" class

Table 5.2.23 Description of the "aria-multiselectable" characteristic for the "ARIABase" class

Table 5.2.24 Description of the "aria-posinset" characteristic for the "ARIABase" class

Table 5.2.25 Description of the "aria-pressed" characteristic for the "ARIABase" class

Table 5.2.26 Description of the "aria-readonly" characteristic for the "ARIABase" class

Table 5.2.27 Description of the "aria-relevant" characteristic for the "ARIABase" class

Table 5.2.28 Description of the "aria-required" characteristic for the "ARIABase" class

Table 5.2.29 Description of the "aria-selected" characteristic for the "ARIABase" class

Table 5.2.30 Description of the "aria-setsize" characteristic for the "ARIABase" class

Table 5.2.31 Description of the "aria-sort" characteristic for the "ARIABase" class

Table 5.2.32 Description of the "aria-valuemax" characteristic for the "ARIABase" class

Table 5.2.33 Description of the "aria-valuemin" characteristic for the "ARIABase" class

Table 5.2.34 Description of the "aria-valuenow" characteristic for the "ARIABase" class

Table 5.2.35 Description of the "aria-valuetext" characteristic for the "ARIABase" class

Table 5.3 AdaptiveSelection class definitions

Table 5.3.1 Description of the "qti-adaptive-engine-ref" attribute for the "AdaptiveSelection" class

Table 5.3.2 Description of the "qti-adaptive-settings-ref" attribute for the "AdaptiveSelection" class

Table 5.3.3 Description of the "qti-usagedata-ref" attribute for the "AdaptiveSelection" class

Table 5.3.4 Description of the "qti-metadata-ref" attribute for the "AdaptiveSelection" class

Table 5.4 AnyN class definitions

Table 5.4.1 Description of the "min" characteristic for the "AnyN" class

Table 5.4.2 Description of the "max" characteristic for the "AnyN" class

Table 5.4.3 Description of the "logic" attribute for the "AnyN" class

Table 5.5 AreaMapping class definitions

Table 5.5.1 Description of the "lower-bound" characteristic for the "AreaMapping" class

Table 5.5.2 Description of the "upper-bound" characteristic for the "AreaMapping" class

Table 5.5.3 Description of the "default-value" characteristic for the "AreaMapping" class

Table 5.5.4 Description of the "qti-area-map-entry" attribute for the "AreaMapping" class

Table 5.6 AssessmentItemRef class definitions

Table 5.6.1 Description of the "identifier" characteristic for the "AssessmentItemRef" class

Table 5.6.2 Description of the "required" characteristic for the "AssessmentItemRef" class

Table 5.6.3 Description of the "fixed" characteristic for the "AssessmentItemRef" class

Table 5.6.4 Description of the "class" characteristic for the "AssessmentItemRef" class

Table 5.6.5 Description of the "href" characteristic for the "AssessmentItemRef" class

Table 5.6.6 Description of the "category" characteristic for the "AssessmentItemRef" class

Table 5.6.7 Description of the "dataExtension" characteristic for the "AssessmentItemRef" class

Table 5.6.8 Description of the "qti-pre-condition" attribute for the "AssessmentItemRef" class

Table 5.6.9 Description of the "qti-branch-rule" attribute for the "AssessmentItemRef" class

Table 5.6.10 Description of the "qti-item-session-control" attribute for the "AssessmentItemRef" class

Table 5.6.11 Description of the "qti-time-limits" attribute for the "AssessmentItemRef" class

Table 5.6.12 Description of the "qti-variable-mapping" attribute for the "AssessmentItemRef" class

Table 5.6.13 Description of the "qti-weight" attribute for the "AssessmentItemRef" class

Table 5.6.14 Description of the "qti-template-default" attribute for the "AssessmentItemRef" class

Table 5.7 AssociableHotspot class definitions

Table 5.7.1 Description of the "identifier" characteristic for the "AssociableHotspot" class

Table 5.7.2 Description of the "template-identifier" characteristic for the "AssociableHotspot" class

Table 5.7.3 Description of the "show-hide" characteristic for the "AssociableHotspot" class

Table 5.7.4 Description of the "match-group" characteristic for the "AssociableHotspot" class

Table 5.7.5 Description of the "shape" characteristic for the "AssociableHotspot" class

Table 5.7.6 Description of the "coords" characteristic for the "AssociableHotspot" class

Table 5.7.7 Description of the "hotspot-label" characteristic for the "AssociableHotspot" class

Table 5.7.8 Description of the "match-max" characteristic for the "AssociableHotspot" class

Table 5.7.9 Description of the "match-min" characteristic for the "AssociableHotspot" class

Table 5.8 AssociateInteraction class definitions

Table 5.8.1 Description of the "shuffle" characteristic for the "AssociateInteraction" class

Table 5.8.2 Description of the "max-associations" characteristic for the "AssociateInteraction" class

Table 5.8.3 Description of the "min-associations" characteristic for the "AssociateInteraction" class

Table 5.8.4 Description of the "qti-simple-associable-choice" attribute for the "AssociateInteraction" class

Table 5.9 Audio class definitions

Table 5.9.1 Description of the "src" characteristic for the "Audio" class

Table 5.9.2 Description of the "crossorigin" characteristic for the "Audio" class

Table 5.9.3 Description of the "preload" characteristic for the "Audio" class

Table 5.9.4 Description of the "autoplay" characteristic for the "Audio" class

Table 5.9.5 Description of the "mediagroup" characteristic for the "Audio" class

Table 5.9.6 Description of the "loop" characteristic for the "Audio" class

Table 5.9.7 Description of the "muted" characteristic for the "Audio" class

Table 5.9.8 Description of the "controls" characteristic for the "Audio" class

Table 5.9.9 Description of the "source" attribute for the "Audio" class

Table 5.9.10 Description of the "track" attribute for the "Audio" class

Table 5.10 BDI class definitions

Table 5.10.1 Description of the "flowContentModel" attribute for the "BDI" class

Table 5.11 BDO class definitions

Table 5.11.1 Description of the "title" characteristic for the "BDO" class

Table 5.11.2 Description of the "inlineContentModel" attribute for the "BDO" class

Table 5.12 BR class definitions

Table 5.13 BaseHTML5Flow class definitions

Table 5.13.1 Description of the "flowGroup" attribute for the "BaseHTML5Flow" class

Table 5.14 BaseHTML5Phrasing class definitions

Table 5.14.1 Description of the "phrasingContentModel" attribute for the "BaseHTML5Phrasing" class

Table 5.15 BasePromptInteraction class definitions

Table 5.15.1 Description of the "id" characteristic for the "BasePromptInteraction" class

Table 5.15.2 Description of the "class" characteristic for the "BasePromptInteraction" class

Table 5.15.3 Description of the "lang" characteristic for the "BasePromptInteraction" class

Table 5.15.4 Description of the "language" characteristic for the "BasePromptInteraction" class

Table 5.15.5 Description of the "label" characteristic for the "BasePromptInteraction" class

Table 5.15.6 Description of the "base" characteristic for the "BasePromptInteraction" class

Table 5.15.7 Description of the "response-identifier" characteristic for the "BasePromptInteraction" class

Table 5.15.8 Description of the "dir" characteristic for the "BasePromptInteraction" class

Table 5.15.9 Description of the "data-catalog-idref" characteristic for the "BasePromptInteraction" class

Table 5.15.10 Description of the "data-qti-suppress-tts" characteristic for the "BasePromptInteraction" class

Table 5.15.11 Description of the "dataExtension" characteristic for the "BasePromptInteraction" class

Table 5.15.12 Description of the "qti-prompt" attribute for the "BasePromptInteraction" class

Table 5.16 BaseSequence class definitions

Table 5.16.1 Description of the "id" characteristic for the "BaseSequence" class

Table 5.16.2 Description of the "class" characteristic for the "BaseSequence" class

Table 5.16.3 Description of the "lang" characteristic for the "BaseSequence" class

Table 5.16.4 Description of the "language" characteristic for the "BaseSequence" class

Table 5.16.5 Description of the "label" characteristic for the "BaseSequence" class

Table 5.16.6 Description of the "dir" characteristic for the "BaseSequence" class

Table 5.16.7 Description of the "data-catalog-idref" characteristic for the "BaseSequence" class

Table 5.16.8 Description of the "data-qti-suppress-tts" characteristic for the "BaseSequence" class

Table 5.16.9 Description of the "dataExtension" characteristic for the "BaseSequence" class

Table 5.17 BaseSequenceEmpty class definitions

Table 5.17.1 Description of the "id" characteristic for the "BaseSequenceEmpty" class

Table 5.17.2 Description of the "class" characteristic for the "BaseSequenceEmpty" class

Table 5.17.3 Description of the "lang" characteristic for the "BaseSequenceEmpty" class

Table 5.17.4 Description of the "language" characteristic for the "BaseSequenceEmpty" class

Table 5.17.5 Description of the "label" characteristic for the "BaseSequenceEmpty" class

Table 5.17.6 Description of the "dir" characteristic for the "BaseSequenceEmpty" class

Table 5.17.7 Description of the "data-catalog-idref" characteristic for the "BaseSequenceEmpty" class

Table 5.17.8 Description of the "data-qti-suppress-tts" characteristic for the "BaseSequenceEmpty" class

Table 5.17.9 Description of the "dataExtension" characteristic for the "BaseSequenceEmpty" class

Table 5.18 BaseSequenceFull class definitions

Table 5.18.1 Description of the "id" characteristic for the "BaseSequenceFull" class

Table 5.18.2 Description of the "class" characteristic for the "BaseSequenceFull" class

Table 5.18.3 Description of the "lang" characteristic for the "BaseSequenceFull" class

Table 5.18.4 Description of the "language" characteristic for the "BaseSequenceFull" class

Table 5.18.5 Description of the "label" characteristic for the "BaseSequenceFull" class

Table 5.18.6 Description of the "response-identifier" characteristic for the "BaseSequenceFull" class

Table 5.18.7 Description of the "base" characteristic for the "BaseSequenceFull" class

Table 5.18.8 Description of the "dir" characteristic for the "BaseSequenceFull" class

Table 5.18.9 Description of the "data-catalog-idref" characteristic for the "BaseSequenceFull" class

Table 5.18.10 Description of the "data-qti-suppress-tts" characteristic for the "BaseSequenceFull" class

Table 5.18.11 Description of the "dataExtension" characteristic for the "BaseSequenceFull" class

Table 5.19 BaseSequenceRIdent class definitions

Table 5.19.1 Description of the "id" characteristic for the "BaseSequenceRIdent" class

Table 5.19.2 Description of the "class" characteristic for the "BaseSequenceRIdent" class

Table 5.19.3 Description of the "lang" characteristic for the "BaseSequenceRIdent" class

Table 5.19.4 Description of the "language" characteristic for the "BaseSequenceRIdent" class

Table 5.19.5 Description of the "label" characteristic for the "BaseSequenceRIdent" class

Table 5.19.6 Description of the "response-identifier" characteristic for the "BaseSequenceRIdent" class

Table 5.19.7 Description of the "dir" characteristic for the "BaseSequenceRIdent" class

Table 5.19.8 Description of the "data-catalog-idref" characteristic for the "BaseSequenceRIdent" class

Table 5.19.9 Description of the "data-qti-suppress-tts" characteristic for the "BaseSequenceRIdent" class

Table 5.19.10 Description of the "dataExtension" characteristic for the "BaseSequenceRIdent" class

Table 5.20 BaseSequenceXBase class definitions

Table 5.20.1 Description of the "id" characteristic for the "BaseSequenceXBase" class

Table 5.20.2 Description of the "class" characteristic for the "BaseSequenceXBase" class

Table 5.20.3 Description of the "lang" characteristic for the "BaseSequenceXBase" class

Table 5.20.4 Description of the "language" characteristic for the "BaseSequenceXBase" class

Table 5.20.5 Description of the "label" characteristic for the "BaseSequenceXBase" class

Table 5.20.6 Description of the "base" characteristic for the "BaseSequenceXBase" class

Table 5.20.7 Description of the "dir" characteristic for the "BaseSequenceXBase" class

Table 5.20.8 Description of the "data-catalog-idref" characteristic for the "BaseSequenceXBase" class

Table 5.20.9 Description of the "data-qti-suppress-tts" characteristic for the "BaseSequenceXBase" class

Table 5.20.10 Description of the "dataExtension" characteristic for the "BaseSequenceXBase" class

Table 5.21 BaseSequenceXBaseEmpty class definitions

Table 5.21.1 Description of the "id" characteristic for the "BaseSequenceXBaseEmpty" class

Table 5.21.2 Description of the "class" characteristic for the "BaseSequenceXBaseEmpty" class

Table 5.21.3 Description of the "lang" characteristic for the "BaseSequenceXBaseEmpty" class

Table 5.21.4 Description of the "language" characteristic for the "BaseSequenceXBaseEmpty" class

Table 5.21.5 Description of the "label" characteristic for the "BaseSequenceXBaseEmpty" class

Table 5.21.6 Description of the "base" characteristic for the "BaseSequenceXBaseEmpty" class

Table 5.21.7 Description of the "dir" characteristic for the "BaseSequenceXBaseEmpty" class

Table 5.21.8 Description of the "data-catalog-idref" characteristic for the "BaseSequenceXBaseEmpty" class

Table 5.21.9 Description of the "data-qti-suppress-tts" characteristic for the "BaseSequenceXBaseEmpty" class

Table 5.21.10 Description of the "dataExtension" characteristic for the "BaseSequenceXBaseEmpty" class

Table 5.22 BlockQuote class definitions

Table 5.22.1 Description of the "cite" characteristic for the "BlockQuote" class

Table 5.22.2 Description of the "flowContent" attribute for the "BlockQuote" class

Table 5.23 BranchRule class definitions

Table 5.23.1 Description of the "target" characteristic for the "BranchRule" class

Table 5.23.2 Description of the "logic" attribute for the "BranchRule" class

Table 5.24 Calculator class definitions

Table 5.24.1 Description of the "qti-calculator-type" attribute for the "Calculator" class

Table 5.24.2 Description of the "qti-description" attribute for the "Calculator" class

Table 5.24.3 Description of the "qti-calculator-info" attribute for the "Calculator" class

Table 5.25 Caption class definitions

Table 5.25.1 Description of the "inlineGroup" attribute for the "Caption" class

Table 5.26 Card class definitions

Table 5.26.1 Description of the "support" characteristic for the "Card" class

Table 5.26.2 Description of the "language" characteristic for the "Card" class

Table 5.26.3 Description of the "cardSelection" attribute for the "Card" class

Table 5.26.4 Description of the "qti-card-entry" attribute for the "Card" class

Table 5.27 CardEntry class definitions

Table 5.27.1 Description of the "language" characteristic for the "CardEntry" class

Table 5.27.2 Description of the "default" characteristic for the "CardEntry" class

Table 5.27.3 Description of the "dataExtension" characteristic for the "CardEntry" class

Table 5.27.4 Description of the "qti-html-content" attribute for the "CardEntry" class

Table 5.27.5 Description of the "qti-file-href" attribute for the "CardEntry" class

Table 5.28 Catalog class definitions

Table 5.28.1 Description of the "id" characteristic for the "Catalog" class

Table 5.28.2 Description of the "qti-card" attribute for the "Catalog" class

Table 5.29 CatalogInfo class definitions

Table 5.29.1 Description of the "qti-catalog" attribute for the "CatalogInfo" class

Table 5.30 ChoiceInteraction class definitions

Table 5.30.1 Description of the "shuffle" characteristic for the "ChoiceInteraction" class

Table 5.30.2 Description of the "max-choices" characteristic for the "ChoiceInteraction" class

Table 5.30.3 Description of the "min-choices" characteristic for the "ChoiceInteraction" class

Table 5.30.4 Description of the "orientation" characteristic for the "ChoiceInteraction" class

Table 5.30.5 Description of the "qti-simple-choice" attribute for the "ChoiceInteraction" class

Table 5.31 Col class definitions

Table 5.31.1 Description of the "span" characteristic for the "Col" class

Table 5.32 ColGroup class definitions

Table 5.32.1 Description of the "span" characteristic for the "ColGroup" class

Table 5.32.2 Description of the "col" attribute for the "ColGroup" class

Table 5.33 CompanionMaterialsInfo class definitions

Table 5.33.1 Description of the "qti-calculator" attribute for the "CompanionMaterialsInfo" class

Table 5.33.2 Description of the "qti-rule" attribute for the "CompanionMaterialsInfo" class

Table 5.33.3 Description of the "qti-protractor" attribute for the "CompanionMaterialsInfo" class

Table 5.33.4 Description of the "qti-digital-material" attribute for the "CompanionMaterialsInfo" class

Table 5.33.5 Description of the "qti-physical-material" attribute for the "CompanionMaterialsInfo" class

Table 5.33.6 Description of the "extensions" attribute for the "CompanionMaterialsInfo" class

Table 5.34 ContextDeclaration class definitions

Table 5.34.1 Description of the "identifier" characteristic for the "ContextDeclaration" class

Table 5.34.2 Description of the "cardinality" characteristic for the "ContextDeclaration" class

Table 5.34.3 Description of the "base-type" characteristic for the "ContextDeclaration" class

Table 5.34.4 Description of the "qti-default-value" attribute for the "ContextDeclaration" class

Table 5.35 CorrectResponse class definitions

Table 5.35.1 Description of the "interpretation" characteristic for the "CorrectResponse" class

Table 5.35.2 Description of the "qti-value" attribute for the "CorrectResponse" class

Table 5.36 CustomInteraction class definitions

Table 5.36.1 Description of the "extension" characteristic for the "CustomInteraction" class

Table 5.36.2 Description of the "extension" attribute for the "CustomInteraction" class

Table 5.37 CustomOperator class definitions

Table 5.37.1 Description of the "class" characteristic for the "CustomOperator" class

Table 5.37.2 Description of the "definition" characteristic for the "CustomOperator" class

Table 5.37.3 Description of the "extension" characteristic for the "CustomOperator" class

Table 5.37.4 Description of the "logic" attribute for the "CustomOperator" class

Table 5.37.5 Description of the "extension" attribute for the "CustomOperator" class

Table 5.38 DD class definitions

Table 5.38.1 Description of the "flowGroup" attribute for the "DD" class

Table 5.39 DL class definitions

Table 5.39.1 Description of the "dlSelection" attribute for the "DL" class

Table 5.40 DT class definitions

Table 5.40.1 Description of the "inlineGroup" attribute for the "DT" class

Table 5.41 DefaultValue class definitions

Table 5.41.1 Description of the "interpretation" characteristic for the "DefaultValue" class

Table 5.41.2 Description of the "qti-value" attribute for the "DefaultValue" class

Table 5.42 Div class definitions

Table 5.42.1 Description of the "divSelection" attribute for the "Div" class

Table 5.43 DrawingInteraction class definitions

Table 5.43.1 Description of the "object" attribute for the "DrawingInteraction" class

Table 5.44 EndAttemptInteraction class definitions

Table 5.44.1 Description of the "response-identifier" characteristic for the "EndAttemptInteraction" class

Table 5.44.2 Description of the "title" characteristic for the "EndAttemptInteraction" class

Table 5.44.3 Description of the "count-attempt" characteristic for the "EndAttemptInteraction" class

Table 5.45 Equal class definitions

Table 5.45.1 Description of the "tolerance-mode" characteristic for the "Equal" class

Table 5.45.2 Description of the "tolerance" characteristic for the "Equal" class

Table 5.45.3 Description of the "include-lower-bound" characteristic for the "Equal" class

Table 5.45.4 Description of the "include-upper-bound" characteristic for the "Equal" class

Table 5.45.5 Description of the "logic" attribute for the "Equal" class

Table 5.46 EqualRounded class definitions

Table 5.46.1 Description of the "rounding-mode" characteristic for the "EqualRounded" class

Table 5.46.2 Description of the "figures" characteristic for the "EqualRounded" class

Table 5.46.3 Description of the "logic" attribute for the "EqualRounded" class

Table 5.47 ExtendedTextInteraction class definitions

Table 5.47.1 Description of the "base" characteristic for the "ExtendedTextInteraction" class

Table 5.47.2 Description of the "string-identifier" characteristic for the "ExtendedTextInteraction" class

Table 5.47.3 Description of the "expected-length" characteristic for the "ExtendedTextInteraction" class

Table 5.47.4 Description of the "pattern-mask" characteristic for the "ExtendedTextInteraction" class

Table 5.47.5 Description of the "placeholder-text" characteristic for the "ExtendedTextInteraction" class

Table 5.47.6 Description of the "max-strings" characteristic for the "ExtendedTextInteraction" class

Table 5.47.7 Description of the "min-strings" characteristic for the "ExtendedTextInteraction" class

Table 5.47.8 Description of the "expected-lines" characteristic for the "ExtendedTextInteraction" class

Table 5.47.9 Description of the "format" characteristic for the "ExtendedTextInteraction" class

Table 5.48 FeedbackBlock class definitions

Table 5.48.1 Description of the "outcome-identifier" characteristic for the "FeedbackBlock" class

Table 5.48.2 Description of the "identifier" characteristic for the "FeedbackBlock" class

Table 5.48.3 Description of the "show-hide" characteristic for the "FeedbackBlock" class

Table 5.48.4 Description of the "qti-stylesheet" attribute for the "FeedbackBlock" class

Table 5.48.5 Description of the "qti-content-body" attribute for the "FeedbackBlock" class

Table 5.48.6 Description of the "qti-catalog-info" attribute for the "FeedbackBlock" class

Table 5.49 FeedbackContentBody class definitions

Table 5.49.1 Description of the "feedbackBlockStatic" attribute for the "FeedbackContentBody" class

Table 5.50 FeedbackFlowContentBody class definitions

Table 5.50.1 Description of the "feedbackFlowStaticGroup" attribute for the "FeedbackFlowContentBody" class

Table 5.51 FeedbackInline class definitions

Table 5.51.1 Description of the "outcome-identifier" characteristic for the "FeedbackInline" class

Table 5.51.2 Description of the "identifier" characteristic for the "FeedbackInline" class

Table 5.51.3 Description of the "show-hide" characteristic for the "FeedbackInline" class

Table 5.51.4 Description of the "feedbackInlineGroup" attribute for the "FeedbackInline" class

Table 5.52 FieldValue class definitions

Table 5.52.1 Description of the "field-identifier" characteristic for the "FieldValue" class

Table 5.52.2 Description of the "logic" attribute for the "FieldValue" class

Table 5.53 Figure class definitions

Table 5.53.1 Description of the "figcaption" attribute for the "Figure" class

Table 5.53.2 Description of the "flowContentModel" attribute for the "Figure" class

Table 5.54 Gap class definitions

Table 5.54.1 Description of the "identifier" characteristic for the "Gap" class

Table 5.54.2 Description of the "template-identifier" characteristic for the "Gap" class

Table 5.54.3 Description of the "show-hide" characteristic for the "Gap" class

Table 5.54.4 Description of the "match-group" characteristic for the "Gap" class

Table 5.54.5 Description of the "required" characteristic for the "Gap" class

Table 5.55 GapImg class definitions

Table 5.55.1 Description of the "identifier" characteristic for the "GapImg" class

Table 5.55.2 Description of the "template-identifier" characteristic for the "GapImg" class

Table 5.55.3 Description of the "show-hide" characteristic for the "GapImg" class

Table 5.55.4 Description of the "match-group" characteristic for the "GapImg" class

Table 5.55.5 Description of the "match-max" characteristic for the "GapImg" class

Table 5.55.6 Description of the "match-min" characteristic for the "GapImg" class

Table 5.55.7 Description of the "object-label" characteristic for the "GapImg" class

Table 5.55.8 Description of the "top" characteristic for the "GapImg" class

Table 5.55.9 Description of the "left" characteristic for the "GapImg" class

Table 5.55.10 Description of the "object" attribute for the "GapImg" class

Table 5.56 GapMatchInteraction class definitions

Table 5.56.1 Description of the "shuffle" characteristic for the "GapMatchInteraction" class

Table 5.56.2 Description of the "min-associations" characteristic for the "GapMatchInteraction" class

Table 5.56.3 Description of the "max-associations" characteristic for the "GapMatchInteraction" class

Table 5.56.4 Description of the "gapChoice" attribute for the "GapMatchInteraction" class

Table 5.56.5 Description of the "blockStaticGroup" attribute for the "GapMatchInteraction" class

Table 5.57 GapText class definitions

Table 5.57.1 Description of the "identifier" characteristic for the "GapText" class

Table 5.57.2 Description of the "template-identifier" characteristic for the "GapText" class

Table 5.57.3 Description of the "show-hide" characteristic for the "GapText" class

Table 5.57.4 Description of the "match-group" characteristic for the "GapText" class

Table 5.57.5 Description of the "match-max" characteristic for the "GapText" class

Table 5.57.6 Description of the "match-min" characteristic for the "GapText" class

Table 5.57.7 Description of the "inlineChoiceGroup" attribute for the "GapText" class

Table 5.58 GraphicAssociateInteraction class definitions

Table 5.58.1 Description of the "min-associations" characteristic for the "GraphicAssociateInteraction" class

Table 5.58.2 Description of the "max-associations" characteristic for the "GraphicAssociateInteraction" class

Table 5.58.3 Description of the "object" attribute for the "GraphicAssociateInteraction" class

Table 5.58.4 Description of the "qti-associable-hotspot" attribute for the "GraphicAssociateInteraction" class

Table 5.59 GraphicGapMatchInteraction class definitions

Table 5.59.1 Description of the "min-associations" characteristic for the "GraphicGapMatchInteraction" class

Table 5.59.2 Description of the "max-associations" characteristic for the "GraphicGapMatchInteraction" class

Table 5.59.3 Description of the "qti-prompt" attribute for the "GraphicGapMatchInteraction" class

Table 5.59.4 Description of the "object" attribute for the "GraphicGapMatchInteraction" class

Table 5.59.5 Description of the "gapChoice" attribute for the "GraphicGapMatchInteraction" class

Table 5.59.6 Description of the "qti-associable-hotspot" attribute for the "GraphicGapMatchInteraction" class

Table 5.60 GraphicOrderInteraction class definitions

Table 5.60.1 Description of the "min-choices" characteristic for the "GraphicOrderInteraction" class

Table 5.60.2 Description of the "max-choices" characteristic for the "GraphicOrderInteraction" class

Table 5.60.3 Description of the "qti-prompt" attribute for the "GraphicOrderInteraction" class

Table 5.60.4 Description of the "object" attribute for the "GraphicOrderInteraction" class

Table 5.60.5 Description of the "qti-hotspot-choice" attribute for the "GraphicOrderInteraction" class

Table 5.61 HR class definitions

Table 5.62 HTMLContent class definitions

Table 5.62.1 Description of the "language" characteristic for the "HTMLContent" class

Table 5.62.2 Description of the "dataExtension" characteristic for the "HTMLContent" class

Table 5.62.3 Description of the "htmlContentFlow" attribute for the "HTMLContent" class

Table 5.63 HTMLText class definitions

Table 5.63.1 Description of the "inlineGroup" attribute for the "HTMLText" class

Table 5.64 HotText class definitions

Table 5.64.1 Description of the "identifier" characteristic for the "HotText" class

Table 5.64.2 Description of the "template-identifier" characteristic for the "HotText" class

Table 5.64.3 Description of the "show-hide" characteristic for the "HotText" class

Table 5.64.4 Description of the "inlineChoiceGroup" attribute for the "HotText" class

Table 5.65 HotTextInteraction class definitions

Table 5.65.1 Description of the "max-choices" characteristic for the "HotTextInteraction" class

Table 5.65.2 Description of the "min-choices" characteristic for the "HotTextInteraction" class

Table 5.65.3 Description of the "blockStaticGroup" attribute for the "HotTextInteraction" class

Table 5.66 HotspotChoice class definitions

Table 5.66.1 Description of the "identifier" characteristic for the "HotspotChoice" class

Table 5.66.2 Description of the "template-identifier" characteristic for the "HotspotChoice" class

Table 5.66.3 Description of the "show-hide" characteristic for the "HotspotChoice" class

Table 5.66.4 Description of the "shape" characteristic for the "HotspotChoice" class

Table 5.66.5 Description of the "coords" characteristic for the "HotspotChoice" class

Table 5.66.6 Description of the "hotspot-label" characteristic for the "HotspotChoice" class

Table 5.67 HotspotInteraction class definitions

Table 5.67.1 Description of the "min-choices" characteristic for the "HotspotInteraction" class

Table 5.67.2 Description of the "max-choices" characteristic for the "HotspotInteraction" class

Table 5.67.3 Description of the "object" attribute for the "HotspotInteraction" class

Table 5.67.4 Description of the "qti-hotspot-choice" attribute for the "HotspotInteraction" class

Table 5.68 Img class definitions

Table 5.68.1 Description of the "src" characteristic for the "Img" class

Table 5.68.2 Description of the "alt" characteristic for the "Img" class

Table 5.68.3 Description of the "longdesc" characteristic for the "Img" class

Table 5.68.4 Description of the "height" characteristic for the "Img" class

Table 5.68.5 Description of the "width" characteristic for the "Img" class

Table 5.69 IncrementSI class definitions

Table 5.69.1 Description of the "qti-minor-increment" attribute for the "IncrementSI" class

Table 5.69.2 Description of the "qti-major-increment" attribute for the "IncrementSI" class

Table 5.70 IncrementUS class definitions

Table 5.70.1 Description of the "qti-minor-increment" attribute for the "IncrementUS" class

Table 5.70.2 Description of the "qti-major-increment" attribute for the "IncrementUS" class

Table 5.71 Index class definitions

Table 5.71.1 Description of the "n" characteristic for the "Index" class

Table 5.71.2 Description of the "logic" attribute for the "Index" class

Table 5.72 InlineChoice class definitions

Table 5.72.1 Description of the "identifier" characteristic for the "InlineChoice" class

Table 5.72.2 Description of the "fixed" characteristic for the "InlineChoice" class

Table 5.72.3 Description of the "template-identifier" characteristic for the "InlineChoice" class

Table 5.72.4 Description of the "show-hide" characteristic for the "InlineChoice" class

Table 5.72.5 Description of the "inlineChoiceGroup" attribute for the "InlineChoice" class

Table 5.73 InlineChoiceInteraction class definitions

Table 5.73.1 Description of the "shuffle" characteristic for the "InlineChoiceInteraction" class

Table 5.73.2 Description of the "required" characteristic for the "InlineChoiceInteraction" class

Table 5.73.3 Description of the "qti-label" attribute for the "InlineChoiceInteraction" class

Table 5.73.4 Description of the "qti-inline-choice" attribute for the "InlineChoiceInteraction" class

Table 5.74 Inside class definitions

Table 5.74.1 Description of the "shape" characteristic for the "Inside" class

Table 5.74.2 Description of the "coords" characteristic for the "Inside" class

Table 5.74.3 Description of the "logic" attribute for the "Inside" class

Table 5.75 InteractionMarkup class definitions

Table 5.75.1 Description of the "flowStaticGroup" attribute for the "InteractionMarkup" class

Table 5.75.2 Description of the "template" attribute for the "InteractionMarkup" class

Table 5.76 InteractionModules class definitions

Table 5.76.1 Description of the "primary-configuration" characteristic for the "InteractionModules" class

Table 5.76.2 Description of the "secondary-configuration" characteristic for the "InteractionModules" class

Table 5.76.3 Description of the "qti-interaction-module" attribute for the "InteractionModules" class

Table 5.77 InterpolationTable class definitions

Table 5.77.1 Description of the "default-value" characteristic for the "InterpolationTable" class

Table 5.77.2 Description of the "qti-interpolation-table-entry" attribute for the "InterpolationTable" class

Table 5.78 ItemBody class definitions

Table 5.78.1 Description of the "id" characteristic for the "ItemBody" class

Table 5.78.2 Description of the "class" characteristic for the "ItemBody" class

Table 5.78.3 Description of the "language" characteristic for the "ItemBody" class

Table 5.78.4 Description of the "label" characteristic for the "ItemBody" class

Table 5.78.5 Description of the "dir" characteristic for the "ItemBody" class

Table 5.78.6 Description of the "data-catalog-idref" characteristic for the "ItemBody" class

Table 5.78.7 Description of the "itemBodySelect" attribute for the "ItemBody" class

Table 5.79 ItemFileInfo class definitions

Table 5.79.1 Description of the "mime-type" characteristic for the "ItemFileInfo" class

Table 5.79.2 Description of the "label" characteristic for the "ItemFileInfo" class

Table 5.79.3 Description of the "qti-file-href" attribute for the "ItemFileInfo" class

Table 5.79.4 Description of the "qti-resource-icon" attribute for the "ItemFileInfo" class

Table 5.80 LI class definitions

Table 5.80.1 Description of the "flowGroup" attribute for the "LI" class

Table 5.81 Label class definitions

Table 5.81.1 Description of the "inlineChoiceGroup" attribute for the "Label" class

Table 5.82 Logic0toMany class definitions

Table 5.82.1 Description of the "logic" attribute for the "Logic0toMany" class

Table 5.83 Logic1toMany class definitions

Table 5.83.1 Description of the "logic" attribute for the "Logic1toMany" class

Table 5.84 LogicPair class definitions

Table 5.84.1 Description of the "logic" attribute for the "LogicPair" class

Table 5.85 LogicSingle class definitions

Table 5.85.1 Description of the "logic" attribute for the "LogicSingle" class

Table 5.86 LookupOutcomeValue class definitions

Table 5.86.1 Description of the "identifier" characteristic for the "LookupOutcomeValue" class

Table 5.86.2 Description of the "expressionGroup" attribute for the "LookupOutcomeValue" class

Table 5.87 Mapping class definitions

Table 5.87.1 Description of the "lower-bound" characteristic for the "Mapping" class

Table 5.87.2 Description of the "upper-bound" characteristic for the "Mapping" class

Table 5.87.3 Description of the "default-value" characteristic for the "Mapping" class

Table 5.87.4 Description of the "qti-map-entry" attribute for the "Mapping" class

Table 5.88 MatchInteraction class definitions

Table 5.88.1 Description of the "shuffle" characteristic for the "MatchInteraction" class

Table 5.88.2 Description of the "max-associations" characteristic for the "MatchInteraction" class

Table 5.88.3 Description of the "min-associations" characteristic for the "MatchInteraction" class

Table 5.88.4 Description of the "qti-simple-match-set" attribute for the "MatchInteraction" class

Table 5.89 MatchTable class definitions

Table 5.89.1 Description of the "default-value" characteristic for the "MatchTable" class

Table 5.89.2 Description of the "qti-match-table-entry" attribute for the "MatchTable" class

Table 5.90 MathOperator class definitions

Table 5.90.1 Description of the "name" characteristic for the "MathOperator" class

Table 5.90.2 Description of the "logic" attribute for the "MathOperator" class

Table 5.91 MediaInteraction class definitions

Table 5.91.1 Description of the "autostart" characteristic for the "MediaInteraction" class

Table 5.91.2 Description of the "min-plays" characteristic for the "MediaInteraction" class

Table 5.91.3 Description of the "max-plays" characteristic for the "MediaInteraction" class

Table 5.91.4 Description of the "loop" characteristic for the "MediaInteraction" class

Table 5.91.5 Description of the "coords" characteristic for the "MediaInteraction" class

Table 5.91.6 Description of the "object" attribute for the "MediaInteraction" class

Table 5.91.7 Description of the "audio" attribute for the "MediaInteraction" class

Table 5.91.8 Description of the "video" attribute for the "MediaInteraction" class

Table 5.92 ModalFeedback class definitions

Table 5.92.1 Description of the "outcome-identifier" characteristic for the "ModalFeedback" class

Table 5.92.2 Description of the "show-hide" characteristic for the "ModalFeedback" class

Table 5.92.3 Description of the "identifier" characteristic for the "ModalFeedback" class

Table 5.92.4 Description of the "title" characteristic for the "ModalFeedback" class

Table 5.92.5 Description of the "dataExtension" characteristic for the "ModalFeedback" class

Table 5.92.6 Description of the "qti-stylesheet" attribute for the "ModalFeedback" class

Table 5.92.7 Description of the "qti-content-body" attribute for the "ModalFeedback" class

Table 5.92.8 Description of the "qti-catalog-info" attribute for the "ModalFeedback" class

Table 5.93 NumericLogic1toMany class definitions

Table 5.93.1 Description of the "logic" attribute for the "NumericLogic1toMany" class

Table 5.94 OUL class definitions

Table 5.94.1 Description of the "li" attribute for the "OUL" class

Table 5.95 Object class definitions

Table 5.95.1 Description of the "data" characteristic for the "Object" class

Table 5.95.2 Description of the "type" characteristic for the "Object" class

Table 5.95.3 Description of the "width" characteristic for the "Object" class

Table 5.95.4 Description of the "height" characteristic for the "Object" class

Table 5.95.5 Description of the "objectFlowGroup" attribute for the "Object" class

Table 5.96 OrderInteraction class definitions

Table 5.96.1 Description of the "shuffle" characteristic for the "OrderInteraction" class

Table 5.96.2 Description of the "min-choices" characteristic for the "OrderInteraction" class

Table 5.96.3 Description of the "max-choices" characteristic for the "OrderInteraction" class

Table 5.96.4 Description of the "orientation" characteristic for the "OrderInteraction" class

Table 5.96.5 Description of the "qti-simple-choice" attribute for the "OrderInteraction" class

Table 5.97 Ordering class definitions

Table 5.97.1 Description of the "shuffle" characteristic for the "Ordering" class

Table 5.97.2 Description of the "extension" characteristic for the "Ordering" class

Table 5.97.3 Description of the "extensions" attribute for the "Ordering" class

Table 5.98 OutcomeCondition class definitions

Table 5.98.1 Description of the "qti-outcome-if" attribute for the "OutcomeCondition" class

Table 5.98.2 Description of the "qti-outcome-else-if" attribute for the "OutcomeCondition" class

Table 5.98.3 Description of the "qti-outcome-else" attribute for the "OutcomeCondition" class

Table 5.99 OutcomeElse class definitions

Table 5.99.1 Description of the "outcomeRule" attribute for the "OutcomeElse" class

Table 5.100 OutcomeIf class definitions

Table 5.100.1 Description of the "expressionGroup" attribute for the "OutcomeIf" class

Table 5.100.2 Description of the "outcomeRule" attribute for the "OutcomeIf" class

Table 5.101 OutcomeProcessing class definitions

Table 5.101.1 Description of the "outcomeRule" attribute for the "OutcomeProcessing" class

Table 5.102 OutcomeProcessingFragment class definitions

Table 5.102.1 Description of the "outcomeRule" attribute for the "OutcomeProcessingFragment" class

Table 5.103 PatternMatch class definitions

Table 5.103.1 Description of the "pattern" characteristic for the "PatternMatch" class

Table 5.103.2 Description of the "logic" attribute for the "PatternMatch" class

Table 5.104 Picture class definitions

Table 5.104.1 Description of the "source" attribute for the "Picture" class

Table 5.104.2 Description of the "img" attribute for the "Picture" class

Table 5.105 PortableCustomInteraction class definitions

Table 5.105.1 Description of the "custom-interaction-type-identifier" characteristic for the "PortableCustomInteraction" class

Table 5.105.2 Description of the "module" characteristic for the "PortableCustomInteraction" class

Table 5.105.3 Description of the "qti-interaction-modules" attribute for the "PortableCustomInteraction" class

Table 5.105.4 Description of the "qti-interaction-markup" attribute for the "PortableCustomInteraction" class

Table 5.105.5 Description of the "qti-template-variable" attribute for the "PortableCustomInteraction" class

Table 5.105.6 Description of the "qti-context-variable" attribute for the "PortableCustomInteraction" class

Table 5.106 PositionObjectInteraction class definitions

Table 5.106.1 Description of the "center-point" characteristic for the "PositionObjectInteraction" class

Table 5.106.2 Description of the "min-choices" characteristic for the "PositionObjectInteraction" class

Table 5.106.3 Description of the "max-choices" characteristic for the "PositionObjectInteraction" class

Table 5.106.4 Description of the "object" attribute for the "PositionObjectInteraction" class

Table 5.107 PositionObjectStage class definitions

Table 5.107.1 Description of the "id" characteristic for the "PositionObjectStage" class

Table 5.107.2 Description of the "dataExtension" characteristic for the "PositionObjectStage" class

Table 5.107.3 Description of the "object" attribute for the "PositionObjectStage" class

Table 5.107.4 Description of the "qti-position-object-interaction" attribute for the "PositionObjectStage" class

Table 5.108 Prompt class definitions

Table 5.108.1 Description of the "promptStaticGroup" attribute for the "Prompt" class

Table 5.109 Protractor class definitions

Table 5.109.1 Description of the "qti-description" attribute for the "Protractor" class

Table 5.109.2 Description of the "qti-increment" attribute for the "Protractor" class

Table 5.110 Q class definitions

Table 5.110.1 Description of the "cite" characteristic for the "Q" class

Table 5.110.2 Description of the "inlineGroup" attribute for the "Q" class

Table 5.111 RTC class definitions

Table 5.111.1 Description of the "phrasingContentModel" attribute for the "RTC" class

Table 5.111.2 Description of the "rt" attribute for the "RTC" class

Table 5.112 Repeat class definitions

Table 5.112.1 Description of the "number-repeats" characteristic for the "Repeat" class

Table 5.112.2 Description of the "logic" attribute for the "Repeat" class

Table 5.113 ResponseCondition class definitions

Table 5.113.1 Description of the "qti-response-if" attribute for the "ResponseCondition" class

Table 5.113.2 Description of the "qti-response-else-if" attribute for the "ResponseCondition" class

Table 5.113.3 Description of the "qti-response-else" attribute for the "ResponseCondition" class

Table 5.114 ResponseDeclaration class definitions

Table 5.114.1 Description of the "identifier" characteristic for the "ResponseDeclaration" class

Table 5.114.2 Description of the "cardinality" characteristic for the "ResponseDeclaration" class

Table 5.114.3 Description of the "base-type" characteristic for the "ResponseDeclaration" class

Table 5.114.4 Description of the "qti-default-value" attribute for the "ResponseDeclaration" class

Table 5.114.5 Description of the "qti-correct-response" attribute for the "ResponseDeclaration" class

Table 5.114.6 Description of the "qti-mapping" attribute for the "ResponseDeclaration" class

Table 5.114.7 Description of the "qti-area-mapping" attribute for the "ResponseDeclaration" class

Table 5.115 ResponseElse class definitions

Table 5.115.1 Description of the "responseRuleGroup" attribute for the "ResponseElse" class

Table 5.116 ResponseIf class definitions

Table 5.116.1 Description of the "expressionGroup" attribute for the "ResponseIf" class

Table 5.116.2 Description of the "responseRuleGroup" attribute for the "ResponseIf" class

Table 5.117 ResponseProcessingFragment class definitions

Table 5.117.1 Description of the "responseRuleGroup" attribute for the "ResponseProcessingFragment" class

Table 5.118 RoundTo class definitions

Table 5.118.1 Description of the "rounding-mode" characteristic for the "RoundTo" class

Table 5.118.2 Description of the "figures" characteristic for the "RoundTo" class

Table 5.118.3 Description of the "logic" attribute for the "RoundTo" class

Table 5.119 RubricBlock class definitions

Table 5.119.1 Description of the "use" characteristic for the "RubricBlock" class

Table 5.119.2 Description of the "view" characteristic for the "RubricBlock" class

Table 5.119.3 Description of the "qti-stylesheet" attribute for the "RubricBlock" class

Table 5.119.4 Description of the "qti-content-body" attribute for the "RubricBlock" class

Table 5.119.5 Description of the "qti-catalog-info" attribute for the "RubricBlock" class

Table 5.120 RubricBlockContentBody class definitions

Table 5.120.1 Description of the "contentModel" attribute for the "RubricBlockContentBody" class

Table 5.121 RubricBlockTemplateBlock class definitions

Table 5.121.1 Description of the "template-identifier" characteristic for the "RubricBlockTemplateBlock" class

Table 5.121.2 Description of the "show-hide" characteristic for the "RubricBlockTemplateBlock" class

Table 5.121.3 Description of the "identifier" characteristic for the "RubricBlockTemplateBlock" class

Table 5.121.4 Description of the "qti-stylesheet" attribute for the "RubricBlockTemplateBlock" class

Table 5.121.5 Description of the "qti-content-body" attribute for the "RubricBlockTemplateBlock" class

Table 5.121.6 Description of the "qti-catalog-info" attribute for the "RubricBlockTemplateBlock" class

Table 5.122 RubricBlockTemplateBlockContentBody class definitions

Table 5.122.1 Description of the "rtBlockContentModel" attribute for the "RubricBlockTemplateBlockContentBody" class

Table 5.123 RubricBlockTemplateInline class definitions

Table 5.123.1 Description of the "template-identifier" characteristic for the "RubricBlockTemplateInline" class

Table 5.123.2 Description of the "show-hide" characteristic for the "RubricBlockTemplateInline" class

Table 5.123.3 Description of the "identifier" characteristic for the "RubricBlockTemplateInline" class

Table 5.123.4 Description of the "rtInlineStaticGroup" attribute for the "RubricBlockTemplateInline" class

Table 5.124 Ruby class definitions

Table 5.124.1 Description of the "rubySelection" attribute for the "Ruby" class

Table 5.125 Rule class definitions

Table 5.125.1 Description of the "qti-description" attribute for the "Rule" class

Table 5.125.2 Description of the "qti-rule-system" attribute for the "Rule" class

Table 5.126 SIRuleSystem class definitions

Table 5.126.1 Description of the "qti-minimum-length" attribute for the "SIRuleSystem" class

Table 5.126.2 Description of the "qti-minor-increment" attribute for the "SIRuleSystem" class

Table 5.126.3 Description of the "qti-major-increment" attribute for the "SIRuleSystem" class

Table 5.127 SelectPointInteraction class definitions

Table 5.127.1 Description of the "min-choices" characteristic for the "SelectPointInteraction" class

Table 5.127.2 Description of the "max-choices" characteristic for the "SelectPointInteraction" class

Table 5.127.3 Description of the "object" attribute for the "SelectPointInteraction" class

Table 5.128 Selection class definitions

Table 5.128.1 Description of the "select" characteristic for the "Selection" class

Table 5.128.2 Description of the "with-replacement" characteristic for the "Selection" class

Table 5.128.3 Description of the "extension" characteristic for the "Selection" class

Table 5.128.4 Description of the "extensions" attribute for the "Selection" class

Table 5.129 SetValue class definitions

Table 5.129.1 Description of the "identifier" characteristic for the "SetValue" class

Table 5.129.2 Description of the "expressionGroup" attribute for the "SetValue" class

Table 5.130 SimpleAssociableChoice class definitions

Table 5.130.1 Description of the "identifier" characteristic for the "SimpleAssociableChoice" class

Table 5.130.2 Description of the "fixed" characteristic for the "SimpleAssociableChoice" class

Table 5.130.3 Description of the "template-identifier" characteristic for the "SimpleAssociableChoice" class

Table 5.130.4 Description of the "show-hide" characteristic for the "SimpleAssociableChoice" class

Table 5.130.5 Description of the "match-group" characteristic for the "SimpleAssociableChoice" class

Table 5.130.6 Description of the "match-max" characteristic for the "SimpleAssociableChoice" class

Table 5.130.7 Description of the "match-min" characteristic for the "SimpleAssociableChoice" class

Table 5.130.8 Description of the "flowStaticGroup" attribute for the "SimpleAssociableChoice" class

Table 5.131 SimpleChoice class definitions

Table 5.131.1 Description of the "identifier" characteristic for the "SimpleChoice" class

Table 5.131.2 Description of the "fixed" characteristic for the "SimpleChoice" class

Table 5.131.3 Description of the "template-identifier" characteristic for the "SimpleChoice" class

Table 5.131.4 Description of the "show-hide" characteristic for the "SimpleChoice" class

Table 5.131.5 Description of the "flowStaticGroup" attribute for the "SimpleChoice" class

Table 5.132 SimpleMatchSet class definitions

Table 5.132.1 Description of the "id" characteristic for the "SimpleMatchSet" class

Table 5.132.2 Description of the "dataExtension" characteristic for the "SimpleMatchSet" class

Table 5.132.3 Description of the "qti-simple-associable-choice" attribute for the "SimpleMatchSet" class

Table 5.133 SliderInteraction class definitions

Table 5.133.1 Description of the "lower-bound" characteristic for the "SliderInteraction" class

Table 5.133.2 Description of the "upper-bound" characteristic for the "SliderInteraction" class

Table 5.133.3 Description of the "step" characteristic for the "SliderInteraction" class

Table 5.133.4 Description of the "step-label" characteristic for the "SliderInteraction" class

Table 5.133.5 Description of the "orientation" characteristic for the "SliderInteraction" class

Table 5.133.6 Description of the "reverse" characteristic for the "SliderInteraction" class

Table 5.134 Source class definitions

Table 5.134.1 Description of the "src" characteristic for the "Source" class

Table 5.134.2 Description of the "type" characteristic for the "Source" class

Table 5.134.3 Description of the "srcset" characteristic for the "Source" class

Table 5.134.4 Description of the "media" characteristic for the "Source" class

Table 5.134.5 Description of the "sizes" characteristic for the "Source" class

Table 5.135 StatsOperator class definitions

Table 5.135.1 Description of the "name" characteristic for the "StatsOperator" class

Table 5.135.2 Description of the "logic" attribute for the "StatsOperator" class

Table 5.136 StimulusBody class definitions

Table 5.136.1 Description of the "selectStimulus" attribute for the "StimulusBody" class

Table 5.137 StringMatch class definitions

Table 5.137.1 Description of the "case-sensitive" characteristic for the "StringMatch" class

Table 5.137.2 Description of the "substring" characteristic for the "StringMatch" class

Table 5.137.3 Description of the "logic" attribute for the "StringMatch" class

Table 5.138 Substring class definitions

Table 5.138.1 Description of the "case-sensitive" characteristic for the "Substring" class

Table 5.138.2 Description of the "logic" attribute for the "Substring" class

Table 5.139 TDH class definitions

Table 5.139.1 Description of the "headers" characteristic for the "TDH" class

Table 5.139.2 Description of the "scope" characteristic for the "TDH" class

Table 5.139.3 Description of the "abbr" characteristic for the "TDH" class

Table 5.139.4 Description of the "axis" characteristic for the "TDH" class

Table 5.139.5 Description of the "rowspan" characteristic for the "TDH" class

Table 5.139.6 Description of the "colspan" characteristic for the "TDH" class

Table 5.139.7 Description of the "align" characteristic for the "TDH" class

Table 5.139.8 Description of the "valign" characteristic for the "TDH" class

Table 5.139.9 Description of the "flowGroup" attribute for the "TDH" class

Table 5.140 TR class definitions

Table 5.140.1 Description of the "tableCellGroup" attribute for the "TR" class

Table 5.141 Table class definitions

Table 5.141.1 Description of the "summary" characteristic for the "Table" class

Table 5.141.2 Description of the "caption" attribute for the "Table" class

Table 5.141.3 Description of the "col" attribute for the "Table" class

Table 5.141.4 Description of the "colgroup" attribute for the "Table" class

Table 5.141.5 Description of the "thead" attribute for the "Table" class

Table 5.141.6 Description of the "tfoot" attribute for the "Table" class

Table 5.141.7 Description of the "tbody" attribute for the "Table" class

Table 5.142 TablePart class definitions

Table 5.142.1 Description of the "tr" attribute for the "TablePart" class

Table 5.143 Template class definitions

Table 5.143.1 Description of the "extensions" attribute for the "Template" class

Table 5.144 TemplateBlock class definitions

Table 5.144.1 Description of the "template-identifier" characteristic for the "TemplateBlock" class

Table 5.144.2 Description of the "show-hide" characteristic for the "TemplateBlock" class

Table 5.144.3 Description of the "identifier" characteristic for the "TemplateBlock" class

Table 5.145 TemplateBlockContent class definitions

Table 5.145.1 Description of the "qti-stylesheet" attribute for the "TemplateBlockContent" class

Table 5.145.2 Description of the "qti-content-body" attribute for the "TemplateBlockContent" class

Table 5.145.3 Description of the "qti-catalog-info" attribute for the "TemplateBlockContent" class

Table 5.146 TemplateBlockContentBody class definitions

Table 5.146.1 Description of the "fatBlockStatic" attribute for the "TemplateBlockContentBody" class

Table 5.147 TemplateBlockFeedbackBlock class definitions

Table 5.147.1 Description of the "outcome-identifier" characteristic for the "TemplateBlockFeedbackBlock" class

Table 5.147.2 Description of the "show-hide" characteristic for the "TemplateBlockFeedbackBlock" class

Table 5.147.3 Description of the "identifier" characteristic for the "TemplateBlockFeedbackBlock" class

Table 5.148 TemplateCondition class definitions

Table 5.148.1 Description of the "qti-template-if" attribute for the "TemplateCondition" class

Table 5.148.2 Description of the "qti-template-else-if" attribute for the "TemplateCondition" class

Table 5.148.3 Description of the "qti-template-else" attribute for the "TemplateCondition" class

Table 5.149 TemplateConstraint class definitions

Table 5.149.1 Description of the "expressionGroup" attribute for the "TemplateConstraint" class

Table 5.150 TemplateDeclaration class definitions

Table 5.150.1 Description of the "identifier" characteristic for the "TemplateDeclaration" class

Table 5.150.2 Description of the "cardinality" characteristic for the "TemplateDeclaration" class

Table 5.150.3 Description of the "base-type" characteristic for the "TemplateDeclaration" class

Table 5.150.4 Description of the "param-variable" characteristic for the "TemplateDeclaration" class

Table 5.150.5 Description of the "math-variable" characteristic for the "TemplateDeclaration" class

Table 5.150.6 Description of the "qti-default-value" attribute for the "TemplateDeclaration" class

Table 5.151 TemplateDefault class definitions

Table 5.151.1 Description of the "template-identifier" characteristic for the "TemplateDefault" class

Table 5.151.2 Description of the "expressionGroup" attribute for the "TemplateDefault" class

Table 5.152 TemplateElse class definitions

Table 5.152.1 Description of the "templateRuleGroup" attribute for the "TemplateElse" class

Table 5.153 TemplateIf class definitions

Table 5.153.1 Description of the "expressionGroup" attribute for the "TemplateIf" class

Table 5.153.2 Description of the "templateRuleGroup" attribute for the "TemplateIf" class

Table 5.154 TemplateInline class definitions

Table 5.154.1 Description of the "template-identifier" characteristic for the "TemplateInline" class

Table 5.154.2 Description of the "show-hide" characteristic for the "TemplateInline" class

Table 5.154.3 Description of the "identifier" characteristic for the "TemplateInline" class

Table 5.154.4 Description of the "inlineStaticGroup" attribute for the "TemplateInline" class

Table 5.155 TemplateProcessing class definitions

Table 5.155.1 Description of the "templateRuleGroup" attribute for the "TemplateProcessing" class

Table 5.156 TestFeedback class definitions

Table 5.156.1 Description of the "access" characteristic for the "TestFeedback" class

Table 5.156.2 Description of the "outcome-identifier" characteristic for the "TestFeedback" class

Table 5.156.3 Description of the "show-hide" characteristic for the "TestFeedback" class

Table 5.156.4 Description of the "identifier" characteristic for the "TestFeedback" class

Table 5.156.5 Description of the "title" characteristic for the "TestFeedback" class

Table 5.156.6 Description of the "dataExtension" characteristic for the "TestFeedback" class

Table 5.156.7 Description of the "qti-stylesheet" attribute for the "TestFeedback" class

Table 5.156.8 Description of the "qti-content-body" attribute for the "TestFeedback" class

Table 5.156.9 Description of the "qti-catalog-info" attribute for the "TestFeedback" class

Table 5.157 TestFeedbackFlowContentBody class definitions

Table 5.157.1 Description of the "feedbackFlowStaticGroup" attribute for the "TestFeedbackFlowContentBody" class

Table 5.158 TestPart class definitions

Table 5.158.1 Description of the "identifier" characteristic for the "TestPart" class

Table 5.158.2 Description of the "class" characteristic for the "TestPart" class

Table 5.158.3 Description of the "navigation-mode" characteristic for the "TestPart" class

Table 5.158.4 Description of the "submission-mode" characteristic for the "TestPart" class

Table 5.158.5 Description of the "dataExtension" characteristic for the "TestPart" class

Table 5.158.6 Description of the "qti-pre-condition" attribute for the "TestPart" class

Table 5.158.7 Description of the "qti-branch-rule" attribute for the "TestPart" class

Table 5.158.8 Description of the "qti-item-session-control" attribute for the "TestPart" class

Table 5.158.9 Description of the "qti-time-limits" attribute for the "TestPart" class

Table 5.158.10 Description of the "qti-rubric-block" attribute for the "TestPart" class

Table 5.158.11 Description of the "assessmentSectionSelection" attribute for the "TestPart" class

Table 5.158.12 Description of the "qti-test-feedback" attribute for the "TestPart" class

Table 5.159 TestRubricBlock class definitions

Table 5.159.1 Description of the "view" characteristic for the "TestRubricBlock" class

Table 5.159.2 Description of the "use" characteristic for the "TestRubricBlock" class

Table 5.159.3 Description of the "qti-stylesheet" attribute for the "TestRubricBlock" class

Table 5.159.4 Description of the "qti-content-body" attribute for the "TestRubricBlock" class

Table 5.159.5 Description of the "qti-catalog-info" attribute for the "TestRubricBlock" class

Table 5.159.6 Description of the "qti-printed-variable" attribute for the "TestRubricBlock" class

Table 5.160 TestRubricBlockContentBody class definitions

Table 5.160.1 Description of the "contentModel" attribute for the "TestRubricBlockContentBody" class

Table 5.161 TextEntryInteraction class definitions

Table 5.161.1 Description of the "response-identifier" characteristic for the "TextEntryInteraction" class

Table 5.161.2 Description of the "base" characteristic for the "TextEntryInteraction" class

Table 5.161.3 Description of the "string-identifier" characteristic for the "TextEntryInteraction" class

Table 5.161.4 Description of the "expected-length" characteristic for the "TextEntryInteraction" class

Table 5.161.5 Description of the "pattern-mask" characteristic for the "TextEntryInteraction" class

Table 5.161.6 Description of the "placeholder-text" characteristic for the "TextEntryInteraction" class

Table 5.161.7 Description of the "format" characteristic for the "TextEntryInteraction" class

Table 5.162 Track class definitions

Table 5.162.1 Description of the "kind" characteristic for the "Track" class

Table 5.162.2 Description of the "src" characteristic for the "Track" class

Table 5.162.3 Description of the "srclang" characteristic for the "Track" class

Table 5.162.4 Description of the "default" characteristic for the "Track" class

Table 5.163 USRuleSystem class definitions

Table 5.163.1 Description of the "qti-minimum-length" attribute for the "USRuleSystem" class

Table 5.163.2 Description of the "qti-minor-increment" attribute for the "USRuleSystem" class

Table 5.163.3 Description of the "qti-major-increment" attribute for the "USRuleSystem" class

Table 5.164 UploadInteraction class definitions

Table 5.164.1 Description of the "type" characteristic for the "UploadInteraction" class

Table 5.165 Video class definitions

Table 5.165.1 Description of the "src" characteristic for the "Video" class

Table 5.165.2 Description of the "crossorigin" characteristic for the "Video" class

Table 5.165.3 Description of the "preload" characteristic for the "Video" class

Table 5.165.4 Description of the "autoplay" characteristic for the "Video" class

Table 5.165.5 Description of the "mediagroup" characteristic for the "Video" class

Table 5.165.6 Description of the "loop" characteristic for the "Video" class

Table 5.165.7 Description of the "muted" characteristic for the "Video" class

Table 5.165.8 Description of the "controls" characteristic for the "Video" class

Table 5.165.9 Description of the "poster" characteristic for the "Video" class

Table 5.165.10 Description of the "width" characteristic for the "Video" class

Table 5.165.11 Description of the "height" characteristic for the "Video" class

Table 5.165.12 Description of the "source" attribute for the "Video" class

Table 5.165.13 Description of the "track" attribute for the "Video" class

Table 6.1 Adaptive class definitions

Table 6.1.1 Description of the "qti-adaptive-selection" attribute for the "Adaptive" class

Table 6.1.2 Description of the "selectOrderSelection" attribute for the "Adaptive" class

Table 6.2 AssessmentSectionSelection class definitions

Table 6.2.1 Description of the "qti-assessment-section" attribute for the "AssessmentSectionSelection" class

Table 6.2.2 Description of the "qti-assessment-section-ref" attribute for the "AssessmentSectionSelection" class

Table 6.3 BlockContentModel class definitions

Table 6.3.1 Description of the "pre" attribute for the "BlockContentModel" class

Table 6.3.2 Description of the "h1" attribute for the "BlockContentModel" class

Table 6.3.3 Description of the "h2" attribute for the "BlockContentModel" class

Table 6.3.4 Description of the "h3" attribute for the "BlockContentModel" class

Table 6.3.5 Description of the "h4" attribute for the "BlockContentModel" class

Table 6.3.6 Description of the "h5" attribute for the "BlockContentModel" class

Table 6.3.7 Description of the "h6" attribute for the "BlockContentModel" class

Table 6.3.8 Description of the "p" attribute for the "BlockContentModel" class

Table 6.3.9 Description of the "address" attribute for the "BlockContentModel" class

Table 6.3.10 Description of the "dl" attribute for the "BlockContentModel" class

Table 6.3.11 Description of the "ol" attribute for the "BlockContentModel" class

Table 6.3.12 Description of the "ul" attribute for the "BlockContentModel" class

Table 6.3.13 Description of the "hr" attribute for the "BlockContentModel" class

Table 6.3.14 Description of the "blockquote" attribute for the "BlockContentModel" class

Table 6.3.15 Description of the "table" attribute for the "BlockContentModel" class

Table 6.3.16 Description of the "div" attribute for the "BlockContentModel" class

Table 6.3.17 Description of the "article" attribute for the "BlockContentModel" class

Table 6.3.18 Description of the "aside" attribute for the "BlockContentModel" class

Table 6.3.19 Description of the "audio" attribute for the "BlockContentModel" class

Table 6.3.20 Description of the "figure" attribute for the "BlockContentModel" class

Table 6.3.21 Description of the "footer" attribute for the "BlockContentModel" class

Table 6.3.22 Description of the "header" attribute for the "BlockContentModel" class

Table 6.3.23 Description of the "nav" attribute for the "BlockContentModel" class

Table 6.3.24 Description of the "section" attribute for the "BlockContentModel" class

Table 6.3.25 Description of the "video" attribute for the "BlockContentModel" class

Table 6.4 BlockGroup class definitions

Table 6.4.1 Description of the "qti-position-object-stage" attribute for the "BlockGroup" class

Table 6.4.2 Description of the "qti-custom-interaction" attribute for the "BlockGroup" class

Table 6.4.3 Description of the "qti-portable-custom-interaction" attribute for the "BlockGroup" class

Table 6.4.4 Description of the "qti-drawing-interaction" attribute for the "BlockGroup" class

Table 6.4.5 Description of the "qti-gap-match-interaction" attribute for the "BlockGroup" class

Table 6.4.6 Description of the "qti-match-interaction" attribute for the "BlockGroup" class

Table 6.4.7 Description of the "qti-graphic-gap-match-interaction" attribute for the "BlockGroup" class

Table 6.4.8 Description of the "qti-hotspot-interaction" attribute for the "BlockGroup" class

Table 6.4.9 Description of the "qti-graphic-order-interaction" attribute for the "BlockGroup" class

Table 6.4.10 Description of the "qti-select-point-interaction" attribute for the "BlockGroup" class

Table 6.4.11 Description of the "qti-graphic-associate-interaction" attribute for the "BlockGroup" class

Table 6.4.12 Description of the "qti-slider-interaction" attribute for the "BlockGroup" class

Table 6.4.13 Description of the "qti-choice-interaction" attribute for the "BlockGroup" class

Table 6.4.14 Description of the "qti-media-interaction" attribute for the "BlockGroup" class

Table 6.4.15 Description of the "qti-hottext-interaction" attribute for the "BlockGroup" class

Table 6.4.16 Description of the "qti-order-interaction" attribute for the "BlockGroup" class

Table 6.4.17 Description of the "qti-extended-text-interaction" attribute for the "BlockGroup" class

Table 6.4.18 Description of the "qti-upload-interaction" attribute for the "BlockGroup" class

Table 6.4.19 Description of the "qti-associate-interaction" attribute for the "BlockGroup" class

Table 6.4.20 Description of the "qti-feedback-block" attribute for the "BlockGroup" class

Table 6.4.21 Description of the "qti-template-block" attribute for the "BlockGroup" class

Table 6.4.22 Description of the "math" attribute for the "BlockGroup" class

Table 6.4.23 Description of the "include" attribute for the "BlockGroup" class

Table 6.4.24 Description of the "blockContentModel" attribute for the "BlockGroup" class

Table 6.5 BlockStaticGroup class definitions

Table 6.5.1 Description of the "qti-feedback-block" attribute for the "BlockStaticGroup" class

Table 6.5.2 Description of the "qti-template-block" attribute for the "BlockStaticGroup" class

Table 6.5.3 Description of the "math" attribute for the "BlockStaticGroup" class

Table 6.5.4 Description of the "include" attribute for the "BlockStaticGroup" class

Table 6.5.5 Description of the "blockContentModel" attribute for the "BlockStaticGroup" class

Table 6.6 CardSelection class definitions

Table 6.6.1 Description of the "qti-html-content" attribute for the "CardSelection" class

Table 6.6.2 Description of the "qti-file-href" attribute for the "CardSelection" class

Table 6.7 DLSelection class definitions

Table 6.7.1 Description of the "dd" attribute for the "DLSelection" class

Table 6.7.2 Description of the "dt" attribute for the "DLSelection" class

Table 6.8 DivSelection class definitions

Table 6.8.1 Description of the "qti-position-object-stage" attribute for the "DivSelection" class

Table 6.8.2 Description of the "flowGroup" attribute for the "DivSelection" class

Table 6.9 ExpressionGroup class definitions

Table 6.9.1 Description of the "qti-and" attribute for the "ExpressionGroup" class

Table 6.9.2 Description of the "qti-gt" attribute for the "ExpressionGroup" class

Table 6.9.3 Description of the "qti-not" attribute for the "ExpressionGroup" class

Table 6.9.4 Description of the "qti-lt" attribute for the "ExpressionGroup" class

Table 6.9.5 Description of the "qti-gte" attribute for the "ExpressionGroup" class

Table 6.9.6 Description of the "qti-lte" attribute for the "ExpressionGroup" class

Table 6.9.7 Description of the "qti-or" attribute for the "ExpressionGroup" class

Table 6.9.8 Description of the "qti-sum" attribute for the "ExpressionGroup" class

Table 6.9.9 Description of the "qti-duration-lt" attribute for the "ExpressionGroup" class

Table 6.9.10 Description of the "qti-duration-gte" attribute for the "ExpressionGroup" class

Table 6.9.11 Description of the "qti-subtract" attribute for the "ExpressionGroup" class

Table 6.9.12 Description of the "qti-divide" attribute for the "ExpressionGroup" class

Table 6.9.13 Description of the "qti-multiple" attribute for the "ExpressionGroup" class

Table 6.9.14 Description of the "qti-ordered" attribute for the "ExpressionGroup" class

Table 6.9.15 Description of the "qti-custom-operator" attribute for the "ExpressionGroup" class

Table 6.9.16 Description of the "qti-random" attribute for the "ExpressionGroup" class

Table 6.9.17 Description of the "qti-substring" attribute for the "ExpressionGroup" class

Table 6.9.18 Description of the "qti-equal-rounded" attribute for the "ExpressionGroup" class

Table 6.9.19 Description of the "qti-null" attribute for the "ExpressionGroup" class

Table 6.9.20 Description of the "qti-delete" attribute for the "ExpressionGroup" class

Table 6.9.21 Description of the "qti-match" attribute for the "ExpressionGroup" class

Table 6.9.22 Description of the "qti-index" attribute for the "ExpressionGroup" class

Table 6.9.23 Description of the "qti-power" attribute for the "ExpressionGroup" class

Table 6.9.24 Description of the "qti-equal" attribute for the "ExpressionGroup" class

Table 6.9.25 Description of the "qti-contains" attribute for the "ExpressionGroup" class

Table 6.9.26 Description of the "qti-container-size" attribute for the "ExpressionGroup" class

Table 6.9.27 Description of the "qti-correct" attribute for the "ExpressionGroup" class

Table 6.9.28 Description of the "qti-default" attribute for the "ExpressionGroup" class

Table 6.9.29 Description of the "qti-any-n" attribute for the "ExpressionGroup" class

Table 6.9.30 Description of the "qti-integer-divide" attribute for the "ExpressionGroup" class

Table 6.9.31 Description of the "qti-integer-modulus" attribute for the "ExpressionGroup" class

Table 6.9.32 Description of the "qti-is-null" attribute for the "ExpressionGroup" class

Table 6.9.33 Description of the "qti-member" attribute for the "ExpressionGroup" class

Table 6.9.34 Description of the "qti-product" attribute for the "ExpressionGroup" class

Table 6.9.35 Description of the "qti-round" attribute for the "ExpressionGroup" class

Table 6.9.36 Description of the "qti-truncate" attribute for the "ExpressionGroup" class

Table 6.9.37 Description of the "qti-field-value" attribute for the "ExpressionGroup" class

Table 6.9.38 Description of the "qti-random-integer" attribute for the "ExpressionGroup" class

Table 6.9.39 Description of the "qti-random-float" attribute for the "ExpressionGroup" class

Table 6.9.40 Description of the "qti-variable" attribute for the "ExpressionGroup" class

Table 6.9.41 Description of the "qti-test-variables" attribute for the "ExpressionGroup" class

Table 6.9.42 Description of the "qti-integer-to-float" attribute for the "ExpressionGroup" class

Table 6.9.43 Description of the "qti-inside" attribute for the "ExpressionGroup" class

Table 6.9.44 Description of the "qti-base-value" attribute for the "ExpressionGroup" class

Table 6.9.45 Description of the "qti-pattern-match" attribute for the "ExpressionGroup" class

Table 6.9.46 Description of the "qti-map-response-point" attribute for the "ExpressionGroup" class

Table 6.9.47 Description of the "qti-map-response" attribute for the "ExpressionGroup" class

Table 6.9.48 Description of the "qti-string-match" attribute for the "ExpressionGroup" class

Table 6.9.49 Description of the "qti-repeat" attribute for the "ExpressionGroup" class

Table 6.9.50 Description of the "qti-round-to" attribute for the "ExpressionGroup" class

Table 6.9.51 Description of the "qti-lcm" attribute for the "ExpressionGroup" class

Table 6.9.52 Description of the "qti-gcd" attribute for the "ExpressionGroup" class

Table 6.9.53 Description of the "qti-min" attribute for the "ExpressionGroup" class

Table 6.9.54 Description of the "qti-max" attribute for the "ExpressionGroup" class

Table 6.9.55 Description of the "qti-math-constant" attribute for the "ExpressionGroup" class

Table 6.9.56 Description of the "qti-stats-operator" attribute for the "ExpressionGroup" class

Table 6.9.57 Description of the "qti-math-operator" attribute for the "ExpressionGroup" class

Table 6.9.58 Description of the "qti-number-correct" attribute for the "ExpressionGroup" class

Table 6.9.59 Description of the "qti-number-incorrect" attribute for the "ExpressionGroup" class

Table 6.9.60 Description of the "qti-number-presented" attribute for the "ExpressionGroup" class

Table 6.9.61 Description of the "qti-number-responded" attribute for the "ExpressionGroup" class

Table 6.9.62 Description of the "qti-number-selected" attribute for the "ExpressionGroup" class

Table 6.9.63 Description of the "qti-outcome-minimum" attribute for the "ExpressionGroup" class

Table 6.9.64 Description of the "qti-outcome-maximum" attribute for the "ExpressionGroup" class

Table 6.10 FeedandTempBlockStatic class definitions

Table 6.10.1 Description of the "flowContentModel" attribute for the "FeedandTempBlockStatic" class

Table 6.10.2 Description of the "math" attribute for the "FeedandTempBlockStatic" class

Table 6.10.3 Description of the "include" attribute for the "FeedandTempBlockStatic" class

Table 6.10.4 Description of the "qti-template-block" attribute for the "FeedandTempBlockStatic" class

Table 6.10.5 Description of the "qti-template-inline" attribute for the "FeedandTempBlockStatic" class

Table 6.10.6 Description of the "qti-feedback-block" attribute for the "FeedandTempBlockStatic" class

Table 6.10.7 Description of the "qti-feedback-inline" attribute for the "FeedandTempBlockStatic" class

Table 6.10.8 Description of the "qti-printed-variable" attribute for the "FeedandTempBlockStatic" class

Table 6.11 FeedbackBlockStatic class definitions

Table 6.11.1 Description of the "blockGroup" attribute for the "FeedbackBlockStatic" class

Table 6.11.2 Description of the "inlineContentModel" attribute for the "FeedbackBlockStatic" class

Table 6.11.3 Description of the "qti-template-inline" attribute for the "FeedbackBlockStatic" class

Table 6.11.4 Description of the "qti-feedback-inline" attribute for the "FeedbackBlockStatic" class

Table 6.11.5 Description of the "qti-printed-variable" attribute for the "FeedbackBlockStatic" class

Table 6.12 FeedbackFlowStaticGroup class definitions

Table 6.12.1 Description of the "qti-printed-variable" attribute for the "FeedbackFlowStaticGroup" class

Table 6.12.2 Description of the "qti-hottext" attribute for the "FeedbackFlowStaticGroup" class

Table 6.12.3 Description of the "qti-template-inline" attribute for the "FeedbackFlowStaticGroup" class

Table 6.12.4 Description of the "qti-template-block" attribute for the "FeedbackFlowStaticGroup" class

Table 6.12.5 Description of the "math" attribute for the "FeedbackFlowStaticGroup" class

Table 6.12.6 Description of the "include" attribute for the "FeedbackFlowStaticGroup" class

Table 6.12.7 Description of the "flowContentModel" attribute for the "FeedbackFlowStaticGroup" class

Table 6.13 FeedbackInlineGroup class definitions

Table 6.13.1 Description of the "inlineContentModel" attribute for the "FeedbackInlineGroup" class

Table 6.13.2 Description of the "math" attribute for the "FeedbackInlineGroup" class

Table 6.13.3 Description of the "include" attribute for the "FeedbackInlineGroup" class

Table 6.13.4 Description of the "qti-template-inline" attribute for the "FeedbackInlineGroup" class

Table 6.13.5 Description of the "qti-printed-variable" attribute for the "FeedbackInlineGroup" class

Table 6.14 FlowContentModel class definitions

Table 6.14.1 Description of the "pre" attribute for the "FlowContentModel" class

Table 6.14.2 Description of the "h1" attribute for the "FlowContentModel" class

Table 6.14.3 Description of the "h2" attribute for the "FlowContentModel" class

Table 6.14.4 Description of the "h3" attribute for the "FlowContentModel" class

Table 6.14.5 Description of the "h4" attribute for the "FlowContentModel" class

Table 6.14.6 Description of the "h5" attribute for the "FlowContentModel" class

Table 6.14.7 Description of the "h6" attribute for the "FlowContentModel" class

Table 6.14.8 Description of the "p" attribute for the "FlowContentModel" class

Table 6.14.9 Description of the "address" attribute for the "FlowContentModel" class

Table 6.14.10 Description of the "dl" attribute for the "FlowContentModel" class

Table 6.14.11 Description of the "ol" attribute for the "FlowContentModel" class

Table 6.14.12 Description of the "ul" attribute for the "FlowContentModel" class

Table 6.14.13 Description of the "br" attribute for the "FlowContentModel" class

Table 6.14.14 Description of the "hr" attribute for the "FlowContentModel" class

Table 6.14.15 Description of the "img" attribute for the "FlowContentModel" class

Table 6.14.16 Description of the "object" attribute for the "FlowContentModel" class

Table 6.14.17 Description of the "blockquote" attribute for the "FlowContentModel" class

Table 6.14.18 Description of the "em" attribute for the "FlowContentModel" class

Table 6.14.19 Description of the "a" attribute for the "FlowContentModel" class

Table 6.14.20 Description of the "code" attribute for the "FlowContentModel" class

Table 6.14.21 Description of the "span" attribute for the "FlowContentModel" class

Table 6.14.22 Description of the "sub" attribute for the "FlowContentModel" class

Table 6.14.23 Description of the "acronym" attribute for the "FlowContentModel" class

Table 6.14.24 Description of the "big" attribute for the "FlowContentModel" class

Table 6.14.25 Description of the "tt" attribute for the "FlowContentModel" class

Table 6.14.26 Description of the "kbd" attribute for the "FlowContentModel" class

Table 6.14.27 Description of the "q" attribute for the "FlowContentModel" class

Table 6.14.28 Description of the "i" attribute for the "FlowContentModel" class

Table 6.14.29 Description of the "dfn" attribute for the "FlowContentModel" class

Table 6.14.30 Description of the "abbr" attribute for the "FlowContentModel" class

Table 6.14.31 Description of the "strong" attribute for the "FlowContentModel" class

Table 6.14.32 Description of the "sup" attribute for the "FlowContentModel" class

Table 6.14.33 Description of the "var" attribute for the "FlowContentModel" class

Table 6.14.34 Description of the "small" attribute for the "FlowContentModel" class

Table 6.14.35 Description of the "samp" attribute for the "FlowContentModel" class

Table 6.14.36 Description of the "b" attribute for the "FlowContentModel" class

Table 6.14.37 Description of the "cite" attribute for the "FlowContentModel" class

Table 6.14.38 Description of the "table" attribute for the "FlowContentModel" class

Table 6.14.39 Description of the "div" attribute for the "FlowContentModel" class

Table 6.14.40 Description of the "bdo" attribute for the "FlowContentModel" class

Table 6.14.41 Description of the "bdi" attribute for the "FlowContentModel" class

Table 6.14.42 Description of the "figure" attribute for the "FlowContentModel" class

Table 6.14.43 Description of the "audio" attribute for the "FlowContentModel" class

Table 6.14.44 Description of the "video" attribute for the "FlowContentModel" class

Table 6.14.45 Description of the "article" attribute for the "FlowContentModel" class

Table 6.14.46 Description of the "aside" attribute for the "FlowContentModel" class

Table 6.14.47 Description of the "footer" attribute for the "FlowContentModel" class

Table 6.14.48 Description of the "header" attribute for the "FlowContentModel" class

Table 6.14.49 Description of the "label" attribute for the "FlowContentModel" class

Table 6.14.50 Description of the "nav" attribute for the "FlowContentModel" class

Table 6.14.51 Description of the "section" attribute for the "FlowContentModel" class

Table 6.14.52 Description of the "ruby" attribute for the "FlowContentModel" class

Table 6.14.53 Description of the "ssmlGroup" attribute for the "FlowContentModel" class

Table 6.14.54 Description of the "picture" attribute for the "FlowContentModel" class

Table 6.15 FlowGroup class definitions

Table 6.15.1 Description of the "qti-printed-variable" attribute for the "FlowGroup" class

Table 6.15.2 Description of the "qti-feedback-block" attribute for the "FlowGroup" class

Table 6.15.3 Description of the "qti-hottext" attribute for the "FlowGroup" class

Table 6.15.4 Description of the "qti-feedback-inline" attribute for the "FlowGroup" class

Table 6.15.5 Description of the "qti-template-inline" attribute for the "FlowGroup" class

Table 6.15.6 Description of the "qti-template-block" attribute for the "FlowGroup" class

Table 6.15.7 Description of the "math" attribute for the "FlowGroup" class

Table 6.15.8 Description of the "include" attribute for the "FlowGroup" class

Table 6.15.9 Description of the "qti-text-entry-interaction" attribute for the "FlowGroup" class

Table 6.15.10 Description of the "qti-inline-choice-interaction" attribute for the "FlowGroup" class

Table 6.15.11 Description of the "qti-end-attempt-interaction" attribute for the "FlowGroup" class

Table 6.15.12 Description of the "qti-custom-interaction" attribute for the "FlowGroup" class

Table 6.15.13 Description of the "qti-portable-custom-interaction" attribute for the "FlowGroup" class

Table 6.15.14 Description of the "qti-drawing-interaction" attribute for the "FlowGroup" class

Table 6.15.15 Description of the "qti-gap-match-interaction" attribute for the "FlowGroup" class

Table 6.15.16 Description of the "qti-match-interaction" attribute for the "FlowGroup" class

Table 6.15.17 Description of the "qti-graphic-gap-match-interaction" attribute for the "FlowGroup" class

Table 6.15.18 Description of the "qti-hotspot-interaction" attribute for the "FlowGroup" class

Table 6.15.19 Description of the "qti-graphic-order-interaction" attribute for the "FlowGroup" class

Table 6.15.20 Description of the "qti-select-point-interaction" attribute for the "FlowGroup" class

Table 6.15.21 Description of the "qti-graphic-associate-interaction" attribute for the "FlowGroup" class

Table 6.15.22 Description of the "qti-slider-interaction" attribute for the "FlowGroup" class

Table 6.15.23 Description of the "qti-choice-interaction" attribute for the "FlowGroup" class

Table 6.15.24 Description of the "qti-media-interaction" attribute for the "FlowGroup" class

Table 6.15.25 Description of the "qti-hottext-interaction" attribute for the "FlowGroup" class

Table 6.15.26 Description of the "qti-order-interaction" attribute for the "FlowGroup" class

Table 6.15.27 Description of the "qti-extended-text-interaction" attribute for the "FlowGroup" class

Table 6.15.28 Description of the "qti-upload-interaction" attribute for the "FlowGroup" class

Table 6.15.29 Description of the "qti-associate-interaction" attribute for the "FlowGroup" class

Table 6.15.30 Description of the "flowContentModel" attribute for the "FlowGroup" class

Table 6.16 FlowStaticGroup class definitions

Table 6.16.1 Description of the "qti-printed-variable" attribute for the "FlowStaticGroup" class

Table 6.16.2 Description of the "qti-feedback-block" attribute for the "FlowStaticGroup" class

Table 6.16.3 Description of the "qti-feedback-inline" attribute for the "FlowStaticGroup" class

Table 6.16.4 Description of the "qti-template-inline" attribute for the "FlowStaticGroup" class

Table 6.16.5 Description of the "qti-template-block" attribute for the "FlowStaticGroup" class

Table 6.16.6 Description of the "math" attribute for the "FlowStaticGroup" class

Table 6.16.7 Description of the "include" attribute for the "FlowStaticGroup" class

Table 6.16.8 Description of the "flowContentModel" attribute for the "FlowStaticGroup" class

Table 6.17 GapChoice class definitions

Table 6.17.1 Description of the "qti-gap-text" attribute for the "GapChoice" class

Table 6.17.2 Description of the "qti-gap-img" attribute for the "GapChoice" class

Table 6.18 HTMLContentFlow class definitions

Table 6.18.1 Description of the "math" attribute for the "HTMLContentFlow" class

Table 6.18.2 Description of the "flowContent" attribute for the "HTMLContentFlow" class

Table 6.19 IncrementSelection class definitions

Table 6.19.1 Description of the "qti-increment-si" attribute for the "IncrementSelection" class

Table 6.19.2 Description of the "qti-increment-us" attribute for the "IncrementSelection" class

Table 6.20 InlineChoiceGroup class definitions

Table 6.20.1 Description of the "qti-printed-variable" attribute for the "InlineChoiceGroup" class

Table 6.20.2 Description of the "qti-feedback-inline" attribute for the "InlineChoiceGroup" class

Table 6.20.3 Description of the "qti-template-inline" attribute for the "InlineChoiceGroup" class

Table 6.20.4 Description of the "math" attribute for the "InlineChoiceGroup" class

Table 6.20.5 Description of the "include" attribute for the "InlineChoiceGroup" class

Table 6.20.6 Description of the "inlineContentModel" attribute for the "InlineChoiceGroup" class

Table 6.21 InlineContentModel class definitions

Table 6.21.1 Description of the "img" attribute for the "InlineContentModel" class

Table 6.21.2 Description of the "picture" attribute for the "InlineContentModel" class

Table 6.21.3 Description of the "br" attribute for the "InlineContentModel" class

Table 6.21.4 Description of the "object" attribute for the "InlineContentModel" class

Table 6.21.5 Description of the "em" attribute for the "InlineContentModel" class

Table 6.21.6 Description of the "a" attribute for the "InlineContentModel" class

Table 6.21.7 Description of the "code" attribute for the "InlineContentModel" class

Table 6.21.8 Description of the "span" attribute for the "InlineContentModel" class

Table 6.21.9 Description of the "sub" attribute for the "InlineContentModel" class

Table 6.21.10 Description of the "acronym" attribute for the "InlineContentModel" class

Table 6.21.11 Description of the "big" attribute for the "InlineContentModel" class

Table 6.21.12 Description of the "tt" attribute for the "InlineContentModel" class

Table 6.21.13 Description of the "kbd" attribute for the "InlineContentModel" class

Table 6.21.14 Description of the "q" attribute for the "InlineContentModel" class

Table 6.21.15 Description of the "i" attribute for the "InlineContentModel" class

Table 6.21.16 Description of the "dfn" attribute for the "InlineContentModel" class

Table 6.21.17 Description of the "abbr" attribute for the "InlineContentModel" class

Table 6.21.18 Description of the "strong" attribute for the "InlineContentModel" class

Table 6.21.19 Description of the "sup" attribute for the "InlineContentModel" class

Table 6.21.20 Description of the "var" attribute for the "InlineContentModel" class

Table 6.21.21 Description of the "small" attribute for the "InlineContentModel" class

Table 6.21.22 Description of the "samp" attribute for the "InlineContentModel" class

Table 6.21.23 Description of the "b" attribute for the "InlineContentModel" class

Table 6.21.24 Description of the "cite" attribute for the "InlineContentModel" class

Table 6.21.25 Description of the "bdo" attribute for the "InlineContentModel" class

Table 6.21.26 Description of the "bdi" attribute for the "InlineContentModel" class

Table 6.21.27 Description of the "label" attribute for the "InlineContentModel" class

Table 6.21.28 Description of the "ruby" attribute for the "InlineContentModel" class

Table 6.21.29 Description of the "ssml11Group" attribute for the "InlineContentModel" class

Table 6.22 InlineGroup class definitions

Table 6.22.1 Description of the "qti-text-entry-interaction" attribute for the "InlineGroup" class

Table 6.22.2 Description of the "qti-hottext" attribute for the "InlineGroup" class

Table 6.22.3 Description of the "qti-printed-variable" attribute for the "InlineGroup" class

Table 6.22.4 Description of the "qti-gap" attribute for the "InlineGroup" class

Table 6.22.5 Description of the "qti-feedback-inline" attribute for the "InlineGroup" class

Table 6.22.6 Description of the "qti-template-inline" attribute for the "InlineGroup" class

Table 6.22.7 Description of the "qti-inline-choice-interaction" attribute for the "InlineGroup" class

Table 6.22.8 Description of the "qti-end-attempt-interaction" attribute for the "InlineGroup" class

Table 6.22.9 Description of the "qti-custom-interaction" attribute for the "InlineGroup" class

Table 6.22.10 Description of the "math" attribute for the "InlineGroup" class

Table 6.22.11 Description of the "include" attribute for the "InlineGroup" class

Table 6.22.12 Description of the "inlineContentModel" attribute for the "InlineGroup" class

Table 6.23 InlineStaticGroup class definitions

Table 6.23.1 Description of the "qti-hottext" attribute for the "InlineStaticGroup" class

Table 6.23.2 Description of the "qti-printed-variable" attribute for the "InlineStaticGroup" class

Table 6.23.3 Description of the "qti-gap" attribute for the "InlineStaticGroup" class

Table 6.23.4 Description of the "qti-feedback-inline" attribute for the "InlineStaticGroup" class

Table 6.23.5 Description of the "qti-template-inline" attribute for the "InlineStaticGroup" class

Table 6.23.6 Description of the "math" attribute for the "InlineStaticGroup" class

Table 6.23.7 Description of the "include" attribute for the "InlineStaticGroup" class

Table 6.23.8 Description of the "inlineContentModel" attribute for the "InlineStaticGroup" class

Table 6.24 ItemBodySelect class definitions

Table 6.24.1 Description of the "qti-rubric-block" attribute for the "ItemBodySelect" class

Table 6.24.2 Description of the "blockGroup" attribute for the "ItemBodySelect" class

Table 6.25 LookupTable class definitions

Table 6.25.1 Description of the "qti-match-table" attribute for the "LookupTable" class

Table 6.25.2 Description of the "qti-interpolation-table" attribute for the "LookupTable" class

Table 6.26 NumericExpressionGroup class definitions

Table 6.26.1 Description of the "qti-sum" attribute for the "NumericExpressionGroup" class

Table 6.26.2 Description of the "qti-subtract" attribute for the "NumericExpressionGroup" class

Table 6.26.3 Description of the "qti-divide" attribute for the "NumericExpressionGroup" class

Table 6.26.4 Description of the "qti-multiple" attribute for the "NumericExpressionGroup" class

Table 6.26.5 Description of the "qti-ordered" attribute for the "NumericExpressionGroup" class

Table 6.26.6 Description of the "qti-custom-operator" attribute for the "NumericExpressionGroup" class

Table 6.26.7 Description of the "qti-random" attribute for the "NumericExpressionGroup" class

Table 6.26.8 Description of the "qti-null" attribute for the "NumericExpressionGroup" class

Table 6.26.9 Description of the "qti-delete" attribute for the "NumericExpressionGroup" class

Table 6.26.10 Description of the "qti-index" attribute for the "NumericExpressionGroup" class

Table 6.26.11 Description of the "qti-power" attribute for the "NumericExpressionGroup" class

Table 6.26.12 Description of the "qti-container-size" attribute for the "NumericExpressionGroup" class

Table 6.26.13 Description of the "qti-correct" attribute for the "NumericExpressionGroup" class

Table 6.26.14 Description of the "qti-default" attribute for the "NumericExpressionGroup" class

Table 6.26.15 Description of the "qti-integer-divide" attribute for the "NumericExpressionGroup" class

Table 6.26.16 Description of the "qti-integer-modulus" attribute for the "NumericExpressionGroup" class

Table 6.26.17 Description of the "qti-product" attribute for the "NumericExpressionGroup" class

Table 6.26.18 Description of the "qti-round" attribute for the "NumericExpressionGroup" class

Table 6.26.19 Description of the "qti-truncate" attribute for the "NumericExpressionGroup" class

Table 6.26.20 Description of the "qti-field-value" attribute for the "NumericExpressionGroup" class

Table 6.26.21 Description of the "qti-random-integer" attribute for the "NumericExpressionGroup" class

Table 6.26.22 Description of the "qti-variable" attribute for the "NumericExpressionGroup" class

Table 6.26.23 Description of the "qti-test-variables" attribute for the "NumericExpressionGroup" class

Table 6.26.24 Description of the "qti-integer-to-float" attribute for the "NumericExpressionGroup" class

Table 6.26.25 Description of the "qti-base-value" attribute for the "NumericExpressionGroup" class

Table 6.26.26 Description of the "qti-map-response-point" attribute for the "NumericExpressionGroup" class

Table 6.26.27 Description of the "qti-map-response" attribute for the "NumericExpressionGroup" class

Table 6.26.28 Description of the "qti-repeat" attribute for the "NumericExpressionGroup" class

Table 6.26.29 Description of the "qti-round-to" attribute for the "NumericExpressionGroup" class

Table 6.26.30 Description of the "qti-lcm" attribute for the "NumericExpressionGroup" class

Table 6.26.31 Description of the "qti-gcd" attribute for the "NumericExpressionGroup" class

Table 6.26.32 Description of the "qti-min" attribute for the "NumericExpressionGroup" class

Table 6.26.33 Description of the "qti-max" attribute for the "NumericExpressionGroup" class

Table 6.26.34 Description of the "qti-math-constant" attribute for the "NumericExpressionGroup" class

Table 6.26.35 Description of the "qti-stats-operator" attribute for the "NumericExpressionGroup" class

Table 6.26.36 Description of the "qti-math-operator" attribute for the "NumericExpressionGroup" class

Table 6.26.37 Description of the "qti-random-float" attribute for the "NumericExpressionGroup" class

Table 6.26.38 Description of the "qti-number-correct" attribute for the "NumericExpressionGroup" class

Table 6.26.39 Description of the "qti-number-incorrect" attribute for the "NumericExpressionGroup" class

Table 6.26.40 Description of the "qti-number-presented" attribute for the "NumericExpressionGroup" class

Table 6.26.41 Description of the "qti-number-responded" attribute for the "NumericExpressionGroup" class

Table 6.26.42 Description of the "qti-number-selected" attribute for the "NumericExpressionGroup" class

Table 6.26.43 Description of the "qti-outcome-minimum" attribute for the "NumericExpressionGroup" class

Table 6.26.44 Description of the "qti-outcome-maximum" attribute for the "NumericExpressionGroup" class

Table 6.27 ObjectFlowGroup class definitions

Table 6.27.1 Description of the "math" attribute for the "ObjectFlowGroup" class

Table 6.27.2 Description of the "include" attribute for the "ObjectFlowGroup" class

Table 6.27.3 Description of the "param" attribute for the "ObjectFlowGroup" class

Table 6.27.4 Description of the "flowContentModel" attribute for the "ObjectFlowGroup" class

Table 6.28 OutcomeRule class definitions

Table 6.28.1 Description of the "qti-lookup-outcome-value" attribute for the "OutcomeRule" class

Table 6.28.2 Description of the "qti-outcome-processing-fragment" attribute for the "OutcomeRule" class

Table 6.28.3 Description of the "qti-set-outcome-value" attribute for the "OutcomeRule" class

Table 6.28.4 Description of the "include" attribute for the "OutcomeRule" class

Table 6.28.5 Description of the "qti-exit-test" attribute for the "OutcomeRule" class

Table 6.28.6 Description of the "qti-outcome-condition" attribute for the "OutcomeRule" class

Table 6.29 PhraseRBSelection class definitions

Table 6.29.1 Description of the "phrasingContentModel" attribute for the "PhraseRBSelection" class

Table 6.29.2 Description of the "rb" attribute for the "PhraseRBSelection" class

Table 6.30 PhrasingContentModelHTML5 class definitions

Table 6.30.1 Description of the "a" attribute for the "PhrasingContentModelHTML5" class

Table 6.30.2 Description of the "abbr" attribute for the "PhrasingContentModelHTML5" class

Table 6.30.3 Description of the "b" attribute for the "PhrasingContentModelHTML5" class

Table 6.30.4 Description of the "bdo" attribute for the "PhrasingContentModelHTML5" class

Table 6.30.5 Description of the "br" attribute for the "PhrasingContentModelHTML5" class

Table 6.30.6 Description of the "cite" attribute for the "PhrasingContentModelHTML5" class

Table 6.30.7 Description of the "code" attribute for the "PhrasingContentModelHTML5" class

Table 6.30.8 Description of the "dfn" attribute for the "PhrasingContentModelHTML5" class

Table 6.30.9 Description of the "em" attribute for the "PhrasingContentModelHTML5" class

Table 6.30.10 Description of the "i" attribute for the "PhrasingContentModelHTML5" class

Table 6.30.11 Description of the "img" attribute for the "PhrasingContentModelHTML5" class

Table 6.30.12 Description of the "picture" attribute for the "PhrasingContentModelHTML5" class

Table 6.30.13 Description of the "kbd" attribute for the "PhrasingContentModelHTML5" class

Table 6.30.14 Description of the "object" attribute for the "PhrasingContentModelHTML5" class

Table 6.30.15 Description of the "q" attribute for the "PhrasingContentModelHTML5" class

Table 6.30.16 Description of the "samp" attribute for the "PhrasingContentModelHTML5" class

Table 6.30.17 Description of the "small" attribute for the "PhrasingContentModelHTML5" class

Table 6.30.18 Description of the "span" attribute for the "PhrasingContentModelHTML5" class

Table 6.30.19 Description of the "strong" attribute for the "PhrasingContentModelHTML5" class

Table 6.30.20 Description of the "sub" attribute for the "PhrasingContentModelHTML5" class

Table 6.30.21 Description of the "sup" attribute for the "PhrasingContentModelHTML5" class

Table 6.30.22 Description of the "var" attribute for the "PhrasingContentModelHTML5" class

Table 6.30.23 Description of the "audio" attribute for the "PhrasingContentModelHTML5" class

Table 6.30.24 Description of the "bdi" attribute for the "PhrasingContentModelHTML5" class

Table 6.30.25 Description of the "label" attribute for the "PhrasingContentModelHTML5" class

Table 6.30.26 Description of the "ruby" attribute for the "PhrasingContentModelHTML5" class

Table 6.30.27 Description of the "video" attribute for the "PhrasingContentModelHTML5" class

Table 6.31 PromptStaticGroup class definitions

Table 6.31.1 Description of the "math" attribute for the "PromptStaticGroup" class

Table 6.31.2 Description of the "include" attribute for the "PromptStaticGroup" class

Table 6.31.3 Description of the "flowContentModel" attribute for the "PromptStaticGroup" class

Table 6.32 RPRTSelection class definitions

Table 6.32.1 Description of the "rp" attribute for the "RPRTSelection" class

Table 6.32.2 Description of the "rtrtcSelection" attribute for the "RPRTSelection" class

Table 6.33 RTRTCSelection class definitions

Table 6.33.1 Description of the "rt" attribute for the "RTRTCSelection" class

Table 6.33.2 Description of the "rtc" attribute for the "RTRTCSelection" class

Table 6.34 ResponseRuleGroup class definitions

Table 6.34.1 Description of the "include" attribute for the "ResponseRuleGroup" class

Table 6.34.2 Description of the "qti-response-condition" attribute for the "ResponseRuleGroup" class

Table 6.34.3 Description of the "qti-response-processing-fragment" attribute for the "ResponseRuleGroup" class

Table 6.34.4 Description of the "qti-set-outcome-value" attribute for the "ResponseRuleGroup" class

Table 6.34.5 Description of the "qti-exit-response" attribute for the "ResponseRuleGroup" class

Table 6.34.6 Description of the "qti-lookup-outcome-value" attribute for the "ResponseRuleGroup" class

Table 6.35 RubricBlockContentModel class definitions

Table 6.35.1 Description of the "flowContentModel" attribute for the "RubricBlockContentModel" class

Table 6.35.2 Description of the "math" attribute for the "RubricBlockContentModel" class

Table 6.35.3 Description of the "include" attribute for the "RubricBlockContentModel" class

Table 6.35.4 Description of the "qti-template-block" attribute for the "RubricBlockContentModel" class

Table 6.35.5 Description of the "qti-template-inline" attribute for the "RubricBlockContentModel" class

Table 6.35.6 Description of the "qti-printed-variable" attribute for the "RubricBlockContentModel" class

Table 6.36 RubricTemplateBlockContentModel class definitions

Table 6.36.1 Description of the "flowContentModel" attribute for the "RubricTemplateBlockContentModel" class

Table 6.36.2 Description of the "math" attribute for the "RubricTemplateBlockContentModel" class

Table 6.36.3 Description of the "include" attribute for the "RubricTemplateBlockContentModel" class

Table 6.36.4 Description of the "qti-printed-variable" attribute for the "RubricTemplateBlockContentModel" class

Table 6.37 RubricTemplateInlineStaticGroup class definitions

Table 6.37.1 Description of the "inlineContentModel" attribute for the "RubricTemplateInlineStaticGroup" class

Table 6.37.2 Description of the "math" attribute for the "RubricTemplateInlineStaticGroup" class

Table 6.37.3 Description of the "include" attribute for the "RubricTemplateInlineStaticGroup" class

Table 6.37.4 Description of the "qti-printed-variable" attribute for the "RubricTemplateInlineStaticGroup" class

Table 6.38 RubySelection class definitions

Table 6.38.1 Description of the "phraseSelection" attribute for the "RubySelection" class

Table 6.38.2 Description of the "rprtSelection" attribute for the "RubySelection" class

Table 6.39 RuleSystemSelection class definitions

Table 6.39.1 Description of the "qti-rule-system-si" attribute for the "RuleSystemSelection" class

Table 6.39.2 Description of the "qti-rule-system-us" attribute for the "RuleSystemSelection" class

Table 6.40 SSMLGroup class definitions

Table 6.40.1 Description of the "p" attribute for the "SSMLGroup" class

Table 6.40.2 Description of the "s" attribute for the "SSMLGroup" class

Table 6.40.3 Description of the "say-as" attribute for the "SSMLGroup" class

Table 6.40.4 Description of the "phoneme" attribute for the "SSMLGroup" class

Table 6.40.5 Description of the "sub" attribute for the "SSMLGroup" class

Table 6.40.6 Description of the "voice" attribute for the "SSMLGroup" class

Table 6.40.7 Description of the "emphasis" attribute for the "SSMLGroup" class

Table 6.40.8 Description of the "break" attribute for the "SSMLGroup" class

Table 6.40.9 Description of the "prosody" attribute for the "SSMLGroup" class

Table 6.40.10 Description of the "mark" attribute for the "SSMLGroup" class

Table 6.40.11 Description of the "audio" attribute for the "SSMLGroup" class

Table 6.40.12 Description of the "speak" attribute for the "SSMLGroup" class

Table 6.41 SectionPart class definitions

Table 6.41.1 Description of the "include" attribute for the "SectionPart" class

Table 6.41.2 Description of the "qti-assessment-item-ref" attribute for the "SectionPart" class

Table 6.41.3 Description of the "qti-assessment-section" attribute for the "SectionPart" class

Table 6.41.4 Description of the "qti-assessment-section-ref" attribute for the "SectionPart" class

Table 6.42 SelectOrderSelection class definitions

Table 6.42.1 Description of the "qti-selection" attribute for the "SelectOrderSelection" class

Table 6.42.2 Description of the "qti-ordering" attribute for the "SelectOrderSelection" class

Table 6.43 SelectStimulusBody class definitions

Table 6.43.1 Description of the "blockContent" attribute for the "SelectStimulusBody" class

Table 6.43.2 Description of the "math" attribute for the "SelectStimulusBody" class

Table 6.44 TableCellGroup class definitions

Table 6.44.1 Description of the "td" attribute for the "TableCellGroup" class

Table 6.44.2 Description of the "th" attribute for the "TableCellGroup" class

Table 6.45 TemplateRuleGroup class definitions

Table 6.45.1 Description of the "qti-set-template-value" attribute for the "TemplateRuleGroup" class

Table 6.45.2 Description of the "qti-exit-template" attribute for the "TemplateRuleGroup" class

Table 6.45.3 Description of the "qti-template-condition" attribute for the "TemplateRuleGroup" class

Table 6.45.4 Description of the "qti-set-default-value" attribute for the "TemplateRuleGroup" class

Table 6.45.5 Description of the "qti-set-correct-response" attribute for the "TemplateRuleGroup" class

Table 6.45.6 Description of the "qti-template-constraint" attribute for the "TemplateRuleGroup" class

Table 6.46 TestFeedbackFlowStaticGroup class definitions

Table 6.46.1 Description of the "flowContentModel" attribute for the "TestFeedbackFlowStaticGroup" class

Table 6.46.2 Description of the "include" attribute for the "TestFeedbackFlowStaticGroup" class

Table 6.46.3 Description of the "math" attribute for the "TestFeedbackFlowStaticGroup" class

Table 6.47 TestRubricBlockContentModel class definitions

Table 6.47.1 Description of the "flowContentModel" attribute for the "TestRubricBlockContentModel" class

Table 6.47.2 Description of the "include" attribute for the "TestRubricBlockContentModel" class

Table 6.47.3 Description of the "math" attribute for the "TestRubricBlockContentModel" class

Table 7.1 ARIABaseEmpty class definitions

Table 7.1.1 Description of the "role" characteristic for the "ARIABaseEmpty" class

Table 7.1.2 Description of the "aria-controls" characteristic for the "ARIABaseEmpty" class

Table 7.1.3 Description of the "aria-describedby" characteristic for the "ARIABaseEmpty" class

Table 7.1.4 Description of the "aria-flowto" characteristic for the "ARIABaseEmpty" class

Table 7.1.5 Description of the "aria-label" characteristic for the "ARIABaseEmpty" class

Table 7.1.6 Description of the "aria-labelledby" characteristic for the "ARIABaseEmpty" class

Table 7.1.7 Description of the "aria-level" characteristic for the "ARIABaseEmpty" class

Table 7.1.8 Description of the "aria-live" characteristic for the "ARIABaseEmpty" class

Table 7.1.9 Description of the "aria-orientation" characteristic for the "ARIABaseEmpty" class

Table 7.1.10 Description of the "aria-owns" characteristic for the "ARIABaseEmpty" class

Table 7.1.11 Description of the "aria-hidden" characteristic for the "ARIABaseEmpty" class

Table 7.1.12 Description of the "aria-activedescendant" characteristic for the "ARIABaseEmpty" class

Table 7.1.13 Description of the "aria-atomic" characteristic for the "ARIABaseEmpty" class

Table 7.1.14 Description of the "aria-autocomplete" characteristic for the "ARIABaseEmpty" class

Table 7.1.15 Description of the "aria-busy" characteristic for the "ARIABaseEmpty" class

Table 7.1.16 Description of the "aria-checked" characteristic for the "ARIABaseEmpty" class

Table 7.1.17 Description of the "aria-disabled" characteristic for the "ARIABaseEmpty" class

Table 7.1.18 Description of the "aria-dropeffect" characteristic for the "ARIABaseEmpty" class

Table 7.1.19 Description of the "aria-expanded" characteristic for the "ARIABaseEmpty" class

Table 7.1.20 Description of the "aria-haspopup" characteristic for the "ARIABaseEmpty" class

Table 7.1.21 Description of the "aria-invalid" characteristic for the "ARIABaseEmpty" class

Table 7.1.22 Description of the "aria-multiline" characteristic for the "ARIABaseEmpty" class

Table 7.1.23 Description of the "aria-multiselectable" characteristic for the "ARIABaseEmpty" class

Table 7.1.24 Description of the "aria-posinset" characteristic for the "ARIABaseEmpty" class

Table 7.1.25 Description of the "aria-pressed" characteristic for the "ARIABaseEmpty" class

Table 7.1.26 Description of the "aria-readonly" characteristic for the "ARIABaseEmpty" class

Table 7.1.27 Description of the "aria-relevant" characteristic for the "ARIABaseEmpty" class

Table 7.1.28 Description of the "aria-required" characteristic for the "ARIABaseEmpty" class

Table 7.1.29 Description of the "aria-selected" characteristic for the "ARIABaseEmpty" class

Table 7.1.30 Description of the "aria-setsize" characteristic for the "ARIABaseEmpty" class

Table 7.1.31 Description of the "aria-sort" characteristic for the "ARIABaseEmpty" class

Table 7.1.32 Description of the "aria-valuemax" characteristic for the "ARIABaseEmpty" class

Table 7.1.33 Description of the "aria-valuemin" characteristic for the "ARIABaseEmpty" class

Table 7.1.34 Description of the "aria-valuenow" characteristic for the "ARIABaseEmpty" class

Table 7.1.35 Description of the "aria-valuetext" characteristic for the "ARIABaseEmpty" class

Table 7.2 ARIALevelInteger class definitions

Table 7.2.1 Description of the "minInclusive" attribute for the "ARIALevelInteger" class

Table 7.3 AdaptiveHref class definitions

Table 7.3.1 Description of the "identifier" characteristic for the "AdaptiveHref" class

Table 7.3.2 Description of the "href" characteristic for the "AdaptiveHref" class

Table 7.4 AreaMapEntry class definitions

Table 7.4.1 Description of the "shape" characteristic for the "AreaMapEntry" class

Table 7.4.2 Description of the "coords" characteristic for the "AreaMapEntry" class

Table 7.4.3 Description of the "mapped-value" characteristic for the "AreaMapEntry" class

Table 7.5 AssessmentSectionRef class definitions

Table 7.5.1 Description of the "identifier" characteristic for the "AssessmentSectionRef" class

Table 7.5.2 Description of the "class" characteristic for the "AssessmentSectionRef" class

Table 7.5.3 Description of the "href" characteristic for the "AssessmentSectionRef" class

Table 7.5.4 Description of the "dataExtension" characteristic for the "AssessmentSectionRef" class

Table 7.6 AssessmentStimulusRef class definitions

Table 7.6.1 Description of the "identifier" characteristic for the "AssessmentStimulusRef" class

Table 7.6.2 Description of the "href" characteristic for the "AssessmentStimulusRef" class

Table 7.6.3 Description of the "title" characteristic for the "AssessmentStimulusRef" class

Table 7.6.4 Description of the "dataExtension" characteristic for the "AssessmentStimulusRef" class

Table 7.7 BaseValue class definitions

Table 7.7.1 Description of the "base-type" characteristic for the "BaseValue" class

Table 7.8 ContextUniqueIDRef class definitions

Table 7.8.1 Description of the "identifier" characteristic for the "ContextUniqueIDRef" class

Table 7.9 Coords class definitions

Table 7.9.1 Description of the "pattern" attribute for the "Coords" class

Table 7.10 Correct class definitions

Table 7.10.1 Description of the "identifier" characteristic for the "Correct" class

Table 7.11 DataHTML5Extension class definitions

Table 7.11.1 Description of the "pattern" attribute for the "DataHTML5Extension" class

Table 7.12 Default class definitions

Table 7.12.1 Description of the "identifier" characteristic for the "Default" class

Table 7.13 EncVariableString class definitions

Table 7.13.1 Description of the "pattern" attribute for the "EncVariableString" class

Table 7.14 FileHref class definitions

Table 7.15 FileHrefCard class definitions

Table 7.15.1 Description of the "mime-type" characteristic for the "FileHrefCard" class

Table 7.16 Identifier class definitions

Table 7.17 InteractionModule class definitions

Table 7.17.1 Description of the "id" characteristic for the "InteractionModule" class

Table 7.17.2 Description of the "primary-path" characteristic for the "InteractionModule" class

Table 7.17.3 Description of the "fallback-path" characteristic for the "InteractionModule" class

Table 7.18 InterpolationTableEntry class definitions

Table 7.18.1 Description of the "source-value" characteristic for the "InterpolationTableEntry" class

Table 7.18.2 Description of the "include-boundary" characteristic for the "InterpolationTableEntry" class

Table 7.18.3 Description of the "target-value" characteristic for the "InterpolationTableEntry" class

Table 7.19 ItemSessionControl class definitions

Table 7.19.1 Description of the "max-attempts" characteristic for the "ItemSessionControl" class

Table 7.19.2 Description of the "show-feedback" characteristic for the "ItemSessionControl" class

Table 7.19.3 Description of the "allow-review" characteristic for the "ItemSessionControl" class

Table 7.19.4 Description of the "show-solution" characteristic for the "ItemSessionControl" class

Table 7.19.5 Description of the "allow-comment" characteristic for the "ItemSessionControl" class

Table 7.19.6 Description of the "allow-skipping" characteristic for the "ItemSessionControl" class

Table 7.19.7 Description of the "validate-responses" characteristic for the "ItemSessionControl" class

Table 7.20 Length class definitions

Table 7.20.1 Description of the "pattern" attribute for the "Length" class

Table 7.21 MapEntry class definitions

Table 7.21.1 Description of the "map-key" characteristic for the "MapEntry" class

Table 7.21.2 Description of the "mapped-value" characteristic for the "MapEntry" class

Table 7.21.3 Description of the "case-sensitive" characteristic for the "MapEntry" class

Table 7.22 MapResponse class definitions

Table 7.22.1 Description of the "identifier" characteristic for the "MapResponse" class

Table 7.23 MatchTableEntry class definitions

Table 7.23.1 Description of the "source-value" characteristic for the "MatchTableEntry" class

Table 7.23.2 Description of the "target-value" characteristic for the "MatchTableEntry" class

Table 7.24 MathConstant class definitions

Table 7.24.1 Description of the "name" characteristic for the "MathConstant" class

Table 7.25 MimeType class definitions

Table 7.25.1 Description of the "pattern" attribute for the "MimeType" class

Table 7.26 NonNegativeDouble class definitions

Table 7.26.1 Description of the "minInclusive" attribute for the "NonNegativeDouble" class

Table 7.27 Number class definitions

Table 7.27.1 Description of the "section-identifier" characteristic for the "Number" class

Table 7.27.2 Description of the "include-category" characteristic for the "Number" class

Table 7.27.3 Description of the "exclude-category" characteristic for the "Number" class

Table 7.28 OutcomeMinMax class definitions

Table 7.28.1 Description of the "section-identifier" characteristic for the "OutcomeMinMax" class

Table 7.28.2 Description of the "include-category" characteristic for the "OutcomeMinMax" class

Table 7.28.3 Description of the "exclude-category" characteristic for the "OutcomeMinMax" class

Table 7.28.4 Description of the "outcome-identifier" characteristic for the "OutcomeMinMax" class

Table 7.28.5 Description of the "weight-identifier" characteristic for the "OutcomeMinMax" class

Table 7.29 Param class definitions

Table 7.29.1 Description of the "name" characteristic for the "Param" class

Table 7.29.2 Description of the "value" characteristic for the "Param" class

Table 7.29.3 Description of the "valuetype" characteristic for the "Param" class

Table 7.29.4 Description of the "type" characteristic for the "Param" class

Table 7.30 PrintedVariable class definitions

Table 7.30.1 Description of the "id" characteristic for the "PrintedVariable" class

Table 7.30.2 Description of the "class" characteristic for the "PrintedVariable" class

Table 7.30.3 Description of the "language" characteristic for the "PrintedVariable" class

Table 7.30.4 Description of the "label" characteristic for the "PrintedVariable" class

Table 7.30.5 Description of the "baseuri" characteristic for the "PrintedVariable" class

Table 7.30.6 Description of the "identifier" characteristic for the "PrintedVariable" class

Table 7.30.7 Description of the "format" characteristic for the "PrintedVariable" class

Table 7.30.8 Description of the "base" characteristic for the "PrintedVariable" class

Table 7.30.9 Description of the "index" characteristic for the "PrintedVariable" class

Table 7.30.10 Description of the "power-form" characteristic for the "PrintedVariable" class

Table 7.30.11 Description of the "field" characteristic for the "PrintedVariable" class

Table 7.30.12 Description of the "delimiter" characteristic for the "PrintedVariable" class

Table 7.30.13 Description of the "mapping-indicator" characteristic for the "PrintedVariable" class

Table 7.31 RadialSIValue class definitions

Table 7.31.1 Description of the "unit" characteristic for the "RadialSIValue" class

Table 7.32 RadialUSValue class definitions

Table 7.32.1 Description of the "unit" characteristic for the "RadialUSValue" class

Table 7.33 RandomFloat class definitions

Table 7.33.1 Description of the "min" characteristic for the "RandomFloat" class

Table 7.33.2 Description of the "max" characteristic for the "RandomFloat" class

Table 7.34 RandomInteger class definitions

Table 7.34.1 Description of the "min" characteristic for the "RandomInteger" class

Table 7.34.2 Description of the "max" characteristic for the "RandomInteger" class

Table 7.34.3 Description of the "step" characteristic for the "RandomInteger" class

Table 7.35 SILinearValue class definitions

Table 7.35.1 Description of the "unit" characteristic for the "SILinearValue" class

Table 7.36 StyleSheet class definitions

Table 7.36.1 Description of the "href" characteristic for the "StyleSheet" class

Table 7.36.2 Description of the "type" characteristic for the "StyleSheet" class

Table 7.36.3 Description of the "media" characteristic for the "StyleSheet" class

Table 7.36.4 Description of the "title" characteristic for the "StyleSheet" class

Table 7.37 SupportExtString class definitions

Table 7.37.1 Description of the "pattern" attribute for the "SupportExtString" class

Table 7.38 TemplateUniqueIDRef class definitions

Table 7.38.1 Description of the "template-identifier" characteristic for the "TemplateUniqueIDRef" class

Table 7.39 TestVariables class definitions

Table 7.39.1 Description of the "section-identifier" characteristic for the "TestVariables" class

Table 7.39.2 Description of the "include-category" characteristic for the "TestVariables" class

Table 7.39.3 Description of the "exclude-category" characteristic for the "TestVariables" class

Table 7.39.4 Description of the "variable-identifier" characteristic for the "TestVariables" class

Table 7.39.5 Description of the "weight-identifier" characteristic for the "TestVariables" class

Table 7.39.6 Description of the "base-type" characteristic for the "TestVariables" class

Table 7.40 TimeLimits class definitions

Table 7.40.1 Description of the "min-time" characteristic for the "TimeLimits" class

Table 7.40.2 Description of the "max-time" characteristic for the "TimeLimits" class

Table 7.40.3 Description of the "allow-late-submission" characteristic for the "TimeLimits" class

Table 7.41 URL class definitions

Table 7.42 USLinearValue class definitions

Table 7.42.1 Description of the "unit" characteristic for the "USLinearValue" class

Table 7.43 UniqueIdentifier class definitions

Table 7.44 UniqueIdentifierRef class definitions

Table 7.45 UseExtensionString class definitions

Table 7.45.1 Description of the "pattern" attribute for the "UseExtensionString" class

Table 7.46 Value class definitions

Table 7.46.1 Description of the "field-identifier" characteristic for the "Value" class

Table 7.46.2 Description of the "base-type" characteristic for the "Value" class

Table 7.47 Variable class definitions

Table 7.47.1 Description of the "identifier" characteristic for the "Variable" class

Table 7.47.2 Description of the "weight-identifier" characteristic for the "Variable" class

Table 7.48 VariableMapping class definitions

Table 7.48.1 Description of the "source-identifier" characteristic for the "VariableMapping" class

Table 7.48.2 Description of the "target-identifier" characteristic for the "VariableMapping" class

Table 7.49 VariableString class definitions

Table 7.49.1 Description of the "pattern" attribute for the "VariableString" class

Table 7.50 Weight class definitions

Table 7.50.1 Description of the "identifier" characteristic for the "Weight" class

Table 7.50.2 Description of the "value" characteristic for the "Weight" class

Table 8.1 ARIAAutoCompleteEnum class definitions

Table 8.2 ARIACheckedEnum class definitions

Table 8.3 ARIAExpandedEnum class definitions

Table 8.4 ARIAInvalidEnum class definitions

Table 8.5 ARIALiveValueEnum class definitions

Table 8.6 ARIAOrientationValueEnum class definitions

Table 8.7 ARIAPressedEnum class definitions

Table 8.8 ARIARoleValue class definitions

Table 8.9 ARIASelectedEnum class definitions

Table 8.10 ARIASortEnum class definitions

Table 8.11 AlignEnum class definitions

Table 8.12 BaseTypeEnum class definitions

Table 8.13 CORSSettingsEnum class definitions

Table 8.14 CalculatorTypeEnum class definitions

Table 8.15 CardinalityEnum class definitions

Table 8.16 DIR class definitions

Table 8.17 ExternalScoredEnum class definitions

Table 8.18 KindValueEnum class definitions

Table 8.19 MathConstantsEnum class definitions

Table 8.20 MathOperatorNameEnum class definitions

Table 8.21 NavigationModeEnum class definitions

Table 8.22 OrientationEnum class definitions

Table 8.23 ParamTypeEnum class definitions

Table 8.24 PreLoadValueEnum class definitions

Table 8.25 RoundingModeEnum class definitions

Table 8.26 SIRadialUnitTypeEnum class definitions

Table 8.27 SIUnitTypeEnum class definitions

Table 8.28 ShapeEnum class definitions

Table 8.29 ShowHideEnum class definitions

Table 8.30 StatsOperatorNameEnum class definitions

Table 8.31 SubmissionModeEnum class definitions

Table 8.32 SupportEnum class definitions

Table 8.33 SuppressTTSEnum class definitions

Table 8.34 TableCellScopeEnum class definitions

Table 8.35 TestFeedbackAccessEnum class definitions

Table 8.36 TextFormatEnum class definitions

Table 8.37 ToleranceModeEnum class definitions

Table 8.38 USRadialUnitTypeEnum class definitions

Table 8.39 USUnitTypeEnum class definitions

Table 8.40 UseEnum class definitions

Table 8.41 ValignEnum class definitions

Table 9.1.1 IdentifierList class description

Table 9.1.2 IntegerList class description

Table 9.1.3 StringList class description

Table 9.1.4 ToleranceList class description

Table 9.2.1 ARIADropEffectList class description

Table 9.2.2 ARIARelevantList class description

Table 9.2.3 ViewEnum class description

Table 9.3.1 FloatOrVariableRef class description

Table 9.3.2 IntOrIdentifier class description

Table 9.3.3 IntegerOrVariableRef class description

Table 9.3.4 StringOrVariableRef class description

Table 9.3.5 SupportEnumExt class description

Table 9.3.6 UseEnumExt class description

Table 9.4.1 Include class description

Table 9.4.2 MathML3 class description

Table 9.4.3 SSMLv1p1 class description

Table A1.1 The key to the descriptions of data model diagrams

Table A1.2 The key to the descriptions of the data class tables

Table A1.3 The key to the descriptions of the data attribute/characteristic tables

Table A1.4 The key to the descriptions of the enumerated vocabulary tables

Table A1.5 The key to the descriptions of the external vocabulary tables

Table A1.6 The key to the descriptions of the import class tables

toc | top

1. Introduction

This Section is NOT NORMATIVE.

1.1. Scope and Context

The IMS Question and Test Interoperability (QTI): Assessment, Section and Item (ASI) Information Model definition is a part of the broader QTI specification. This document should be used in conjunction with the following documents:

This QTI ASI 3.0 Information Model is bound to an XML Schema Definition (XSD). This document and the accompanying XSD is generated using the IMS Global Binding Auto-generation Tool-kit (I-BAT) [I-BAT, 06].

1.2. Changes in QTI 3.0

This QTI ASI 3.0 specification supersedes the QTI ASI 2.2 version. The differences between these two versions are:

1.3. Conventions

All sections marked as non-normative, all authoring guidelines, diagrams (with the exception of the UML diagrams), examples, and notes in this specification are non-normative. Everything else in this specification is normative.

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC 2119]. This means that from the perspective of conformance:

The Conformance and Certification Guide for this specification may introduce greater normative constraints than those defined here for specific service or implementation categories.

The SHOULD/SHOULD NOT/RECOMMENDED statements MUST NOT be used in any document, or section of a document, that is responsible for defining the information model and/or the associated bindings and/or conformance and certification.

1.4. Structure of this Document

The structure of the rest of this document is:

2. Key Data Model Features The detailed descriptions of the core features used within QTI. This includes the composition of an Item and Test and the use of Sections as a grouping consruct, the HTML-based content model, the response and outcome processing and the various feedback mechanisms, and the accessibility features;
3. Root Attribute Descriptions The formal definition and description of the set of root attributes for the information model. These are the first class objects that can be exchanged using this data model. QTI ASI has six root attributes;
4. Root Class Descriptions The definition and description of the set of root classes for the information model. These are parent classes for the the first class objects i.e. the root attributes, that can be exchanged using this data model;
5. Data Class Descriptions The definition and description of the set of core classes from which the information model is composed;
6. Abstract Class Descriptions The definition and description set of abstract classes used within the information model. These are classes that will never be used to create a direct object. Instead the abstraction is used to define complex structured classes which would otherwise be impossible to create it such a concise way;
7. Derived Class Descriptions The definition and description of the set of derived classes. A derived class is one that is built upon either the primitive types (the base types avialable for any model) or other derived types;
8. Enumerated Vocabulary Descriptions The definition and description of the set of enumerated classes i.e. the embedded vocabularies, used throughout the specification (these vocabularies are not encapsulated as external IMS-based VDEX files);
9. Miscellaneous Descriptions The definition and description of the other types of classes used within the specification. This includes the classes for lists, enumerated lists, unions and constructs that are imported from other specifications;
10. Extending and Profiling the Data Model Identification of the ways in which the data model can be extended (both in terms of the extending features and proprietary extensions to the model) and how this base specification, and its model-based description, can be profiled to produce derivative specifications;
References The set of cited documents, normative and informative, that are used to support the technical details in this document;
Appendix A Modelling Concepts and Terms An overview of the model driven approach, the concepts and the terms used by IMS to create the data model representations (based upon a profile of UML), the corresponding set of bindings and the accompanying documentation (including this information model).

1.5. Nomenclature and Definitions

APIP Accessible Portable Item Protocol
ARIA Accessible Rich Internet Applications
ASI Assessment, Section and Item
Adaptive Item An adaptive item is an Item that adapts either its appearance, its scoring (Response Processing) or both in response to each of the candidate's Attempts. For example, an adaptive item may start by prompting the candidate with a box for free-text entry but, on receiving an unsatisfactory answer, present a simple choice Interaction instead and award fewer marks for subsequently identifying the correct response. Adaptivity allows authors to create items for use in formative situations which both help to guide candidates through a given task while also providing an Outcome that takes into consideration their path, enabling better subsequent content sequencing decisions to be made.
Adaptive Test An Adaptive Test is a Test that varies the items presented to the candidate based on the responses given on items already completed. This specification supports adaptivity through the use of pre-conditions and branching (see Pre-conditions and Branching). In QTI 3.0 support for adaptivity using the IMS Computer Adaptive Testing specification approach was added (see the sub-section 'Adaptive Sequencing using IMS CAT').
Assessment Assessment is the process of measuring some aspect of a candidate. In the context of this specification Assessment is carried out using Tests and the term Assessment is treated as being equivalent to an Assessment Test.
Assessment Delivery System A system for the administration and delivery of assessments to candidates. See also Delivery Engine.
Assessment Test An Assessment Test is an organized collection of Items that are used to determine the values of the outcomes e.g. level of mastery, when measuring the performance of a candidate in a particular domain. An Assessment Test contains all of the necessary instructions to enable the sequencing of the items and the calculation of the outcome values e.g. the final test score.
Assessment Variable An Assessment Variable is a variable used to maintain a value associated with an Item Session or Test Session. For example, the value of a Response given by the candidate or the value of an Outcome for an individual item or an entire test.
Attempt An attempt (at an Item) is the process by which the Candidate interacts with an item in one or more Candidate Sessions, possibly assigning values to or updating the associated Response Variables.
Authoring System A system used by authors for creating and editing Items and Assessments.
BIDI Bidirectional Unicode
Base-type A base-type is a predefined data type that defines a value set from which values for Item Variables are drawn. These values are indivisible with respect to the runtime model described by this specification.
Basic Item A basic item is an Item that contains one and only one Interaction.
Bi-directional Text This provides control for the layout of text so that it can be read from 'left-to-right' or 'right-to-left'.
CAT Computer Adaptive Testing
CP Content Packaging
CSS Cascading Stylesheet
Candidate A person that participates in a test, assessment or exam by answering questions. See also the actor candidate.
Candidate Session A period of time during which the candidate is interacting with the Item as part of an Attempt. An attempt may consist of more than one candidate session. For example, candidates that are not sure of the answer to one question may navigate to a second question in the same test and return to the first one later. When they leave the first question they terminate the candidate session but they do not terminate the Attempt. The attempt is simply suspended until a subsequent candidate session concludes it, triggering Response Processing and (possibly) Feedback.
Cloning Engine A cloning engine is a system for creating multiple similar items (Item Clones) from an Item Template.
Composite Item A composite item is an Item that contains more than one Interaction.
Container A container is an aggregate data type that can contain multiple values of the primitive Base-types. Containers may be empty.
DT Derived Type
Delivery Engine The process that coordinates the rendering and delivery of the Item(s) and the evaluation of the responses to produce scores and Feedback.
Feedback Any material presented to the candidate conditionally based on the value of an Outcome Variable. See also Integrated Feedback, Modal Feedback and Test Feedback.
HTML Hypertext Markup Language
IEEE Institute of Electrical and Electronics Engineers
IETF Internet Engineering Task Force.
ISO International Standards Organization
Integrated Feedback Integrated feedback is the name given to Feedback that is integrated into the item's itemBody. Unlike Modal Feedback the candidate is free to update their responses while viewing integrated feedback.
Interaction Interactions allow the candidate to interact with the item. Through an interaction, the candidate selects or constructs a response.
Item The smallest exchangeable assessment object within this specification. An item is more than a 'Question' in that it contains the question and instructions to be presented, the responseProcessing to be applied to the candidates response(s) and the Feedback that may be presented (including hints and solutions). In this specification items are represented by the assessmentItem class and the term assessment item is used interchangeably for item.
Item Clone Item Clones are items created by an Item Template.
Item Fragment An Item Fragment is part of an item managed independently of items that include it. See also Item Set.
Item Session An item session is the accumulation of all the Attempts at a particular item made by a candidate.
Item Set An Item Set is a set of items that share some common characteristic. For example, all items in the set may be introduced by the same Item Fragment, in which case the fragment is often referred to as the set leader.
Item Template Item templates are templates that can be used for producing large numbers of similar Items. Such items are often called cloned items. Item templates can be used to produce items by a special purpose Cloning Engine or, where Delivery Engines support them, be used directly to produce a dynamically chosen clone at the start of an Item Session. Each item cloned from an item template is identical except for the values given to a set of Template Variables. An item is therefore an item template if it declares one or more template variables and contains a set of Template Processing rules for assigning them values.
Item Variable A variable that records part of the state of an Item Session. The candidate's responses and any outcomes assigned by Response Processing are stored in item variables. Item variables are also used to define Item Templates. Item variables are a special kind of Assessment Variable.
Material Material means all static text, image or media objects that are intended for the user rather than being interpreted by a processing system. Interactions are not material.
Modal Feedback Modal feedback is the name give to Feedback that is presented to the candidate on its own, as opposed to being integrated into the item's itemBody.
Multiple Response A multiple response is a Response Variable that is a Container for multiple values all drawn from the value set defined by one of the Base-types. A multiple response is processed as an unordered list of these values. The list may be empty.
Non-adaptive Item An non-adaptive item is an Item that does not adapt itself in response to the candidate's Attempts.
Object Bank An object bank is a collection of objects used in assessment, including Items, Item Fragments, Tests or parts of tests. Object banks are not represented directly in this information model. See the QTI ASI Binding [QTI, 19a] for information about how to package assessment objects for interchange.
Ordered Response An ordered response is a Response Variable that is a Container for multiple values all drawn from the value set defined by one of the Base-types. An ordered response is processed as an ordered list (sequence) of values. The list may be empty.
Outcome The result of an Assessment Test or Item. An outcome is represented by one or more Outcome Variables.
Outcome Processing The process by which the values of item Outcomes (or Responses) are aggregated to make test outcomes.
Outcome Variable Outcome variables are declared by outcome declarations. Their value is set either from a default given in the declaration itself or by a response rule encountered during Response Processing (for Item outcomes) or Outcome Processing (for Test outcomes). See also the class outcomeDeclaration.
PCI Portable Custom Interaction (see definition).
PT Primitive Type
Pool A group of related items transported together with metadata that describes the group as a whole. A pool is a special case of an Object Bank.
Portable Custom Interaction This is the recommended mechanism for describing new QTI interactions to be used within QTI. PCI defines how the custom interaction functionality within QTI is extended by the use of a JavaScript API.
QTI Question and Test Interoperability
RFC Request For Comment
Response The data provided by the candidate through interaction with an item, or part of an item. The values of candidate responses are represented by Response Variables.
Response Processing The process by which the values of Response Variables are judged (scored) and the values of item Outcomes are assigned.
Response Variable Response variables are declared by response declarations and bound to Interactions in the Item body, they record the candidate's responses. See also the class responseDeclaration
Ruby Ruby allows one or more spans of phrasing content to be marked with ruby annotations. Ruby annotations are short runs of text presented alongside base text, primarily used in East Asian typography as a guide for pronunciation or to include other annotations. In Japanese, this form of typography is also known as furigana.
SSML Speech Synthsis Markup Language
Scoring Engine The part of the assessment system that handles the scoring based on the Candidate's responses and the Response Processing rules.
Single Response A single response is a Response Variable that can take a single value from the set of values defined by one of the Base-types.
Template Processing A set of rules used to set the values of the Template Variables, typically involving some random process, and thereby select the specific clone to be used for an Item Session.
Template Variable Template variables are declared by template declarations and used to record the values required to instantiate an item template. The values determine which clone from the set of similar items defined by an Item Template is being used for a given Item Session.
Test See Assessment.
Test Feedback The name given to feedback that is presented to the candidate conditionally based on the value of test Outcomes.
Test Fragment A Test Fragment is part of a test managed independently of the tests that include it.
Test Report A Test Report is a report about a Test Session.
Test Session A Test Session is the interaction of a candidate with a Test and the items it contains.
Time Dependent Item A time dependent item is an Item that records the accumulated elapsed time for the Candidate Sessions in a Response Variable that is used during Response Processing.
Time Independent Item A time independent item is an Item that does not use the accumulated elapsed time during Response Processing. In practice, this information may be collected by a Delivery Engine and may still be reported as part of a Test Report.
UML Unified Modeling Language
URI Uniform Resource Identifier
URL Uniform Resource Locator
VDEX Vocabulary Definition and Exchange
W3C World Wide Web Consortium
XML Extensible Markup Language
XSD XML Schema Definition

toc | top

2. Key Data Model Features

This Section is NOT NORMATIVE.

2.1. The Structure of the Data Model

The QTI v3.0 specification has four components that provide the total data interoperability capability:

2.1.1. Assessments, Sections and Items

This is the core functionality of the QTI specification and is the component that is addressed specifically by this document. This specification defines the exchange of a single Assessment (also known as a Test and Quiz), Sections and/or Items. Structurally an Assessment consists of one or more TestParts; each TestPart consists of one or more Sections; each Section consists of one or more Sections (hence a Section is recursive) and/or Items. This specification also permits the seperate exchange of an Outcome Declaration, a Response Processing Template and content Stimulus. The data model root classes are:

This data model is mapped to an XSD binding [QTI, 19a]. The data exchange is achieved as a zip package as defined in [CP, 12].

2.1.2. Metadata

This is the QTI-specific metadata. In QTIv3.0 the QTI-specific metadata [QTI, 19d] is aligned with the IEEE Learning Object Metadata (LOM) in accordance with the IMS Metadata Best Practice and Implementation Guide for [IMD, 06]. The IEEE LOM standard defines a set of metadata elements that can be used to describe learning resources, but does not describe assessment resources in sufficient detail. The application profile provided in this document therefore extends the IEEE LOM to meet the specific needs of QTI developers wishing to associate metadata with items (as defined by the accompanying Item Information Model). QTIv3.0 further extends this to enable the description of tests, pools and object banks.

This data model has its own XSD binding.

2.1.3. Usage Data

QTI Usage Data defines the exchange of statistical information about the usage of a set of items. The corresponding documentation [QTI, 19f] provides detailed information about the data model. While the expectation is that the original definition of the corresponding Test and Items is based upon the use of the QTIv3.0 Assessment, Section and Item specification, this is not a pre-requisite for the use of this usage data representation.

The root class is 'UsageData'. Usage data, most commonly item statistics, do not form part of an assessmentItem directly because they always relate to some context or domain in which the statistics are valid. Therefore, this specification defines a separate class for describing these statistics. Each statistic refers to both its context and to the assessmentItem(s) it relates to. Therefore, instances of this class are bound and packaged separately for interoperability.

This data model has its own XSD binding.

2.1.4. Results Reporting

QTI Result Reporting defines the exchange of reporting the results of an assessment. The corresponding documentation [QTI, 19e] provides detailed information about the model and specifies the associated requirements on delivery engines. While the expectation is that the original definition of the corresponding Test and Items is based upon the use of the QTIv3.0 Assessment, Section and Item specification, this is not a pre-requisite for the use of this result reporting representation.

The root class is 'AssessmentResult'. An AssessmentResult is used to report the results of a candidate's interaction with a test and/or one or more items attempted. Information about the test is optional, in some systems it may be possible to interact with items that are not organized into a test at all. For example, items that are organized with learning resources and presented individually in a formative context.

This data model has its own XSD binding.

2.2. Items

In this specification an assessment item encompasses the information that is presented to a candidate and information about how to score the item. Scoring takes place when candidate responses are transformed into outcomes by response processing rules. It is sometimes desirable to have several different items that appear the same to the candidate but which are scored differently. In this specification, these are distinct items by definition and must therefore have distinct identifiers. To help facilitate the exchange of items that share significant parts of their presentation this specification supports the inclusion of separately managed item fragments in the itemBody. The core functionality of an Item is defined using the classes:

2.2.1. The Item Session Lifecycle

An item session is the accumulation of all the attempts at a particular instance of an item made by a candidate. In some types of test, the same item may be presented to the candidate multiple times e.g. during 'drill and practice'. Each occurrence or instance of the item is associated with its own item session. Figure 2.1, illustrates the user-perceived states of the item session. Not all states will apply to every scenario, for example feedback may not be provided for an item or it may not be allowed in the context in which the item is being used. Similarly, the candidate may not be permitted to review their responses and/or examine a model solution. In practice, systems may support only a limited number of the indicated state transitions and/or support other state transitions not shown here.

Diagram of the lifecycle of an Item session.

Figure 2.1 - The lifecycle of an Item session.

For system developers, an important first step in determining which requirements apply to their system is to identify which of the user-perceived states are supported in their system and to match the state transitions indicated in the diagram to their own event model.The discussion that follows forms part of this specification's requirements on Delivery Engines.

The session starts when the associated item first becomes eligible for delivery to the candidate. The item session's state is then maintained and updated in response to the actions of the candidate until the session is over. At any time the state of the session may be turned into an Item-Result. A delivery system may also allow an itemResult to be used as the basis for a new session in order to allow a candidate's responses to be seen in the context of the item itself (and possibly compared to a solution) or even to allow a candidate to resume an interrupted session at a later time.

The initial state of an item session represents the state after it has been determined that the item will be delivered to the candidate but before the delivery has taken place.

In a typical non-Adaptive Test the items are selected in advance and the candidate's interaction with all items is reported at the end of the test session, regardless of whether or not the candidate actually attempted all the items. In effect, item sessions are created in the initial state for all items at the start of the test and are maintained in parallel. In an Adaptive Test the items that are to be presented are selected during the session based on the responses and outcomes associated with the items presented so far. Items are selected from a large pool and the delivery engine only reports the candidate's interaction with items that have actually been selected.

A candidate's interaction with an item is broken into 0 or more attempts. During each attempt the candidate interacts with the item through one or more candidate sessions. At the end of a candidate session the item may be placed into the suspended state ready for the next candidate session. During a candidate session the item session is in the interacting state. Once an attempt has ended response processing takes place, after response processing a new attempt may be started.

For non-adaptive items, response processing typically takes place a limited number of times, usually only once. For adaptive items, no such limit is required because the response processing adapts the values it assigns to the outcome variables based on the path through the item. In both cases, each invocation of response processing occurrs at the end of each attempt. The appearance of the item's body, and whether any modal feedback is shown, is determined by the values of the outcome variables.

When no more attempts are allowed the item session passes into the closed state. Once in the closed state the values of the response variables are fixed. A delivery system or reporting tool may still allow the item to be presented after it has reached the closed state. This type of presentation takes place in the review state, summary feedback may also be visible at this point if response processing has taken place and set a suitable outcome variable.

Finally, for systems that support the display of solutions, the item session may pass into the solution state. In this state, the candidate's responses are temporarily replaced by the correct values supplied in the corresponding response declarations (or NULL if none was declared).

2.2.2. Item Variables

Item variables are declared by variable declarations: context, response, outcome or template variables. All variables must be declared except for the built-in session variables referred to below which are declared implicitly and must not be declared. The purpose of the declaration is to associate an identifier with the variable and to identify the runtime type of the variable's value. An item variable may have no value at all, in which case it is said to have the special value NULL. For example, if the candidate has not yet had an opportunity to respond to an interaction then any associated response variable will have a NULL value. Empty containers and empty strings are always treated as NULL values. The declaration of variables is defined by the classes:

2.2.2.1. Context Variable

Context variables are declared by context declarations. Their intended purpose is to provide an information binding mechanism between a Delivery Engine, or a Scoring Engine, and an Assessment Item or an Assessment Test.

For example, an item might have different response evaluation (response processing) instructions depending on the test where/when the item is used. In this case, a response condition might evaluate the value of a context variable containing the test's identifier, and branch accordingly.

There is one built-in context variable: 'QTI_CONTEXT', which has record cardinality. Within the QTI_CONTEXT record, there are three built-in fields: "testIdentifier", "candidateIdentifier", and "environmentIdentifier", all of which have base-type string. QTI_CONTEXT is a built-in variable and so any references within an item or an assessment to the QTI_CONTEXT variable, or to the three built-in fields, must succeed i.e. it MUST NOT result in a null pointer exception.

Implementors of Delivery/Scoring Engines should take care to set the value of QTI_CONTEXT prior to any further processing e.g. template, response, or outcome processing. This is so that all processing instructions have the proper context available in the information model.

2.2.2.2. Response Variable

Response variables are declared by response declarations and bound to interactions in the itemBody. Each response variable declared may be bound to one and only one interaction. At runtime, response variables are instantiated as part of an item session. Their values are always initialized to NULL (no value) regardless of whether or not a default value is given in the declaration. A response variable with a NULL value indicates that the candidate has not offered a response, either because they have not attempted the item at all or because they have attempted it and chosen not to provide a response. If a default value has been provided for a response variable then the variable is set to this value at the start of the first attempt. If the candidate never attempts the item, in other words, the item session passes straight from the initial state to the closed state without going through the interacting state, then the response variable remains NULL and the default value is never used.

Implementors of Delivery Engine's should take care when implementing user interfaces for items with default response variable values. If the associated interaction is left in the default state (i.e., representing the default value) then it is important that the system is confident that the candidate intended to submit this value and has not simply failed to notice that a default has been provided. This is especially true if the candidate's attempt ended due to some external event, such as running out of time. The techniques required to distinguish between these cases are an issue for user interface design and are therefore out of scope for this specification.

There are two built-in response variables: 'numAttempts' and 'duration'. These are declared implicitly and must not appear in a 'response declaration'.

All Delivery Engines must maintain the value of numAttempts. This is a single integer that records the number of attempts at each item the candidate has taken. The value defaults to '0' initially and then increases by '1' at the start of each attempt.

Systems that support Time Dependent Items must also maintain the value of duration. The duration is defined as being a single float that records the accumulated time (in seconds) of all Candidate Sessions for all Attempts. In other words the time between the beginning and the end of the item session minus any time the session was in the suspended state. The resolution of the duration must be at least 1s and should be 0.1s or smaller. If the resolution is denoted by epsilon then each value of duration represents the range of values 'duration' <= 't' <= 'duration+epsilon'. In other words, duration values are truncated.

The value of duration for items that are not time dependent must not be used in any item or test-level expression, though systems should still report it in itemResults when it is known.

2.2.2.3. Outcomes Variable

Outcome variables are declared by outcome declarations. Their value is set either from a default given in the declaration itself or by a response rule during response processing.

Items that declare a numeric outcome variable representing the candidate's overall performance on the item should use the outcome name 'SCORE' for the variable. SCORE MUST be a float.

Items that declare a maximum score (in multiple response choice interactions, for example) should do so by declaring the 'MAXSCORE' variable. MAXSCORE MUST be a float.

Items or tests that want to make the fact that the candidate scored above a predefined threshold available as a variable should use the 'PASSED' variable. PASSED MUST be a boolean.

At runtime, outcome variables are instantiated as part of an item session. Their values may be initialized with a default value and/or set during response processing. If no default value is given in the declaration then the outcome variable is initialized to NULL unless the outcome is of a numeric type (integer or float) in which case it is initialized to 0.

For Non-adaptive Items, the values of the outcome variables are reset to their default values prior to each invocation of response processing. For Adaptive Items the outcome variables retain the values that were assigned to them during the previous invocation of response processing. For more information, see Response Processing (Subsection 2.5).

There is one built-in outcome variable, 'completionStatus', that is declared implicitly and must not appear in an outcome declaration. Delivery Engines must maintain the value of the built-in outcome variable completionStatus, a single identifier. It starts with the reserved value "not_attempted". At the start of the first attempt it changes to the reserved value "unknown". It remains with this value for the duration of the item session unless set to a different value by a setOutcomeValue rule in responseProcessing. There are four permitted values:

Any one of these values may be set during response processing. If an Adaptive Item sets completionStatus to completed then the session must be placed into the closed state, however an item session is not required to wait for the completed signal before terminating, it may terminate in response to a direct request from the candidate, through running out of time or through some other exceptional circumstance. Adaptive Items must maintain a suitable value and should set completionStatus to "completed" to indicate when the cycle of interaction, response processing and feedback must stop. Non-adaptive Items are not required to set a value for completionStatus, but they may do so. Delivery Engines are encouraged to use the value of completionStatus when communicating externally

2.3. The Content Model

Most of the content within QTI is used in the content of the AssessmentItem. The item body contains the text, graphics, media objects and interactions that describe the item's content and information about how it is structured. The body is presented by combining it with stylesheet information, either explicitly or implicitly using the default style rules of the delivery or authoring system.

The body must be presented to the candidate when the associated item session is in the interacting state. In this state, the candidate must be able to interact with each of the visible interactions and therefore set or update the values of the associated response variables. The body may be presented to the candidate when the item session is in the closed or review state. In these states, although the candidate's responses should be visible, the interactions must be disabled so as to prevent the candidate from setting or updating the values of the associated response variables. Finally, the body may be presented to the candidate in the solution state, in which case the correct values of the response variables must be visible and the associated interactions disabled.

The content model employed by this specification uses many concepts taken directly from [XHTML, 10]. In effect, this part of the specification defines a profile of XHTML. Only some of the elements defined in XHTML are allowable in an assessmentItem and of those that are, some have additional constraints placed on their attributes. Only those elements from XHTML that are explicitly defined within this specification can be used (see Subsection 2.3.2 XHTML Elements [XHTML, 10] for details). Finally, this specification defines some new elements which are used to represent the interactions and to control the display of Integrated Feedback and content restricted to one or more of the defined content views.

2.3.1. Basic Classes

Underpinning the content model are a number of abstract classes that are used to group elements of the body into categories that define peer-groups. These abstract classes are:

2.3.2. XHTML Elements

The structural elements of the content model are taken from [XHTML, 10]. Only those characteristics listed here may be used (including attributes inherited from parent classes). By default, elements and attributes have the same interpretation and restrictions as the corresponding elements and attributes in [XHTML, 10].

2.3.2.1. Text Elements

The supported text elements are:

2.3.2.2. List Elements

The supported list elements are:

2.3.2.3. Object Elements

The supported object elements are:

2.3.2.4. Presentation Elements

The supported presentation elements are:

2.3.2.5. Table Elements

The supported table elements are:

2.3.2.6. Image Elements

The supported image elements are:

2.3.2.7. Hypertext Element

The supported hypertext elements are:

2.3.2.8. HTML5 Elements

The supported elements added in HTML5 are:

2.3.3. MathML

MathML defines a Markup Language for describing mathematical notation using XML [MathML3, 14]. The primary purpose of MathML is to provide a language for embedding mathematical expressions into other documents, in particular into HTML documents.

It is often desirable to vary elements of a mathematical expression when creating item templates. Although it is impossible to embed objects such as printed variable defined for that purpose within a math object the techniques described in this section can be used to achieve a similar effect. In MathML, numbers are represented either by the 'mn' or 'cn' tags, for presentation or content representation respectively. Similarly, 'mi' and 'ci' represent identifiers. If mathVariable is set in a template variable's declaration then all instances of 'mi' and 'ci' that match the name of the template variable must be replaced by 'mn' and 'cn' respectively with the template variable's value as their content. It is possible that this technique of expanding template variables will be extended to other elements of MathML in future. The set of classes that support the MathML are:

2.3.4. Variable Content

This specification defines two methods by which the content of an assessmentItem can vary depending on the state of the item session. The first method is based on the value of an outcome variable and the second uses templates. When using outcome variables the classes that support this method are:

The syntax of the format attribute is based on the format conversion specifiers defined in the C programming language [ISO 9899] for use with printf and related functions. Each conversion specifier starts with a '%' character and is followed by zero or more flag characters (#, 0, -, " " [space] and +), an optional digit string indicating the minimum field width, an optional precision (consisting of a "." followed by zero or more digits) and finally one of the conversion type codes: E, e, f, G, g, r, R, i, o, X, or x. These are interpreted according to the C standard with the exception of i, which may be used to format numbers in bases other than 10 using the base attribute, and r/R which round to the number of significant figures given by the precision in the same way as g/G except that scientific format is only used if the requested number of significant figures is less than the number of digits to the left of the decimal point.

2.3.5. Formatting Items with Stylesheets

QTI recommends the use of Cascading Style Sheets (CSS) for controlling the content formating. QTI supports CSS 2.1 [CSS2, 11] and CSS 3.0 [CSS3, 11]. The classes that define the associated stylesheet assignment are:

Stylesheets are applicable to the content in the following classes:

2.3.6. Accessibility

There are three accessibility features that are supported by QTI 3.0:

See Subsection 2.13 for more information on how Accessibility is supported.

2.3.7. Internationalization

The internationalization features supported in QTI 3.0 are:

See Subsection 2.14 for more information on how Internationalization is supported.

2.4. Interactions

2.4.1. Simple Interactions

The simple interactions are:

2.4.1.1. Choice Interaction

The choice interaction presents a set of choices to the candidate. The candidate's task is to select one or more of the choices, up to a maximum of max-choices. The interaction is always initialized with no choices selected. The qti-choice-interaction must be bound to a response variable with a base-type of identifier and single or multiple cardinality. The relevant classes are:

2.4.1.2. Order Interaction

In an order interaction the candidate's task is to reorder the choices, the order in which the choices are displayed initially is significant. By default the candidate's task is to order all of the choices but a subset of the choices can be requested using the max-choices and min-choices attributes. When specified the candidate must select a subset of the choices and impose an ordering on them. If a default value is specified for the response variable associated with an order interaction then its value should be used to override the order of the choices specified here. By its nature, an order interaction may be difficult to render in an unanswered state, especially in the default case where all choices are to be ordered. Implementors should be aware of the issues concerning the use of default values described in the section on Response Variables. The qti-order-interaction must be bound to a response variable with a base-type of identifier and ordered cardinality only. The relevant classes are:

2.4.1.3. Associate Interaction

An associate interaction is a blockInteraction that presents candidates with a number of choices and allows them to create associations between them. The qti-associate-interaction must be bound to a response variable with base-type pair and either single or multiple cardinality. The relevant classes are:

2.4.1.4. Match Interaction

A match interaction is a block interaction that presents candidates with two sets of choices and allows them to create associates between pairs of choices in the two sets, but not between pairs of choices in the same set. Further restrictions can still be placed on the allowable associations using the match-max attribute of the choices. The qti-match-interaction must be bound to a response variable with base-type 'directedPair' and either single or multiple cardinality. The relevant classes are:

2.4.1.5. Gap Match Interaction

A gap match interaction is a blockInteraction that contains a number gaps that the candidate can fill from an associated set of choices. The candidate must be able to review the content with the gaps filled in context, as indicated by their choices. The qti-gap-match-interaction must be bound to a response variable with base-type 'directedPair' and either single or multiple cardinality, depending on the number of gaps. The choices represent the source of the pairing and gaps the targets. Each gap can have at most one choice associated with it. The maximum occurrence of the choices is controlled by the match-max attribute of qti-gap-choice. The relevant classes are:

2.4.2. Text-based Interactions

The text-based interactions are:

2.4.2.1. Inline Choice Interaction

An inline choice is an inlineInteraction that presents the user with a set of choices, each of which is a simple piece of text. The candidate's task is to select one of the choices. Unlike the qti-choice-interaction, the delivery engine must allow the candidate to review their choice within the context of the surrounding text. The qti-inline-choice-interaction must be bound to a response variable with a base-type of identifier and single cardinality only. The relevant classes are:

2.4.2.2. Text Interaction

A text-entry interaction is an inline -nteraction that obtains a simple piece of text from the candidate. Like qti-inline-choice-interaction, the delivery engine must allow the candidate to review their choice within the context of the surrounding text. The qti-text-entry-interaction must be bound to a response variable with either single or record cardinality only. For single cardinality the base-type must be one of string, integer or float. For record cardinality the fields are 'stringValue', 'floatValue', etc. The relevant class is:

TextEntryInteraction is a String interaction and can be bound to numeric response variables, instead of strings, if desired. If detailed information about a numeric response is required then the string interaction can be bound to a response variable with record cardinality. The resulting value contains the following fields:

2.4.2.3. Extended Text Interaction

An extended text interaction is a blockInteraction that allows the candidate to enter an extended amount of text. The extendedTextInteraction must be bound to a response variable of single, multipe, ordered or record cardinality. If the response variable has record cardinality the fields in the records are 'stringValue' 'floatValue', etc. Otherwise it must have a baseType of string, integer or float. When bound to response variable with single cardinality a single string of text is required from the candidate. When bound to a response variable with multiple or ordered cardinality several separate text strings may be required, see maxStrings below. The relevant class is:

ExtendedTextInteraction is a String interactions and can be bound to numeric response variables, instead of strings, if desired. If detailed information about a numeric response is required then the string interaction can be bound to a response variable with record cardinality. The resulting value contains the following fields:

2.4.2.4. Hot Text Interaction

The hottext interaction presents a set of choices to the candidate represented as selectable runs of text embedded within a surrounding context, such as a simple passage of text. Like choice interaction, the candidate's task is to select one or more of the choices, up to a maximum of max-choices. The interaction is initialized from the 'defaultValue' of the associated response variable, a NULL value indicating that no choices are selected (the usual case). The hottext-interaction must be bound to a response variable with a base-type of identifier and single or multiple cardinality. The relevant classes are:

2.4.3. Graphical Interactions

The graphical interactions are:

2.4.3.1. Hotspot Interaction

A hotspot interaction is a graphical interaction with a corresponding set of choices that are defined as areas of the graphic image. The candidate's task is to select one or more of the areas (hotspots). The hotspot interaction should only be used when the spacial relationship of the choices with respect to each other (as represented by the graphic image) is important to the needs of the item. Otherwise, choiceInteraction should be used instead with separate material for each option. The delivery engine must clearly indicate the selected area(s) of the image and may also indicate the unselected areas as well. Interactions with hidden hotspots are achieved with the selectPointInteraction. The hotspot interaction must be bound to a response variable with a base-type of identifier and single or multiple cardinality.The relevant classes are:

2.4.3.2. Graphic Order Interaction

A graphic order interaction is a graphic interaction with a corresponding set of choices that are defined as areas of the graphic image. The candidate's task is to impose an ordering on the areas (hotspots). The order hotspot interaction should only be used when the spatial relationship of the choices with respect to each other (as represented by the graphic image) is important to the needs of the item. Otherwise, order-interaction should be used instead with separate material for each option. The delivery engine must clearly indicate all defined area(s) of the image. The order hotspot interaction must be bound to a response variable with a base-type of identifier and ordered cardinality.The relevant classes are:

2.4.3.3. Graphic Associate Interaction

A graphic associate interaction is a graphic interaction with a corresponding set of choices that are defined as areas of the graphic image. The candidate's task is to associate the areas (hotspots) with each other. The graphic associate interaction should only be used when the graphical relationship of the choices with respect to each other (as represented by the graphic image) is important to the needs of the item. Otherwise, associateInteraction should be used instead with separate Material for each option. The delivery engine must clearly indicate all defined area(s) of the image. The graphicAssociateInteraction must be bound to a response variable with base-type pair and either single or multiple cardinality. The relevant classes are:

2.4.3.4. Graphic Gap Match Interaction

A graphic gap-match interaction is a graphical interaction with a set of gaps that are defined as areas (hotspots) of the graphic image and an additional set of gap choices that are defined outside the image. The candidate must associate the gap choices with the gaps in the image and be able to review the image with the gaps filled in context, as indicated by their choices. Care should be taken when designing these interactions to ensure that the gaps in the image are a suitable size to receive the required gap choices. It must be clear to the candidate which hotspot each choice has been associated with. When associated, choices must appear wholly inside the gaps if at all possible and, where overlaps are required, should not hide each other completely. If the candidate indicates the association by positioning the choice over the gap (e.g. drag and drop) the system should 'snap' it to the nearest position that satisfies these requirements. The graphic-gap-match-interaction must be bound to a response variable with base-type 'directedPair' and multiple cardinality. The choices represent the source of the pairing and the gaps in the image (the hotspots) the targets. Unlike the simple gap-match-interaction, each gap can have several choices associated with it if desired, furthermore, the same choice may be associated with an associable-hotspot multiple times, in which case the corresponding directed pair appears multiple times in the value of the response variable. The relevant classes are:

2.4.3.5. Select Point Interaction

Like hotspotInteraction, a select point interaction is a graphic interaction. The candidate's task is to select one or more points. The associated response may have an areaMapping that scores the response on the basis of comparing it against predefined areas but the delivery engine must not indicate these areas of the image. Only the actual point(s) selected by the candidate shall be indicated. The select point interaction must be bound to a response variable with a baseType of point and single or multiple cardinality. The relevant class is:

2.4.3.6. Position Object Interaction

The position object interaction consists of a single image which must be positioned on another graphic image (the stage) by the candidate. Like selectPointInteraction, the associated response may have an areaMapping that scores the response on the basis of comparing it against predefined areas but the delivery engine must not indicate these areas of the stage. Only the actual position(s) selected by the candidate shall be indicated. The position object interaction must be bound to a response variable with a baseType of point and single or multiple cardinality. The point records the coordinates, with respect to the stage, of the centre point of the image being positioned. The relevant classes are:

2.4.4. Miscellaneous Interactions

The set of miscellaneous interactions are:

2.4.4.1. Slider Interaction

The slider interaction presents the candidate with a control for selecting a numerical value between a lower and upper bound. It must be bound to a response variable with single cardinality with a base-type of either integer or float. The relevant class is:

2.4.4.2. Media Interaction

The media interaction allows more control over the way the candidate interacts with a time-based media object and allows the number of times the media object was experienced to be reported in the value of the associated response variable, which must be of base-type integer and single cardinality. The relevant class is:

2.4.4.3. Drawing Interaction

The drawing interaction allows the candidate to use a common set of drawing tools to modify a given graphical image (the canvas). It must be bound to a response variable with base-type file and single cardinality. The result is a file in the same format as the original image. The relevant class is:

2.4.4.4. Upload Interaction

The upload interaction allows the candidate to upload a pre-prepared file representing their response. It must be bound to a response variable with base-type file and single cardinality. The relevant class is:

2.4.4.5. Custom Interaction

NOTE THAT THIS IS A DEPRECATED FEATURE. Instead, implementations should make use of Portable Custom Interactions (PCIs).

Custom interactions can be used by a delivery engine to support interactions not defined in the QTI specification, however such extensions have no defined inter-operability between delivery engines. As Portable Custom Interactions are portable between delivery engines they are preferred over the use of Custom Interaction. The relevant class is:

2.4.4.6. Portable Custiom Interaction (PCI)

The PCI provides a way to use new custom interaction types in QTI who's implementation is portable between QTI delivery engines [PCI, 14]. A PCI is implemented as a dynamically loadable Javascript module (which may have dependent modules) which may be developed by a third party, included into a QTI content package which includes items using that custom interaction type and dynamically loaded into any delivery engine supporting the QTI PCI Application Programming Interface. The relevant class is:

2.4.5. Alternative Ways to End an Attempt

The end-attempt interaction is a special type of interaction which allows item authors to provide the candidate with control over the way in which the candidate terminates an attempt. The candidate can use the interaction to terminate the attempt (triggering response processing) immediately, typically to request a hint. It must be bound to a response variable with base-type boolean and single cardinality.

If the candidate invokes response processing using an end-attempt interaction then the associated response variable is set to true. If response processing is invoked in any other way, either through a different end-attempt interaction or through the default method for the delivery engine, then the associated response variable is set to false. The default value of the response variable is always ignored. The relevant class is:

2.5. Response Processing

Response processing is the process by which the Delivery Engine assigns outcomes based on the candidate's responses. The state representation for the response processing is shown in Figure 2.2. The outcomes may be used to provide feedback to the candidate. Feedback is either provided immediately following the end of the candidate's attempt or it is provided at some later time, perhaps as part of a summary report on the item session.

State diagram of the response processing.

Figure 2.2 - The state diagram for response processing.

The end of an attempt, and therefore response processing, must only take place in direct response to a user action or in response to some expected event, such as the end of a test. An item session that enters the suspended state may have values for the response variables that have yet to be submitted for response processing.

For a Non-adaptive Item the values of the outcome variables are reset to their default values (or NULL if no default is given) before each invocation of response processing. However, although a Delivery Engine may invoke response processing multiple times for a Non-adaptive Item it must only report the first set of outcomes produced or limit the number of attempts to some predefined limit agreed outside the scope of this specification.

For an Adaptive Item the values of the outcome variables are not reset to their defaults. A Delivery Engine that supports Adaptive Items must allow the candidate to revise and submit their responses for response processing and must only report the last set of outcomes produced. Furthermore, it must present all applicable modal and integrated feedback to the candidate. Subsequent response processing may take into consideration the feedback seen by the candidate when updating the session outcomes. An adaptive item can signal to the delivery engine that the candidate has completed the interaction and no more attempts are to be allowed by setting the built-in outcome variable 'completionStatus' to completed.

2.5.1. Response Processing Templates

Response processing involves the application of a set of response rules, including the testing of response conditions and the evaluation of expressions involving the item variables. For delivery engines that are only designed to support very simple use cases the implementation of a system for carrying out this evaluation, conditional testing and processing may pose a barrier to the adoption of the specification.

To alleviate this problem, the implementation of generalized response processing is an optional feature. Engines that do not support it can instead implement a smaller number of standard response processors called response processing templates described below. These templates are described using the processing language defined in this specification and are distributed (in XML form) along with it. Delivery engines that support generalized response processing do not need to implement special mechanisms to support them as a template file can be parsed directly while processing the assessmentItem that refers to it.

Delivery engines that do not support generalized response processing but do support response processing mechanisms that go beyond the standard templates described below should, where possible, define templates of their own. Authors wishing to write items for those delivery engines can then refer to these custom templates. Publishing these custom templates will then ensure that these items can be used with delivery engines that do support generalized response processing.

There are six standard response processing templates available:

2.5.2. Generalized Response Resprocessing

The components for generalized response processing are shown in Figure 2.3.

Response processing composition.

Figure 2.3 - The components for the response processing.

The classes that are defined to provide the generalized processing are:

2.6. Modal Feedback

Modal feedback is shown to the candidate directly following response processing. The value of an outcome variable is used in conjunction with the 'show-hide' and 'identifier' attributes to determine whether or not the feedback is shown in a similar way to the non-modal feedback. The modal feedback is described using the classes:

2.7. Item Templates

Item templates are templates that can be used for producing large numbers of similar items. Such items are often called cloned items. Item templates can be used to produce items by special purpose Cloning Engines or, where delivery engines support them, be used directly to produce a dynamically chosen clone at the start of an item session.

Each item cloned from an item template is identical except for the values given to a set of template variables. A qti-assessment-item is therefore an item template if it contains one or more template declarations and a set of template processing rules for assigning them values.

A cloning engine that creates cloned items must assign a different identifier to each clone and record the values of the template variables used to create it. A report of an item session with such a clone can then be transformed into an equivalent report for the original item template by substituting the item template's identifier for the cloned item's identifier and adding the values of the template variables to the report. The class that supports template declaration is:

2.7.1. Using Template Variables in an Item's Body

Template variables can be referred to qti-printed-variable objects in the item body. The value of the template variable is used to create an appropriate run of text that is displayed. Template variables can also be used to conditionally control content through qti-template-block and qti-template-inline objects in a similar way to outcome variables with feedback. Finally, template variables can be used to control the visibility of choices in interactions. The set of template-based classes that support the use of template variables in an Item are (the set of interaction-related classes are not included in this list):

2.7.2. Using Template Variables in Operator Attributes Values

Some of the operators used in expressions have attributes to control their behaviour. The value of a template variable evaluated at the time the operator itself is evaluated, can be used as the value of some such attributes by using a reference to a template variable of the appropriate baseType and cardinality instead of a value from the value space of the attribute's target type. Attributes that support this type of attribute value substitution are declared with one of the following types:

When binding variable references as strings the variable's identifier must be enclosed in braces. For example, the string "{myVariable}" refers to the template variable with identifier myVariable. A references must match the identifier in a corresponding 'template declaration'.

2.7.3. Template Processing

Template processing consists of one or more TemplateRules that are followed by the cloning engine or delivery system in order to assign values to the template variables. Template processing is identical in form to response processing except that the purpose is to assign values to template variables, not outcome variables. The classes that provide template processing are:

2.8. Tests, Testparts and Sections

A test is represented by the AssessmentTest class. A test is a group of assessment-items with an associated set of rules that determine which of the items the candidate sees, in what order, and in what way the candidate interacts with them. The rules describe the valid paths through the test, when responses are submitted for response processing and when (if at all) feedback is to be given.

There are two constructs that are used to group togther Items: TestParts and Sections. A TestPart is used to divide a Test into parts that would normally be undertaken in separate test sessions. Whereas, a Section establishes groups of Items that have some common pedagogic testing objective. Sections are used to collect together Items which will then be presented to the learner. The order of presentation can be controlled using selection and ordering algorithms. A Test must have at lest one TestPart. A TestPart must have at least one Section. A Section may contain child Sections. A Section must contain at least one other Section or Item. The set of classes that realise the core test structures are:

Any Test, Section and/or Item or combination is exchanged as a '.zip' file. The format of this file is based upon the IMS Content Packaging v1.2 specification [CP, 12]. See the QTI 3.0 ASI XSD Binding specification [QTI, 20a] for further details on how content packaging is used.

2.8.1. The Structure of a Test

For each test session, items and sub-sections are selected and arranged into order according to rules defined in the containing section. This process of selection and ordering defines a basic structure for each part of the test on a per-session basis. The paths that a candidate may take through this structure are then controlled by the mode settings for the test part and possibly by further pre-conditions or branch-rules evaluated during the test session itself. Figure 2.4 illustrates part of a test and the way the items are structured into sections and sub-sections.

The structure of a Test

Figure 2.4 - The structure of the test for selection and ordering.

Figure 2.5 illustrates a specific instance of the same test part after the application of selection and ordering rules. A rule in section S01 selects just one of S01A and S01B, a rule in S02 shuffles the order of the items contained by it and, finally, rules in S03 select 2 out of the 3 items it contains and shuffles the result.

Selection and ordering of the delivered Test.

Figure 2.5 - The delivered test after selection and ordering.

The classes that support selection and ordering are:

See Subsection 2.8.4 for information on how adaptive sequencing using the IMS CAT [CAT, 19] specification is achieved.

2.8.2. Navigation and Submission

This specification defines two ways in which the overall behaviour of each test part can be controlled: the navigation mode and the submission mode (both of which are characteristics on the TestPart class).

The navigation mode determines the general paths that the candidate may take. A qti-test-part in linear mode restricts the candidate to attempt each item in turn. Once the candidate moves on they are not permitted to return. A test-part in nonlinear mode removes this restriction - the candidate is free to navigate to any item in the test at any time. Test delivery systems are free to implement their own user interface elements to facilitate navigation provided they honour the navigation mode currently in effect. A test delivery system may implement nonlinear mode simply by providing a method to step forward or backwards through the qti-test-part.

The submission mode determines when the candidate's responses are submitted for response processing. A qti-test-part in individual mode requires the candidate to submit their responses on an item-by-item basis. In simultaneous mode the candidate's responses are all submitted together at the end of the qti-test-part.

The choice of submission mode determines the states through which each item's session can pass during the test. In simultaneous mode, response processing cannot take place until the qti-test-part is complete so each item session passes between the interacting and suspended states only. By definition the candidate can take one and only one attempt at each item and feedback cannot be seen during the test. Whether or not the candidate can return to review their responses and/or any item-level feedback after the test, is outside the scope of this specification. Simultaneous mode is typical of paper-based tests.

In individual mode response processing may take place during the test and the item session may pass through any of the states described in Items, subject to the item-session-control settings in force. Care should be taken when designing user interfaces for systems that support nonlinear navigation mode in combination with individual submission. With this combination candidates may change their responses for an item and then leave it in the suspended state by navigating to a different item in the same part of the test. Test delivery systems need to make it clear to candidates that there are unsubmitted responses (akin to unsaved changes in a traditional document editing system) at the end of the qti-test-part. A test delivery system may force candidates to submit or discard such responses before moving to a different item in individual mode if this is more appropriate.

2.8.3. Pre-conditions and Branching

Pre-conditions and branch rules are only applicable to parts of the test that are navigated in linear mode. In nonlinear mode they are ignored. The overarching test parts are effectively navigated in nonlinear mode and so can therefore have associated pre-conditions and branch rules.

2.8.3.1. Pre-conditions

Pre-conditions and branch rules are advanced concepts to enable adaptation within an assessment-test. A primary consideration has been to limit the complexity of supporting delivery engines while still enabling some items (or whole sections and test parts) to be skipped depending on the candidate's responses to items presented earlier in the test. The pre-condition functionality is provided through the attribute:

2.8.3.2. Branching

A branch-rule is a simple expression attached to a qti-assessment-item-ref, qti-assessment-section or qti-test-part that is evaluated after the item, section or part has been presented to the candidate. If the expression evaluates to true the test jumps forward to the item, section or part referred to by the target identifier. In the case of an item or section, the target must refer to an item or section in the same test-part that has not yet been presented. For qti-test-parts, the target must refer to another qti-test-part. The branching functionality is provided in the class:

The above definition restricts the navigation paths through a linear test part to being trees. In other words, cycles are not allowed. In most cases, repetition can be achieved by using a section that selects with-replacement up to a suitable upper bound of repitition in combination with a pre-condition or branch-rule that terminates the section early when (or if) a certain outcome has been achieved. This technique might be used in conjunction with one or more Item Templates to achieve drill and practice, for example. However, unbounded repetition is not supported.

2.8.4. Adaptive Sequencing using IMS CAT

The IMS CAT specification defines the adaptive sequencing of operations after an item attempt/submission as follows:

  1. The candidate completes the attempt, and response variable values are set;
  2. The delivery engine runs Response and Outcome processing;
  3. The delivery engine invokes the Submit Results endpoint of the CAT engine to determine the next item or stage in the adaptive section to be presented. The results sent to the CAT engine include the values set in the Step 2 processing, plus item results determined in response to attempts on previous items, but not sent to the CAT engine at that time. If there remain unpresented items in the stage, this step may be deferred until there are no more unpresented items, or the delivery engine opts to proceed to the next stage;
  4. The delivery engine "submits" the item. If it supports QTI Results Reporting, the delivery engine builds a results report, which merges the values of builtin and declared outcome variables with outcome variable values returned by the CAT engine in its Submit Results responses, and sends the report to a QTI Results Reporting endpoint. Otherwise, it does whatever "submission" means in the context of the particular delivery engine;
  5. The delivery engine adds the new items sent in the Submit Results response to the end of the section;
  6. The delivery engine presents the next item to the candidate.

For more details see the IMS CAT specification [CAT, 19].

2.8.5. Time Limits

In the context of a specific qti-assessment-test an item, or group of items, may be subject to a time constraint. This specification supports both minimum and maximum time constraints. The controlled time for a single item is simply the duration of the item session as defined by the builtin response variable duration. For qti-assessment-sections, qti-test-parts and whole qti-assessment-tests the time limits relate to the durations of all the item sessions plus any other time spent navigating that part of the test. In other words, the time includes time spent in states where no item is being interacted with, such as dedicated navigation screens.

The allow-late-submission attribute regulates whether a candidate's response that is beyond the max-time should still be accepted.

Minimum times are applicable to qti-assessment-sections and qti-assessment-items only when linear navigation mode is in effect.

The time spent on the test is recorded as if it were a built-in response variable called 'duration' declared at the test-level and of base-type duration and single cardinality. Similarly, time spent on test parts or sections are treated as built-in response variables declared within each respective scope. The values of these durations can be refered to during outcome-processing by using the variable name duration prefixed with the identifier of the part or section followed by the period character. See the variable expression for further information. Note that the durations may be changed depending on the relevant accessibility values in the Personal Needs & Preferences settings for the learner. The classes that realise the time limits are:

2.8.6. Rubric Blocks

A rubric block identifies part of the content that represents instructions (candidate instructions, scoring instructions, authoring instructions, etc.) to one or more of the actors that view the item in the context of their role. How that information is intended to be used is identified by the a use attribute. Although rubric blocks are defined as simpleBlocks they MUST NOT contain interactions but may contain template blocks. Rubric Blocks MUST NOT be nested within other Rubric Blocks.

2.9. Outcome Processing

Outcome processing takes place each time the candidate submits the responses for an item (when in individual submission mode) or a group of items (when in simultaneous submission mode). It happens after any (item level) response processing triggered by the submission. The values of the test's outcome variables are always reset to their defaults prior to carrying out the instructions described by the outcome rules. Because outcome processing occurs each time the candidate submits responses the resulting values of the test-level outcomes may be used to activate test-level feedback during the test or to control the behaviour of subsequent parts through the use of pre-conditions and branch rules. The structure of outcome processing is similar to that of response processing. The outcomes processing functionality is described in the classes:

2.10. Test-level Feedback

Test feedback is shown to the candidate either directly following outcome processing (during the test) or at the end of the test-part or assessment-test as appropriate (referred to as atEnd). The core functionality of a test feedback is defined using the classes:

2.11. Expressions

QTI contains a wide range of expressions used to support the response processing, outcomes processing and template processing capabilities. Expressions are used to assign values to variables and to control conditional actions in response, outcomes and template processing. An expression can be a simple reference to the value of an item variable, a constant value from one of the value sets defined by base-types or a hierarchical expression operator. Like item variables, each expression can also have the special value NULL. The expressions are grouped into two abstract classes:

2.11.1. Builtin General Expressions

There are several built-in general expressions for handling constants, random values and the values of the various item variables (response, outcome and template). These built-in expressions are realised using the classes:

2.11.1.1. BaseValue Expression

The simplest expression returns a single value from the set defined by the given base-type.

2.11.1.2. Variable Expression

This expression looks up the value of an item variable that has been declared in a corresponding variable declaration or is one of the built-in variables. The result has the base-type and cardinality declared for the variable subject to the type promotion of weighted outcomes.

During outcomes processing, values taken from an individual item session can be looked up by prefixing the name of the item variable with the identifier assigned to the item in the qti-assessment-item-ref, separated by a period character. For example, to obtain the value of the SCORE variable in the item referred to as Q01 you would use a variable instance with identifier Q01.SCORE.

In adaptive tests that contain items that are allowed to be replaced (i.e. that have the with-replacement attribute set to "true"), the same item can be instantiated more than once. In order to access the outcome variable values of each instantiation, a number that denotes the instance's place in the sequence of the item's instantiation is inserted between the item variable identifier and the item variable, separated by a period character. For example, to obtain the value of the SCORE variable in the item referred to as Q01 in its second instantiation you would use a variable instance, prefixed by the instantiation sequence number, prefixed by an identifier Q01.2.SCORE.

When looking up the value of a response variable it always takes the value assigned to it by the candidate's last submission. Unsubmitted responses are not available during expression evaluation.

The value of an item variable taken from an item instantiated multiple times from the same qti-assessment-item-ref (through the use of selection with-replacement) is taken from the last instance submitted if submission is simultaneous, otherwise it is undefined.

2.11.1.3. Default Expression

This expression looks up the declaration of an item variable and returns the associated qti-default-value or NULL if no default value was declared. When used in outcomes processing item identifier prefixing (see qti-variable) may be used to obtain the default value from an individual item.

2.11.1.4. Correct Expression

This expression looks up the declaration of a response variable and returns the associated qti-correct-response or NULL if no correct value was declared. When used in outcomes processing item identifier prefixing (see qti-variable) may be used to obtain the correct response from an individual item.

2.11.1.5. Map Response Exprssion

This expression looks up the value of a response variable and then transforms it using the associated mapping, which must have been declared. The result is a single float. If the response variable has single cardinality then the value returned is simply the mapped target value from the map. If the response variable has multiple or ordered cardinality then the value returned is the sum of the mapped target values. This expression cannot be applied to variables of record cardinality.

For example, if a mapping associates the identifiers {A,B,C,D} with the values {0,1,0.5,0} respectively then qti-map-response will map the single value 'C' to the numeric value 0.5 and the set of values {C,B} to the value 1.5.

If a container contains multiple instances of the same value then that value is counted once only. To continue the example above {B,B,C} would still map to 1.5 and not 2.5.

2.11.1.6. Map Response Point Expression

This expression looks up the value of a response variable that must be of base-type point, and transforms it using the associated qti-area-mapping. The transformation is similar to qti-map-response except that the points are tested against each area in turn. When mapping containers each area can be mapped once only. For example, if the candidate identified two points that both fall in the same area then the qti-mapped-value is still added to the calculated total just once.

2.11.1.7. Math Constant Expression

The result is a mathematical constant returned as a single float, e.g. Pi and e.

2.11.2. Expressions Used only in Outcomes Processing

There are several expressions for handling outcomes processing only. These expressions are realised using the classes:

2.11.2.1. Number Correct Expression

This expression, which can only be used in outcomes processing, calculates the number of items in a given sub-set, for which the all defined response variables match their associated qti-correct-response. Only items for which all declared response variables have correct responses defined are considered. The result is an integer with single cardinality.

2.11.2.2. Number Incorrect Expression

This expression, which can only be used in outcomes processing, calculates the number of items in a given sub-set, for which at least one of the defined response variables does not match its associated qti-correct-response. Only items for which all declared response variables have correct responses defined and have been attempted at least once are considered. The result is an integer with single cardinality.

2.11.2.3. Number Presented Expression

This expression, which can only be used in outcomes processing, calculates the number of items in a given sub-set that have been attempted (at least once). In other words, items with which the user has interacted, whether or not they provided a response. The result is an integer with single cardinality.

2.11.2.4. Number Responded Expresson

This expression, which can only be used in outcomes processing, calculates the number of items in a given sub-set that have been attempted (at least once) and for which a response was given. In other words, items for which at least one declared response has a value that differs from its declared default (typically NULL). The result is an integer with single cardinality.

2.11.2.5. Number Selected Expression

This expression, which can only be used in outcomes processing, calculates the number of items in a given sub-set that have been selected for presentation to the candidate, regardless of whether the candidate has attempted them or not. The result is an integer with single cardinality.

2.11.2.6. Outcome Minimum Expression

This expression, which can only be used in outcomes processing, simultaneously looks up the normal-minimum value of an outcome variable in a sub-set of the items referred to in a test. Only variables with single cardinality are considered. Items with no declared minimum are ignored. The result has cardinality multiple and base-type float.

2.11.2.7. Outcome Maximum Expression

This expression, which can only be used in outcomes processing, simultaneously looks up the normal-maximum value of an outcome variable in a sub-set of the items referred to in a test. Only variables with single cardinality are considered. If any of the items within the given subset have no declared maximum the result is NULL, otherwise the result has cardinality multiple and base-type float.

2.11.2.8. Test Variables Expression

This expression, which can only be used in outcomes processing, simultaneously looks up the value of a qti-item-variable in a sub-set of the items referred to in a test. Only variables with single cardinality are considered, all NULL values are ignored. The result has cardinality multiple. The base-type of the result is integer if all matching values have base-type integer, otherwise it is float and integer values are subject to type promotion.

2.11.3. Operators

Operators are a family of classes derived from expression that obtain their value (referred to as their result) either by modifying a single sub-expression or by combining two or more sub-expressions in a specified way. Operators never effect the values of itemVariables directly, in other words, there are no 'side effects'. All operators have a baseType and cardinality though these may be dependent on the sub-expression(s) they contain. The set of classes that realise these operators are:

2.11.3.1. AnyN Expression

The qti-any-N operator takes one or more sub-expressions each with a base-type of boolean and single cardinality. The result is a single boolean which is true if at least min of the sub-expressions are true and at most max of the sub-expressions are true. If more than n - min sub-expressions are false (where n is the total number of sub-expressions) or more than max sub-expressions are true then the result is false. If one or more sub-expressions are NULL then it is possible that neither of these conditions is satisfied, in which case the operator results in NULL. For example, if min is 3 and max is 4 and the sub-expressions have values {true,true,false,NULL} then the operator results in NULL whereas {true,false,false,NULL} results in false and {true,true,true,NULL} results in true. The result NULL indicates that the correct value for the operator cannot be determined.

2.11.3.2. Custom Operator Expression

The custom operator provides an extension mechanism for defining operations not currently supported by this specification.

2.11.3.3. Equal Expression

The qti-equal operator takes two sub-expressions which must both have single cardinality and have a numerical base-type. The result is a single boolean with a value of true if the two expressions are numerically equal and false if they are not. If either sub-expression is NULL then the operator results in NULL.

2.11.3.4. Equal Rounded Expression

The qti-equal-rounded operator takes two sub-expressions which must both have single cardinality and have a numerical base-type. The result is a single boolean with a value of true if the two expressions are numerically equal after rounding and false if they are not. If either sub-expression is NULL then the operator results in NULL.

2.11.3.5. Field Value Expression

The identifier of the field to be selected. The qti-field-value operator takes a sub-expression with a record container value. The result is the value of the field with the specified field-identifier. If there is no field with that identifier then the result of the operator is NULL.

2.11.3.6. Index Expression

The qti-index operator takes a sub-expression with an ordered container value and any base-type. The result is the nth value of the container. The result has the same base-type as the sub-expression but single cardinality. The first value of a container has index 1, the second 2 and so on. n must be a positive integer. If n exceeds the number of values in the container (or the sub-expression is NULL) then the result of the index operator is NULL. If n is an identifier, it is the value of n at runtime that is used.

2.11.3.7. Inside Expression

The qti-inside operator takes a single sub-expression which must have a base-type of point. The result is a single boolean with a value of true if the given point is inside the area defined by shape and coords. If the sub-expression is a container the result is true if any of the points are inside the area. If either sub-expression is NULL then the operator results in NULL.

2.11.3.8. Multiple Expression

The qti-multiple operator takes 0 or more sub-expressions all of which must have either single or multiple cardinality. Although the sub-expressions may be of any base-type they must all be of the same base-type. The result is a container with multiple cardinality containing the values of the sub-expressions, sub-expressions with multiple cardinality have their individual values added to the result: containers cannot contain other containers. For example, when applied to A, B and {C,D} the multiple operator results in {A,B,C,D}. All sub-expressions with NULL values are ignored. If no sub-expressions are given (or all are NULL) then the result is NULL.

2.11.3.9. Ordered Expression

The qti-ordered operator takes 0 or more sub-expressions all of which must have either single or ordered cardinality. Although the sub-expressions may be of any base-type they must all be of the same base-type. The result is a container with ordered cardinality containing the values of the sub-expressions, sub-expressions with ordered cardinality have their individual values added (in order) to the result: contains cannot contain other containers. For example, when applied to A, B, {C,D} the ordered operator results in {A,B,C,D}. Note that the ordered operator never results in an empty container. All sub-expressions with NULL values are ignored. If no sub-expressions are given (or all are NULL) then the result is NULL.

2.11.3.10. And Expression

The qti-and operator takes one or more sub-expressions each with a base-type of boolean and single cardinality. The result is a single boolean which is true if all sub-expressions are true and false if any of them are false. If one or more sub-expressions are NULL and all others are true then the operator also results in NULL.

2.11.3.11. GCD Expression

The qti-gcd operator takes 1 or more sub-expressions which all have base-type integer and may have single, multiple or ordered cardinality. The result is a single integer equal in value to the greatest common divisor (gcd) of the argument values. If all the arguments are zero, the result is 0, gcd(0,0)=0; authors should beware of this in calculations which require division by the gcd of random values. If some, but not all, of the arguments are zero, the result is the gcd of the non-zero arguments, gcd(0,n)=n if n!=0. If any of the sub-expressions is NULL, the result is NULL. If any of the sub-expressions is not a numerical value, then the result is NULL.

2.11.3.12. LCM Expression

The qti-lcm operator takes 1 or more sub-expressions which all have base-type integer and may have single, multiple or ordered cardinality. The result is a single integer equal in value to the lowest common multiple (lcm) of the argument values. If any argument is zero, the result is 0, lcm(0,n)=0; authors should beware of this in calculations which require division by the lcm of random values. If any of the sub-expressions is NULL, the result is NULL. If any of the sub-expressions is not a numerical value, then the result is NULL.

2.11.3.13. Min Expression

The qti-min operator takes 1 or more sub-expressions which all have numerical base-types and may have single, multiple or ordered cardinality. The result is a single float, or, if all sub-expressions are of integer type, a single integer, equal in value to the smallest of the argument values, i.e. the result is the argument closest to negative infinity. If the arguments have the same value, the result is that same value. If any of the sub-expressions is NULL, the result is NULL. If any of the sub-expressions is not a numerical value, then the result is NULL.

2.11.3.14. Max Expression

The qti-max operator takes 1 or more sub-expressions which all have numerical base-types and may have single, multiple or ordered cardinality. The result is a single float, or, if all sub-expressions are of integer type, a single integer, equal in value to the greatest of the argument values, i.e. the result is the argument closest to positive infinity. If the arguments have the same value, the result is that same value. If any of the sub-expressions is NULL, the result is NULL. If any of the sub-expressions is not a numerical value, then the result is NULL.

2.11.3.15. Or Expression

The qti-or operator takes one or more sub-expressions each with a base-type of boolean and single cardinality. The result is a single boolean which is true if any of the sub-expressions are true and false if all of them are false. If one or more sub-expressions are NULL and all the others are false then the operator also results in NULL.

2.11.3.16. Product Expression

The qti-product operator takes 1 or more sub-expressions which all have numerical base-types and may have single, multiple or ordered cardinality. The result is a single float or, if all sub-expressions are of integer type, a single integer that corresponds to the product of the numerical values of the sub-expressions. If any of the sub-expressions are NULL then the operator results in NULL.

2.11.3.17. Contains Expression

The qti-contains operator takes two sub-expressions which must both have the same base-type and cardinality - either multiple or ordered. The result is a single boolean with a value of true if the qti-container given by the first sub-expression contains the value given by the second sub-expression and false if it doesn't. Note that the qti-contains operator works differently depending on the cardinality of the two sub-expressions. For unordered containers the values are compared without regard for ordering, for example, [A,B,C] contains [C,A]. Note that [A,B,C] does not contain [B,B] but that [A,B,B,C] does. For ordered containers the second sub-expression must be a strict sub-sequence within the first. In other words, [A,B,C] does not contain [C,A] but it does contain [B,C].

If either sub-expression is NULL then the result of the operator is NULL. Like the member operator, the contains operator should not be used on sub-expressions with a base-type of float and must not be used on sub-expressions with a base-type of duration.

2.11.3.18. Delete Expression

The qti-delete operator takes two sub-expressions which must both have the same base-type. The first sub-expression must have single cardinality and the second must be a multiple or ordered container. The result is a new container derived from the second sub-expression with all instances of the first sub-expression removed. For example, when applied to A and {B,A,C,A} the result is the container {B,C}. If either sub-expression is NULL the result of the operator is NULL. The restrictions that apply to the qti-member operator also apply to the qti-delete operator.

2.11.3.19. Divide Expression

The qti-divide operator takes 2 sub-expressions which both have single cardinality and numerical base-types. The result is a single float that corresponds to the first expression divided by the second expression. If either of the sub-expressions is NULL then the operator results in NULL.

Item authors should make every effort to ensure that the value of the second expression is never 0, however, if it is zero or the resulting value is outside the value set defined by float (not including positive and negative infinity) then the operator should result in NULL.

2.11.3.20. Duration Expression

The qti-duration-gte operator takes two sub-expressions which must both have single cardinality and base-type duration. The result is a single boolean with a value of true if the first duration is longer (or equal, within the limits imposed by truncation as described above) than the second and false if it is shorter than the second. If either sub-expression is NULL then the operator results in NULL. See qti-duration-lt for more information about testing the equality of durations.

2.11.3.21. Duration LT Expression

The qti-duration-lt operator takes two sub-expressions which must both have single cardinality and base-type duration. The result is a single boolean with a value of true if the first duration is shorter than the second and false if it is longer than (or equal) to the second. If either sub-expression is NULL then the operator results in NULL.

There is no 'qti-duration-lte' or 'qti-duration-gt' because equality of duration is meaningless given the variable precision allowed by duration. Given that duration values are obtained by truncation rather than rounding it makes sense to test only less-than or greater-than-equal inequalities only. For example, if we want to determine if a candidate took less than 10 seconds to complete a task in a system that reports durations to a resolution of epsilon seconds (epsilon<1) then a value equal to 10 would cover all durations in the range [10,10+epsilon).

2.11.3.22. GT Expression

The qti-gt operator takes two sub-expressions which must both have single cardinality and have a numerical base-type. The result is a single boolean with a value of true if the first expression is numerically greater than the second and false if it is less than or equal to the second. If either sub-expression is NULL then the operator results in NU

2.11.3.23. GTE Expression

The qti-gte operator takes two sub-expressions which must both have single cardinality and have a numerical base-type. The result is a single boolean with a value of true if the first expression is numerically greater than or equal to the second and false if it is less than the second. If either sub-expression is NULL then the operator results in NULL.

2.11.3.24. Integer Divide Expression

The qti-integer divide operator takes 2 sub-expressions which both have single cardinality and base-type integer. The result is the single integer that corresponds to the first expression (x) divided by the second expression (y) rounded down to the greatest integer (i) such that i LTE (x/y). If y is 0, or if either of the sub-expressions is NULL then the operator results in NULL.

2.11.3.25. Integer Modulus Expression

The qti-integer modulus operator takes 2 sub-expressions which both have single cardinality and base-type integer. The result is the single integer that corresponds to the remainder when the first expression (x) is divided by the second expression (y). If z is the result of the corresponding qti-integer-divide operator then the result is x-z*y. If y is 0, or if either of the sub-expressions is NULL then the operator results in NULL.

2.11.3.26. LT Expression

The qti-lt operator takes two sub-expressions which must both have single cardinality and have a numerical base-type. The result is a single boolean with a value of true if the first expression is numerically less than the second and false if it is greater than or equal to the second. If either sub-expression is NULL then the operator results in NULL.

2.11.3.27. LTE Expression

The qti-lte operator takes two sub-expressions which must both have single cardinality and have a numerical base-type. The result is a single boolean with a value of true if the first expression is numerically less than or equal to the second and false if it is greater than the second. If either sub-expression is NULL then the operator results in NULL.

2.11.3.28. Match Expression

The qti-match operator takes two sub-expressions which must both have the same base-type and cardinality. The result is a single boolean with a value of true if the two expressions represent the same value and false if they do not. If either sub-expression is NULL then the operator results in NULL.

The qti-match operator must not be confused with broader notions of equality such as numerical equality. To avoid confusion, the qti-match operator should not be used to compare subexpressions with base-types of float and must not be used on sub-expressions with a base-type of duration.

2.11.3.29. Member Expression

The qti-member operator takes two sub-expressions which must both have the same base-type. The first sub-expression must have single cardinality and the second must be a multiple or ordered container. The result is a single boolean with a value of true if the value given by the first sub-expression is in the container defined by the second sub-expression. If either sub-expression is NULL then the result of the operator is NULL. The member operator should not be used on sub-expressions with a base-type of float because of the poorly defined comparison of values. It must not be used on sub-expressions with a base-type of duration.

2.11.3.30. Power Expression

The qti-power operator takes 2 sub-expression which both have single cardinality and numerical base-types. The result is a single float that corresponds to the first expression raised to the power of the second. If either or the sub-expressions is NULL then the operator results in NULL. If the resulting value is outside the value set defined by float (not including positive and negative infinity) then the operator shall result in NULL.

2.11.3.31. Subtract Expression

The qti-subtract operator takes 2 sub-expressions which all have single cardinality and numerical base-types. The result is a single float or, if both sub-expressions are of integer type, a single integer that corresponds to the first value minus the second. If either of the sub-expressions is NULL then the operator results in NULL.

2.11.3.32. ContainerSize Expression

The qti-container-size operator takes a sub-expression with any base-type and either multiple or ordered cardinality. The result is an integer giving the number of values in the sub-expression, in other words, the size of the container. If the sub-expression is NULL the result is 0. This operator can be used for determining how many choices were selected in a multiple-response qti-choice-interaction, for example.

2.11.3.33. Integer to Float Expression

The qti-integer-to-float conversion operator takes a single sub-expression which must have single cardinality and base-type integer. The result is a value of base-type float with the same numeric value. If the sub-expression is NULL then the operator results in NULL.

2.11.3.34. IsNull Expression

The qti-is-null operator takes a sub-expression with any base-type and cardinality. The result is a single boolean with a value of true if the sub-expression is NULL and false otherwise. Note that empty containers and empty strings are both treated as NULL.

2.11.3.35. Not Expression

The qti-not operator takes a single sub-expression with a base-type of boolean and single cardinality. The result is a single boolean with a value obtained by the logical negation of the sub-expression's value. If the sub-expression is NULL then the qti-not operator also results in NULL.

2.11.3.36. Random Expression

The qti-random operator takes a sub-expression with a multiple or ordered container value and any base-type. The result is a single value randomly selected from the container. The result has the same base-type as the sub-expression but single cardinality. If the sub-expression is NULL then the result is also NULL.

2.11.3.37. Round Expression

The qti-round operator takes a single sub-expression which must have single cardinality and a numerical base-type. The result is a value of base-type integer formed by rounding the value of the sub-expression. The result is the integer n for all input values in the range [n-0.5,n+0.5). In other words, 6.8 and 6.5 both round up to 7, 6.49 rounds down to 6 and -6.5 rounds up to -6. If the sub-expression is NULL then the operator results in NULL. If the sub-expression is NaN, then the result is NULL. If the sub-expression is INF, then the result is INF. If the sub-expression is -INF, then the result is -INF.

2.11.3.38. Truncate Expression

The qti-truncate operator takes a single sub-expression which must have single cardinality and a numerical base-type. The result is a value of base-type integer formed by truncating the value of the sub-expression towards zero. For example, the value 6.8 becomes 6 and the value -6.8 becomes -6. If the sub-expression is NULL then the operator results in NULL. If the sub-expression is NaN, then the result is NULL. If the sub-expression is INF, then the result is INF. If the sub-expression is -INF, then the result is -INF.

2.11.3.39. Math Operator Expression

The qti-math-operator operator takes 1 or more sub-expressions which all have single cardinality and have numerical base-types. The trigonometric functions, sin, cos and tan, take one argument in radians, which evaluates to a single float. Other functions take one numerical argument. Further functions might take more than one numerical argument, e.g. atan2 (two argument arc tan). The result is a single float, except for the functions signum, floor and ceil, which return a single integer. If any of the sub-expressions is NULL, the result is NULL. If any of the sub-expressions falls outside the natural domain of the function called by qti-math-operator, e.g. log(0) or asin(2), then the result is NULL.

The reciprocal trigonometric functions also follow these rules:

The reciprocal trigonometric and hyperbolic functions also follow these rules:

The function atan2 also follows these rules:

2.11.3.40. Sum Expression

The qti-sum operator takes 1 or more sub-expressions which all have numerical base-types and may have single, multiple or ordered cardinality. The result is a single float or, if all sub-expressions are of integer type, a single integer that corresponds to the sum of the numerical values of the sub-expressions. If any of the sub-expressions are NULL then the operator results in NULL.

2.11.3.41. Pattern Match Expression

The qti-pattern-match operator takes a sub-expression which must have single cardinality and a base-type of string. The result is a single boolean with a value of true if the sub-expression matches the regular expression given by pattern and false if it doesn't. If the sub-expression is NULL then the operator results in NULL.

2.11.3.42. Repeat Expression

The qti-repeat operator takes 0 or more sub-expressions, all of which must have either single or ordered cardinality and the same base-type. The result is an ordered container having the same base-type as its sub-expressions. The container is filled sequentially by evaluating each sub-expression in turn and adding the resulting single values to the container, iterating this process qti-number-repeats times in total. If qti-number-repeats refers to a variable whose value is less than 1, the value of the whole expression is NULL. Any sub-expressions evaluating to NULL are ignored. If all sub-expressions are NULL then the result is NULL.

2.11.3.43. RoundTo Expression

The qti-round-to operator takes one sub-expression which must have single cardinality and a numerical base-type. The result is a single float with the value nearest to that of the expression's value such that when converted to a decimal string it represents the expression rounded by the specified rounding method to the specified precision. If the sub-expression is NULL, then the result is NULL. If the sub-expression is INF, then the result is INF. If the sub-expression is -INF, then the result is -INF. If the argument is NaN, then the result is NULL.

When rounding to n significant figures, the deciding digit is the (n+1)th digit counting from the first non-zero digit from the left in the number. If the deciding digit is 5 or greater, the nth digit is increased by 1 and all digits to its right are discarded; if the deciding digit is less than 5, all digits to the right of the nth digit are discarded.

When rounding to n decimal places, the deciding digit is the (n+1)th digit counting to the right from the decimal point. If the deciding digit is 5 or greater, the nth digit is increased by 1 and all digits to its right are discarded; if the deciding digit is less than 5, all digits to the right of the nth digit are discarded.

2.11.3.44. Stats Operator Expression

The qti-stats-operator operator takes 1 sub-expression which is a container of multiple or ordered cardinality and has a numerical base-type. The result is a single float. If the sub-expression or any value contained therein is NULL, the result is NULL. If any value contained in the sub-expression is not a numerical value, then the result is NULL.

2.11.3.45. String Match Expression

The qti-string-match operator takes two sub-expressions which must have single and a base-type of string. The result is a single boolean with a value of true if the two strings match according to the comparison rules defined by the attributes below and false if they don't. If either sub-expression is NULL then the operator results in NULL.

2.11.3.46. Substring Expression

The qti-substring operator takes two sub-expressions which must both have an effective base-type of string and single cardinality. The result is a single boolean with a value of true if the first expression is a substring of the second expression and false if it isn't. If either sub-expression is NULL then the result of the operator is NULL.

2.12. Items and Test Fragments

An Item Fragment is part of an item that is managed independently of the items that depend on it. Similarly, a Test Fragment is part of a test that is managed independently of the tests that depend on it. Fragments are packaged as separate resources and can be transported independently. A fragment may appear anywhere in the model where one of the following abstract classes may appear: flowStatic, inlineStatic, blockStatic, responseRule, sectionPart or outcomeRule. For example, an item fragment may be a division of the qti-item-body represented by an instance of the 'Div' class or a single interaction

Fragments are included using the Include mechanism (the actual form of implementation is dependent on the binding approach). The instance of include is treated as if it was actually an instance of the root element of the fragment referred to by the 'href' chracteristic of the 'Include' class. For the purposes of this specification, when using an XML binding, the xpointer mechanism defined by the XInclude specification MUST NOT be used. Also, all included fragments must be treated as parsed xml.

This technique is similar to the inclusion of media objects (using object) but allows the inclusion of data that conforms to this specification, specifically, it allows the inclusion of interactions, static content, processing rules or, at test level whole sections, to be included from externally defined fragments.

When including externally defined fragments the content of the fragment must satisfy the requirements of the specification in the context of the item in which it is being included. For example, interactions included from fragments must be correctly bound to response variables declared in the items. Item and Test fragments are supported using the classes:

2.13. The Accessibility Features

There are three accessibility features that are supported by QTI 3.0:

2.13.1. Alternative Accessibility Content Functionality

QTI 3.0 provides a rich set of accessibility annotation capabilities. These are derived from the functionality originally defined in [APIP, 14]. There are four components to the accessibility content annotation:

The alternative content supplied to realise accessibility needs is always optional content. The alternative content can be defined for the following classes:

Examples of how to use these alternative content features are given in the QTI Implementation Guide document [QTI, 20b].

2.13.2. Support for Speech Synthesis Markup Language

The Speech Synthesis Markup Language Specification is designed to provide a rich, XML-based markup language for assisting the generation of synthetic speech in Web and other applications. The essential role of the markup language is to provide authors of synthesizable content a standard way to control aspects of speech such as pronunciation, volume, pitch, rate, etc. across different synthesis-capable platforms.

SSML functionality is provided through the SSMLGroup class that is imported. The SSML tags that are supported are 'p', 's', 'say-as', 'phoneme', 'sub', 'voice', 'emphasis', 'break', 'prosody' 'mark', 'audio' and 'speak'. SSML anotations are supplied through the following classes:

Further information on SSMLv1.1 is available in [SSML, 10]. An example of how to use SSML is given in the QTI Implementation Guide document [QTI, 20b].

2.13.3. Support for WAI-ARIA

The Accessible Rich Internet Applications (ARIA) specification from W3C [ARIA, 14] provides an ontology of roles, states, and properties that define accessible user interface elements and can be used to improve the accessibility and interoperability of web content and applications. These semantics are designed to allow an author to properly convey user interface behaviors and structural information to assistive technologies in document-level markup. In QTI the ARIA characteristics are used on the following classes:

These classes are used to define the HTML and the QTI Interactions. The subset of the possible set of ARIA features that are supported in QTI is:

Further information on WAI-ARIA 1.0 is available in [ARIA, 14]. An example of how to use ARIA is given in the QTI Best Practices document [QTI, 20b].

2.14. The Internationalization Features

The internationalization features supported in QTI 3.0 are:

2.14.1. Support for Bidirectional Text

For different languages the text is presented and read either from 'left-to-right' or 'right-to-left'. The corresponding rendering must take into account word and character spacing and justification. The classes that enable the bi-directional text layout support are:

2.14.2. Support for Ruby

Ruby allows one or more spans of phrasing content to be marked with ruby annotations. Ruby annotations are short runs of text presented alongside base text, primarily used in East Asian typography as a guide for pronunciation or to include other annotations. In Japanese, this form of typography is also known as furigana. Ruby text can appear on either side, and sometimes both sides, of the base text, and it is possible to control its position using CSS. A more complete introduction to ruby can be found in the Use Cases and Exploratory Approaches for Ruby Markup document as well as in CSS Ruby Module Level 1. [RUBYUC, 13] [CSSRUBY, 15]. The classes that enable the Ruby support are:

2.14.3. Support for Alternative Languages

There are explicit methods for indicating multiple or alternative languages for content. For alternate language variants, there are two major implementations of delivery when using the variants. In the first use case, delivery systems determine the preferred language (variant) of the candidate, then present only the requested variant content during the assessment session. In the second use case, the delivery system presents the variant requested, as well as the original language variant of the item, and allows the candidate to switch back and forth between the two language variants during the assessment session.

A QTI Package is used to establish the link between the original Item and variants (including those that for the alternative language. See the QTI implementation Guide [QTI, 20b] for more details on the use of variants to support Items with alternative languages.

toc | top

3. Root Attribute Descriptions

This Section is NORMATIVE.

All of the Root attributes (the root name for the instances that can be exchanged) used within this Information Model are described in this Section. The syntax and semantics for this representation is described in Appendix A1.3. The root attributes are:

3.1 "qti-assessment-item" Root Attribute Description

The definition of the "qti-assessment-item" root attribute is shown in Table 3.1.

Table 3.1 Description of the "qti-assessment-item" root attribute.
Descriptor Definition
Attribute Name qti-assessment-item
Data Type AssessmentItem
Description This is the root element for the exchange of items. The qti-assessment-item may reference any required content stimuli contained within a qti-assessment-stimulus. The exchange of a single qti-assessment-item instance is permitted.

3.2 "qti-assessment-section" Root Attribute Description

The definition of the "qti-assessment-section" root attribute is shown in Table 3.2.

Table 3.2 Description of the "qti-assessment-section" root attribute.
Descriptor Definition
Attribute Name qti-assessment-section
Data Type AssessmentSection
Description This is the root element for the exchange of sections. A qti-assessment-section can contain any order and hierarchy of contained/referenced qti-assessment-sections and referenced qti-assessment-items. The qti-assessment-items can only be referenced from within a qti-assessment-section i.e. they cannot be contained in the same instance as the qti-assessment-section. The exchange of a single root qti-assessment-section instance is permitted but any number of contained qti-assessment-sections can also be exchanged.

3.3 "qti-assessment-stimulus" Root Attribute Description

The definition of the "qti-assessment-stimulus" root attribute is shown in Table 3.3.

Table 3.3 Description of the "qti-assessment-stimulus" root attribute.
Descriptor Definition
Attribute Name qti-assessment-stimulus
Data Type AssessmentStimulus
Description This is the root element for the exchange of stimuli i.e. content that is to be shared and referenced by multiple items. This allows the stimulus content to be managed as a separate first class object. The exchange of a single qti-assessment-stimulus instance is permitted.

3.4 "qti-assessment-test" Root Attribute Description

The definition of the "qti-assessment-test" root attribute is shown in Table 3.4.

Table 3.4 Description of the "qti-assessment-test" root attribute.
Descriptor Definition
Attribute Name qti-assessment-test
Data Type AssessmentTest
Description This is the root element for the exchange of tests, quizzes, etc. The test must contain at least one test part which in turn must contain, or reference, at least one qti-assessment-section. The associated qti-assessment-items can only be referenced from within a qti-assessment-section and cannot be contained in the same instance as the qti-assessment-test. The exchange of a single qti-assessment-test instance is permitted.

3.5 "qti-outcome-declaration" Root Attribute Description

The definition of the "qti-outcome-declaration" root attribute is shown in Table 3.5.

Table 3.5 Description of the "qti-outcome-declaration" root attribute.
Descriptor Definition
Attribute Name qti-outcome-declaration
Data Type OutcomeDeclaration
Description This is the root element for the declaration of set an outcome variable either as within a qti-assessment-item or as separate resource in a QTI content package. The ability to define outcome variables as top level objects is to enable the allocation of curriculum standards metadata (including CASE competency identifiers) to an outcome variable via the QTI content package.

3.6 "qti-response-processing" Root Attribute Description

The definition of the "qti-response-processing" root attribute is shown in Table 3.6.

Table 3.6 Description of the "qti-response-processing" root attribute.
Descriptor Definition
Attribute Name qti-response-processing
Data Type ResponseProcessing
Description This root element is used to enable the definition of response processing templates either as within a qti-assessment-item or as separate resource in a QTI content package. These templates can then be used to define common response processing patterns to be used by Items.

toc | top

4. Root Class Descriptions

All of the Root data classes (the first class objects that can be exchanged using the data model) used within this Information Model are described in this Section. The syntax and semantics for this representation is described in Appendix A1.2.

4.1 AssessmentItem Root Class Description

The data model for the "AssessmentItem" root class is shown in Figure 4.1 and the accompanying definition in Table 4.1.

UML diagram of the AssessmentItem class.

Figure 4.1 - AssessmentItem class definitions.

Table 4.1 Description of the "AssessmentItem" class.
Descriptor Definition
Class Name AssessmentItem
Class Type Container [ Sequence ]
Parents None (Root Class)
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics The set of characteristics are:
Children The set of children attributes are:
Description An assessment item encompasses the information that is presented to a candidate and information about how to score the item. Scoring takes place when candidate responses are transformed into outcomes by response processing rules. It is sometimes desirable to have several different items that appear the same to the candidate but which are scored differently. In this specification, these are distinct items by definition and must therefore have distinct identifiers. To help facilitate the exchange of items that share significant parts of their presentation this specification supports the inclusion of separately managed item fragments (see Item and Test Fragments) in the qti-item-body.

4.1.1 "identifier" Characteristic Description

The description of the "identifier" characteristic for the "AssessmentItem" root class is given in Table 4.1.1

Table 4.1.1 Description of the "identifier" characteristic for the "AssessmentItem" class.
Descriptor Definition
Characteristic Name identifier
Data Type Identifier
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description The principle identifier of the item. If an identifier is assigned in the corresponding item's resource metadata (see QTI Metadata [QTI, 20d] for more information) then the two MUST be the same. When an Item is referenced using a 'qti-assesasment-item-ref' the values of the two 'identifier' characteristics MUST be the same. The identifier is a string of characters that must start with a Letter or an underscore ('_') and contain only Letters, underscores, hyphens ('-'), period ('.', a.k.a. full-stop), Digits, CombiningChars and Extenders. Identifiers containing the period character are reserved for use in prefixing, as described in the definition of variable. The character classes Letter, Digit, CombiningChar and Extender are defined in the Extensible Markup Language (XML) 1.0 (Second Edition) [XML, 00]. Note particularly that identifiers may not contain the colon (':') character. Identifiers should have no more than 32 characters for compatibility with version 1. They are always compared case-sensitively.

4.1.2 "title" Characteristic Description

The description of the "title" characteristic for the "AssessmentItem" root class is given in Table 4.1.2

Table 4.1.2 Description of the "title" characteristic for the "AssessmentItem" class.
Descriptor Definition
Characteristic Name title
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A1.3.
Scope Local ("-")
Multiplicity [1]
Description The title of a qti-assessment-item is intended to enable the item to be selected in situations where the full text of the qti-item-body is not available, for example when a candidate is browsing a set of items to determine the order in which to attempt them. Therefore, delivery engines may reveal the title to candidates at any time but are not required to do so. Note that if the accompanying packaging metadata for this resource includes the title then these two MUST be the same (see QTI Metadata [QTI, 20d] for more information).

4.1.3 "label" Characteristic Description

The description of the "label" characteristic for the "AssessmentItem" root class is given in Table 4.1.3

Table 4.1.3 Description of the "label" characteristic for the "AssessmentItem" class.
Descriptor Definition
Characteristic Name label
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A1.3.
Scope Local ("-")
Multiplicity [0..1]
Description A human readable label that can be used to describe the Item.

4.1.4 "language" Characteristic Description

The description of the "language" characteristic for the "AssessmentItem" root class is given in Table 4.1.4

Table 4.1.4 Description of the "language" characteristic for the "AssessmentItem" class.
Descriptor Definition
Characteristic Name language
Data Type Language (Primitive-type)
Value Space See Appendix A1.3.
Scope Local ("-")
Multiplicity [0..1]
Description The default language for the Item. Natural language identifiers as defined by [RFC 3066].

4.1.5 "tool-name" Characteristic Description

The description of the "tool-name" characteristic for the "AssessmentItem" root class is given in Table 4.1.5

Table 4.1.5 Description of the "tool-name" characteristic for the "AssessmentItem" class.
Descriptor Definition
Characteristic Name tool-name
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A1.3.
Scope Local ("-")
Multiplicity [0..1]
Description The tool name characteristic allows the tool creating the item to identify itself. Other processing systems may use this information to interpret the content of application specific data, such as labels on the elements of the item's qti-item-body.

4.1.6 "tool-version" Characteristic Description

The description of the "tool-version" characteristic for the "AssessmentItem" root class is given in Table 4.1.6

Table 4.1.6 Description of the "tool-version" characteristic for the "AssessmentItem" class.
Descriptor Definition
Characteristic Name tool-version
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A1.3.
Scope Local ("-")
Multiplicity [0..1]
Description The tool version characteristic allows the tool creating the item to identify its version. This value must only be interpreted in the context of the tool-name.

4.1.7 "adaptive" Characteristic Description

The description of the "adaptive" characteristic for the "AssessmentItem" root class is given in Table 4.1.7

Table 4.1.7 Description of the "adaptive" characteristic for the "AssessmentItem" class.
Descriptor Definition
Characteristic Name adaptive
Data Type Boolean (Primitive-type)
Value Space See Appendix A1.3.
Default = "false".
Scope Local ("-")
Multiplicity [0..1]
Description Denotes the adaptive nature of the Item. Items are classified as either Adaptive or Non-adaptive. The value for this characteristic MAY change how outcome variables are handled.

4.1.8 "time-dependent" Characteristic Description

The description of the "time-dependent" characteristic for the "AssessmentItem" root class is given in Table 4.1.8

Table 4.1.8 Description of the "time-dependent" characteristic for the "AssessmentItem" class.
Descriptor Definition
Characteristic Name time-dependent
Data Type Boolean (Primitive-type)
Value Space See Appendix A1.3.
Scope Local ("-")
Multiplicity [1]
Description Denotes if the Item must be answered within some defined time limit.

4.1.9 "dataExtension" Characteristic Description

The description of the "dataExtension" characteristic for the "AssessmentItem" root class is given in Table 4.1.9

Table 4.1.9 Description of the "dataExtension" characteristic for the "AssessmentItem" class.
Descriptor Definition
Characteristic Name dataExtension
Data Type DataHTML5Extension
Value Space Container [ DerivedType ]
Scope Global ("+")
Multiplicity [0.. unbounded]
Description This is the HTML5 extension characteristic. A custom data characteristic is a characteristic in no namespace whose name starts with the string 'data-', has at least one character after the hyphen, is XML-compatible, and contains no uppercase ASCII letters.

4.1.10 "qti-context-declaration" Attribute Description

The description of the "qti-context-declaration" attribute for the "AssessmentItem" root class is given in Table 4.1.10.

Table 4.1.10 Description of the "qti-context-declaration" attribute for the "AssessmentItem" root class.
Descriptor Definition
Attribute Name qti-context-declaration
Data Type ContextDeclaration
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description This allows globally scoped varables to be defined. These variable can be used within template processing, response processing and outcomes processing. An implementation MUST support the global variable "QTI_CONTEXT" with record cardinality and this record MUST have predefined fields 'candidateIdentifier', 'testIdentifier' and 'environmentIdentifier'. The built-in QTI_CONTEXT variable must be fully resolved prior to any further processing.

4.1.11 "qti-response-declaration" Attribute Description

The description of the "qti-response-declaration" attribute for the "AssessmentItem" root class is given in Table 4.1.11.

Table 4.1.11 Description of the "qti-response-declaration" attribute for the "AssessmentItem" root class.
Descriptor Definition
Attribute Name qti-response-declaration
Data Type ResponseDeclaration
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description This is the set of response variable declarations that are associated with the Item. Response variables are only relevant within the context of the parent Item (Subsection 2.11.2 explains how this context is achieved if this variable is referenced external to the Item).

4.1.12 "qti-outcome-declaration" Attribute Description

The description of the "qti-outcome-declaration" attribute for the "AssessmentItem" root class is given in Table 4.1.12.

Table 4.1.12 Description of the "qti-outcome-declaration" attribute for the "AssessmentItem" root class.
Descriptor Definition
Attribute Name qti-outcome-declaration
Data Type OutcomeDeclaration
Value Space Container [ Sequence ]
Scope Global ("+")
Multiplicity [0.. unbounded]
Description This is the set of outcome variable declarations that are associated with the Item. Outcome variables are only relevant within the parent Item and so every declared variable must be referenced in the corresponding outcomes processing.

4.1.13 "qti-template-declaration" Attribute Description

The description of the "qti-template-declaration" attribute for the "AssessmentItem" root class is given in Table 4.1.13.

Table 4.1.13 Description of the "qti-template-declaration" attribute for the "AssessmentItem" root class.
Descriptor Definition
Attribute Name qti-template-declaration
Data Type TemplateDeclaration
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description This is the set of template variable declarations that are associated with the Item. Template variables are only relevant within the parent Item and so every declared variable must be referenced in the corresponding template processing.

4.1.14 "qti-template-processing" Attribute Description

The description of the "qti-template-processing" attribute for the "AssessmentItem" root class is given in Table 4.1.14.

Table 4.1.14 Description of the "qti-template-processing" attribute for the "AssessmentItem" root class.
Descriptor Definition
Attribute Name qti-template-processing
Data Type TemplateProcessing
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0..1]
Description The template processing rules that are used for this Item. These rules are embedded within the ItemBody.

4.1.15 "qti-assessment-stimulus-ref" Attribute Description

The description of the "qti-assessment-stimulus-ref" attribute for the "AssessmentItem" root class is given in Table 4.1.15.

Table 4.1.15 Description of the "qti-assessment-stimulus-ref" attribute for the "AssessmentItem" root class.
Descriptor Definition
Attribute Name qti-assessment-stimulus-ref
Data Type AssessmentStimulusRef
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The set of identifier references to the stimulus content that should be associated with the Item. Each identifier must resolve to some AssessmentStimulus object that has been associated with the Item.

4.1.16 "qti-companion-materials-info" Attribute Description

The description of the "qti-companion-materials-info" attribute for the "AssessmentItem" root class is given in Table 4.1.16.

Table 4.1.16 Description of the "qti-companion-materials-info" attribute for the "AssessmentItem" root class.
Descriptor Definition
Attribute Name qti-companion-materials-info
Data Type CompanionMaterialsInfo
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0..1]
Description This identifies the set of companion materials that should be used when answering the questions presented during the assessment. A number of different types of materials can be required in various combinations.

4.1.17 "qti-stylesheet" Attribute Description

The description of the "qti-stylesheet" attribute for the "AssessmentItem" root class is given in Table 4.1.17.

Table 4.1.17 Description of the "qti-stylesheet" attribute for the "AssessmentItem" root class.
Descriptor Definition
Attribute Name qti-stylesheet
Data Type StyleSheet
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The set of external style sheets that are associated with the Item. The order of definition is significant.

4.1.18 "qti-item-body" Attribute Description

The description of the "qti-item-body" attribute for the "AssessmentItem" root class is given in Table 4.1.18.

Table 4.1.18 Description of the "qti-item-body" attribute for the "AssessmentItem" root class.
Descriptor Definition
Attribute Name qti-item-body
Data Type ItemBody
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0..1]
Description The item body for the Item. The qti-item-body contains the text, graphics, media objects and interactions that describe the item's content and information about how it is structured.

4.1.19 "qti-catalog-info" Attribute Description

The description of the "qti-catalog-info" attribute for the "AssessmentItem" root class is given in Table 4.1.19.

Table 4.1.19 Description of the "qti-catalog-info" attribute for the "AssessmentItem" root class.
Descriptor Definition
Attribute Name qti-catalog-info
Data Type CatalogInfo
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0..1]
Description This is the alternative accessibility content that is defined to enable the range of supported accessibility options to reconfigure the assessment content. This content augments the original content that is defined for the associated QTI feature.

4.1.20 "qti-response-processing" Attribute Description

The description of the "qti-response-processing" attribute for the "AssessmentItem" root class is given in Table 4.1.20.

Table 4.1.20 Description of the "qti-response-processing" attribute for the "AssessmentItem" root class.
Descriptor Definition
Attribute Name qti-response-processing
Data Type ResponseProcessing
Value Space Container [ Sequence ]
Scope Global ("+")
Multiplicity [0..1]
Description The response processing rules that are used for this Item. These rules may either be embedded within the qti-item-body or a reference to some external response processing template may be supplied. If both embedded rules and a template reference are supplied then the internal rules take precedence.

4.1.21 "qti-modal-feedback" Attribute Description

The description of the "qti-modal-feedback" attribute for the "AssessmentItem" root class is given in Table 4.1.21.

Table 4.1.21 Description of the "qti-modal-feedback" attribute for the "AssessmentItem" root class.
Descriptor Definition
Attribute Name qti-modal-feedback
Data Type ModalFeedback
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The Modal feedback that is to be shown to the candidate directly following response processing.

4.2 AssessmentSection Root Class Description

The data model for the "AssessmentSection" root class is shown in Figure 4.2 and the accompanying definition in Table 4.2.

UML diagram of the AssessmentSection class.

Figure 4.2 - AssessmentSection class definitions.

Table 4.2 Description of the "AssessmentSection" class.
Descriptor Definition
Class Name AssessmentSection
Class Type Container [ Sequence ]
Parents None (Root Class)
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics The set of characteristics are:
Children The set of children attributes are:
Description An assessment section groups together individual item references and/or sub-sections. A section can be composed of any hierarchy/combination of items and sections. A section can only reference an item using a qti-assessment-item-ref object but it may contain or reference other sections. The grouping of the sections/items depends upon the nature of the parent section i.e. each section can be used for different grouping criteria e.g. organizational, pedagogic, etc.

4.2.1 "identifier" Characteristic Description

The description of the "identifier" characteristic for the "AssessmentSection" root class is given in Table 4.2.1

Table 4.2.1 Description of the "identifier" characteristic for the "AssessmentSection" class.
Descriptor Definition
Characteristic Name identifier
Data Type Identifier
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description The unique identifier for the Section. The identifier of the section or item reference must be unique within the test and must not be the identifier of any testPart. The identifier is a string of characters that must start with a Letter or an underscore ('_') and contain only Letters, underscores, hyphens ('-'), period ('.', a.k.a. full-stop), Digits, CombiningChars and Extenders. Identifiers containing the period character are reserved for use in prefixing, as described in the definition of variable. The character classes Letter, Digit, CombiningChar and Extender are defined in the Extensible Markup Language (XML) 1.0 (Second Edition) [XML, 00]. Note particularly that identifiers may not contain the colon (':') character. Identifiers should have no more than 32 characters for compatibility with version 1. They are always compared case-sensitively.

4.2.2 "required" Characteristic Description

The description of the "required" characteristic for the "AssessmentSection" root class is given in Table 4.2.2

Table 4.2.2 Description of the "required" characteristic for the "AssessmentSection" class.
Descriptor Definition
Characteristic Name required
Data Type Boolean (Primitive-type)
Value Space See Appendix A1.3.
Default = "false".
Scope Local ("-")
Multiplicity [0..1]
Description If a child element is required it must appear (at least once) in the selection. It is an error if a section contains a selection rule that selects fewer child elements than the number of required elements it contains.

4.2.3 "fixed" Characteristic Description

The description of the "fixed" characteristic for the "AssessmentSection" root class is given in Table 4.2.3

Table 4.2.3 Description of the "fixed" characteristic for the "AssessmentSection" class.
Descriptor Definition
Characteristic Name fixed
Data Type Boolean (Primitive-type)
Value Space See Appendix A1.3.
Default = "false".
Scope Local ("-")
Multiplicity [0..1]
Description If a child element is fixed it must never be shuffled. When used in combination with a selection rule fixed elements do not have their position fixed until after selection has taken place. For example, selecting 3 elements from {A,B,C,D} without replacement might result in the selection {A,B,C}. If the section is subject to shuffling but B is fixed then permutations such as {A,C,B} are not allowed whereas permutations like {C,B,A} are.

4.2.4 "title" Characteristic Description

The description of the "title" characteristic for the "AssessmentSection" root class is given in Table 4.2.4

Table 4.2.4 Description of the "title" characteristic for the "AssessmentSection" class.
Descriptor Definition
Characteristic Name title
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A1.3.
Scope Local ("-")
Multiplicity [1]
Description The title of the section is intended to enable the section to be selected in situations where the contents of the section are not available, for example when a candidate is browsing a test. Therefore, delivery engines may reveal the title to candidates at any time during the test but are not required to do so.

4.2.5 "class" Characteristic Description

The description of the "class" characteristic for the "AssessmentSection" root class is given in Table 4.2.5

Table 4.2.5 Description of the "class" characteristic for the "AssessmentSection" class.
Descriptor Definition
Characteristic Name class
Data Type StringList
Value Space The list consist of values of data-type(s): String (Primitive-type)
Scope Local ("-")
Multiplicity [0..1]
Description If specified, this has a value that is a set of space-separated tokens representing the various classes to which the element belongs.

4.2.6 "visible" Characteristic Description

The description of the "visible" characteristic for the "AssessmentSection" root class is given in Table 4.2.6

Table 4.2.6 Description of the "visible" characteristic for the "AssessmentSection" class.
Descriptor Definition
Characteristic Name visible
Data Type Boolean (Primitive-type)
Value Space See Appendix A1.3.
Scope Local ("-")
Multiplicity [1]
Description A visible section is one that is identifiable by the candidate. For example, delivery engines might provide a hierarchical view of the test to aid navigation. In such a view, a visible section would be a visible node in the hierarchy. Conversely, an invisible section is one that is not visible to the candidate - the child elements of an invisible section appear to the candidate as if they were part of the parent section (or testPart). The visibility of a section does not affect the visibility of its child elements. The visibility of each section is determined solely by the value of its own visible attribute.

4.2.7 "keep-together" Characteristic Description

The description of the "keep-together" characteristic for the "AssessmentSection" root class is given in Table 4.2.7

Table 4.2.7 Description of the "keep-together" characteristic for the "AssessmentSection" class.
Descriptor Definition
Characteristic Name keep-together
Data Type Boolean (Primitive-type)
Value Space See Appendix A1.3.
Default = "true".
Scope Local ("-")
Multiplicity [0..1]
Description An invisible section with a parent that is subject to shuffling can specify whether or not its children, which will appear to the candidate as if they were part of the parent, are shuffled as a block or mixed up with the other children of the parent section.

4.2.8 "dataExtension" Characteristic Description

The description of the "dataExtension" characteristic for the "AssessmentSection" root class is given in Table 4.2.8

Table 4.2.8 Description of the "dataExtension" characteristic for the "AssessmentSection" class.
Descriptor Definition
Characteristic Name dataExtension
Data Type DataHTML5Extension
Value Space Container [ DerivedType ]
Scope Global ("+")
Multiplicity [0.. unbounded]
Description This is the HTML5 extension characteristic. A custom data characteristic is a characteristic in no namespace whose name starts with the string 'data-', has at least one character after the hyphen, is XML-compatible, and contains no uppercase ASCII letters.

4.2.9 "qti-pre-condition" Attribute Description

The description of the "qti-pre-condition" attribute for the "AssessmentSection" root class is given in Table 4.2.9.

Table 4.2.9 Description of the "qti-pre-condition" attribute for the "AssessmentSection" root class.
Descriptor Definition
Attribute Name qti-pre-condition
Data Type LogicSingle
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description An optional set of conditions evaluated during the test, that determine if the item or section is to be skipped (in nonlinear mode, pre-conditions are ignored). The order of the conditions is significant.

4.2.10 "qti-branch-rule" Attribute Description

The description of the "qti-branch-rule" attribute for the "AssessmentSection" root class is given in Table 4.2.10.

Table 4.2.10 Description of the "qti-branch-rule" attribute for the "AssessmentSection" root class.
Descriptor Definition
Attribute Name qti-branch-rule
Data Type BranchRule
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description An optional set of rules, evaluated during the test, for setting an alternative target as the next item or section (in nonlinear mode, branch rules are ignored).

4.2.11 "qti-item-session-control" Attribute Description

The description of the "qti-item-session-control" attribute for the "AssessmentSection" root class is given in Table 4.2.11.

Table 4.2.11 Description of the "qti-item-session-control" attribute for the "AssessmentSection" root class.
Descriptor Definition
Attribute Name qti-item-session-control
Data Type ItemSessionControl
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description Parameters used to control the allowable states of each item session (may be overridden at sub-section or item level).

4.2.12 "qti-time-limits" Attribute Description

The description of the "qti-time-limits" attribute for the "AssessmentSection" root class is given in Table 4.2.12.

Table 4.2.12 Description of the "qti-time-limits" attribute for the "AssessmentSection" root class.
Descriptor Definition
Attribute Name qti-time-limits
Data Type TimeLimits
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description Optionally controls the amount of time a candidate is allowed for this section.

4.2.13 "adaptive" Attribute Description

The description of the "adaptive" attribute for the "AssessmentSection" root class is given in Table 4.2.13.

Table 4.2.13 Description of the "adaptive" attribute for the "AssessmentSection" root class.
Descriptor Definition
Attribute Name adaptive
Data Type Adaptive
Value Space Abstract Container [ Selection ]
Scope Local ("-")
Multiplicity [0..1]
Description This is an abstract attribute to enable the adaptive features of a Section to be defined. The adaptive features are based upon: 1) the use of a set of predefined algorithms to control the selection and ordering of the child sections and/or items; 2) the use of a separate sequencing engine based upon the IMS Computer Adaptive Testing (CAT) specification [CAT, 19].

4.2.14 "qti-rubric-block" Attribute Description

The description of the "qti-rubric-block" attribute for the "AssessmentSection" root class is given in Table 4.2.14.

Table 4.2.14 Description of the "qti-rubric-block" attribute for the "AssessmentSection" root class.
Descriptor Definition
Attribute Name qti-rubric-block
Data Type TestRubricBlock
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description Section rubric is presented to the candidate with each item contained (directly or indirectly) by the section. As sections are nestable the rubric presented for each item is the concatenation of the rubric blocks from the top-most section down to the item's immediately enclosing section.

4.2.15 "sectionPart" Attribute Description

The description of the "sectionPart" attribute for the "AssessmentSection" root class is given in Table 4.2.15.

Table 4.2.15 Description of the "sectionPart" attribute for the "AssessmentSection" root class.
Descriptor Definition
Attribute Name sectionPart
Data Type SectionPart
Value Space Abstract Container [ Selection ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description This is an abstract attribute that enables the definition of the set of assessment-item-refs, assessment-section-refs and assessment sections to be included as children of the parent assessment section. Sections group together individual item references and/or sub-sections.

4.3 AssessmentStimulus Root Class Description

The data model for the "AssessmentStimulus" root class is shown in Figure 4.3 and the accompanying definition in Table 4.3.

UML diagram of the AssessmentStimulus class.

Figure 4.3 - AssessmentStimulus class definitions.

Table 4.3 Description of the "AssessmentStimulus" class.
Descriptor Definition
Class Name AssessmentStimulus
Class Type Container [ Sequence ]
Parents None (Root Class)
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics The set of characteristics are:
Children The set of children attributes are:
Description An assessment stimulus object is the used to enable content to be shared by several Assessment Items. The key feature is that this shared stimulus content must be supplied in the same context for each of the Assessment Items that make use of it. The assessment stimulus approach provides a mechanism to allow the stimulus content to be managed independently.

4.3.1 "identifier" Characteristic Description

The description of the "identifier" characteristic for the "AssessmentStimulus" root class is given in Table 4.3.1

Table 4.3.1 Description of the "identifier" characteristic for the "AssessmentStimulus" class.
Descriptor Definition
Characteristic Name identifier
Data Type Identifier
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description The unique identifier for the Stimulus. The identifier is a string of characters that must start with a Letter or an underscore ('_') and contain only Letters, underscores, hyphens ('-'), period ('.', a.k.a. full-stop), Digits, CombiningChars and Extenders. Identifiers containing the period character are reserved for use in prefixing, as described in the definition of variable. The character classes Letter, Digit, CombiningChar and Extender are defined in the Extensible Markup Language (XML) 1.0 (Second Edition) [XML, 00]. Note particularly that identifiers may not contain the colon (':') character. Identifiers should have no more than 32 characters for compatibility with version 1. They are always compared case-sensitively.

4.3.2 "title" Characteristic Description

The description of the "title" characteristic for the "AssessmentStimulus" root class is given in Table 4.3.2

Table 4.3.2 Description of the "title" characteristic for the "AssessmentStimulus" class.
Descriptor Definition
Characteristic Name title
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A1.3.
Scope Local ("-")
Multiplicity [1]
Description The title of the stimulus is intended to enable the stimulus to be selected in situations where the contents are not available, for example when an author is browsing a repository.

4.3.3 "label" Characteristic Description

The description of the "label" characteristic for the "AssessmentStimulus" root class is given in Table 4.3.3

Table 4.3.3 Description of the "label" characteristic for the "AssessmentStimulus" class.
Descriptor Definition
Characteristic Name label
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A1.3.
Scope Local ("-")
Multiplicity [0..1]
Description A human readable label that can be used to describe the Stimulus.

4.3.4 "language" Characteristic Description

The description of the "language" characteristic for the "AssessmentStimulus" root class is given in Table 4.3.4

Table 4.3.4 Description of the "language" characteristic for the "AssessmentStimulus" class.
Descriptor Definition
Characteristic Name language
Data Type Language (Primitive-type)
Value Space See Appendix A1.3.
Scope Local ("-")
Multiplicity [0..1]
Description The default language for the Stimulus. Natural language identifiers as defined by [RFC 3066].

4.3.5 "tool-name" Characteristic Description

The description of the "tool-name" characteristic for the "AssessmentStimulus" root class is given in Table 4.3.5

Table 4.3.5 Description of the "tool-name" characteristic for the "AssessmentStimulus" class.
Descriptor Definition
Characteristic Name tool-name
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A1.3.
Scope Local ("-")
Multiplicity [0..1]
Description The tool name characteristic allows the tool creating the stimulus to identify itself. Other processing systems may use this information to interpret the content of application specific data, such as labels on the elements of the stimulus's stimulus body.

4.3.6 "tool-version" Characteristic Description

The description of the "tool-version" characteristic for the "AssessmentStimulus" root class is given in Table 4.3.6

Table 4.3.6 Description of the "tool-version" characteristic for the "AssessmentStimulus" class.
Descriptor Definition
Characteristic Name tool-version
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A1.3.
Scope Local ("-")
Multiplicity [0..1]
Description The tool version characteristic allows the tool creating the item to identify its version. This value must only be interpreted in the context of the tool-name.

4.3.7 "dataExtension" Characteristic Description

The description of the "dataExtension" characteristic for the "AssessmentStimulus" root class is given in Table 4.3.7

Table 4.3.7 Description of the "dataExtension" characteristic for the "AssessmentStimulus" class.
Descriptor Definition
Characteristic Name dataExtension
Data Type DataHTML5Extension
Value Space Container [ DerivedType ]
Scope Global ("+")
Multiplicity [0.. unbounded]
Description This is the HTML5 extension characteristic. A custom data characteristic is a characteristic in no namespace whose name starts with the string 'data-', has at least one character after the hyphen, is XML-compatible, and contains no uppercase ASCII letters.

4.3.8 "qti-stylesheet" Attribute Description

The description of the "qti-stylesheet" attribute for the "AssessmentStimulus" root class is given in Table 4.3.8.

Table 4.3.8 Description of the "qti-stylesheet" attribute for the "AssessmentStimulus" root class.
Descriptor Definition
Attribute Name qti-stylesheet
Data Type StyleSheet
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The set of external style sheets that are associated with the Stimulus. The order of definition is significant.

4.3.9 "qti-stimulus-body" Attribute Description

The description of the "qti-stimulus-body" attribute for the "AssessmentStimulus" root class is given in Table 4.3.9.

Table 4.3.9 Description of the "qti-stimulus-body" attribute for the "AssessmentStimulus" root class.
Descriptor Definition
Attribute Name qti-stimulus-body
Data Type StimulusBody
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [1]
Description The stimulus body for the Stimulus. The stimulus body contains the text, graphics, media objects and interactions that describe the simulus's content and information about how it is structured.

4.3.10 "qti-catalog-info" Attribute Description

The description of the "qti-catalog-info" attribute for the "AssessmentStimulus" root class is given in Table 4.3.10.

Table 4.3.10 Description of the "qti-catalog-info" attribute for the "AssessmentStimulus" root class.
Descriptor Definition
Attribute Name qti-catalog-info
Data Type CatalogInfo
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0..1]
Description The alternative accessibility information that is to be associated with the content in the stimulus body.

4.4 AssessmentTest Root Class Description

The data model for the "AssessmentTest" root class is shown in Figure 4.4 and the accompanying definition in Table 4.4.

UML diagram of the AssessmentTest class.

Figure 4.4 - AssessmentTest class definitions.

Table 4.4 Description of the "AssessmentTest" class.
Descriptor Definition
Class Name AssessmentTest
Class Type Container [ Sequence ]
Parents None (Root Class)
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics The set of characteristics are:
Children The set of children attributes are:
Description An assessment test is a group of assessmentItems with an associated set of rules that determine which of the items the candidate sees, in what order, and in what way the candidate interacts with them. The rules describe the valid paths through the test, when responses are submitted for response processing and when (if at all) feedback is to be given. Assessment tests are composed of one or more test parts.

4.4.1 "identifier" Characteristic Description

The description of the "identifier" characteristic for the "AssessmentTest" root class is given in Table 4.4.1

Table 4.4.1 Description of the "identifier" characteristic for the "AssessmentTest" class.
Descriptor Definition
Characteristic Name identifier
Data Type Identifier
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description The unique identifier for the Test. The identifier is a string of characters that must start with a Letter or an underscore ('_') and contain only Letters, underscores, hyphens ('-'), period ('.', a.k.a. full-stop), Digits, CombiningChars and Extenders. Identifiers containing the period character are reserved for use in prefixing, as described in the definition of variable. The character classes Letter, Digit, CombiningChar and Extender are defined in the Extensible Markup Language (XML) 1.0 (Second Edition) [XML, 00]. Note particularly that identifiers may not contain the colon (':') character. Identifiers should have no more than 32 characters for compatibility with version 1. They are always compared case-sensitively. When the test resource has metadata supplied in the QTI content package, the unique identifier supplied in that metadata MUST be the same as for the 'qti-assessment-test' instance (see QTI Metadata [QTI, 20d] for more information).

4.4.2 "title" Characteristic Description

The description of the "title" characteristic for the "AssessmentTest" root class is given in Table 4.4.2

Table 4.4.2 Description of the "title" characteristic for the "AssessmentTest" class.
Descriptor Definition
Characteristic Name title
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A1.3.
Scope Local ("-")
Multiplicity [1]
Description The title of an assessment test is intended to enable the test to be selected outside of any test session. Therefore, delivery engines may reveal the title to candidates at any time, but are not required to do so. If the 'title' attribute in IEEE LOM is used it must match the value of this attribute.

4.4.3 "class" Characteristic Description

The description of the "class" characteristic for the "AssessmentTest" root class is given in Table 4.4.3

Table 4.4.3 Description of the "class" characteristic for the "AssessmentTest" class.
Descriptor Definition
Characteristic Name class
Data Type StringList
Value Space The list consist of values of data-type(s): String (Primitive-type)
Scope Local ("-")
Multiplicity [0..1]
Description If specified, this has a value that is a set of space-separated tokens representing the various classes to which the element belongs.

4.4.4 "tool-name" Characteristic Description

The description of the "tool-name" characteristic for the "AssessmentTest" root class is given in Table 4.4.4

Table 4.4.4 Description of the "tool-name" characteristic for the "AssessmentTest" class.
Descriptor Definition
Characteristic Name tool-name
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A1.3.
Scope Local ("-")
Multiplicity [0..1]
Description The tool name characteristic allows the tool creating the test to identify itself. Other processing systems may use this information to interpret the content of application specific data, such as labels on the elements of the test rubric.

4.4.5 "tool-version" Characteristic Description

The description of the "tool-version" characteristic for the "AssessmentTest" root class is given in Table 4.4.5

Table 4.4.5 Description of the "tool-version" characteristic for the "AssessmentTest" class.
Descriptor Definition
Characteristic Name tool-version
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A1.3.
Scope Local ("-")
Multiplicity [0..1]
Description The tool version characteristic allows the tool creating the test to identify its version. This value must only be interpreted in the context of the tool name.

4.4.6 "dataExtension" Characteristic Description

The description of the "dataExtension" characteristic for the "AssessmentTest" root class is given in Table 4.4.6

Table 4.4.6 Description of the "dataExtension" characteristic for the "AssessmentTest" class.
Descriptor Definition
Characteristic Name dataExtension
Data Type DataHTML5Extension
Value Space Container [ DerivedType ]
Scope Global ("+")
Multiplicity [0.. unbounded]
Description This is the HTML5 extension characteristic. A custom data characteristic is a characteristic in no namespace whose name starts with the string 'data-', has at least one character after the hyphen, is XML-compatible, and contains no uppercase ASCII letters.

4.4.7 "qti-context-declaration" Attribute Description

The description of the "qti-context-declaration" attribute for the "AssessmentTest" root class is given in Table 4.4.7.

Table 4.4.7 Description of the "qti-context-declaration" attribute for the "AssessmentTest" root class.
Descriptor Definition
Attribute Name qti-context-declaration
Data Type ContextDeclaration
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description This allows globally scoped varables to be defined. These variable can be used within template processing, response processing and outcomes processing. An implementation MUST support the global variable "QTI_CONTEXT" with record cardinality and this reciord MUST have predefined fields 'candidateIdentifier', 'testIdentifier' and 'environmentIdentifier'. The built-in QTI_CONTEXT variable must be fully resolved prior to any further processing.

4.4.8 "qti-outcome-declaration" Attribute Description

The description of the "qti-outcome-declaration" attribute for the "AssessmentTest" root class is given in Table 4.4.8.

Table 4.4.8 Description of the "qti-outcome-declaration" attribute for the "AssessmentTest" root class.
Descriptor Definition
Attribute Name qti-outcome-declaration
Data Type OutcomeDeclaration
Value Space Container [ Sequence ]
Scope Global ("+")
Multiplicity [0.. unbounded]
Description Each test has an associated set of outcomes. The values of these outcomes are set by the test's outcome processing rules.

4.4.9 "qti-time-limits" Attribute Description

The description of the "qti-time-limits" attribute for the "AssessmentTest" root class is given in Table 4.4.9.

Table 4.4.9 Description of the "qti-time-limits" attribute for the "AssessmentTest" root class.
Descriptor Definition
Attribute Name qti-time-limits
Data Type TimeLimits
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description Optionally controls the amount of time a candidate is allowed for the entire test.

4.4.10 "qti-stylesheet" Attribute Description

The description of the "qti-stylesheet" attribute for the "AssessmentTest" root class is given in Table 4.4.10.

Table 4.4.10 Description of the "qti-stylesheet" attribute for the "AssessmentTest" root class.
Descriptor Definition
Attribute Name qti-stylesheet
Data Type StyleSheet
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description Used to associate an external stylesheet with an assessment test.

4.4.11 "qti-rubric-block" Attribute Description

The description of the "qti-rubric-block" attribute for the "AssessmentTest" root class is given in Table 4.4.11.

Table 4.4.11 Description of the "qti-rubric-block" attribute for the "AssessmentTest" root class.
Descriptor Definition
Attribute Name qti-rubric-block
Data Type TestRubricBlock
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description Test rubric is presented to the candidate at the start of each test. This information is applicable to all of the test-parts. Rubric block content is conditional, and intended to be presented only to the specific actors referenced in the "view" attribute of the qti-rubric-block node. You must include at least one of the following actors in the view attribute: author, candidate, proctor, scorer, testConstructor, tutor. Note that the use of candidate as the actor is meant to indicate the candidate is presented this content at runtime, and that it is also often used for the other actors to know what content is presented to the candidate, so it is commonly presented to the other actors as well.

4.4.12 "qti-test-part" Attribute Description

The description of the "qti-test-part" attribute for the "AssessmentTest" root class is given in Table 4.4.12.

Table 4.4.12 Description of the "qti-test-part" attribute for the "AssessmentTest" root class.
Descriptor Definition
Attribute Name qti-test-part
Data Type TestPart
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [1.. unbounded]
Description Each test is divided into one or more parts which may in turn be divided into sections, sub-sections and so on. A test part represents a major division of the test and is used to control the basic mode parameters that apply to all sections and sub-sections within that part.

4.4.13 "qti-outcome-processing" Attribute Description

The description of the "qti-outcome-processing" attribute for the "AssessmentTest" root class is given in Table 4.4.13.

Table 4.4.13 Description of the "qti-outcome-processing" attribute for the "AssessmentTest" root class.
Descriptor Definition
Attribute Name qti-outcome-processing
Data Type OutcomeProcessing
Value Space Container [ Sequence ]
Scope Global ("+")
Multiplicity [0..1]
Description The set of rules used for calculating the values of the test outcomes.

4.4.14 "qti-test-feedback" Attribute Description

The description of the "qti-test-feedback" attribute for the "AssessmentTest" root class is given in Table 4.4.14.

Table 4.4.14 Description of the "qti-test-feedback" attribute for the "AssessmentTest" root class.
Descriptor Definition
Attribute Name qti-test-feedback
Data Type TestFeedback
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description Contains the test-level feedback controlled by the test outcomes.

4.5 OutcomeDeclaration Root Class Description

The data model for the "OutcomeDeclaration" root class is shown in Figure 4.5 and the accompanying definition in Table 4.5.

UML diagram of the OutcomeDeclaration class.

Figure 4.5 - OutcomeDeclaration class definitions.

Table 4.5 Description of the "OutcomeDeclaration" class.
Descriptor Definition
Class Name OutcomeDeclaration
Class Type Container [ Sequence ]
Parents None (Root Class)
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics The set of characteristics are:
Children The set of children attributes are:
Description Outcome variables are declared by outcome declarations. Their value is set either from a default given in the declaration itself or by a responseRule during responseProcessing. Items that declare a numeric outcome variable representing the candidate's overall performance on the item should use the outcome name 'SCORE' for the variable. SCORE needs to be a float. Items that declare a maximum score (in multiple response choice interactions, for example) should do so by declaring the 'MAXSCORE' variable. MAXSCORE needs to be a float. Items or tests that want to make the fact that the candidate scored above a predefined threshold available as a variable should use the 'PASSED' variable. PASSED needs to be a boolean. At runtime, outcome variables are instantiated as part of an item session. Their values may be initialized with a default value and/or set during responseProcessing. If no default value is given in the declaration then the outcome variable is initialized to NULL unless the outcome is of a numeric type (integer or float) in which case it is initialized to 0. Declared outcomes with numeric types should indicate their range of possible values using normalMaximum and normalMinimum, especially if this range differs from [0,1].

4.5.1 "identifier" Characteristic Description

The description of the "identifier" characteristic for the "OutcomeDeclaration" root class is given in Table 4.5.1

Table 4.5.1 Description of the "identifier" characteristic for the "OutcomeDeclaration" class.
Descriptor Definition
Characteristic Name identifier
Data Type Identifier
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description The identifiers of the built-in session variables are reserved. They are completionStatus, numAttempts and duration. All item variables declared in an item share the same namespace. Different items have different namespaces. When an outcome variable definition is defined as its own resource, this declaration MUST be used for mapping to the associated academic standards or competency definitions only.

4.5.2 "cardinality" Characteristic Description

The description of the "cardinality" characteristic for the "OutcomeDeclaration" root class is given in Table 4.5.2

Table 4.5.2 Description of the "cardinality" characteristic for the "OutcomeDeclaration" class.
Descriptor Definition
Characteristic Name cardinality
Data Type CardinalityEnum
Value Space Enumerated value set of: { multiple | ordered | record | single }
Scope Local ("-")
Multiplicity [1]
Description Each variable is either single valued or multi-valued. Multi-valued variables are referred to as containers and come in ordered, unordered and record types. See the cardinality enumerated vocabulary for more information.

4.5.3 "base-type" Characteristic Description

The description of the "base-type" characteristic for the "OutcomeDeclaration" root class is given in Table 4.5.3

Table 4.5.3 Description of the "base-type" characteristic for the "OutcomeDeclaration" class.
Descriptor Definition
Characteristic Name base-type
Data Type BaseTypeEnum
Value Space Enumerated value set of: { boolean | directedPair | duration | file | float | identifier | integer | pair | point | string | uri }
Scope Local ("-")
Multiplicity [0..1]
Description The value space from which the variable's value can be drawn (or in the case of containers, from which the individual values are drawn) is identified with a baseType. The baseType selects one of a small set of predefined types that are considered to have atomic values within the runtime data model. Variables with record cardinality have no base-type.

4.5.4 "view" Characteristic Description

The description of the "view" characteristic for the "OutcomeDeclaration" root class is given in Table 4.5.4

Table 4.5.4 Description of the "view" characteristic for the "OutcomeDeclaration" class.
Descriptor Definition
Characteristic Name view
Data Type ViewEnum
Value Space A list from an enumerated value set of: { author | candidate | proctor | scorer | testConstructor | tutor }
Scope Local ("-")
Multiplicity [0..1]
Description The intended audience for an outcome variable can be set with the view attribute. If no view is specified the outcome is treated as relevant to all views. Complex items, such as adaptive items or complex templates, may declare outcomes that are of no interest to the candidate at all, but are merely used to hold intermediate values or other information useful during the item or test session. Such variables should be declared with a view of author (for item outcomes) or testConstructor (for test outcomes). Systems may exclude outcomes from result reports on the basis of their declared view if appropriate. Where more than one class of user should be able to view an outcome variable the view attribute should contain a comma delimited list.

4.5.5 "interpretation" Characteristic Description

The description of the "interpretation" characteristic for the "OutcomeDeclaration" root class is given in Table 4.5.5

Table 4.5.5 Description of the "interpretation" characteristic for the "OutcomeDeclaration" class.
Descriptor Definition
Characteristic Name interpretation
Data Type String (Primitive-type)
Value Space See Appendix A1.3.
Scope Local ("-")
Multiplicity [0..1]
Description A human interpretation of the variable's value.

4.5.6 "long-interpretation" Characteristic Description

The description of the "long-interpretation" characteristic for the "OutcomeDeclaration" root class is given in Table 4.5.6

Table 4.5.6 Description of the "long-interpretation" characteristic for the "OutcomeDeclaration" class.
Descriptor Definition
Characteristic Name long-interpretation
Data Type AnyURI (Primitive-type)
Value Space See Appendix A1.3.
Scope Local ("-")
Multiplicity [0..1]
Description An optional link to an extended interpretation of the outcome variable's value.

4.5.7 "normal-maximum" Characteristic Description

The description of the "normal-maximum" characteristic for the "OutcomeDeclaration" root class is given in Table 4.5.7

Table 4.5.7 Description of the "normal-maximum" characteristic for the "OutcomeDeclaration" class.
Descriptor Definition
Characteristic Name normal-maximum
Data Type NonNegativeDouble
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description The normalMaximum characteristic optionally defines the maximum magnitude of numeric outcome variables, it must be a positive value. If given, the outcome's value can be divided by normalMaximum and then truncated (if necessary) to obtain a normalized score in the range [-1.0,1.0]. normalMaximum has no affect on responseProcessing or the values that the outcome variable itself can take.

4.5.8 "normal-minimum" Characteristic Description

The description of the "normal-minimum" characteristic for the "OutcomeDeclaration" root class is given in Table 4.5.8

Table 4.5.8 Description of the "normal-minimum" characteristic for the "OutcomeDeclaration" class.
Descriptor Definition
Characteristic Name normal-minimum
Data Type Double (Primitive-type)
Value Space See Appendix A1.3.
Scope Local ("-")
Multiplicity [0..1]
Description The normalMinimum characteristic optionally defines the minimum value of numeric outcome variables, it may be negative.

4.5.9 "mastery-value" Characteristic Description

The description of the "mastery-value" characteristic for the "OutcomeDeclaration" root class is given in Table 4.5.9

Table 4.5.9 Description of the "mastery-value" characteristic for the "OutcomeDeclaration" class.
Descriptor Definition
Characteristic Name mastery-value
Data Type Double (Primitive-type)
Value Space See Appendix A1.3.
Scope Local ("-")
Multiplicity [0..1]
Description The masteryValue characteristic optionally defines a value for numeric outcome variables above which the aspect being measured is considered to have been mastered by the candidate.

4.5.10 "external-scored" Characteristic Description

The description of the "external-scored" characteristic for the "OutcomeDeclaration" root class is given in Table 4.5.10

Table 4.5.10 Description of the "external-scored" characteristic for the "OutcomeDeclaration" class.
Descriptor Definition
Characteristic Name external-scored
Data Type ExternalScoredEnum
Value Space Enumerated value set of: { externalMachine | human }
Scope Local ("-")
Multiplicity [0..1]
Description This identifies whether or not the value for this outcome is produced by human or by machine scoring.

4.5.11 "variable-identifier-ref" Characteristic Description

The description of the "variable-identifier-ref" characteristic for the "OutcomeDeclaration" root class is given in Table 4.5.11

Table 4.5.11 Description of the "variable-identifier-ref" characteristic for the "OutcomeDeclaration" class.
Descriptor Definition
Characteristic Name variable-identifier-ref
Data Type UniqueIdentifierRef
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description This is the identifier for an external variable that will be used to provide the external scoring value.

4.5.12 "qti-default-value" Attribute Description

The description of the "qti-default-value" attribute for the "OutcomeDeclaration" root class is given in Table 4.5.12.

Table 4.5.12 Description of the "qti-default-value" attribute for the "OutcomeDeclaration" root class.
Descriptor Definition
Attribute Name qti-default-value
Data Type DefaultValue
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0..1]
Description The default outcome value to be used when no matching table entry is found (supplied as either a 'qti-match-table' or 'qti-interpolation-table'). If omitted, the NULL value is used.

4.5.13 "lookupTable" Attribute Description

The description of the "lookupTable" attribute for the "OutcomeDeclaration" root class is given in Table 4.5.13.

Table 4.5.13 Description of the "lookupTable" attribute for the "OutcomeDeclaration" root class.
Descriptor Definition
Attribute Name lookupTable
Data Type LookupTable
Value Space Abstract Container [ Selection ]
Scope Local ("-")
Multiplicity [0..1]
Description An abstract attribute to create a lookup table from a numeric source value to a single outcome value in the declared value set. A lookup table works in the reverse sense to the similar mapping as it defines how a source numeric value is transformed into the outcome value, whereas a (response) mapping defines how the response value is mapped onto a target numeric value.

4.6 ResponseProcessing Root Class Description

The data model for the "ResponseProcessing" root class is shown in Figure 4.6 and the accompanying definition in Table 4.6.

UML diagram of the ResponseProcessing class.

Figure 4.6 - ResponseProcessing class definitions.

Table 4.6 Description of the "ResponseProcessing" class.
Descriptor Definition
Class Name ResponseProcessing
Class Type Container [ Sequence ]
Parents None (Root Class)
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics The set of characteristics are:
Children The set of children attributes are:
Description Response processing is the process by which the Delivery Engine assigns outcomes based on the candidate's responses. The outcomes may be used to provide feedback to the candidate. Feedback is either provided immediately following the end of the candidate's attempt or it is provided at some later time, perhaps as part of a summary report on the item session. The end of an attempt, and therefore response processing, must only take place in direct response to a user action or in response to some expected event, such as the end of a test. An item session that enters the suspended state may have values for the response variables that have yet to be submitted for response processing.

4.6.1 "template" Characteristic Description

The description of the "template" characteristic for the "ResponseProcessing" root class is given in Table 4.6.1

Table 4.6.1 Description of the "template" characteristic for the "ResponseProcessing" class.
Descriptor Definition
Characteristic Name template
Data Type AnyURI (Primitive-type)
Value Space See Appendix A1.3.
Scope Local ("-")
Multiplicity [0..1]
Description If a template identifier is given it may be used to locate an externally defined responseProcessing template. The rules obtained from the external template may be used instead of the rules defined within the item itself, though if both are given the internal rules are still preferred.

4.6.2 "template-location" Characteristic Description

The description of the "template-location" characteristic for the "ResponseProcessing" root class is given in Table 4.6.2

Table 4.6.2 Description of the "template-location" characteristic for the "ResponseProcessing" class.
Descriptor Definition
Characteristic Name template-location
Data Type AnyURI (Primitive-type)
Value Space See Appendix A1.3.
Scope Local ("-")
Multiplicity [0..1]
Description In practice, the template attribute may well contain a URN or the URI of a template stored on a remote web server, such as the standard response processing templates defined by this specification. When processing an assessmentItem tools working offline will not be able to obtain the template from a URN or remote URI. The template-location attribute provides an alternative URI, typically a relative URI to be resolved relative to the location of the qti-assessment-item itself, that can be used to obtain a copy of the response processing template. If a delivery system is able to determine the correct behaviour from the template identifier alone the template-location should be ignored. For example, a delivery system may have built-in procedures for handling the standard templates defined above.

4.6.3 "responseRuleGroup" Attribute Description

The description of the "responseRuleGroup" attribute for the "ResponseProcessing" root class is given in Table 4.6.3.

Table 4.6.3 Description of the "responseRuleGroup" attribute for the "ResponseProcessing" root class.
Descriptor Definition
Attribute Name responseRuleGroup
Data Type ResponseRuleGroup
Value Space Abstract Container [ Selection ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description This is an abstract attribute that provides the selection of the constructs that can be used to compose a response rule group. This allows arbitrarily complex response processing rules to be constructed for the processing of the responses to the presented item interactions.

toc | top

5. Data Class Descriptions

All of the data classes used within this Information Model are described in this Section. The syntax and semantics for this representation is described in Appendix A1.2.

5.1 A Class Description

The data model for the "A" class is shown in Figure 5.1 and the accompanying definition in Table 5.1.

UML diagram of the A class.

Figure 5.1 - A class definitions.

Table 5.1 Description of the "A" class.
Descriptor Definition
Class Name A
Class Type Container [ Sequence , Mixed ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics The set of characteristics are: The set of directly inherited characteristics are: The set of indirectly inherited characteristics are:
Children The set of children attributes are:
Description This provides the functionality of the HTML 'a' tag and is used to identifiy a link. If the 'a' tag has an href attribute, then it represents a hyperlink (a hypertext anchor) labeled by its contents. If the a element has no href attribute, then the element represents a placeholder for where a link might otherwise have been placed, if it had been relevant, consisting of just the element's contents.

5.1.1 "href" Characteristic Description

The description of the "href" characteristic for the "A" class is given in Table 5.1.1.

Table 5.1.1 Description of the "href" characteristic for the "A" class.
Descriptor Definition
Characteristic Name href
Data Type AnyURI (Primitive-type)
Value Space See Appendix A1.3.
Scope Local ("-")
Multiplicity [1]
Description The URL for the hyperlink.

5.1.2 "type" Characteristic Description

The description of the "type" characteristic for the "A" class is given in Table 5.1.2.

Table 5.1.2 Description of the "type" characteristic for the "A" class.
Descriptor Definition
Characteristic Name type
Data Type MimeType
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description If present, this gives the MIME type of the linked resource. It is purely advisory. The value must be a valid MIME type. User agents must not consider the type attribute authoritative.

5.1.3 "inlineGroup" Attribute Description

The description of the "inlineGroup" attribute for the "A" class is given in Table 5.1.3.

Table 5.1.3 Description of the "inlineGroup" attribute for the "A" class.
Descriptor Definition
Attribute Name inlineGroup
Data Type InlineGroup
Value Space Abstract Container [ Selection ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description This is an abstract attribute that enables the insertion of the inline content (inline content as defined for HTML). Any combination of the inline content is permitted.

5.2 ARIABase Class Description

The data model for the "ARIABase" class is shown in Figure 5.2 and the accompanying definition in Table 5.2.

UML diagram of the ARIABase class.

Figure 5.2 - ARIABase class definitions.

Table 5.2 Description of the "ARIABase" class.
Descriptor Definition
Class Name ARIABase
Class Type Container [ Sequence ]
Parents There are no parent classes.
Derived Classes The set of derived classes are:
Super Classes This class is not derived from another class.
Characteristics The set of characteristics are:
Children There are no children.
Description This is a base class for all of the ARIA characteristics for a non-empty instance. It is from this container that all of the other non-empty classes inherit their set of ARIA capabilities. This set of characteristics is taken from the Accessible Rich Internet Applications (WAI-ARIA) specification [WAI-ARIA, 17]. This specification provides an ontology of roles, states, and properties that define accessible user interface elements and can be used to improve the accessibility and interoperability of web content and applications. These semantics are designed to allow an author to properly convey user interface behaviors and structural information to assistive technologies in document-level markup.

5.2.1 "role" Characteristic Description

The description of the "role" characteristic for the "ARIABase" class is given in Table 5.2.1.

Table 5.2.1 Description of the "role" characteristic for the "ARIABase" class.
Descriptor Definition
Characteristic Name role
Data Type ARIARoleValue
Value Space Enumerated value set of: { article | columnheader | definition | directory | document | group | heading | img | list | listitem | math | note | presentation | region | row | rowgroup | rowheader | separator | toolbar | button | checkbox | gridcell | link | log | option | radio | slider | spinbutton | status | tab | tabpanel | textbox | timer | listbox | radiogroup | tablist | complementary | contentinfo | alert | alertdialog | application | banner | combobox | dialog | form | grid | main | marquee | menu | menubar | menuitem | menuitemcheckbox | menuitemradio | navigation | progressbar | scrollbar | search | tooltip | tree | treegrid | treeitem }
Scope Local ("-")
Multiplicity [0..1]
Description This is the ARIA role. Roles are defined and described by their characteristics. Characteristics define the structural function of a role, such as what a role is, concepts behind it, and what instances the role can or must contain.

5.2.2 "aria-controls" Characteristic Description

The description of the "aria-controls" characteristic for the "ARIABase" class is given in Table 5.2.2.

Table 5.2.2 Description of the "aria-controls" characteristic for the "ARIABase" class.
Descriptor Definition
Characteristic Name aria-controls
Data Type IDREFS (Primitive-type)
Value Space See Appendix A1.3.
Scope Local ("-")
Multiplicity [0..1]
Description This is a part of the ARIA annotation. This identifies the element (or elements) whose contents or presence are controlled by the current element.

5.2.3 "aria-describedby" Characteristic Description

The description of the "aria-describedby" characteristic for the "ARIABase" class is given in Table 5.2.3.

Table 5.2.3 Description of the "aria-describedby" characteristic for the "ARIABase" class.
Descriptor Definition
Characteristic Name aria-describedby
Data Type IDREFS (Primitive-type)
Value Space See Appendix A1.3.
Scope Local ("-")
Multiplicity [0..1]
Description This is a part of the ARIA annotation. It identifies the element (or elements) that describes the object.

5.2.4 "aria-flowto" Characteristic Description

The description of the "aria-flowto" characteristic for the "ARIABase" class is given in Table 5.2.4.

Table 5.2.4 Description of the "aria-flowto" characteristic for the "ARIABase" class.
Descriptor Definition
Characteristic Name aria-flowto
Data Type IDREFS (Primitive-type)
Value Space See Appendix A1.3.
Scope Local ("-")
Multiplicity [0..1]
Description This is a part of the ARIA annotation. It identifies the next element (or elements) in an alternate reading order of content which, at the user's discretion, allows assistive technology to override the general default of reading in document source order.

5.2.5 "aria-label" Characteristic Description

The description of the "aria-label" characteristic for the "ARIABase" class is given in Table 5.2.5.

Table 5.2.5 Description of the "aria-label" characteristic for the "ARIABase" class.
Descriptor Definition
Characteristic Name aria-label
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A1.3.
Scope Local ("-")
Multiplicity [0..1]
Description This is a part of the ARIA annotation. It defines a string value that labels the current element (see related 'aria-labelledby'). The purpose of 'aria-label' is the same as that of 'aria-labelledby'. It provides the user with a recognizable name of the object.

5.2.6 "aria-labelledby" Characteristic Description

The description of the "aria-labelledby" characteristic for the "ARIABase" class is given in Table 5.2.6.

Table 5.2.6 Description of the "aria-labelledby" characteristic for the "ARIABase" class.
Descriptor Definition
Characteristic Name aria-labelledby
Data Type IDREFS (Primitive-type)
Value Space See Appendix A1.3.
Scope Local ("-")
Multiplicity [0..1]
Description This is a part of the ARIA annotation. It identifies the tag (or tags) that labels the current element (see related 'aria-label' and 'aria-describedby'). The purpose of 'aria-labelledby' is the same as that of 'aria-label'. It provides the user with a recognizable name of the object. The most common accessibility API mapping for a label is the accessible name property. If the label text is visible on screen, authors SHOULD use 'aria-labelledby' and SHOULD NOT use 'aria-label'. Use 'aria-label' only if the interface is such that it is not possible to have a visible label on the screen. As required by the text alternative computation, user agents give precedence to 'aria-labelledby' over 'aria-label' when computing the accessible name property. The 'aria-labelledby' attribute is similar to 'aria-describedby' in that both reference other elements to calculate a text alternative, but a label should be concise, where a description is intended to provide more verbose information.

5.2.7 "aria-level" Characteristic Description

The description of the "aria-level" characteristic for the "ARIABase" class is given in Table 5.2.7.

Table 5.2.7 Description of the "aria-level" characteristic for the "ARIABase" class.
Descriptor Definition
Characteristic Name aria-level
Data Type ARIALevelInteger
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description This is a part of the ARIA annotation. It defines the hierarchical level of an element within a structure. This can be applied inside trees to tree items, to headings inside a document, to nested grids, nested tablists and to other structural items that may appear inside a container or participate in an ownership hierarchy. The value for 'aria-level' is an integer greater than or equal to 1.

5.2.8 "aria-live" Characteristic Description

The description of the "aria-live" characteristic for the "ARIABase" class is given in Table 5.2.8.

Table 5.2.8 Description of the "aria-live" characteristic for the "ARIABase" class.
Descriptor Definition
Characteristic Name aria-live
Data Type ARIALiveValueEnum
Value Space Enumerated value set of: { off | polite | assertive }
Default = "off".
Scope Local ("-")
Multiplicity [0..1]
Description This is a part of the ARIA annotation. It indicates that an element will be updated, and describes the types of updates the user agents, assistive technologies, and user can expect from the live region. The values of this attribute are expressed in degrees of importance. When regions are specified as polite, assistive technologies will notify users of updates but generally do not interrupt the current task, and updates take low priority. When regions are specified as assertive, assistive technologies will immediately notify the user, and could potentially clear the speech queue of previous updates.

5.2.9 "aria-orientation" Characteristic Description

The description of the "aria-orientation" characteristic for the "ARIABase" class is given in Table 5.2.9.

Table 5.2.9 Description of the "aria-orientation" characteristic for the "ARIABase" class.
Descriptor Definition
Characteristic Name aria-orientation
Data Type ARIAOrientationValueEnum
Value Space Enumerated value set of: { vertical | horizontal }
Default = "horizontal".
Scope Local ("-")
Multiplicity [0..1]
Description This is a part of the ARIA annotation. It indicates whether the element and orientation is horizontal or vertical.

5.2.10 "aria-owns" Characteristic Description

The description of the "aria-owns" characteristic for the "ARIABase" class is given in Table 5.2.10.

Table 5.2.10 Description of the "aria-owns" characteristic for the "ARIABase" class.
Descriptor Definition
Characteristic Name aria-owns
Data Type IDREFS (Primitive-type)
Value Space See Appendix A1.3.
Scope Local ("-")
Multiplicity [0..1]
Description This is a part of the ARIA annotation (see related 'aria-controls'). The value of the 'aria-owns' attribute is a space-separated list of IDREFS that reference one or more elements in the document by ID.

5.2.11 "aria-hidden" Characteristic Description

The description of the "aria-hidden" characteristic for the "ARIABase" class is given in Table 5.2.11.

Table 5.2.11 Description of the "aria-hidden" characteristic for the "ARIABase" class.
Descriptor Definition
Characteristic Name aria-hidden
Data Type Boolean (Primitive-type)
Value Space See Appendix A1.3.
Default = "false".
Scope Local ("-")
Multiplicity [0..1]
Description This is a part of the ARIA annotation. It indicates whether the element is exposed to an accessibility API.

5.2.12 "aria-activedescendant" Characteristic Description

The description of the "aria-activedescendant" characteristic for the "ARIABase" class is given in Table 5.2.12.

Table 5.2.12 Description of the "aria-activedescendant" characteristic for the "ARIABase" class.
Descriptor Definition
Characteristic Name aria-activedescendant
Data Type IDREF (Primitive-type)
Value Space See Appendix A1.3.
Scope Local ("-")
Multiplicity [0..1]
Description This is a part of the ARIA annotation. It identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application. This property provides an alternative method of managing focus for interactive elements that may contain multiple focusable descendants, such as menus, grids, and toolbars.

5.2.13 "aria-atomic" Characteristic Description

The description of the "aria-atomic" characteristic for the "ARIABase" class is given in Table 5.2.13.

Table 5.2.13 Description of the "aria-atomic" characteristic for the "ARIABase" class.
Descriptor Definition
Characteristic Name aria-atomic
Data Type Boolean (Primitive-type)
Value Space See Appendix A1.3.
Default = "false".
Scope Local ("-")
Multiplicity [0..1]
Description This is a part of the ARIA annotation. It indicates whether assistive technologies will present all, or only parts of, the changed region based on the change notifications defined by the 'aria-relevant' attribute.

5.2.14 "aria-autocomplete" Characteristic Description

The description of the "aria-autocomplete" characteristic for the "ARIABase" class is given in Table 5.2.14.

Table 5.2.14 Description of the "aria-autocomplete" characteristic for the "ARIABase" class.
Descriptor Definition
Characteristic Name aria-autocomplete
Data Type ARIAAutoCompleteEnum
Value Space Enumerated value set of: { inline | list | both | none }
Default = "none".
Scope Local ("-")
Multiplicity [0..1]
Description This is a part of the ARIA annotation. It indicates whether inputting text could trigger display of one or more predictions of the user's intended value for an input and specifies how predictions would be presented if they are made. The 'aria-autocomplete' property describes the type of interaction model a textbox, searchbox, or combobox employs when dynamically helping users complete text input. It distinguishes between two models: the inline model (aria-autocomplete='inline') that presents a value completion prediction inside the text input and the list model (aria-autocomplete='list') that presents a collection of possible values in a separate element that pops up adjacent to the text input. It is possible for an input to offer both models at the same time (aria-autocomplete='both').

5.2.15 "aria-busy" Characteristic Description

The description of the "aria-busy" characteristic for the "ARIABase" class is given in Table 5.2.15.

Table 5.2.15 Description of the "aria-busy" characteristic for the "ARIABase" class.
Descriptor Definition
Characteristic Name aria-busy
Data Type Boolean (Primitive-type)
Value Space See Appendix A1.3.
Default = "false".
Scope Local ("-")
Multiplicity [0..1]
Description This is a part of the ARIA annotation. It indicates an element is being modified and that assistive technologies MAY want to wait until the modifications are complete before exposing them to the user. The default value of 'aria-busy' is false for all elements. When 'aria-busy' is true for an element, assistive technologies MAY ignore changes to content owned by that element and then process all changes made during the busy period as a single, atomic update when 'aria-busy' becomes false.

5.2.16 "aria-checked" Characteristic Description

The description of the "aria-checked" characteristic for the "ARIABase" class is given in Table 5.2.16.

Table 5.2.16 Description of the "aria-checked" characteristic for the "ARIABase" class.
Descriptor Definition
Characteristic Name aria-checked
Data Type ARIACheckedEnum
Value Space Enumerated value set of: { true | false | mixed | undefined }
Default = "undefined".
Scope Local ("-")
Multiplicity [0..1]
Description This is a part of the ARIA annotation. It indicates the current "checked" state of checkboxes, radio buttons, and other widgets. See related 'aria-pressed' and 'aria-selected'. The 'aria-checked' attribute indicates whether the element is checked (true), unchecked (false), or represents a group of other elements that have a mixture of checked and unchecked values (mixed). Most inputs only support values of true and false, but the mixed value is supported by certain tri-state inputs such as a checkbox or menuitemcheckbox. The mixed value is not supported on radio, menuitemradio, switch or any element that inherits from these in the taxonomy, and user agents MUST treat a mixed value as equivalent to false for those roles.

5.2.17 "aria-disabled" Characteristic Description

The description of the "aria-disabled" characteristic for the "ARIABase" class is given in Table 5.2.17.

Table 5.2.17 Description of the "aria-disabled" characteristic for the "ARIABase" class.
Descriptor Definition
Characteristic Name aria-disabled
Data Type Boolean (Primitive-type)
Value Space See Appendix A1.3.
Default = "false".
Scope Local ("-")
Multiplicity [0..1]
Description This is a part of the ARIA annotation. Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable. See related 'aria-hidden' and 'aria-readonly'. For example, irrelevant options in a radio group may be disabled. Disabled elements might not receive focus from the tab order. For some disabled elements, applications might choose not to support navigation to descendants. In addition to setting the 'aria-disabled' attribute, authors SHOULD change the appearance (grayed out, etc.) to indicate that the item has been disabled. The state of being disabled applies to the current element and all focusable descendant elements of the element on which the 'aria-disabled' attribute is applied.