IMS Final Release

IMS Global Logo

IMS Question and Test Interoperability (QTI): Results Reporting Information Model and XSD Binding Version 2.2

IMS Final Release
Version Final 1.0.1

Date Issued: 1st August, 2016
Latest version: http://www.imsglobal.org/question/

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 © 2016 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): Results Reporting Information Model and XSD Binding v2.2

Revision: 1st August, 2016

toc | top

Table of Contents

1. Introduction

1.1. Overview of QTI Results Reporting

1.2. Scope and Context

1.3. Structure of this Document

1.4. Nomenclature

1.5. References

2. Information Model

2.1. Information Model Overview

2.2. Root Attribute Description

2.2.1 "assessmentResult" Root Attribute Description

2.3. Root Class Description

2.3.1 "AssessmentResult" Root Class Description

2.3.1.1 "context" Attribute Description

2.3.1.2 "testResult" Attribute Description

2.3.1.3 "itemResult" Attribute Description

2.4. Data Class Descriptions

2.4.1 "CandidateResponse" Class Description

2.4.1.1 "value" Attribute Description

2.4.2 "Context" Class Description

2.4.2.1 "sourcedId" Characteristic Description

2.4.2.2 "sessionIdentifier" Attribute Description

2.4.3 "CorrectResponse" Class Description

2.4.3.1 "interpretation" Characteristic Description

2.4.3.2 "value" Attribute Description

2.4.4 "ItemResult" Class Description

2.4.4.1 "identifier" Characteristic Description

2.4.4.2 "sequenceIndex" Characteristic Description

2.4.4.3 "datestamp" Characteristic Description

2.4.4.4 "sessionStatus" Characteristic Description

2.4.4.5 "itemVariable" Attribute Description

2.4.4.6 "candidateComment" Attribute Description

2.4.5 "OutcomeVariable" Class Description

2.4.5.1 "identifier" Characteristic Description

2.4.5.2 "cardinality" Characteristic Description

2.4.5.3 "baseType" Characteristic Description

2.4.5.4 "view" Characteristic Description

2.4.5.5 "interpretation" Characteristic Description

2.4.5.6 "longInterpretation" Characteristic Description

2.4.5.7 "normalMaximum" Characteristic Description

2.4.5.8 "normalMinimum" Characteristic Description

2.4.5.9 "masteryValue" Characteristic Description

2.4.5.10 "value" Attribute Description

2.4.6 "ResponseVariable" Class Description

2.4.6.1 "identifier" Characteristic Description

2.4.6.2 "cardinality" Characteristic Description

2.4.6.3 "baseType" Characteristic Description

2.4.6.4 "choiceSequence" Characteristic Description

2.4.6.5 "correctResponse" Attribute Description

2.4.6.6 "candidateResponse" Attribute Description

2.4.7 "TemplateVariable" Class Description

2.4.7.1 "identifier" Characteristic Description

2.4.7.2 "cardinality" Characteristic Description

2.4.7.3 "baseType" Characteristic Description

2.4.7.4 "value" Attribute Description

2.4.8 "TestResult" Class Description

2.4.8.1 "identifier" Characteristic Description

2.4.8.2 "datestamp" Characteristic Description

2.4.8.3 "itemVariable" Attribute Description

2.5. Abstract Class Descriptions

2.5.1 "ItemVariable" Class Description

2.5.1.1 "responseVariable" Attribute Description

2.5.1.2 "templateVariable" Attribute Description

2.5.1.3 "outcomeVariable" Attribute Description

2.6. Derived Class Descriptions

2.6.1 "DateTime" Class Description

2.6.1.1 "pattern" Attribute Description

2.6.2 "Identifier" Class Description

2.6.3 "SessionIdentifier" Class Description

2.6.3.1 "sourceID" Characteristic Description

2.6.3.2 "identifier" Characteristic Description

2.6.4 "Value" Class Description

2.6.4.1 "fieldIdentifier" Characteristic Description

2.6.4.2 "baseType" Characteristic Description

2.7. Enumerated Vocabulary Descriptions

2.7.1 "BaseType" Vocabulary Description

2.7.2 "Cardinality" Vocabulary Description

2.7.3 "SessionStatus" Vocabulary Description

2.8. List Class Descriptions

2.8.1 "IdentifierList" Class Description

2.9. Enumerated Vocabulary List Descriptions

2.9.1 "View" Vocabulary Description

3. XSD Binding

3.1. XSD Binding Overview

3.2. UML to XML/XSD Mapping

3.2.1 Root Attribute UML/XSD Mapping

3.2.2 Root Class UML/XSD Mapping

3.2.2.1 AssessmentResult Root Class Mapping

3.2.3 Class UML/XSD Mapping

3.2.3.1 CandidateResponse Class Mapping

3.2.3.2 Context Class Mapping

3.2.3.3 CorrectResponse Class Mapping

3.2.3.4 ItemResult Class Mapping

3.2.3.5 OutcomeVariable Class Mapping

3.2.3.6 ResponseVariable Class Mapping

3.2.3.7 TemplateVariable Class Mapping

3.2.3.8 TestResult Class Mapping

3.2.4 Derived Class UML/XSD Mapping

3.2.4.1 DateTime Class Mapping

3.2.4.2 Identifier Class Mapping

3.2.4.3 SessionIdentifier Class Mapping

3.2.4.4 Value Class Mapping

3.2.5 Enumerated Class UML/XSD Mapping

3.2.6 Enumerated List Class UML/XSD Mapping

3.2.7 List Class UML/XSD Mapping

3.2.8 Union Class UML/XSD Mapping

3.2.9 Primitive Type UML/XSD Mapping

3.3. Filenames and Namespaces

3.3.1 Target Namespace Details

3.3.2 Imported Namespace Details

3.3.3 Implicit Namespace Details

3.4. Description of the XSD

3.4.1 Root Element Descriptions

3.4.1.1 "assessmentResult" Root Element Description

3.4.2 Global Element Descriptions

3.4.3 Attribute Group Descriptions

3.4.4 Root Complex Type Descriptions

3.4.4.1 AssessmentResult.Type Root Complex Type Description

* "context" Local Element Description

* "testResult" Local Element Description

* "itemResult" Local Element Description

3.4.5 Core Complex Type Descriptions

3.4.5.1 CandidateResponse.Type Core Complex Type Description

* "value" Local Element Description

3.4.5.2 Context.Type Core Complex Type Description

* "sourcedId" Local Attribute Description

* "sessionIdentifier" Local Element Description

3.4.5.3 CorrectResponse.Type Core Complex Type Description

* "interpretation" Local Attribute Description

* "value" Local Element Description

3.4.5.4 ItemResult.Type Core Complex Type Description

* "identifier" Local Attribute Description

* "sequenceIndex" Local Attribute Description

* "datestamp" Local Attribute Description

* "sessionStatus" Local Attribute Description

* "responseVariable" Local Element Description

* "templateVariable" Local Element Description

* "outcomeVariable" Local Element Description

* "candidateComment" Local Element Description

3.4.5.5 OutcomeVariable.Type Core Complex Type Description

* "identifier" Local Attribute Description

* "cardinality" Local Attribute Description

* "baseType" Local Attribute Description

* "view" Local Attribute Description

* "interpretation" Local Attribute Description

* "longInterpretation" Local Attribute Description

* "normalMaximum" Local Attribute Description

* "normalMinimum" Local Attribute Description

* "masteryValue" Local Attribute Description

* "value" Local Element Description

3.4.5.6 ResponseVariable.Type Core Complex Type Description

* "identifier" Local Attribute Description

* "cardinality" Local Attribute Description

* "baseType" Local Attribute Description

* "choiceSequence" Local Attribute Description

* "correctResponse" Local Element Description

* "candidateResponse" Local Element Description

3.4.5.7 TemplateVariable.Type Core Complex Type Description

* "identifier" Local Attribute Description

* "cardinality" Local Attribute Description

* "baseType" Local Attribute Description

* "value" Local Element Description

3.4.5.8 TestResult.Type Core Complex Type Description

* "identifier" Local Attribute Description

* "datestamp" Local Attribute Description

* "responseVariable" Local Element Description

* "templateVariable" Local Element Description

* "outcomeVariable" Local Element Description

3.4.6 Derived Complex Type Descriptions

3.4.6.1 SessionIdentifier.Type Derived Complex Type Description

* "sourceID" Local Attribute Description

* "identifier" Local Attribute Description

3.4.6.2 Value.Type Derived Complex Type Description

* "fieldIdentifier" Local Attribute Description

* "baseType" Local Attribute Description

3.4.7 Simple Type Descriptions

3.4.7.1 DateTime.Type Simple Type Description

3.4.7.2 Identifier.Type Simple Type Description

3.4.7.3 IdentifierList.Type Simple Type Description

3.4.7.4 View.Type Simple Type Description

3.5. The Schematron Rules

4. Extending and Profiling the Data Model

4.1. Extending the Data Model

4.2. Profiling the Data Model

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

Appendix B XSD Binding Terms

B1 XSD Binding Description Terms

B1.1 UML/XSD Attribute Mapping Table Definition

B1.2 UML/XSD Class Mapping Table Definition

B1.3 UML/XSD Enumerated and Enumerated List Class Mapping Table Definition

B1.4 UML/XSD List and Union Mapping Tables Definition

B1.5 UML/XSD Primitive Types Mapping Table Definition

B1.6 XSD Description for an Element

B1.7 XSD Description for a Complex Type

B1.8 XSD Description for a Simple Type

B1.9 XSD Description for an Attribute Group

B1.10 XSD Description for an Attribute

B1.11 VDEX Description for an External Vocabulary

Appendix C XSD Listing

C1 QTI Results Reporting XSD Listing

About this Document

List of Contributors

Revision History

toc | top

List of Figures

Figure 2.3.1 AssessmentResult class definitions

Figure 2.4.1 CandidateResponse class definitions

Figure 2.4.2 Context class definitions

Figure 2.4.3 CorrectResponse class definitions

Figure 2.4.4 ItemResult class definitions

Figure 2.4.5 OutcomeVariable class definitions

Figure 2.4.6 ResponseVariable class definitions

Figure 2.4.7 TemplateVariable class definitions

Figure 2.4.8 TestResult class definitions

Figure 2.5.1 ItemVariable class definitions

Figure 2.6.1 DateTime class definitions

Figure 2.6.2 Identifier class definitions

Figure 2.6.3 SessionIdentifier class definitions

Figure 2.6.4 Value class definitions

Figure 2.7.1 BaseType class definitions

Figure 2.7.2 Cardinality class definitions

Figure 2.7.3 SessionStatus class definitions

Figure 2.8.1 IdentifierList class definitions

Figure 2.9.1 View class definitions

Figure 3.4.1.1 XSD Description for the "assessmentResult" Root Element

Figure 3.4.4.1 XSD Description for the "AssessmentResult.Type" Root ComplexType

Figure XSD Description for the "context" Local Element Description

Figure XSD Description for the "testResult" Local Element Description

Figure XSD Description for the "itemResult" Local Element Description

Figure 3.4.5.1 XSD Description for the "CandidateResponse.Type" Core Complex Type

Figure XSD Description for the "value" Local Element

Figure 3.4.5.2 XSD Description for the "Context.Type" Core Complex Type

Figure XSD Description for the "sourcedId" Local Attribute

Figure XSD Description for the "sessionIdentifier" Local Element

Figure 3.4.5.3 XSD Description for the "CorrectResponse.Type" Core Complex Type

Figure XSD Description for the "interpretation" Local Attribute

Figure XSD Description for the "value" Local Element

Figure 3.4.5.4 XSD Description for the "ItemResult.Type" Core Complex Type

Figure XSD Description for the "identifier" Local Attribute

Figure XSD Description for the "sequenceIndex" Local Attribute

Figure XSD Description for the "datestamp" Local Attribute

Figure XSD Description for the "sessionStatus" Local Attribute

Figure XSD Description for the "responseVariable" Local Element

Figure XSD Description for the "templateVariable" Local Element

Figure XSD Description for the "outcomeVariable" Local Element

Figure XSD Description for the "candidateComment" Local Element

Figure 3.4.5.5 XSD Description for the "OutcomeVariable.Type" Core Complex Type

Figure XSD Description for the "identifier" Local Attribute

Figure XSD Description for the "cardinality" Local Attribute

Figure XSD Description for the "baseType" Local Attribute

Figure XSD Description for the "view" Local Attribute

Figure XSD Description for the "interpretation" Local Attribute

Figure XSD Description for the "longInterpretation" Local Attribute

Figure XSD Description for the "normalMaximum" Local Attribute

Figure XSD Description for the "normalMinimum" Local Attribute

Figure XSD Description for the "masteryValue" Local Attribute

Figure XSD Description for the "value" Local Element

Figure 3.4.5.6 XSD Description for the "ResponseVariable.Type" Core Complex Type

Figure XSD Description for the "identifier" Local Attribute

Figure XSD Description for the "cardinality" Local Attribute

Figure XSD Description for the "baseType" Local Attribute

Figure XSD Description for the "choiceSequence" Local Attribute

Figure XSD Description for the "correctResponse" Local Element

Figure XSD Description for the "candidateResponse" Local Element

Figure 3.4.5.7 XSD Description for the "TemplateVariable.Type" Core Complex Type

Figure XSD Description for the "identifier" Local Attribute

Figure XSD Description for the "cardinality" Local Attribute

Figure XSD Description for the "baseType" Local Attribute

Figure XSD Description for the "value" Local Element

Figure 3.4.5.8 XSD Description for the "TestResult.Type" Core Complex Type

Figure XSD Description for the "identifier" Local Attribute

Figure XSD Description for the "datestamp" Local Attribute

Figure XSD Description for the "responseVariable" Local Element

Figure XSD Description for the "templateVariable" Local Element

Figure XSD Description for the "outcomeVariable" Local Element

Figure 3.4.6.1 XSD Description for the "SessionIdentifier.Type" Derived Complex Type

Figure XSD Description for the "sourceID" Local Attribute

Figure XSD Description for the "identifier" Local Attribute

Figure 3.4.6.2 XSD Description for the "Value.Type" Derived Complex Type

Figure XSD Description for the "fieldIdentifier" Local Attribute

Figure XSD Description for the "baseType" Local Attribute

Figure 3.4.7.1 XSD Description for the "DateTime.Type" Simple Type

Figure 3.4.7.2 XSD Description for the "Identifier.Type" Simple Type

Figure 3.4.7.3 XSD Description for the "IdentifierList.Type" Simple Type

Figure 3.4.7.4 XSD Description for the "View.Type" Simple Type

toc | top

List of Tables

Table 2.2.1 "assessmentResult" root attribute description

Table 2.3.1 AssessmentResult class definitions

Table 2.3.1.1 Description of the "context" attribute for the "AssessmentResult" class

Table 2.3.1.2 Description of the "testResult" attribute for the "AssessmentResult" class

Table 2.3.1.3 Description of the "itemResult" attribute for the "AssessmentResult" class

Table 2.4.1 CandidateResponse class definitions

Table 2.4.1.1 Description of the "value" attribute for the "CandidateResponse" class

Table 2.4.2 Context class definitions

Table 2.4.2.1 Description of the "sourcedId" characteristic for the "Context" class

Table 2.4.2.2 Description of the "sessionIdentifier" attribute for the "Context" class

Table 2.4.3 CorrectResponse class definitions

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

Table 2.4.3.2 Description of the "value" attribute for the "CorrectResponse" class

Table 2.4.4 ItemResult class definitions

Table 2.4.4.1 Description of the "identifier" characteristic for the "ItemResult" class

Table 2.4.4.2 Description of the "sequenceIndex" characteristic for the "ItemResult" class

Table 2.4.4.3 Description of the "datestamp" characteristic for the "ItemResult" class

Table 2.4.4.4 Description of the "sessionStatus" characteristic for the "ItemResult" class

Table 2.4.4.5 Description of the "itemVariable" attribute for the "ItemResult" class

Table 2.4.4.6 Description of the "candidateComment" attribute for the "ItemResult" class

Table 2.4.5 OutcomeVariable class definitions

Table 2.4.5.1 Description of the "identifier" characteristic for the "OutcomeVariable" class

Table 2.4.5.2 Description of the "cardinality" characteristic for the "OutcomeVariable" class

Table 2.4.5.3 Description of the "baseType" characteristic for the "OutcomeVariable" class

Table 2.4.5.4 Description of the "view" characteristic for the "OutcomeVariable" class

Table 2.4.5.5 Description of the "interpretation" characteristic for the "OutcomeVariable" class

Table 2.4.5.6 Description of the "longInterpretation" characteristic for the "OutcomeVariable" class

Table 2.4.5.7 Description of the "normalMaximum" characteristic for the "OutcomeVariable" class

Table 2.4.5.8 Description of the "normalMinimum" characteristic for the "OutcomeVariable" class

Table 2.4.5.9 Description of the "masteryValue" characteristic for the "OutcomeVariable" class

Table 2.4.5.10 Description of the "value" attribute for the "OutcomeVariable" class

Table 2.4.6 ResponseVariable class definitions

Table 2.4.6.1 Description of the "identifier" characteristic for the "ResponseVariable" class

Table 2.4.6.2 Description of the "cardinality" characteristic for the "ResponseVariable" class

Table 2.4.6.3 Description of the "baseType" characteristic for the "ResponseVariable" class

Table 2.4.6.4 Description of the "choiceSequence" characteristic for the "ResponseVariable" class

Table 2.4.6.5 Description of the "correctResponse" attribute for the "ResponseVariable" class

Table 2.4.6.6 Description of the "candidateResponse" attribute for the "ResponseVariable" class

Table 2.4.7 TemplateVariable class definitions

Table 2.4.7.1 Description of the "identifier" characteristic for the "TemplateVariable" class

Table 2.4.7.2 Description of the "cardinality" characteristic for the "TemplateVariable" class

Table 2.4.7.3 Description of the "baseType" characteristic for the "TemplateVariable" class

Table 2.4.7.4 Description of the "value" attribute for the "TemplateVariable" class

Table 2.4.8 TestResult class definitions

Table 2.4.8.1 Description of the "identifier" characteristic for the "TestResult" class

Table 2.4.8.2 Description of the "datestamp" characteristic for the "TestResult" class

Table 2.4.8.3 Description of the "itemVariable" attribute for the "TestResult" class

Table 2.5.1 ItemVariable class definitions

Table 2.5.1.1 Description of the "responseVariable" attribute for the "ItemVariable" class

Table 2.5.1.2 Description of the "templateVariable" attribute for the "ItemVariable" class

Table 2.5.1.3 Description of the "outcomeVariable" attribute for the "ItemVariable" class

Table 2.6.1 DateTime class definitions

Table 2.6.1.1 Description of the "pattern" attribute for the "DateTime" class

Table 2.6.2 Identifier class definitions

Table 2.6.3 SessionIdentifier class definitions

Table 2.6.3.1 Description of the "sourceID" characteristic for the "SessionIdentifier" class

Table 2.6.3.2 Description of the "identifier" characteristic for the "SessionIdentifier" class

Table 2.6.4 Value class definitions

Table 2.6.4.1 Description of the "fieldIdentifier" characteristic for the "Value" class

Table 2.6.4.2 Description of the "baseType" characteristic for the "Value" class

Table 2.7.1 BaseType class definitions

Table 2.7.2 Cardinality class definitions

Table 2.7.3 SessionStatus class definitions

Table 2.8.1 IdentifierList class description

Table 2.9.1 View class description

Table 3.2.1 UML/XSD Mapping for the Root Attributes

Table 3.2.2.1 UML/XSD Mapping for the AssessmentResult Root Class

Table 3.2.3.1 UML/XSD Mapping for the CandidateResponse Core Class

Table 3.2.3.2 UML/XSD Mapping for the Context Core Class

Table 3.2.3.3 UML/XSD Mapping for the CorrectResponse Core Class

Table 3.2.3.4 UML/XSD Mapping for the ItemResult Core Class

Table 3.2.3.5 UML/XSD Mapping for the OutcomeVariable Core Class

Table 3.2.3.6 UML/XSD Mapping for the ResponseVariable Core Class

Table 3.2.3.7 UML/XSD Mapping for the TemplateVariable Core Class

Table 3.2.3.8 UML/XSD Mapping for the TestResult Core Class

Table 3.2.4.1 UML/XSD Mapping for the DateTime Derived Class

Table 3.2.4.2 UML/XSD Mapping for the Identifier Derived Class

Table 3.2.4.3 UML/XSD Mapping for the SessionIdentifier Derived Class

Table 3.2.4.4 UML/XSD Mapping for the Value Derived Class

Table 3.2.5 UML/XSD Mapping for the Enumerated Class Definitions

Table 3.2.6 UML/XSD Mapping for the Enumerated List Class Definitions

Table 3.2.7 UML/XSD Mapping for the List Class Definitions

Table 3.2.9 UML/XSD Mapping for the Primitive Type Definitions

Table 3.4.1.1 XSD Description for the "assessmentResult" Root Element

Table 3.4.4.1 XSD Description for the "AssessmentResult.Type" Root ComplexType

Table XSD Description for the "context" Local Element Description

Table XSD Description for the "testResult" Local Element Description

Table XSD Description for the "itemResult" Local Element Description

Table 3.4.5.1 XSD Description for the "CandidateResponse.Type" Core Complex Type

Table XSD Description for the "value" Local Element

Table 3.4.5.2 XSD Description for the "Context.Type" Core Complex Type

Table XSD Description for the "sourcedId" Local Attribute

Table XSD Description for the "sessionIdentifier" Local Element

Table 3.4.5.3 XSD Description for the "CorrectResponse.Type" Core Complex Type

Table XSD Description for the "interpretation" Local Attribute

Table XSD Description for the "value" Local Element

Table 3.4.5.4 XSD Description for the "ItemResult.Type" Core Complex Type

Table XSD Description for the "identifier" Local Attribute

Table XSD Description for the "sequenceIndex" Local Attribute

Table XSD Description for the "datestamp" Local Attribute

Table XSD Description for the "sessionStatus" Local Attribute

Table XSD Description for the "responseVariable" Local Element

Table XSD Description for the "templateVariable" Local Element

Table XSD Description for the "outcomeVariable" Local Element

Table XSD Description for the "candidateComment" Local Element

Table 3.4.5.5 XSD Description for the "OutcomeVariable.Type" Core Complex Type

Table XSD Description for the "identifier" Local Attribute

Table XSD Description for the "cardinality" Local Attribute

Table XSD Description for the "baseType" Local Attribute

Table XSD Description for the "view" Local Attribute

Table XSD Description for the "interpretation" Local Attribute

Table XSD Description for the "longInterpretation" Local Attribute

Table XSD Description for the "normalMaximum" Local Attribute

Table XSD Description for the "normalMinimum" Local Attribute

Table XSD Description for the "masteryValue" Local Attribute

Table XSD Description for the "value" Local Element

Table 3.4.5.6 XSD Description for the "ResponseVariable.Type" Core Complex Type

Table XSD Description for the "identifier" Local Attribute

Table XSD Description for the "cardinality" Local Attribute

Table XSD Description for the "baseType" Local Attribute

Table XSD Description for the "choiceSequence" Local Attribute

Table XSD Description for the "correctResponse" Local Element

Table XSD Description for the "candidateResponse" Local Element

Table 3.4.5.7 XSD Description for the "TemplateVariable.Type" Core Complex Type

Table XSD Description for the "identifier" Local Attribute

Table XSD Description for the "cardinality" Local Attribute

Table XSD Description for the "baseType" Local Attribute

Table XSD Description for the "value" Local Element

Table 3.4.5.8 XSD Description for the "TestResult.Type" Core Complex Type

Table XSD Description for the "identifier" Local Attribute

Table XSD Description for the "datestamp" Local Attribute

Table XSD Description for the "responseVariable" Local Element

Table XSD Description for the "templateVariable" Local Element

Table XSD Description for the "outcomeVariable" Local Element

Table 3.4.6.1 XSD Description for the "SessionIdentifier.Type" Derived Complex Type

Table XSD Description for the "sourceID" Local Attribute

Table XSD Description for the "identifier" Local Attribute

Table 3.4.6.2 XSD Description for the "Value.Type" Derived Complex Type

Table XSD Description for the "fieldIdentifier" Local Attribute

Table XSD Description for the "baseType" Local Attribute

Table 3.4.7.1 XSD Description for the "DateTime.Type" Simple Type

Table 3.4.7.2 XSD Description for the "Identifier.Type" Simple Type

Table 3.4.7.3 XSD Description for the "IdentifierList.Type" Simple Type

Table 3.4.7.4 XSD Description for the "View.Type" Simple Type

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

Table B1.1 The key to the descriptions of UML to XSD attribute mapping tables

Table B1.2 The key to the descriptions of UML to XSD class mapping tables

Table B1.3 The key to the descriptions of UML to XSD enumerated and enumerated list class mapping tables

Table B1.4 The key to the descriptions of UML to XSD list class mapping table

Table B1.5 The key to the descriptions of UML to XSD primitive mapping table

Table B1.6 The key to the descriptions of XSD element tables

Table B1.7 The key to the descriptions of XSD complex type tables

Table B1.8 The key to the descriptions of XSD simple type tables

Table B1.9 The key to the descriptions of XSD attribute group tables

Table B1.10 The key to the descriptions of XSD attribute tables

Table B1.11 The key to the descriptions of VDEX vocabulary binding tables

toc | top

1. Introduction

1.1. Overview of QTI Results Reporting

This document is a part of the IMS Global Question and Test Interoperability (QTI) v2.2 specification. It introduces QTI Result Reporting for reporting the results of an assessment and 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 QTIv2.2 Assessment, Section and Item specification [QTI, 16a], this is not a pre-requisite for the use of this result reporting representation.

1.2. Scope and Context

The IMS QTI Result Reporting v2.2 is used in conjunction with the following documents:

This QTI Result Reporting v2.2 specification supersedes the QTI v2.1 versions. There have been no functional changes between the two versions with only the namespace and the XSD schema location being changed. The QTI Information Model is bound to an XML Schema Definition (XSD). This document and the accompanying XSD is generated using the IMS Binding Auto-generation Tool-kit (I-BAT) [I-BAT, 06].

1.3. Structure of this Document

The structure of the rest of this document is:

2. Information Model The Information Model description for the QTI Results Reporting. This description uses a profile of UML to represent the structure of the data model (see Appendix A1 for further details of the format of the information model description);
3. XSD Binding This is the description of the binding of the data model to XML and the corresponding XSD that is used to validate QTI Results Reporting instances. This description includes an explanation of the relationship between the UML representation and the XSD that is produced through transformation of that representation (see Appendix B1 for further details on the format of the description of the XSD);
4. 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;
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);
Appendix B XSD Binding Terms An overview of the concepts and the terms used by IMS to create theXSD-based bindings representations and the accompanying documentation. The XSD binding is auto-generated from the UML representation to ensure full consistency between the information model and binding;
Appendix C XSD Listing The listing of the QTI Results Reporting XSD that should be used to validate instances of the data exchange.

1.4. Nomenclature

ASI Assessment, Section and Item
DT Derived Type
I-BAT IMS Binding Auto-generation Toolkit
ISO International Standards Organization
PT Primitive Type
QTI Question and Test Interoperability
RFC Request For Comment
UML Unified Modeling Language
URI Uniform Resource Identifier
VDEX Vocabulary Definition Exchange
W3C World Wide Web Consortium
XML Exchange Markup Language
XOR Exclusive OR
XSD XML Schema Definition

1.5. References

[I-BAT, 06] IMS Binding Auto-generation Toolkit (I-BAT), Colin Smythe, IMS Global Learning Consortium Inc., July, 2006.
[ISO 11404] Information technology: General-Purpose Datatypes (GPD), ISO, International Standards Organization (ISO), December 2007, p.96.
[ISO 8601] ISO8601:2004 Data elements and interchange formats - Information interchange - Representation of dates and times, ISO, International Standards Organization (ISO), 2000, p.33.
[LIS, 13] IMS Learning Information Services Specification v2.0.1, Colin Smythe, IMS Global Learning Consortium Inc., September 2013, http://www.imsglobal.org/LIS/lisv2p0p1/LISSpecificationv2p0p1.html.
[QTI, 15b] IMS Question and Test Interoperability (QTI): Best Practices and Implementation Guide v2.2, Tom Hoffmann and Wilbert Kraan, IMS Global Learning Consortium Inc., September 2015, http://www.imsglobal.org/question/qtiv2p2/imsqti_v2p2_impl.html.
[QTI, 16a] IMS Question and Test Interoperability (QTI): Assessment, Section and Item (ASI) Information Model v2.2.1, Colin Smythe, Wilbert Kraan and Mark McKell, IMS Global Learning Consortium Inc., August 2016, http://www.imsglobal.org/question/qtiv2p2/QTIv2p2p1-ASI-InformationModelv1p0/imsqtiv2p2p1_asi_v1p0_InfoModelv1p0.html.
[RFC 2045] Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies, N. Freed and N. Borenstein, Internet Engineering Task Force, November 1996, https://www.ietf.org/rfc/rfc2045.txt.
[URI, 98] RFC 2396 Uniform Resource Identifiers (URI): Generic Syntax, T. Berners-Lee, R. Fielding and L. Masinter, Internet Engineering Task Force, August 1998, https://www.ietf.org/rfc/rfc2396.txt.
[VDEX, 04] IMS Vocabulary Definition Exchange Information Model v1.0, Adam Cooper, IMS Global Learning Consortium Inc., February 2004, http://www.imsglobal.org/vdex/vdexv1p0/imsvdex_infov1p0.html.
[XML, 00] Extensible Markup Language (XML), Version 1.0 (second edition), Tim Bray, Jean Paoli, C. M. Sperberg-McQueen and Eve Maler, World Wide Web Consortium, October 2000, http://www.w3.org/TR/2000/REC-xml-20001006.

toc | top

2. Information Model

2.1. Information Model Overview

The Information Model is described using a UML representation approach. The description consists of:

2.2. Root Attribute Description

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:

2.2.1 "assessmentResult" Root Attribute Description

The definition of the "assessmentResult" root attribute is shown in Table 2.2.1.

Table 2.2.1 Description of the "assessmentResult" root attribute.
Descriptor Definition
Attribute Name assessmentResult
Data Type AssessmentResult
Description This is the root object for exchanging assessment result data. An Assessment Result 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.

2.3. Root Class Description

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.

2.3.1 AssessmentResult Root Class Description

The data model for the "AssessmentResult" root class is shown in Figure 2.3.1 and the accompanying definition in Table 2.3.1.

UML diagram of the AssessmentResult class.

Figure 2.3.1 - AssessmentResult class definitions.

Table 2.3.1 Description of the "AssessmentResult" class.
Descriptor Definition
Class Name AssessmentResult
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 There are no characteristics.
Children The set of children attributes are:
Description This is the root class to contain the assessment result data. An Assessment Result 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.

2.3.1.1 "context" Attribute Description

The description of the "context" attribute for the "AssessmentResult" root class is given in Table 2.3.1.1.

Table 2.3.1.1 Description of the "context" attribute for the "AssessmentResult" root class.
Descriptor Definition
Attribute Name context
Data Type Context
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [1]
Description Contains the contextual information for the associated itemTest and itemResults. Contextual information must be supplied.

2.3.1.2 "testResult" Attribute Description

The description of the "testResult" attribute for the "AssessmentResult" root class is given in Table 2.3.1.2.

Table 2.3.1.2 Description of the "testResult" attribute for the "AssessmentResult" root class.
Descriptor Definition
Attribute Name testResult
Data Type TestResult
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0..1]
Description A summary report for a test is represented by an assessment result containing a testResult but no itemResults.

2.3.1.3 "itemResult" Attribute Description

The description of the "itemResult" attribute for the "AssessmentResult" root class is given in Table 2.3.1.3.

Table 2.3.1.3 Description of the "itemResult" attribute for the "AssessmentResult" root class.
Descriptor Definition
Attribute Name itemResult
Data Type ItemResult
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description When a test result is given the following item results must relate only to items that were selected for presentation as part of the corresponding test session. Furthermore, all items selected for presentation should be reported with a corresponding itemResult.

2.4. 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.

2.4.1 CandidateResponse Class Description

The data model for the "CandidateResponse" class is shown in Figure 2.4.1 and the accompanying definition in Table 2.4.1.

UML diagram of the CandidateResponse class.

Figure 2.4.1 - CandidateResponse class definitions.

Table 2.4.1 Description of the "CandidateResponse" class.
Descriptor Definition
Class Name CandidateResponse
Class Type Container [ Sequence ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description The response given by the candidate.

2.4.1.1 "value" Attribute Description

The description of the "value" attribute for the "CandidateResponse" class is given in Table 2.4.1.1.

Table 2.4.1.1 Description of the "value" attribute for the "CandidateResponse" class.
Descriptor Definition
Attribute Name value
Data Type Value
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The value(s) of the response variable. A NULL value, resulting from no response, is indicated by the absence of any value. The order of the values is significant only if the response was declared with ordered cardinality.

2.4.2 Context Class Description

The data model for the "Context" class is shown in Figure 2.4.2 and the accompanying definition in Table 2.4.2.

UML diagram of the Context class.

Figure 2.4.2 - Context class definitions.

Table 2.4.2 Description of the "Context" class.
Descriptor Definition
Class Name Context
Class Type Container [ Sequence ]
Parents The set of parent classes are:
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 This is the context for the 'assessmentResult'. It provides the corresponding set of identifiers.

2.4.2.1 "sourcedId" Characteristic Description

The description of the "sourcedId" characteristic for the "Context" class is given in Table 2.4.2.1.

Table 2.4.2.1 Description of the "sourcedId" characteristic for the "Context" class.
Descriptor Definition
Characteristic Name sourcedId
Data Type Identifier
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description A unique identifier for the test candidate. The attribute is defined by the IMS Learning Information Services specification [LIS, 13].

2.4.2.2 "sessionIdentifier" Attribute Description

The description of the "sessionIdentifier" attribute for the "Context" class is given in Table 2.4.2.2.

Table 2.4.2.2 Description of the "sessionIdentifier" attribute for the "Context" class.
Descriptor Definition
Attribute Name sessionIdentifier
Data Type SessionIdentifier
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The system that creates the result (for example, the test delivery system) should assign a session identifier that it can use to identify the session. Subsequent systems that process the result might assign their own identifier to the session which should be added to the context if the result is modified and exported for transport again.

2.4.3 CorrectResponse Class Description

The data model for the "CorrectResponse" class is shown in Figure 2.4.3 and the accompanying definition in Table 2.4.3.

UML diagram of the CorrectResponse class.

Figure 2.4.3 - CorrectResponse class definitions.

Table 2.4.3 Description of the "CorrectResponse" class.
Descriptor Definition
Class Name CorrectResponse
Class Type Container [ Sequence ]
Parents The set of parent classes are:
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 The correct response may be output as part of the report if desired. Systems are not limited to reporting correct responses declared in responseDeclarations. For example, a correct response may be set by a templateRule or may simply have been suppressed from the declaration passed to the delivery engine e.g. for security.

2.4.3.1 "interpretation" Characteristic Description

The description of the "interpretation" characteristic for the "CorrectResponse" class is given in Table 2.4.3.1.

Table 2.4.3.1 Description of the "interpretation" characteristic for the "CorrectResponse" 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 readable interpretation of the correct value.

2.4.3.2 "value" Attribute Description

The description of the "value" attribute for the "CorrectResponse" class is given in Table 2.4.3.2.

Table 2.4.3.2 Description of the "value" attribute for the "CorrectResponse" class.
Descriptor Definition
Attribute Name value
Data Type Value
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1.. unbounded]
Description The order of the values is signficant only when the response is of ordered cardinality.

2.4.4 ItemResult Class Description

The data model for the "ItemResult" class is shown in Figure 2.4.4 and the accompanying definition in Table 2.4.4.

UML diagram of the ItemResult class.

Figure 2.4.4 - ItemResult class definitions.

Table 2.4.4 Description of the "ItemResult" class.
Descriptor Definition
Class Name ItemResult
Class Type Container [ Sequence ]
Parents The set of parent classes are:
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 The result of an item session is reported with an itemResult. A report may contain multiple results for the same instance of an item representing multiple attempts, progression through an adaptive item or even more detailed tracking. In these cases, each item result must have a different datestamp.

2.4.4.1 "identifier" Characteristic Description

The description of the "identifier" characteristic for the "ItemResult" class is given in Table 2.4.4.1.

Table 2.4.4.1 Description of the "identifier" characteristic for the "ItemResult" class.
Descriptor Definition
Characteristic Name identifier
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A1.3.
Scope Local ("-")
Multiplicity [1]
Description The identifier of the item for which this is a result. For item results that are reported as part of a test result this is the identifier used to refer to the item in the test (see assessmentItemRef). For item results that are reported on their own, this can be any suitable identifier for the item. Where possible, the value should match the identifier attribute on the associated assessmentItem.

2.4.4.2 "sequenceIndex" Characteristic Description

The description of the "sequenceIndex" characteristic for the "ItemResult" class is given in Table 2.4.4.2.

Table 2.4.4.2 Description of the "sequenceIndex" characteristic for the "ItemResult" class.
Descriptor Definition
Characteristic Name sequenceIndex
Data Type Integer (Primitive-type)
Value Space See Appendix A1.3.
Scope Local ("-")
Multiplicity [0..1]
Description For item results that are reported as part of a test, this attribute must be used to indicate the position of the item within the specific instance of the test. The first item of the first part of the test is defined to have sequence index 1.

2.4.4.3 "datestamp" Characteristic Description

The description of the "datestamp" characteristic for the "ItemResult" class is given in Table 2.4.4.3.

Table 2.4.4.3 Description of the "datestamp" characteristic for the "ItemResult" class.
Descriptor Definition
Characteristic Name datestamp
Data Type DateTime
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description The date stamp of when this result was recorded.

2.4.4.4 "sessionStatus" Characteristic Description

The description of the "sessionStatus" characteristic for the "ItemResult" class is given in Table 2.4.4.4.

Table 2.4.4.4 Description of the "sessionStatus" characteristic for the "ItemResult" class.
Descriptor Definition
Characteristic Name sessionStatus
Data Type SessionStatus
Value Space Enumerated value set of: { final | initial | pendingResponseProcessing | pendingSubmission }
Scope Local ("-")
Multiplicity [1]
Description The session status is used to interpret the values of the item variables. See the sessionStatus vocabulary.

2.4.4.5 "itemVariable" Attribute Description

The description of the "itemVariable" attribute for the "ItemResult" class is given in Table 2.4.4.5.

Table 2.4.4.5 Description of the "itemVariable" attribute for the "ItemResult" class.
Descriptor Definition
Attribute Name itemVariable
Data Type ItemVariable
Value Space Abstract Container [ Selection ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description During the item session the delivery engine keeps track of the current values assigned to all itemVariables. The values include the values of the built-in variables numAttempts, duration and completionStatus. Each value is represented in the report by an instance of itemVariable.

2.4.4.6 "candidateComment" Attribute Description

The description of the "candidateComment" attribute for the "ItemResult" class is given in Table 2.4.4.6.

Table 2.4.4.6 Description of the "candidateComment" attribute for the "ItemResult" class.
Descriptor Definition
Attribute Name candidateComment
Data Type String (Primitive-type)
Value Space See Appendix A1.3.
Scope Local ("-")
Multiplicity [0..1]
Description An optional comment supplied by the candidate (see the allowComment in the ASI documentation [QTI, 15a]).

2.4.5 OutcomeVariable Class Description

The data model for the "OutcomeVariable" class is shown in Figure 2.4.5 and the accompanying definition in Table 2.4.5.

UML diagram of the OutcomeVariable class.

Figure 2.4.5 - OutcomeVariable class definitions.

Table 2.4.5 Description of the "OutcomeVariable" class.
Descriptor Definition
Class Name OutcomeVariable
Class Type Container [ Sequence ]
Parents The set of parent classes are:
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 The Item result information related to an 'Outcome Variable'.

2.4.5.1 "identifier" Characteristic Description

The description of the "identifier" characteristic for the "OutcomeVariable" class is given in Table 2.4.5.1.

Table 2.4.5.1 Description of the "identifier" characteristic for the "OutcomeVariable" class.
Descriptor Definition
Characteristic Name identifier
Data Type Identifier
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description The identifier of the Outcome Variable.

2.4.5.2 "cardinality" Characteristic Description

The description of the "cardinality" characteristic for the "OutcomeVariable" class is given in Table 2.4.5.2.

Table 2.4.5.2 Description of the "cardinality" characteristic for the "OutcomeVariable" class.
Descriptor Definition
Characteristic Name cardinality
Data Type Cardinality
Value Space Enumerated value set of: { multiple | ordered | record | single }
Scope Local ("-")
Multiplicity [1]
Description The cardinality of the Outcome Variable, taken from the corresponding declaration or definition.

2.4.5.3 "baseType" Characteristic Description

The description of the "baseType" characteristic for the "OutcomeVariable" class is given in Table 2.4.5.3.

Table 2.4.5.3 Description of the "baseType" characteristic for the "OutcomeVariable" class.
Descriptor Definition
Characteristic Name baseType
Data Type BaseType
Value Space Enumerated value set of: { boolean | directedPair | duration | file | float | identifier | integer | pair | point | string | uri }
Scope Local ("-")
Multiplicity [0..1]
Description The base type of the Outcome Variable, taken from the corresponding declaration of definition. This value is omitted only for variables with record cardinality.

2.4.5.4 "view" Characteristic Description

The description of the "view" characteristic for the "OutcomeVariable" class is given in Table 2.4.5.4.

Table 2.4.5.4 Description of the "view" characteristic for the "OutcomeVariable" class.
Descriptor Definition
Characteristic Name view
Data Type View
Value Space A list from an enumerated value set of: { author | candidate | proctor | scorer | testConstructor | tutor }
Scope Local ("-")
Multiplicity [0..1]
Description The views (if any) declared for the outcome must be copied to the report to enable systems that render the report to hide information not relevant in a specific situation. If no values are given, the outcome's value should be considered relevant in all views.

2.4.5.5 "interpretation" Characteristic Description

The description of the "interpretation" characteristic for the "OutcomeVariable" class is given in Table 2.4.5.5.

Table 2.4.5.5 Description of the "interpretation" characteristic for the "OutcomeVariable" 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 readable interpretation of the default value.

2.4.5.6 "longInterpretation" Characteristic Description

The description of the "longInterpretation" characteristic for the "OutcomeVariable" class is given in Table 2.4.5.6.

Table 2.4.5.6 Description of the "longInterpretation" characteristic for the "OutcomeVariable" class.
Descriptor Definition
Characteristic Name longInterpretation
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.

2.4.5.7 "normalMaximum" Characteristic Description

The description of the "normalMaximum" characteristic for the "OutcomeVariable" class is given in Table 2.4.5.7.

Table 2.4.5.7 Description of the "normalMaximum" characteristic for the "OutcomeVariable" class.
Descriptor Definition
Characteristic Name normalMaximum
Data Type Double (Primitive-type)
Value Space See Appendix A1.3.
Scope Local ("-")
Multiplicity [0..1]
Description The normalMaximum attribute 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.

2.4.5.8 "normalMinimum" Characteristic Description

The description of the "normalMinimum" characteristic for the "OutcomeVariable" class is given in Table 2.4.5.8.

Table 2.4.5.8 Description of the "normalMinimum" characteristic for the "OutcomeVariable" class.
Descriptor Definition
Characteristic Name normalMinimum
Data Type Double (Primitive-type)
Value Space See Appendix A1.3.
Scope Local ("-")
Multiplicity [0..1]
Description The normalMinimum attribute optionally defines the minimum value of numeric outcome variables, it may be negative.

2.4.5.9 "masteryValue" Characteristic Description

The description of the "masteryValue" characteristic for the "OutcomeVariable" class is given in Table 2.4.5.9.

Table 2.4.5.9 Description of the "masteryValue" characteristic for the "OutcomeVariable" class.
Descriptor Definition
Characteristic Name masteryValue
Data Type Double (Primitive-type)
Value Space See Appendix A1.3.
Scope Local ("-")
Multiplicity [0..1]
Description The masteryValue attribute optionally defines a value for numeric outcome variables above which the aspect being measured is considered to have been mastered by the candidate.

2.4.5.10 "value" Attribute Description

The description of the "value" attribute for the "OutcomeVariable" class is given in Table 2.4.5.10.

Table 2.4.5.10 Description of the "value" attribute for the "OutcomeVariable" class.
Descriptor Definition
Attribute Name value
Data Type Value
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The value(s) of the outcome variable. The order of the values is significant only if the outcome was declared with ordered cardinality.

2.4.6 ResponseVariable Class Description

The data model for the "ResponseVariable" class is shown in Figure 2.4.6 and the accompanying definition in Table 2.4.6.

UML diagram of the ResponseVariable class.

Figure 2.4.6 - ResponseVariable class definitions.

Table 2.4.6 Description of the "ResponseVariable" class.
Descriptor Definition
Class Name ResponseVariable
Class Type Container [ Sequence ]
Parents The set of parent classes are:
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 The Item result information related to a 'Response Variable'.

2.4.6.1 "identifier" Characteristic Description

The description of the "identifier" characteristic for the "ResponseVariable" class is given in Table 2.4.6.1.

Table 2.4.6.1 Description of the "identifier" characteristic for the "ResponseVariable" class.
Descriptor Definition
Characteristic Name identifier
Data Type Identifier
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description The identifier of the Response Variable.

2.4.6.2 "cardinality" Characteristic Description

The description of the "cardinality" characteristic for the "ResponseVariable" class is given in Table 2.4.6.2.

Table 2.4.6.2 Description of the "cardinality" characteristic for the "ResponseVariable" class.
Descriptor Definition
Characteristic Name cardinality
Data Type Cardinality
Value Space Enumerated value set of: { multiple | ordered | record | single }
Scope Local ("-")
Multiplicity [1]
Description The cardinality of the Response Variable, taken from the corresponding declaration or definition.

2.4.6.3 "baseType" Characteristic Description

The description of the "baseType" characteristic for the "ResponseVariable" class is given in Table 2.4.6.3.

Table 2.4.6.3 Description of the "baseType" characteristic for the "ResponseVariable" class.
Descriptor Definition
Characteristic Name baseType
Data Type BaseType
Value Space Enumerated value set of: { boolean | directedPair | duration | file | float | identifier | integer | pair | point | string | uri }
Scope Local ("-")
Multiplicity [0..1]
Description The base type of the Response Variable, taken from the corresponding declaration of definition. This value is omitted only for variables with record cardinality.

2.4.6.4 "choiceSequence" Characteristic Description

The description of the "choiceSequence" characteristic for the "ResponseVariable" class is given in Table 2.4.6.4.

Table 2.4.6.4 Description of the "choiceSequence" characteristic for the "ResponseVariable" class.
Descriptor Definition
Characteristic Name choiceSequence
Data Type IdentifierList
Value Space The list consist of values of data-type(s): NCName (Primitive-type)
Scope Local ("-")
Multiplicity [0..1]
Description When a response variable is bound to an interaction that supports the shuffling of choices, the sequence of choices experienced by the candidate will vary between test instances. When shuffling is in effect, the sequence of choices should be reported as a sequence of choice identifiers using this attribute.

2.4.6.5 "correctResponse" Attribute Description

The description of the "correctResponse" attribute for the "ResponseVariable" class is given in Table 2.4.6.5.

Table 2.4.6.5 Description of the "correctResponse" attribute for the "ResponseVariable" class.
Descriptor Definition
Attribute Name correctResponse
Data Type CorrectResponse
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0..1]
Description The correct response may be output as part of the report if desired. Systems are not limited to reporting correct responses declared in responseDeclarations. For example, a correct response may be set by a templateRule or may simply have been suppressed from the declaration passed to the delivery engine e.g. for security.

2.4.6.6 "candidateResponse" Attribute Description

The description of the "candidateResponse" attribute for the "ResponseVariable" class is given in Table 2.4.6.6.

Table 2.4.6.6 Description of the "candidateResponse" attribute for the "ResponseVariable" class.
Descriptor Definition
Attribute Name candidateResponse
Data Type CandidateResponse
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [1]
Description The response given by the candidate.

2.4.7 TemplateVariable Class Description

The data model for the "TemplateVariable" class is shown in Figure 2.4.7 and the accompanying definition in Table 2.4.7.

UML diagram of the TemplateVariable class.

Figure 2.4.7 - TemplateVariable class definitions.

Table 2.4.7 Description of the "TemplateVariable" class.
Descriptor Definition
Class Name TemplateVariable
Class Type Container [ Sequence ]
Parents The set of parent classes are:
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 The Item result information related to a 'Template Variable'.

2.4.7.1 "identifier" Characteristic Description

The description of the "identifier" characteristic for the "TemplateVariable" class is given in Table 2.4.7.1.

Table 2.4.7.1 Description of the "identifier" characteristic for the "TemplateVariable" class.
Descriptor Definition
Characteristic Name identifier
Data Type Identifier
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description The identifier of the Template Variable.

2.4.7.2 "cardinality" Characteristic Description

The description of the "cardinality" characteristic for the "TemplateVariable" class is given in Table 2.4.7.2.

Table 2.4.7.2 Description of the "cardinality" characteristic for the "TemplateVariable" class.
Descriptor Definition
Characteristic Name cardinality
Data Type Cardinality
Value Space Enumerated value set of: { multiple | ordered | record | single }
Scope Local ("-")
Multiplicity [1]
Description The cardinality of the Template Variable, taken from the corresponding declaration or definition.

2.4.7.3 "baseType" Characteristic Description

The description of the "baseType" characteristic for the "TemplateVariable" class is given in Table 2.4.7.3.

Table 2.4.7.3 Description of the "baseType" characteristic for the "TemplateVariable" class.
Descriptor Definition
Characteristic Name baseType
Data Type BaseType
Value Space Enumerated value set of: { boolean | directedPair | duration | file | float | identifier | integer | pair | point | string | uri }
Scope Local ("-")
Multiplicity [0..1]
Description The base type of the Template Variable, taken from the corresponding declaration of definition. This value is omitted only for variables with record cardinality.

2.4.7.4 "value" Attribute Description

The description of the "value" attribute for the "TemplateVariable" class is given in Table 2.4.7.4.

Table 2.4.7.4 Description of the "value" attribute for the "TemplateVariable" class.
Descriptor Definition
Attribute Name value
Data Type Value
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The value(s) of the template variable. The order of the values is significant only if the template variable was declared with ordered cardinality.

2.4.8 TestResult Class Description

The data model for the "TestResult" class is shown in Figure 2.4.8 and the accompanying definition in Table 2.4.8.

UML diagram of the TestResult class.

Figure 2.4.8 - TestResult class definitions.

Table 2.4.8 Description of the "TestResult" class.
Descriptor Definition
Class Name TestResult
Class Type Container [ Sequence ]
Parents The set of parent classes are:
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 The container for the Test result. When a test result is given the following item results must relate only to items that were selected for presentation as part of the corresponding test session. Furthermore, all items selected for presentation should be reported with a corresponding itemResult.

2.4.8.1 "identifier" Characteristic Description

The description of the "identifier" characteristic for the "TestResult" class is given in Table 2.4.8.1.

Table 2.4.8.1 Description of the "identifier" characteristic for the "TestResult" class.
Descriptor Definition
Characteristic Name identifier
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A1.3.
Scope Local ("-")
Multiplicity [1]
Description The identifier of the test for which this is a result.

2.4.8.2 "datestamp" Characteristic Description

The description of the "datestamp" characteristic for the "TestResult" class is given in Table 2.4.8.2.

Table 2.4.8.2 Description of the "datestamp" characteristic for the "TestResult" class.
Descriptor Definition
Characteristic Name datestamp
Data Type DateTime
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [1]
Description The date stamp of when this result was recorded.

2.4.8.3 "itemVariable" Attribute Description

The description of the "itemVariable" attribute for the "TestResult" class is given in Table 2.4.8.3.

Table 2.4.8.3 Description of the "itemVariable" attribute for the "TestResult" class.
Descriptor Definition
Attribute Name itemVariable
Data Type ItemVariable
Value Space Abstract Container [ Selection ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description The values of the test outcomes and any durations that were tracked during the test. Note that durations are reported as built-in test-level response variables with name duration. The duration of individual test parts or sections being distinguished by prefixing them with the associated identifier as described in Assessment Test, Section and Item Information Model. This is an abstract attribute and so a child named 'itemVariable' will not appear in an instance.

2.5. Abstract Class Descriptions

All of the abstract 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.

2.5.1 ItemVariable Class Description

The data model for the "ItemVariable" class is shown in Figure 2.5.1 and the accompanying definition in Table 2.5.1

UML diagram of the ItemVariable class.

Figure 2.5.1 - ItemVariable class definitions.

Table 2.5.1 Description of the "ItemVariable" class.
Descriptor Definition
Class Name ItemVariable
Class Type Abstract Container [ Selection ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description The values of the test outcomes and any durations that were tracked during the test. Note that durations are reported as built-in test-level response variables with name duration. The duration of individual test parts or sections being distinguished by prefixing them with the associated identifier as described in Assessment Test, Section and Item Information Model. This is an abstract class that creates a selection of either an 'oucomeVariable', 'responseVariable' or 'templateVariable'.

2.5.1.1 "responseVariable" Attribute Description

The description of the "responseVariable" attribute for the "ItemVariable" class is given in Table 2.5.1.1.

Table 2.5.1.1 Description of the "responseVariable" attribute for the "ItemVariable" class.
Descriptor Definition
Attribute Name responseVariable
Data Type ResponseVariable
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [1]
Description Indicates that a Response Variable is being reported. This is the value of one of the responses associated with an Item in the corresponding ASI instance.

2.5.1.2 "templateVariable" Attribute Description

The description of the "templateVariable" attribute for the "ItemVariable" class is given in Table 2.5.1.2.

Table 2.5.1.2 Description of the "templateVariable" attribute for the "ItemVariable" class.
Descriptor Definition
Attribute Name templateVariable
Data Type TemplateVariable
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [1]
Description Indicates that a Template Variable is being reported. This is the value of one of the template variables associated with an Item in the corresponding ASI instance.

2.5.1.3 "outcomeVariable" Attribute Description

The description of the "outcomeVariable" attribute for the "ItemVariable" class is given in Table 2.5.1.3.

Table 2.5.1.3 Description of the "outcomeVariable" attribute for the "ItemVariable" class.
Descriptor Definition
Attribute Name outcomeVariable
Data Type OutcomeVariable
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [1]
Description Indicates that an Outcome Variable is being reported. This is the value of one of the outcomes associated with either an Item or Test and defined in the corresponding ASI instance.

2.6. Derived Class Descriptions

All of the derived 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.

2.6.1 DateTime Class Description

The data model for the "DateTime" class is shown in Figure 2.6.1 and the accompanying definition in Table 2.6.1.

UML diagram of the DateTime class.

Figure 2.6.1 - DateTime class definitions.

Table 2.6.1 Description of the "DateTime" class.
Descriptor Definition
Class Name DateTime
Class Type Container [ DerivedType ]
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 There are no characteristics.
Children The set of children attributes are:
Description A fully-specified calendar date and time from the reference system defined in [ISO 8601]. Valid years range from 0000-9999.

2.6.1.1 "pattern" Attribute Description

The description of the "pattern" attribute for the "DateTime" class is given in Table 2.6.1.

Table 2.6.1 Description of the "pattern" attribute for the "DateTime" class.
Descriptor Definition
Attribute Name pattern
Data Type String (Primitive-type)
Value Space See Appendix A1.3.
Default = "[0-9]{4}.*".
Scope Local ("-")
Multiplicity [1]
Description Ensures the year value is in the range 0000-9999.

2.6.2 Identifier Class Description

The data model for the "Identifier" class is shown in Figure 2.6.2 and the accompanying definition in Table 2.6.2.

UML diagram of the Identifier class.

Figure 2.6.2 - Identifier class definitions.

Table 2.6.2 Description of the "Identifier" class.
Descriptor Definition
Class Name Identifier
Class Type Container [ DerivedType ]
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 There are no characteristics.
Children There are no children.
Description An identifier is simply a logical reference to another object in the item, such as an itemVariable or choice. An 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.

2.6.3 SessionIdentifier Class Description

The data model for the "SessionIdentifier" class is shown in Figure 2.6.3 and the accompanying definition in Table 2.6.3.

UML diagram of the SessionIdentifier class.

Figure 2.6.3 - SessionIdentifier class definitions.

Table 2.6.3 Description of the "SessionIdentifier" class.
Descriptor Definition
Class Name SessionIdentifier
Class Type Container [ DerivedType ]
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:
Children There are no children.
Description The system that creates the result (for example, the test delivery system) should assign a session identifier that it can use to identify the session.

2.6.3.1 "sourceID" Characteristic Description

The description of the "sourceID" characteristic for the "SessionIdentifier" class is given in Table 2.6.3.1.

Table 2.6.3.1 Description of the "sourceID" characteristic for the "SessionIdentifier" class.
Descriptor Definition
Characteristic Name sourceID
Data Type AnyURI (Primitive-type)
Value Space See Appendix A1.3.
Scope Local ("-")
Multiplicity [1]
Description A unique identifier of the system which added this identifier to the result.

2.6.3.2 "identifier" Characteristic Description

The description of the "identifier" characteristic for the "SessionIdentifier" class is given in Table 2.6.3.2.

Table 2.6.3.2 Description of the "identifier" characteristic for the "SessionIdentifier" class.
Descriptor Definition
Characteristic Name identifier
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A1.3.
Scope Local ("-")
Multiplicity [1]
Description The system that creates the report should add a session identifier. Subsequent systems that process the results might use their own identifier for the session and should add this too if the result is exported again for further transport.

2.6.4 Value Class Description

The data model for the "Value" class is shown in Figure 2.6.4 and the accompanying definition in Table 2.6.4.

UML diagram of the Value class.

Figure 2.6.4 - Value class definitions.

Table 2.6.4 Description of the "Value" class.
Descriptor Definition
Class Name Value
Class Type Container [ DerivedType ]
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:
Children There are no children.
Description A class that can represent a single value of any baseType in variable declarations and result reports. The base-type is defined by the baseType attribute of the declaration except in the case of variables with record cardinality.

2.6.4.1 "fieldIdentifier" Characteristic Description

The description of the "fieldIdentifier" characteristic for the "Value" class is given in Table 2.6.4.1.

Table 2.6.4.1 Description of the "fieldIdentifier" characteristic for the "Value" class.
Descriptor Definition
Characteristic Name fieldIdentifier
Data Type Identifier
Value Space Container [ DerivedType ]
Scope Local ("-")
Multiplicity [0..1]
Description This attribute is only used for specifying the field identifier for a value that forms part of a record.

2.6.4.2 "baseType" Characteristic Description

The description of the "baseType" characteristic for the "Value" class is given in Table 2.6.4.2.

Table 2.6.4.2 Description of the "baseType" characteristic for the "Value" class.
Descriptor Definition
Characteristic Name baseType
Data Type BaseType
Value Space Enumerated value set of: { boolean | directedPair | duration | file | float | identifier | integer | pair | point | string | uri }
Scope Local ("-")
Multiplicity [0..1]
Description This attribute is only used for specifying the base-type of a value that forms part of a record.

2.7. Enumerated Vocabulary Descriptions

All of the enumerated vocabularies used within this Information Model are described in this Section. The syntax and semantics for this representation is described in Appendix A1.4.

2.7.1 BaseType Vocabulary Description

A base-type is simply a description of a set of atomic values (atomic to this specification). Note that several of the baseTypes used to define the runtime data model have identical definitions to those of the basic data types used to define the values for attributes in the specification itself. The use of an enumeration to define the set of baseTypes used in the runtime model, as opposed to the use of classes with similar names, is designed to help distinguish between these two distinct levels of modelling. The data model for the "BaseType" enumerated class is shown in Figure 2.7.1 and the accompanying vocabulary definition in Table 2.7.1.

UML diagram of the BaseType class.

Figure 2.7.1 - BaseType class definitions.

Table 2.7.1 Description of the "BaseType" enumerated vocabulary terms.
Term Definition
boolean The set of boolean values is the same as the set of values defined by the boolean primitveType.
directedPair A directedPair value represents a pair of identifiers corresponding to a directed association between two objects. The two identifiers correspond to the source and destination objects.
duration A duration value specifies a distance (in time) between two time points. In other words, a time period as defined by [ISO 8601], but represented as a single float that records time in seconds. Durations may have a fractional part. Durations are represented using the xsd:double datatype rather than xsd:dateTime for convenience and backward compatibility.
file A file value is any sequence of octets (bytes) qualified by a content-type and an optional filename given to the file (for example, by the candidate when uploading it as part of an interaction). The content type of the file is one of the MIME types defined by [RFC 2045].
float The set of float values is the same as the set of values defined by the float primitiveType.
identifier The set of identifier values is the same as the set of values defined by the identifier class.
integer The set of integer values is the same as the set of values defined by the integer primitiveType.
pair A pair value represents a pair of identifiers corresponding to an association between two objects. The association is undirected so (A,B) and (B,A) are equivalent.
point A point value represents an integer tuple corresponding to a graphic point. The two integers correspond to the horizontal (x-axis) and vertical (y-axis) positions respectively. The up/down and left/right senses of the axes are context dependent.
string The set of string values is the same as the set of values defined by the string primitiveType.
uri A URI value is a Uniform Resource Identifier as defined by [URI, 98].

2.7.2 Cardinality Vocabulary Description

An expression or itemVariable can either be single-valued or multi-valued. A multi-valued expression (or variable) is called a container. A container contains a list of values, this list may be empty in which case it is treated as NULL. All the values in a multiple or ordered container are drawn from the same value set, however, containers may contain multiple occurrences of the same value. In other words, [A,B,B,C] is an acceptable value for a container. A container with cardinality multiple and value [A,B,C] is equivalent to a similar one with value [C,B,A] whereas these two values would be considered distinct for containers with cardinality ordered. When used as the value of a response variable this distinction is typified by the difference between selecting choices in a multi-response multi-choice task and ranking choices in an order objects task. In the language of [ISO 11404] a container with multiple cardinality is a "bag-type", a container with ordered cardinality is a "sequence-type" and a container with record cardinality is a "record-type". The record container type is a special container that contains a set of independent values each identified by its own identifier and having its own base-type. This specification does not make use of the record type directly however it is provided to enable customInteractions to manipulate more complex responses and customOperators to return more complex values, in addition to the use for detailed information about numeric responses described in the stringInteraction abstract class.The data model for the "Cardinality" enumerated class is shown in Figure 2.7.2 and the accompanying vocabulary definition in Table 2.7.2.

UML diagram of the Cardinality class.

Figure 2.7.2 - Cardinality class definitions.

Table 2.7.2 Description of the "Cardinality" enumerated vocabulary terms.
Term Definition
multiple A multi-valued expression (or variable) is called a container. A container contains a list of values, this list may be empty in which case it is treated as NULL. All the values in a multiple or ordered container are drawn from the same value set, however, containers may contain multiple occurrences of the same value. In other words, [A,B,B,C] is an acceptable value for a container.
ordered A ordered valued expression (or variable) is also a container but ordered. A container contains a list of values, this list may be empty in which case it is treated as NULL. All the values in an ordered container are drawn from the same value set, however, containers may contain multiple occurrences of the same value.
record The record container type is a special container that contains a set of independent values each identified by its own identifier and having its own base-type. This specification does not make use of the record type directly however it is provided to enable customInteractions to manipulate more complex responses and customOperators to return more complex values, in addition to the use for detailed information about numeric responses described in the stringInteraction abstract class.
single An expression or itemVariable that is single-valued.

2.7.3 SessionStatus Vocabulary Description

The session status is used to keep track of the status of the item variables in an item session.The data model for the "SessionStatus" enumerated class is shown in Figure 2.7.3 and the accompanying vocabulary definition in Table 2.7.3.

UML diagram of the SessionStatus class.

Figure 2.7.3 - SessionStatus class definitions.

Table 2.7.3 Description of the "SessionStatus" enumerated vocabulary terms.
Term Definition
final The value to use when the item variables represent the values at the end of an attempt after response processing has taken place. In other words, after the outcome values have been updated to reflect the values of the response variables.
initial The value to use for sessions in the initial state, as described above. This value can only be used to describe sessions for which the response variable numAttempts is 0. The values of the variables are set according to the rules defined in the appropriate declarations (see responseDeclaration, outcomeDeclaration and templateDeclaration).
pendingResponseProcessing The value to use when the item variables represent the values of the response variables after submission but before response processing has taken place. Again, the outcomes are those assigned at the end of the previous attempt as they are awaiting response processing.
pendingSubmission The value to use when the item variables represent a snapshot of the current values during an attempt (in other words, while interacting or suspended). The values of the response variables represent work in progress that has not yet been submitted for response processing by the candidate. The values of the outcome variables represent the values assigned during response processing at the end of the previous attempt or, in the case of the first attempt, the default values given in the variable declarations.

2.8. List Class Descriptions

The set of list classes used within this Information Model are described in this Section. The syntax and semantics for this representation is described in Appendix A1.2.

2.8.1 IdentifierList Class Description

The data model for the "IdentifierList" class is shown in Figure 2.8.1 and the accompanying definition in Table 2.8.1.

UML diagram of the IdentifierList class.

Figure 2.8.1 - IdentifierList class definitions.

Table 2.8.1 Description of the "IdentifierList" class.
Descriptor Definition
Class Name IdentifierList
Class Type Container [ List ]
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 There are no characteristics.
Children There are no children.
Description This denotes a list of identifiers. The identifiers are separated by a space. An identifier is simply a logical reference to another object in the item, section or assessment. An 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.

2.9. Enumerated Vocabulary List Descriptions

All of the enumerated list used within this Information Model are described in this Section. The syntax and semantics for this representation is described in Appendix A1.4.

2.9.1 View Vocabulary Description

The intended audience for the associated object can be set with the view attribute. If no view is specified the outcome is treated as relevant to all views. Objects may have content that is 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. Where more than one class of user should be able to view the content the view attribute should contain a comma delimited list. The data model for the "View" enumerated list class is shown in Figure 2.9.1 and the accompanying vocabulary definition in Table 2.9.1.

UML diagram of the View enumeration list class.

Figure 2.9.1 - View class definitions.

Table 2.9.1 Description of the "View" enumerated list vocabulary terms.
Term Definition
author Viewable by an 'author'.
candidate Viewable by a 'candidate'.
proctor Viewable by a 'proctor' (sometimes referred to as an 'invigilator'.
scorer Viewable by a 'scorer'.
testConstructor Viewable by a 'testConstructor'.
tutor Viewable by a 'tutor'.

toc | top

3. XSD Binding

3.1. XSD Binding Overview

The XSD binding is described using a set of tables derived from the UML representation and a set of XML code snippets. The binding description consists of:

An explanation of the structure and terms used XSD binding tables is given in Appendix B.

3.2. UML to XML/XSD Mapping

3.2.1 Root Attribute UML/XSD Mapping

The UML/XSD Mapping for the UML Root Attributes to the XSD Root Elements is given in Table 3.2.1. The syntax and semantics for this representation is described in Appendix B1.1.

Table 3.2.1 UML/XSD Mapping for the Root Attributes.
Attribute Name UML Class XSD Name XSD Type XSD Data Type
assessmentResult AssessmentResult assessmentResult Element AssessmentResult.Type

3.2.2 Root Class UML/XSD Mapping

The syntax and semantics for the Root Class UML/XSD mapping representations is described in Appendix B1.2.

3.2.2.1 AssessmentResult Root Class Mapping

The UML/XSD Mapping for the "AssessmentResult" Root Class is given in Table 3.2.2.1.

Table 3.2.2.1 UML/XSD Mapping for the "AssessmentResult" Root Class.
Information Model Details XSD Binding Details
Name UML Artefact Data Type Multiplicity Name Type
AssessmentResult Root Container [ Sequence ] - N/A - AssessmentResult.Type ComplexType
  • context
Attribute Context [1] context Element (Local)
  • testResult
Attribute TestResult [0..1] testResult Element (Local)
  • itemResult
Attribute ItemResult [0.. *] itemResult Element (Local)

3.2.3 Class UML/XSD Mapping

The syntax and semantics for the Data Class UML/XSD mapping representations is described in Appendix B1.2.

3.2.3.1 CandidateResponse Class Mapping

The UML/XSD Mapping for the "CandidateResponse" Class is given in Table 3.2.3.1.

Table 3.2.3.1 UML/XSD Mapping for the "CandidateResponse" Core Class.
Information Model Details XSD Binding Details
Name UML Artefact Data Type Multiplicity Name Type
CandidateResponse Core Container [ Sequence ] - N/A - CandidateResponse.Type ComplexType
  • value
Attribute DT: Value (PT: NormalizedString) [0.. *] value Element (Local)

3.2.3.2 Context Class Mapping

The UML/XSD Mapping for the "Context" Class is given in Table 3.2.3.2.

Table 3.2.3.2 UML/XSD Mapping for the "Context" Core Class.
Information Model Details XSD Binding Details
Name UML Artefact Data Type Multiplicity Name Type
Context Core Container [ Sequence ] - N/A - Context.Type ComplexType
  • sourcedId
Characteristic DT: Identifier (PT: NCName) [0..1] sourcedId Attribute (Local)
  • sessionIdentifier
Attribute DT: SessionIdentifier (PT: Empty) [0.. *] sessionIdentifier Element (Local)

3.2.3.3 CorrectResponse Class Mapping

The UML/XSD Mapping for the "CorrectResponse" Class is given in Table 3.2.3.3.

Table 3.2.3.3 UML/XSD Mapping for the "CorrectResponse" Core Class.
Information Model Details XSD Binding Details
Name UML Artefact Data Type Multiplicity Name Type
CorrectResponse Core Container [ Sequence ] - N/A - CorrectResponse.Type ComplexType
  • interpretation
Characteristic PT: String [0..1] interpretation Attribute (Local)
  • value
Attribute DT: Value (PT: NormalizedString) [1.. *] value Element (Local)

3.2.3.4 ItemResult Class Mapping

The UML/XSD Mapping for the "ItemResult" Class is given in Table 3.2.3.4.

Table 3.2.3.4 UML/XSD Mapping for the "ItemResult" Core Class.
Information Model Details XSD Binding Details
Name UML Artefact Data Type Multiplicity Name Type
ItemResult Core Container [ Sequence ] - N/A - ItemResult.Type ComplexType
  • identifier
Characteristic PT: NormalizedString [1] identifier Attribute (Local)
  • sequenceIndex
Characteristic PT: Integer [0..1] sequenceIndex Attribute (Local)
  • datestamp
Characteristic DT: DateTime (PT: DateTime) [1] datestamp Attribute (Local)
  • sessionStatus
Characteristic [ Enumeration (SessionStatus) ] [1] sessionStatus Attribute (Local)
  • responseVariable
Attribute ResponseVariable XOR [0.. *]
[1]
responseVariable Element (Local)
  • templateVariable
Attribute TemplateVariable XOR [0.. *]
[1]
templateVariable Element (Local)
  • outcomeVariable
Attribute OutcomeVariable XOR [0.. *]
[1]
outcomeVariable Element (Local)
  • candidateComment
Attribute PT: String [0..1] candidateComment Element (Local)

3.2.3.5 OutcomeVariable Class Mapping

The UML/XSD Mapping for the "OutcomeVariable" Class is given in Table 3.2.3.5.

Table 3.2.3.5 UML/XSD Mapping for the "OutcomeVariable" Core Class.
Information Model Details XSD Binding Details
Name UML Artefact Data Type Multiplicity Name Type
OutcomeVariable Core Container [ Sequence ] - N/A - OutcomeVariable.Type ComplexType
  • identifier
Characteristic DT: Identifier (PT: NCName) [1] identifier Attribute (Local)
  • cardinality
Characteristic [ Enumeration (Cardinality) ] [1] cardinality Attribute (Local)
  • baseType
Characteristic [ Enumeration (BaseType) ] [0..1] baseType Attribute (Local)
  • view
Characteristic [ Enumeration List (View) ] [0..1] view Attribute (Local)
  • interpretation
Characteristic PT: String [0..1] interpretation Attribute (Local)
  • longInterpretation
Characteristic PT: AnyURI [0..1] longInterpretation Attribute (Local)
  • normalMaximum
Characteristic PT: Double [0..1] normalMaximum Attribute (Local)
  • normalMinimum
Characteristic PT: Double [0..1] normalMinimum Attribute (Local)
  • masteryValue
Characteristic PT: Double [0..1] masteryValue Attribute (Local)
  • value
Attribute DT: Value (PT: NormalizedString) [0.. *] value Element (Local)

3.2.3.6 ResponseVariable Class Mapping

The UML/XSD Mapping for the "ResponseVariable" Class is given in Table 3.2.3.6.

Table 3.2.3.6 UML/XSD Mapping for the "ResponseVariable" Core Class.
Information Model Details XSD Binding Details
Name UML Artefact Data Type Multiplicity Name Type
ResponseVariable Core Container [ Sequence ] - N/A - ResponseVariable.Type ComplexType
  • identifier
Characteristic DT: Identifier (PT: NCName) [1] identifier Attribute (Local)
  • cardinality
Characteristic [ Enumeration (Cardinality) ] [1] cardinality Attribute (Local)
  • baseType
Characteristic [ Enumeration (BaseType) ] [0..1] baseType Attribute (Local)
  • choiceSequence
Characteristic [ List (IdentifierList) ] [0..1] choiceSequence Attribute (Local)
  • correctResponse
Attribute CorrectResponse [0..1] correctResponse Element (Local)
  • candidateResponse
Attribute CandidateResponse [1] candidateResponse Element (Local)

3.2.3.7 TemplateVariable Class Mapping

The UML/XSD Mapping for the "TemplateVariable" Class is given in Table 3.2.3.7.

Table 3.2.3.7 UML/XSD Mapping for the "TemplateVariable" Core Class.
Information Model Details XSD Binding Details
Name UML Artefact Data Type Multiplicity Name Type
TemplateVariable Core Container [ Sequence ] - N/A - TemplateVariable.Type ComplexType
  • identifier
Characteristic DT: Identifier (PT: NCName) [1] identifier Attribute (Local)
  • cardinality
Characteristic [ Enumeration (Cardinality) ] [1] cardinality Attribute (Local)
  • baseType
Characteristic [ Enumeration (BaseType) ] [0..1] baseType Attribute (Local)
  • value
Attribute DT: Value (PT: NormalizedString) [0.. *] value Element (Local)

3.2.3.8 TestResult Class Mapping

The UML/XSD Mapping for the "TestResult" Class is given in Table 3.2.3.8.

Table 3.2.3.8 UML/XSD Mapping for the "TestResult" Core Class.
Information Model Details XSD Binding Details
Name UML Artefact Data Type Multiplicity Name Type
TestResult Core Container [ Sequence ] - N/A - TestResult.Type ComplexType
  • identifier
Characteristic PT: NormalizedString [1] identifier Attribute (Local)
  • datestamp
Characteristic DT: DateTime (PT: DateTime) [1] datestamp Attribute (Local)
  • responseVariable
Attribute ResponseVariable XOR [0.. *]
[1]
responseVariable Element (Local)
  • templateVariable
Attribute TemplateVariable XOR [0.. *]
[1]
templateVariable Element (Local)
  • outcomeVariable
Attribute OutcomeVariable XOR [0.. *]
[1]
outcomeVariable Element (Local)

3.2.4 Derived UML/XSD Mapping

The syntax and semantics for the Derived Class UML/XSD mapping representations is described in Appendix B1.2.

3.2.4.1 DateTime Derived Class Mapping

The UML/XSD Mapping for the "DateTime" Derived Class is given in Table 3.2.4.1.

Table 3.2.4.1 UML/XSD Mapping for the "DateTime" Derived Class.
Information Model Details XSD Binding Details
Name UML Artefact Data Type Multiplicity Name Type
DateTime Derived PT: DateTime - N/A - DateTime.Type SimpleType
  • pattern
Attribute PT: String [1] [ No XML instance visibility ] Restriction (Pattern) on the Primitive Type.

The syntax and semantics for the Derived Class UML/XSD mapping representations is described in Appendix B1.2.

3.2.4.2 Identifier Derived Class Mapping

The UML/XSD Mapping for the "Identifier" Derived Class is given in Table 3.2.4.2.

Table 3.2.4.2 UML/XSD Mapping for the "Identifier" Derived Class.
Information Model Details XSD Binding Details
Name UML Artefact Data Type Multiplicity Name Type
Identifier Derived PT: NCName - N/A - Identifier.Type SimpleType

The syntax and semantics for the Derived Class UML/XSD mapping representations is described in Appendix B1.2.

3.2.4.3 SessionIdentifier Derived Class Mapping

The UML/XSD Mapping for the "SessionIdentifier" Derived Class is given in Table 3.2.4.3.

Table 3.2.4.3 UML/XSD Mapping for the "SessionIdentifier" Derived Class.
Information Model Details XSD Binding Details
Name UML Artefact Data Type Multiplicity Name Type
SessionIdentifier Derived PT: Empty - N/A - SessionIdentifier.Type ComplexType
  • sourceID
Characteristic PT: AnyURI [1] sourceID Attribute (Local)
  • identifier
Characteristic PT: NormalizedString [1] identifier Attribute (Local)

The syntax and semantics for the Derived Class UML/XSD mapping representations is described in Appendix B1.2.

3.2.4.4 Value Derived Class Mapping

The UML/XSD Mapping for the "Value" Derived Class is given in Table 3.2.4.4.

Table 3.2.4.4 UML/XSD Mapping for the "Value" Derived Class.
Information Model Details XSD Binding Details
Name UML Artefact Data Type Multiplicity Name Type
Value Derived PT: NormalizedString - N/A - Value.Type ComplexType
  • fieldIdentifier
Characteristic DT: Identifier (PT: NCName) [0..1] fieldIdentifier Attribute (Local)
  • baseType
Characteristic [ Enumeration (BaseType) ] [0..1] baseType Attribute (Local)

3.2.5 Enumerated Class UML/XSD Mapping

The definition of the set of enumerated data-types used in this specification is given in Table 3.2.5. The syntax and semantics for the Enumerated Class UML/XSD mapping representations is described in Appendix B1.3.

Table 3.2.5 The UML/XSD Map Enumerated Class Definitions.
Enumeration Class Name Description
BaseType Enumerated value set of: { boolean | directedPair | duration | file | float | identifier | integer | pair | point | string | uri }.
Cardinality Enumerated value set of: { multiple | ordered | record | single }.
SessionStatus Enumerated value set of: { final | initial | pendingResponseProcessing | pendingSubmission }.

3.2.6 Enumerated List Class UML/XSD Mapping

The definition of the set of enumerated data-types used in this specification is given in Table 3.2.6. The syntax and semantics for the Enumerated List Class UML/XSD mapping representations is described in Appendix B1.3.

Table 3.2.6 The UML/XSD Map Enumerated List Class Definitions.
Enumeration List Class Name Description
View Enumerated List value set of: { author | candidate | proctor | scorer | testConstructor | tutor }.

3.2.7 List Class UML/XSD Mapping

The definition of the set of list data-types used in this specification is given in Table 3.2.7. The syntax and semantics for the List Class UML/XSD mapping representations is described in Appendix B1.4.

Table 3.2.7 The UML/XSD Map List Class Definitions.
List Class Name Description
IdentifierList This is a list of values each of data-type: NCName

3.2.8 Union Class UML/XSD Mapping

There are no union class definitions.

3.2.9 Primitive Type UML/XSD Mapping

The definition of the set of primitive data-types used in this specification is given in Table 3.2.9. The syntax and semantics for the Primitive Type UML/XSD mapping representations is described in Appendix B1.5.

Table 3.2.9 The UML/XSD Map Primitive Type Definitions.
Primitive Type Name Description
AnyURI This is mapped to the XML "xs:anyURI" data-type.
DateTime This is mapped to the XML "xs:dateTime" data-type.
Double This is mapped to the XML "xs:double" data-type.
Empty This is used to denote an element that will not contain a value i.e. it is empty. Within the XSD a Special Data-type is declared called "EmptyPrimitiveType.Type". This ensures that the associated element has NO children (but it will have XML attributes). The XSD code is:
<xs:complexType name="EmptyPrimitiveType.Type">
    <xs:complexContent>
        <xs:restriction base="xs:anyType" />
    </xs:complexContent>
</xs:complexType>
                    
Integer This is mapped to the XML "xs:integer" data-type.
NCName This is mapped to the XML "xs:NCName" data-type.
NormalizedString This is mapped to the XML "xs:normalizedString" data-type.
String This is mapped to the XML "xs:string" data-type.

3.3. Filenames and Namespaces

3.3.1 Target Namespace Details

Target Namespace: http://www.imsglobal.org/xsd/imsqti_result_v2p2
Schema Location: http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_result_v2p2.xsd

3.3.2 Imported Namespace Details

There are no imported classes.

3.3.3 Implicit Namespace Details

Feature: XSD Language
Namespace: http://www.w3.org/2001/XMLSchema
Schema Location: XML Processor Resolved.
Prefix: xs

3.4. Description of the XSD

3.4.1 Root Element Descriptions

The syntax and semantics for the Root Element XSD representations is described in Appendix B1.6.

3.4.1.1 "assessmentResult" Root Element Description

The XSD description for the "assessmentResult" Root Element is given in Table 3.4.1.1.

Table 3.4.1.1 XSD description for the "assessmentResult" Root Element.
Namespace http://www.imsglobal.org/xsd/imsqti_result_v2p2
Diagram XSD diagram of the assessmentResult root element.
Type AssessmentResult.Type
Properties
Content simple
MinOccurs 1
MaxOccurs 1
Model context{1..1}, testResult{0..1}, itemResult{0..*}
Attributes None.
Source
<xs:element name="assessmentResult" type="AssessmentResult.Type" />

3.4.2 Global Element Descriptions

There are no global elements.

3.4.3 Attribute Group Descriptions

There are no attribute groups.

3.4.4 Root Complex Type Descriptions

The syntax and semantics for the Root ComplexType XSD representations is described in Appendix B1.7.

3.4.4.1 AssessmentResult.Type Root Complex Type Description

The XSD description for the "AssessmentResult.Type" Root ComplexType is given in Table 3.4.4.1.

Table 3.4.4.1 XSD description for the "AssessmentResult.Type" Root Complex Type.
Namespace http://www.imsglobal.org/xsd/imsqti_result_v2p2
Annotations This is the root class to contain the assessment result data. An Assessment Result 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.
Diagram XSD diagram of the AssessmentResult root complexType.
Properties
Abstract false
Mixed false
Used by
Root Elements assessmentResult
Model context{1..1}, testResult{0..1}, itemResult{0..*}
Attributes None.
Source
<xs:complexType name="AssessmentResult.Type" abstract="false" mixed="false">
    <xs:sequence>
        <xs:element name="context" type="Context.Type" minOccurs="1" maxOccurs="1" />
        <xs:element name="testResult" type="TestResult.Type" minOccurs="0" maxOccurs="1" />
        <xs:element name="itemResult" type="ItemResult.Type" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
</xs:complexType>
                        
"context" Local Element Description

The XSD description for the "context" Local Element is given in the Table below.

Table - XSD description for the "context/AssessmentResult.Type" Local Element.
Namespace http://www.imsglobal.org/xsd/imsqti_result_v2p2
Diagram XSD diagram of the context local element in the AssessmentResult root class.
Type Context.Type
Properties
Content complex
MinOccurs 1
MaxOccurs 1
Mixed false
Model sessionIdentifier{0..*}
Attributes
QName Type Inherited Scope Use Default
sourcedId Identifier.Type No Local Optional -
Source
<xs:element name="context" type="Context.Type" minOccurs="1" maxOccurs="1" />
"testResult" Local Element Description

The XSD description for the "testResult" Local Element is given in the Table below.

Table - XSD description for the "testResult/AssessmentResult.Type" Local Element.
Namespace http://www.imsglobal.org/xsd/imsqti_result_v2p2
Diagram XSD diagram of the testResult local element in the AssessmentResult root class.
Type TestResult.Type
Properties
Content complex
MinOccurs 0
MaxOccurs 1
Mixed false
Model ( responseVariable{1..1} | templateVariable{1..1} | outcomeVariable{1..1} ){0..*}
Attributes
QName Type Inherited Scope Use Default
identifier xs:normalizedString No Local Required -
datestamp DateTime.Type No Local Required -
Source
<xs:element name="testResult" type="TestResult.Type" minOccurs="0" maxOccurs="1" />
"itemResult" Local Element Description

The XSD description for the "itemResult" Local Element is given in the Table below.

Table - XSD description for the "itemResult/AssessmentResult.Type" Local Element.
Namespace http://www.imsglobal.org/xsd/imsqti_result_v2p2
Diagram XSD diagram of the itemResult local element in the AssessmentResult root class.
Type ItemResult.Type
Properties
Content complex
MinOccurs 0
MaxOccurs unbounded
Mixed false
Model ( responseVariable{1..1} | templateVariable{1..1} | outcomeVariable{1..1} ){0..*}, candidateComment{0..1}
Attributes
QName Type Inherited Scope Use Default
identifier xs:normalizedString No Local Required -
sequenceIndex xs:integer No Local Optional -
datestamp DateTime.Type No Local Required -
sessionStatus [ Enumeration ] No Local Required -
Source
<xs:element name="itemResult" type="ItemResult.Type" minOccurs="0" maxOccurs="unbounded" />

3.4.5 Core Complex Type Descriptions

The syntax and semantics for the Core ComplexType XSD representations is described in Appendix B1.7.

3.4.5.1 "CandidateResponse.Type" Core Complex Type Description

The XSD description for the "CandidateResponse.Type" Core ComplexType is given in Table 3.4.5.1.

Table 3.4.5.1 XSD description for the "CandidateResponse.Type" Core Complex Type.
Namespace http://www.imsglobal.org/xsd/imsqti_result_v2p2
Annotations The response given by the candidate.
Diagram XSD diagram of the CandidateResponse core complexType.
Properties
Abstract false
Mixed false
Used by
Elements candidateResponse/ResponseVariable.Type
Model value{0..*}
Attributes None.
Source
<xs:complexType name="CandidateResponse.Type" abstract="false" mixed="false">
    <xs:sequence>
        <xs:element name="value" type="Value.Type" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
</xs:complexType>
                        
"value" Local Element Description

The XSD description for the "value" Local Element is given in the Table below.

Table - XSD description for the "value/CandidateResponse.Type" Local Element.
Namespace http://www.imsglobal.org/xsd/imsqti_result_v2p2
Diagram XSD diagram of the value local element in the CandidateResponse core class.
Type Value.Type
Properties
Content simple
MinOccurs 0
MaxOccurs unbounded
Model N/A
Attributes
QName Type Inherited Scope Use Default
fieldIdentifier Identifier.Type No Local Optional -
baseType [ Enumeration ] No Local Optional -
Source
<xs:element name="value" type="Value.Type" minOccurs="0" maxOccurs="unbounded" />

3.4.5.2 "Context.Type" Core Complex Type Description

The XSD description for the "Context.Type" Core ComplexType is given in Table 3.4.5.2.

Table 3.4.5.2 XSD description for the "Context.Type" Core Complex Type.
Namespace http://www.imsglobal.org/xsd/imsqti_result_v2p2
Annotations This is the context for the 'assessmentResult'. It provides the corresponding set of identifiers.
Diagram XSD diagram of the Context core complexType.
Properties
Abstract false
Mixed false
Used by
Elements context/AssessmentResult.Type
Model sessionIdentifier{0..*}
Attributes
QName Type Inherited Scope Use Default
sourcedId Identifier.Type No Local Optional -
Source
<xs:complexType name="Context.Type" abstract="false" mixed="false">
    <xs:sequence>
        <xs:element name="sessionIdentifier" type="SessionIdentifier.Type" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
    <xs:attribute name="sourcedId" use="optional" type="Identifier.Type" />
</xs:complexType>
                        
"sourcedId" Local Attribute Description

The XSD description for the "sourcedId" Local Attribute is given in the Table below.

Table - XSD description for the "sourcedId/Context.Type" Local Attribute.
Namespace No namespace.
Type Identifier.Type
Properties
Use optional
Source
<xs:attribute name="sourcedId" use="optional" type="Identifier.Type" />
                        
"sessionIdentifier" Local Element Description

The XSD description for the "sessionIdentifier" Local Element is given in the Table below.

Table - XSD description for the "sessionIdentifier/Context.Type" Local Element.
Namespace http://www.imsglobal.org/xsd/imsqti_result_v2p2
Diagram XSD diagram of the sessionIdentifier local element in the Context core class.
Type SessionIdentifier.Type
Type Hierarchy EmptyPrimitiveType.Type
^---SessionIdentifier.Type
Properties
Content simple
MinOccurs 0
MaxOccurs unbounded
Model Empty
Attributes
QName Type Inherited Scope Use Default
sourceID xs:anyURI No Local Required -
identifier xs:normalizedString No Local Required -
Source
<xs:element name="sessionIdentifier" type="SessionIdentifier.Type" minOccurs="0" maxOccurs="unbounded" />

3.4.5.3 "CorrectResponse.Type" Core Complex Type Description

The XSD description for the "CorrectResponse.Type" Core ComplexType is given in Table 3.4.5.3.

Table 3.4.5.3 XSD description for the "CorrectResponse.Type" Core Complex Type.
Namespace http://www.imsglobal.org/xsd/imsqti_result_v2p2
Annotations The correct response may be output as part of the report if desired. Systems are not limited to reporting correct responses declared in responseDeclarations. For example, a correct response may be set by a templateRule or may simply have been suppressed from the declaration passed to the delivery engine e.g. for security.
Diagram XSD diagram of the CorrectResponse core complexType.
Properties
Abstract false
Mixed false
Used by
Elements correctResponse/ResponseVariable.Type
Model value{1..*}
Attributes
QName Type Inherited Scope Use Default
interpretation xs:string No Local Optional -
Source
<xs:complexType name="CorrectResponse.Type" abstract="false" mixed="false">
    <xs:sequence>
        <xs:element name="value" type="Value.Type" minOccurs="1" maxOccurs="unbounded" />
    </xs:sequence>
    <xs:attribute name="interpretation" use="optional" type="xs:string" />
</xs:complexType>
                        
"interpretation" Local Attribute Description

The XSD description for the "interpretation" Local Attribute is given in the Table below.

Table - XSD description for the "interpretation/CorrectResponse.Type" Local Attribute.
Namespace No namespace.
Type xs:string
Properties
Use optional
Source
<xs:attribute name="interpretation" use="optional" type="xs:string" />
                        
"value" Local Element Description

The XSD description for the "value" Local Element is given in the Table below.

Table - XSD description for the "value/CorrectResponse.Type" Local Element.
Namespace http://www.imsglobal.org/xsd/imsqti_result_v2p2
Diagram XSD diagram of the value local element in the CorrectResponse core class.
Type Value.Type
Properties
Content simple
MinOccurs 1
MaxOccurs unbounded
Model N/A
Attributes
QName Type Inherited Scope Use Default
fieldIdentifier Identifier.Type No Local Optional -
baseType [ Enumeration ] No Local Optional -
Source
<xs:element name="value" type="Value.Type" minOccurs="1" maxOccurs="unbounded" />

3.4.5.4 "ItemResult.Type" Core Complex Type Description

The XSD description for the "ItemResult.Type" Core ComplexType is given in Table 3.4.5.4.

Table 3.4.5.4 XSD description for the "ItemResult.Type" Core Complex Type.
Namespace http://www.imsglobal.org/xsd/imsqti_result_v2p2
Annotations The result of an item session is reported with an itemResult. A report may contain multiple results for the same instance of an item representing multiple attempts, progression through an adaptive item or even more detailed tracking. In these cases, each item result must have a different datestamp.
Diagram XSD diagram of the ItemResult core complexType.
Properties
Abstract false
Mixed false
Used by
Elements itemResult/AssessmentResult.Type
Model ( responseVariable{1..1} | templateVariable{1..1} | outcomeVariable{1..1} ){0..*}, candidateComment{0..1}
Attributes
QName Type Inherited Scope Use Default
identifier xs:normalizedString No Local Required -
sequenceIndex xs:integer No Local Optional -
datestamp DateTime.Type No Local Required -
sessionStatus [ Enumeration ] No Local Required -
Source
<xs:complexType name="ItemResult.Type" abstract="false" mixed="false">
    <xs:sequence>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
            <xs:element name="responseVariable" type="ResponseVariable.Type" minOccurs="1" maxOccurs="1"/>
            <xs:element name="templateVariable" type="TemplateVariable.Type" minOccurs="1" maxOccurs="1"/>
            <xs:element name="outcomeVariable" type="OutcomeVariable.Type" minOccurs="1" maxOccurs="1"/>
        </xs:choice>
        <xs:element name="candidateComment" type="xs:string" minOccurs="0" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="identifier" use="required" type="xs:normalizedString" />
    <xs:attribute name="sequenceIndex" use="optional" type="xs:integer" />
    <xs:attribute name="datestamp" use="required" type="DateTime.Type" />
    <xs:attribute name="sessionStatus" use="required">
        <xs:simpleType>
            <xs:annotation>
                <xs:documentation source="documentation">
                    The session status is used to keep track of the status of the item variables in an item s-
                    ession.                                                                                   
                </xs:documentation>
            </xs:annotation>
            <xs:restriction base="xs:string">
                <xs:enumeration value="final" />
                <xs:enumeration value="initial" />
                <xs:enumeration value="pendingResponseProcessing" />
                <xs:enumeration value="pendingSubmission" />
            </xs:restriction>
        </xs:simpleType>
    </xs:attribute>
</xs:complexType>
                        
"identifier" Local Attribute Description

The XSD description for the "identifier" Local Attribute is given in the Table below.

Table - XSD description for the "identifier/ItemResult.Type" Local Attribute.
Namespace No namespace.
Type xs:normalizedString
Properties
Use required
Source
<xs:attribute name="identifier" use="required" type="xs:normalizedString" />
                        
"sequenceIndex" Local Attribute Description

The XSD description for the "sequenceIndex" Local Attribute is given in the Table below.

Table - XSD description for the "sequenceIndex/ItemResult.Type" Local Attribute.
Namespace No namespace.
Type xs:integer
Properties
Use optional
Source
<xs:attribute name="sequenceIndex" use="optional" type="xs:integer" />
                        
"datestamp" Local Attribute Description

The XSD description for the "datestamp" Local Attribute is given in the Table below.

Table - XSD description for the "datestamp/ItemResult.Type" Local Attribute.
Namespace No namespace.
Type DateTime.Type
Properties
Use required
Facets
Pattern [0-9]{4}.*
Source
<xs:attribute name="datestamp" use="required" type="DateTime.Type" />
                        
"sessionStatus" Local Attribute Description

The XSD description for the "sessionStatus" Local Attribute is given in the Table below.

Table - XSD description for the "sessionStatus/ItemResult.Type" Local Attribute.
Namespace No namespace.
Type Enumeration [Restriction of "xs:string"]
Properties
Use required
Facets
Enumeration final
Enumeration initial
Enumeration pendingResponseProcessing
Enumeration pendingSubmission
Source
<xs:attribute name="sessionStatus" use="required">
    <xs:simpleType>
        <xs:restriction base="xs:string">
            <xs:enumeration value="final" />
            <xs:enumeration value="initial" />
            <xs:enumeration value="pendingResponseProcessing" />
            <xs:enumeration value="pendingSubmission" />
        </xs:restriction>
    </xs:simpleType>
</xs:attribute>
                        
"responseVariable" Local Element Description

The XSD description for the "responseVariable" Local Element is given in the Table below.

Table - XSD description for the "responseVariable/ItemResult.Type" Local Element.
Namespace http://www.imsglobal.org/xsd/imsqti_result_v2p2
Diagram XSD diagram of the responseVariable local element in the ItemVariable core class.
Type ResponseVariable.Type
Properties
Content complex
MinOccurs 1
MaxOccurs 1
Mixed false
Model correctResponse{0..1}, candidateResponse{1..1}
Attributes
QName Type Inherited Scope Use Default
identifier Identifier.Type No Local Required -
cardinality [ Enumeration ] No Local Required -
baseType [ Enumeration ] No Local Optional -
choiceSequence List of IdentifierList.Type No Local Optional -
Source
<xs:element name="responseVariable" type="ResponseVariable.Type" minOccurs="1" maxOccurs="1" />
"templateVariable" Local Element Description

The XSD description for the "templateVariable" Local Element is given in the Table below.

Table - XSD description for the "templateVariable/ItemResult.Type" Local Element.
Namespace http://www.imsglobal.org/xsd/imsqti_result_v2p2
Diagram XSD diagram of the templateVariable local element in the ItemVariable core class.
Type TemplateVariable.Type
Properties
Content complex
MinOccurs 1
MaxOccurs 1
Mixed false
Model value{0..*}
Attributes
QName Type Inherited Scope Use Default
identifier Identifier.Type No Local Required -
cardinality [ Enumeration ] No Local Required -
baseType [ Enumeration ] No Local Optional -
Source
<xs:element name="templateVariable" type="TemplateVariable.Type" minOccurs="1" maxOccurs="1" />
"outcomeVariable" Local Element Description

The XSD description for the "outcomeVariable" Local Element is given in the Table below.

Table - XSD description for the "outcomeVariable/ItemResult.Type" Local Element.
Namespace http://www.imsglobal.org/xsd/imsqti_result_v2p2
Diagram XSD diagram of the outcomeVariable local element in the ItemVariable core class.
Type OutcomeVariable.Type
Properties
Content complex
MinOccurs 1
MaxOccurs 1
Mixed false
Model value{0..*}
Attributes
QName Type Inherited Scope Use Default
identifier Identifier.Type No Local Required -
cardinality [ Enumeration ] No Local Required -
baseType [ Enumeration ] No Local Optional -
view Enumerated List of View.Type No Local Optional -
interpretation xs:string No Local Optional -
longInterpretation xs:anyURI No Local Optional -
normalMaximum xs:double No Local Optional -
normalMinimum xs:double No Local Optional -
masteryValue xs:double No Local Optional -
Source
<xs:element name="outcomeVariable" type="OutcomeVariable.Type" minOccurs="1" maxOccurs="1" />
"candidateComment" Local Element Description

The XSD description for the "candidateComment" Local Element is given in the Table below.

Table - XSD description for the "candidateComment/ItemResult.Type" Local Element.
Namespace http://www.imsglobal.org/xsd/imsqti_result_v2p2
Diagram XSD diagram of the candidateComment local element in the ItemResult core class.
Type xs:string
Properties
Content simple
MinOccurs 0
MaxOccurs 1
Model N/A
Attributes None.
Source
<xs:element name="candidateComment" type="xs:string" minOccurs="0" maxOccurs="1" />

3.4.5.5 "OutcomeVariable.Type" Core Complex Type Description

The XSD description for the "OutcomeVariable.Type" Core ComplexType is given in Table 3.4.5.5.

Table 3.4.5.5 XSD description for the "OutcomeVariable.Type" Core Complex Type.
Namespace http://www.imsglobal.org/xsd/imsqti_result_v2p2
Annotations The Item result information related to an 'Outcome Variable'.
Diagram XSD diagram of the OutcomeVariable core complexType.
Properties
Abstract false
Mixed false
Used by
Elements outcomeVariable/ItemResult.Type, outcomeVariable/TestResult.Type
Model value{0..*}
Attributes
QName Type Inherited Scope Use Default
identifier Identifier.Type No Local Required -
cardinality [ Enumeration ] No Local Required -
baseType [ Enumeration ] No Local Optional -
view Enumerated List of View.Type No Local Optional -
interpretation xs:string No Local Optional -
longInterpretation xs:anyURI No Local Optional -
normalMaximum xs:double No Local Optional -
normalMinimum xs:double No Local Optional -
masteryValue xs:double No Local Optional -
Source
<xs:complexType name="OutcomeVariable.Type" abstract="false" mixed="false">
    <xs:sequence>
        <xs:element name="value" type="Value.Type" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
    <xs:attribute name="identifier" use="required" type="Identifier.Type" />
    <xs:attribute name="cardinality" use="required">
        <xs:simpleType>
            <xs:annotation>
                <xs:documentation source="documentation">
                    An expression or itemVariable can either be single-valued or multi-valued. A multi-valued 
                    expression (or variable) is called a container. A container contains a list of values, th-
                    is list may be empty in which case it is treated as NULL. All the values in a multiple or 
                    ordered container are drawn from the same value set, however, containers may contain mult-
                    iple occurrences of the same value. In other words, [A,B,B,C] is an acceptable value for a
                    container. A container with cardinality multiple and value [A,B,C] is equivalent to a sim-
                    ilar one with value [C,B,A] whereas these two values would be considered distinct for con-
                    tainers with cardinality ordered. When used as the value of a response variable this dist-
                    inction is typified by the difference between selecting choices in a multi-response multi-
                    -choice task and ranking choices in an order objects task. In the language of [ISO 11404] 
                    a container with multiple cardinality is a "bag-type", a container with ordered cardinali-
                    ty is a "sequence-type" and a container with record cardinality is a "record-type". The r-
                    ecord container type is a special container that contains a set of independent values each
                    identified by its own identifier and having its own base-type. This specification does not
                    make use of the record type directly however it is provided to enable customInteractions  
                    to manipulate more complex responses and customOperators to return more complex values, in
                    addition to the use for detailed information about numeric responses described in the str-
                    ingInteraction abstract class.                                                            
                </xs:documentation>
            </xs:annotation>
            <xs:restriction base="xs:string">
                <xs:enumeration value="multiple" />
                <xs:enumeration value="ordered" />
                <xs:enumeration value="record" />
                <xs:enumeration value="single" />
            </xs:restriction>
        </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="baseType" use="optional">
        <xs:simpleType>
            <xs:annotation>
                <xs:documentation source="documentation">
                    A base-type is simply a description of a set of atomic values (atomic to this specificati-
                    on). Note that several of the baseTypes used to define the runtime data model have identi-
                    cal definitions to those of the basic data types used to define the values for attributes 
                    in the specification itself. The use of an enumeration to define the set of baseTypes used
                    in the runtime model, as opposed to the use of classes with similar names, is designed to 
                    help distinguish between these two distinct levels of modelling.                          
                </xs:documentation>
            </xs:annotation>
            <xs:restriction base="xs:string">
                <xs:enumeration value="boolean" />
                <xs:enumeration value="directedPair" />
                <xs:enumeration value="duration" />
                <xs:enumeration value="file" />
                <xs:enumeration value="float" />
                <xs:enumeration value="identifier" />
                <xs:enumeration value="integer" />
                <xs:enumeration value="pair" />
                <xs:enumeration value="point" />
                <xs:enumeration value="string" />
                <xs:enumeration value="uri" />
            </xs:restriction>
        </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="view" use="optional">
        <xs:simpleType>
            <xs:list itemType="View.Type" />
        </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="interpretation" use="optional" type="xs:string" />
    <xs:attribute name="longInterpretation" use="optional" type="xs:anyURI" />
    <xs:attribute name="normalMaximum" use="optional" type="xs:double" />
    <xs:attribute name="normalMinimum" use="optional" type="xs:double" />
    <xs:attribute name="masteryValue" use="optional" type="xs:double" />
</xs:complexType>
                        
"identifier" Local Attribute Description

The XSD description for the "identifier" Local Attribute is given in the Table below.

Table - XSD description for the "identifier/OutcomeVariable.Type" Local Attribute.
Namespace No namespace.
Type Identifier.Type
Properties
Use required
Source
<xs:attribute name="identifier" use="required" type="Identifier.Type" />
                        
"cardinality" Local Attribute Description

The XSD description for the "cardinality" Local Attribute is given in the Table below.

Table - XSD description for the "cardinality/OutcomeVariable.Type" Local Attribute.
Namespace No namespace.
Type Enumeration [Restriction of "xs:string"]
Properties
Use required
Facets
Enumeration multiple
Enumeration ordered
Enumeration record
Enumeration single
Source
<xs:attribute name="cardinality" use="required">
    <xs:simpleType>
        <xs:restriction base="xs:string">
            <xs:enumeration value="multiple" />
            <xs:enumeration value="ordered" />
            <xs:enumeration value="record" />
            <xs:enumeration value="single" />
        </xs:restriction>
    </xs:simpleType>
</xs:attribute>
                        
"baseType" Local Attribute Description

The XSD description for the "baseType" Local Attribute is given in the Table below.

Table - XSD description for the "baseType/OutcomeVariable.Type" Local Attribute.
Namespace No namespace.
Type Enumeration [Restriction of "xs:string"]
Properties
Use optional
Facets
Enumeration boolean
Enumeration directedPair
Enumeration duration
Enumeration file
Enumeration float
Enumeration identifier
Enumeration integer
Enumeration pair
Enumeration point
Enumeration string
Enumeration uri
Source
<xs:attribute name="baseType" use="optional">
    <xs:simpleType>
        <xs:restriction base="xs:string">
            <xs:enumeration value="boolean" />
            <xs:enumeration value="directedPair" />
            <xs:enumeration value="duration" />
            <xs:enumeration value="file" />
            <xs:enumeration value="float" />
            <xs:enumeration value="identifier" />
            <xs:enumeration value="integer" />
            <xs:enumeration value="pair" />
            <xs:enumeration value="point" />
            <xs:enumeration value="string" />
            <xs:enumeration value="uri" />
        </xs:restriction>
    </xs:simpleType>
</xs:attribute>
                        
"view" Local Attribute Description

The XSD description for the "view" Local Attribute is given in the Table below.

Table - XSD description for the "view/OutcomeVariable.Type" Local Attribute.
Namespace No namespace.
Type Enumeration List of View.Type
Properties
Use optional
Facets
Enumeration author
Enumeration candidate
Enumeration proctor
Enumeration scorer
Enumeration testConstructor
Enumeration tutor
Source
<xs:attribute name="view" use="optional">
    <xs:simpleType>
        <xs:list itemType="View.Type">
    </xs:simpleType>
</xs:attribute>
                        
"interpretation" Local Attribute Description

The XSD description for the "interpretation" Local Attribute is given in the Table below.

Table - XSD description for the "interpretation/OutcomeVariable.Type" Local Attribute.
Namespace No namespace.
Type xs:string
Properties
Use optional
Source
<xs:attribute name="interpretation" use="optional" type="xs:string" />
                        
"longInterpretation" Local Attribute Description

The XSD description for the "longInterpretation" Local Attribute is given in the Table below.

Table - XSD description for the "longInterpretation/OutcomeVariable.Type" Local Attribute.
Namespace No namespace.
Type xs:anyURI
Properties
Use optional
Source
<xs:attribute name="longInterpretation" use="optional" type="xs:anyURI" />
                        
"normalMaximum" Local Attribute Description

The XSD description for the "normalMaximum" Local Attribute is given in the Table below.

Table - XSD description for the "normalMaximum/OutcomeVariable.Type" Local Attribute.
Namespace No namespace.
Type xs:double
Properties
Use optional
Source
<xs:attribute name="normalMaximum" use="optional" type="xs:double" />
                        
"normalMinimum" Local Attribute Description

The XSD description for the "normalMinimum" Local Attribute is given in the Table below.

Table - XSD description for the "normalMinimum/OutcomeVariable.Type" Local Attribute.
Namespace No namespace.
Type xs:double
Properties
Use optional
Source
<xs:attribute name="normalMinimum" use="optional" type="xs:double" />
                        
"masteryValue" Local Attribute Description

The XSD description for the "masteryValue" Local Attribute is given in the Table below.

Table - XSD description for the "masteryValue/OutcomeVariable.Type" Local Attribute.
Namespace No namespace.
Type xs:double
Properties
Use optional
Source
<xs:attribute name="masteryValue" use="optional" type="xs:double" />
                        
"value" Local Element Description

The XSD description for the "value" Local Element is given in the Table below.

Table - XSD description for the "value/OutcomeVariable.Type" Local Element.
Namespace http://www.imsglobal.org/xsd/imsqti_result_v2p2
Diagram XSD diagram of the value local element in the OutcomeVariable core class.
Type Value.Type
Properties
Content simple
MinOccurs 0
MaxOccurs unbounded
Model N/A
Attributes
QName Type Inherited Scope Use Default
fieldIdentifier Identifier.Type No Local Optional -
baseType [ Enumeration ] No Local Optional -
Source
<xs:element name="value" type="Value.Type" minOccurs="0" maxOccurs="unbounded" />

3.4.5.6 "ResponseVariable.Type" Core Complex Type Description

The XSD description for the "ResponseVariable.Type" Core ComplexType is given in Table 3.4.5.6.

Table 3.4.5.6 XSD description for the "ResponseVariable.Type" Core Complex Type.
Namespace http://www.imsglobal.org/xsd/imsqti_result_v2p2
Annotations The Item result information related to a 'Response Variable'.
Diagram XSD diagram of the ResponseVariable core complexType.
Properties
Abstract false
Mixed false
Used by
Elements responseVariable/ItemResult.Type, responseVariable/TestResult.Type
Model correctResponse{0..1}, candidateResponse{1..1}
Attributes
QName Type Inherited Scope Use Default
identifier Identifier.Type No Local Required -
cardinality [ Enumeration ] No Local Required -
baseType [ Enumeration ] No Local Optional -
choiceSequence List of IdentifierList.Type No Local Optional -
Source
<xs:complexType name="ResponseVariable.Type" abstract="false" mixed="false">
    <xs:sequence>
        <xs:element name="correctResponse" type="CorrectResponse.Type" minOccurs="0" maxOccurs="1" />
        <xs:element name="candidateResponse" type="CandidateResponse.Type" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="identifier" use="required" type="Identifier.Type" />
    <xs:attribute name="cardinality" use="required">
        <xs:simpleType>
            <xs:annotation>
                <xs:documentation source="documentation">
                    An expression or itemVariable can either be single-valued or multi-valued. A multi-valued 
                    expression (or variable) is called a container. A container contains a list of values, th-
                    is list may be empty in which case it is treated as NULL. All the values in a multiple or 
                    ordered container are drawn from the same value set, however, containers may contain mult-
                    iple occurrences of the same value. In other words, [A,B,B,C] is an acceptable value for a
                    container. A container with cardinality multiple and value [A,B,C] is equivalent to a sim-
                    ilar one with value [C,B,A] whereas these two values would be considered distinct for con-
                    tainers with cardinality ordered. When used as the value of a response variable this dist-
                    inction is typified by the difference between selecting choices in a multi-response multi-
                    -choice task and ranking choices in an order objects task. In the language of [ISO 11404] 
                    a container with multiple cardinality is a "bag-type", a container with ordered cardinali-
                    ty is a "sequence-type" and a container with record cardinality is a "record-type". The r-
                    ecord container type is a special container that contains a set of independent values each
                    identified by its own identifier and having its own base-type. This specification does not
                    make use of the record type directly however it is provided to enable customInteractions  
                    to manipulate more complex responses and customOperators to return more complex values, in
                    addition to the use for detailed information about numeric responses described in the str-
                    ingInteraction abstract class.                                                            
                </xs:documentation>
            </xs:annotation>
            <xs:restriction base="xs:string">
                <xs:enumeration value="multiple" />
                <xs:enumeration value="ordered" />
                <xs:enumeration value="record" />
                <xs:enumeration value="single" />
            </xs:restriction>
        </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="baseType" use="optional">
        <xs:simpleType>
            <xs:annotation>
                <xs:documentation source="documentation">
                    A base-type is simply a description of a set of atomic values (atomic to this specificati-
                    on). Note that several of the baseTypes used to define the runtime data model have identi-
                    cal definitions to those of the basic data types used to define the values for attributes 
                    in the specification itself. The use of an enumeration to define the set of baseTypes used
                    in the runtime model, as opposed to the use of classes with similar names, is designed to 
                    help distinguish between these two distinct levels of modelling.                          
                </xs:documentation>
            </xs:annotation>
            <xs:restriction base="xs:string">
                <xs:enumeration value="boolean" />
                <xs:enumeration value="directedPair" />
                <xs:enumeration value="duration" />
                <xs:enumeration value="file" />
                <xs:enumeration value="float" />
                <xs:enumeration value="identifier" />
                <xs:enumeration value="integer" />
                <xs:enumeration value="pair" />
                <xs:enumeration value="point" />
                <xs:enumeration value="string" />
                <xs:enumeration value="uri" />
            </xs:restriction>
        </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="choiceSequence" use="optional">
        <xs:simpleType>
            <xs:list itemType="IdentifierList.Type" />
        </xs:simpleType>
    </xs:attribute>
</xs:complexType>
                        
"identifier" Local Attribute Description

The XSD description for the "identifier" Local Attribute is given in the Table below.

Table - XSD description for the "identifier/ResponseVariable.Type" Local Attribute.
Namespace No namespace.
Type Identifier.Type
Properties
Use required
Source
<xs:attribute name="identifier" use="required" type="Identifier.Type" />
                        
"cardinality" Local Attribute Description

The XSD description for the "cardinality" Local Attribute is given in the Table below.

Table - XSD description for the "cardinality/ResponseVariable.Type" Local Attribute.
Namespace No namespace.
Type Enumeration [Restriction of "xs:string"]
Properties
Use required
Facets
Enumeration multiple
Enumeration ordered
Enumeration record
Enumeration single
Source
<xs:attribute name="cardinality" use="required">
    <xs:simpleType>
        <xs:restriction base="xs:string">
            <xs:enumeration value="multiple" />
            <xs:enumeration value="ordered" />
            <xs:enumeration value="record" />
            <xs:enumeration value="single" />
        </xs:restriction>
    </xs:simpleType>
</xs:attribute>
                        
"baseType" Local Attribute Description

The XSD description for the "baseType" Local Attribute is given in the Table below.

Table - XSD description for the "baseType/ResponseVariable.Type" Local Attribute.
Namespace No namespace.
Type Enumeration [Restriction of "xs:string"]
Properties
Use optional
Facets
Enumeration boolean
Enumeration directedPair
Enumeration duration
Enumeration file
Enumeration float
Enumeration identifier
Enumeration integer
Enumeration pair
Enumeration point
Enumeration string
Enumeration uri
Source
<xs:attribute name="baseType" use="optional">
    <xs:simpleType>
        <xs:restriction base="xs:string">
            <xs:enumeration value="boolean" />
            <xs:enumeration value="directedPair" />
            <xs:enumeration value="duration" />
            <xs:enumeration value="file" />
            <xs:enumeration value="float" />
            <xs:enumeration value="identifier" />
            <xs:enumeration value="integer" />
            <xs:enumeration value="pair" />
            <xs:enumeration value="point" />
            <xs:enumeration value="string" />
            <xs:enumeration value="uri" />
        </xs:restriction>
    </xs:simpleType>
</xs:attribute>
                        
"choiceSequence" Local Attribute Description

The XSD description for the "choiceSequence" Local Attribute is given in the Table below.

Table - XSD description for the "choiceSequence/ResponseVariable.Type" Local Attribute.
Namespace No namespace.
Type List of IdentifierList.Type
Properties
Use optional
Source
<xs:attribute name="choiceSequence" use="optional">
    <xs:simpleType>
        <xs:list itemType="IdentifierList.Type">
    </xs:simpleType>
</xs:attribute>
                        
"correctResponse" Local Element Description

The XSD description for the "correctResponse" Local Element is given in the Table below.

Table - XSD description for the "correctResponse/ResponseVariable.Type" Local Element.
Namespace http://www.imsglobal.org/xsd/imsqti_result_v2p2
Diagram XSD diagram of the correctResponse local element in the ResponseVariable core class.
Type CorrectResponse.Type
Properties
Content complex
MinOccurs 0
MaxOccurs 1
Mixed false
Model value{1..*}
Attributes
QName Type Inherited Scope Use Default
interpretation xs:string No Local Optional -
Source
<xs:element name="correctResponse" type="CorrectResponse.Type" minOccurs="0" maxOccurs="1" />
"candidateResponse" Local Element Description

The XSD description for the "candidateResponse" Local Element is given in the Table below.

Table - XSD description for the "candidateResponse/ResponseVariable.Type" Local Element.
Namespace http://www.imsglobal.org/xsd/imsqti_result_v2p2
Diagram XSD diagram of the candidateResponse local element in the ResponseVariable core class.
Type CandidateResponse.Type
Properties
Content complex
MinOccurs 1
MaxOccurs 1
Mixed false
Model value{0..*}
Attributes None.
Source
<xs:element name="candidateResponse" type="CandidateResponse.Type" minOccurs="1" maxOccurs="1" />

3.4.5.7 "TemplateVariable.Type" Core Complex Type Description

The XSD description for the "TemplateVariable.Type" Core ComplexType is given in Table 3.4.5.7.

Table 3.4.5.7 XSD description for the "TemplateVariable.Type" Core Complex Type.
Namespace http://www.imsglobal.org/xsd/imsqti_result_v2p2
Annotations The Item result information related to a 'Template Variable'.
Diagram XSD diagram of the TemplateVariable core complexType.
Properties
Abstract false
Mixed false
Used by
Elements templateVariable/ItemResult.Type, templateVariable/TestResult.Type
Model value{0..*}
Attributes
QName Type Inherited Scope Use Default
identifier Identifier.Type No Local Required -
cardinality [ Enumeration ] No Local Required -
baseType [ Enumeration ] No Local Optional -
Source
<xs:complexType name="TemplateVariable.Type" abstract="false" mixed="false">
    <xs:sequence>
        <xs:element name="value" type="Value.Type" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
    <xs:attribute name="identifier" use="required" type="Identifier.Type" />
    <xs:attribute name="cardinality" use="required">
        <xs:simpleType>
            <xs:annotation>
                <xs:documentation source="documentation">
                    An expression or itemVariable can either be single-valued or multi-valued. A multi-valued 
                    expression (or variable) is called a container. A container contains a list of values, th-
                    is list may be empty in which case it is treated as NULL. All the values in a multiple or 
                    ordered container are drawn from the same value set, however, containers may contain mult-
                    iple occurrences of the same value. In other words, [A,B,B,C] is an acceptable value for a
                    container. A container with cardinality multiple and value [A,B,C] is equivalent to a sim-
                    ilar one with value [C,B,A] whereas these two values would be considered distinct for con-
                    tainers with cardinality ordered. When used as the value of a response variable this dist-
                    inction is typified by the difference between selecting choices in a multi-response multi-
                    -choice task and ranking choices in an order objects task. In the language of [ISO 11404] 
                    a container with multiple cardinality is a "bag-type", a container with ordered cardinali-
                    ty is a "sequence-type" and a container with record cardinality is a "record-type". The r-
                    ecord container type is a special container that contains a set of independent values each
                    identified by its own identifier and having its own base-type. This specification does not
                    make use of the record type directly however it is provided to enable customInteractions  
                    to manipulate more complex responses and customOperators to return more complex values, in
                    addition to the use for detailed information about numeric responses described in the str-
                    ingInteraction abstract class.                                                            
                </xs:documentation>
            </xs:annotation>
            <xs:restriction base="xs:string">
                <xs:enumeration value="multiple" />
                <xs:enumeration value="ordered" />
                <xs:enumeration value="record" />
                <xs:enumeration value="single" />
            </xs:restriction>
        </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="baseType" use="optional">
        <xs:simpleType>
            <xs:annotation>
                <xs:documentation source="documentation">
                    A base-type is simply a description of a set of atomic values (atomic to this specificati-
                    on). Note that several of the baseTypes used to define the runtime data model have identi-
                    cal definitions to those of the basic data types used to define the values for attributes 
                    in the specification itself. The use of an enumeration to define the set of baseTypes used
                    in the runtime model, as opposed to the use of classes with similar names, is designed to 
                    help distinguish between these two distinct levels of modelling.                          
                </xs:documentation>
            </xs:annotation>
            <xs:restriction base="xs:string">
                <xs:enumeration value="boolean" />
                <xs:enumeration value="directedPair" />
                <xs:enumeration value="duration" />
                <xs:enumeration value="file" />
                <xs:enumeration value="float" />
                <xs:enumeration value="identifier" />
                <xs:enumeration value="integer" />
                <xs:enumeration value="pair" />
                <xs:enumeration value="point" />
                <xs:enumeration value="string" />
                <xs:enumeration value="uri" />
            </xs:restriction>
        </xs:simpleType>
    </xs:attribute>
</xs:complexType>
                        
"identifier" Local Attribute Description

The XSD description for the "identifier" Local Attribute is given in the Table below.

Table - XSD description for the "identifier/TemplateVariable.Type" Local Attribute.
Namespace No namespace.
Type Identifier.Type
Properties
Use required
Source
<xs:attribute name="identifier" use="required" type="Identifier.Type" />
                        
"cardinality" Local Attribute Description

The XSD description for the "cardinality" Local Attribute is given in the Table below.

Table - XSD description for the "cardinality/TemplateVariable.Type" Local Attribute.
Namespace No namespace.
Type Enumeration [Restriction of "xs:string"]
Properties
Use required
Facets
Enumeration multiple
Enumeration ordered
Enumeration record
Enumeration single
Source
<xs:attribute name="cardinality" use="required">
    <xs:simpleType>
        <xs:restriction base="xs:string">
            <xs:enumeration value="multiple" />
            <xs:enumeration value="ordered" />
            <xs:enumeration value="record" />
            <xs:enumeration value="single" />
        </xs:restriction>
    </xs:simpleType>
</xs:attribute>
                        
"baseType" Local Attribute Description

The XSD description for the "baseType" Local Attribute is given in the Table below.

Table - XSD description for the "baseType/TemplateVariable.Type" Local Attribute.
Namespace No namespace.
Type Enumeration [Restriction of "xs:string"]
Properties
Use optional
Facets
Enumeration boolean
Enumeration directedPair
Enumeration duration
Enumeration file
Enumeration float
Enumeration identifier
Enumeration integer
Enumeration pair
Enumeration point
Enumeration string
Enumeration uri
Source
<xs:attribute name="baseType" use="optional">
    <xs:simpleType>
        <xs:restriction base="xs:string">
            <xs:enumeration value="boolean" />
            <xs:enumeration value="directedPair" />
            <xs:enumeration value="duration" />
            <xs:enumeration value="file" />
            <xs:enumeration value="float" />
            <xs:enumeration value="identifier" />
            <xs:enumeration value="integer" />
            <xs:enumeration value="pair" />
            <xs:enumeration value="point" />
            <xs:enumeration value="string" />
            <xs:enumeration value="uri" />
        </xs:restriction>
    </xs:simpleType>
</xs:attribute>
                        
"value" Local Element Description

The XSD description for the "value" Local Element is given in the Table below.

Table - XSD description for the "value/TemplateVariable.Type" Local Element.
Namespace http://www.imsglobal.org/xsd/imsqti_result_v2p2
Diagram XSD diagram of the value local element in the TemplateVariable core class.
Type Value.Type
Properties
Content simple
MinOccurs 0
MaxOccurs unbounded
Model N/A
Attributes
QName Type Inherited Scope Use Default
fieldIdentifier Identifier.Type No Local Optional -
baseType [ Enumeration ] No Local Optional -
Source
<xs:element name="value" type="Value.Type" minOccurs="0" maxOccurs="unbounded" />

3.4.5.8 "TestResult.Type" Core Complex Type Description

The XSD description for the "TestResult.Type" Core ComplexType is given in Table 3.4.5.8.

Table 3.4.5.8 XSD description for the "TestResult.Type" Core Complex Type.
Namespace http://www.imsglobal.org/xsd/imsqti_result_v2p2
Annotations The container for the Test result. When a test result is given the following item results must relate only to items that were selected for presentation as part of the corresponding test session. Furthermore, all items selected for presentation should be reported with a corresponding itemResult.
Diagram XSD diagram of the TestResult core complexType.
Properties
Abstract false
Mixed false
Used by
Elements testResult/AssessmentResult.Type
Model ( responseVariable{1..1} | templateVariable{1..1} | outcomeVariable{1..1} ){0..*}
Attributes
QName Type Inherited Scope Use Default
identifier xs:normalizedString No Local Required -
datestamp DateTime.Type No Local Required -
Source
<xs:complexType name="TestResult.Type" abstract="false" mixed="false">
    <xs:sequence>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
            <xs:element name="responseVariable" type="ResponseVariable.Type" minOccurs="1" maxOccurs="1"/>
            <xs:element name="templateVariable" type="TemplateVariable.Type" minOccurs="1" maxOccurs="1"/>
            <xs:element name="outcomeVariable" type="OutcomeVariable.Type" minOccurs="1" maxOccurs="1"/>
        </xs:choice>
    </xs:sequence>
    <xs:attribute name="identifier" use="required" type="xs:normalizedString" />
    <xs:attribute name="datestamp" use="required" type="DateTime.Type" />
</xs:complexType>
                        
"identifier" Local Attribute Description

The XSD description for the "identifier" Local Attribute is given in the Table below.

Table - XSD description for the "identifier/TestResult.Type" Local Attribute.
Namespace No namespace.
Type xs:normalizedString
Properties
Use required
Source
<xs:attribute name="identifier" use="required" type="xs:normalizedString" />
                        
"datestamp" Local Attribute Description

The XSD description for the "datestamp" Local Attribute is given in the Table below.

Table - XSD description for the "datestamp/TestResult.Type" Local Attribute.
Namespace No namespace.
Type DateTime.Type
Properties
Use required
Facets
Pattern [0-9]{4}.*
Source
<xs:attribute name="datestamp" use="required" type="DateTime.Type" />
                        
"responseVariable" Local Element Description

The XSD description for the "responseVariable" Local Element is given in the Table below.

Table - XSD description for the "responseVariable/TestResult.Type" Local Element.
Namespace http://www.imsglobal.org/xsd/imsqti_result_v2p2
Diagram XSD diagram of the responseVariable local element in the ItemVariable core class.
Type ResponseVariable.Type
Properties
Content complex
MinOccurs 1
MaxOccurs 1
Mixed false
Model correctResponse{0..1}, candidateResponse{1..1}
Attributes
QName Type Inherited Scope Use Default
identifier Identifier.Type No Local Required -
cardinality [ Enumeration ] No Local Required -
baseType [ Enumeration ] No Local Optional -
choiceSequence List of IdentifierList.Type No Local Optional -
Source
<xs:element name="responseVariable" type="ResponseVariable.Type" minOccurs="1" maxOccurs="1" />
"templateVariable" Local Element Description

The XSD description for the "templateVariable" Local Element is given in the Table below.

Table - XSD description for the "templateVariable/TestResult.Type" Local Element.
Namespace http://www.imsglobal.org/xsd/imsqti_result_v2p2
Diagram XSD diagram of the templateVariable local element in the ItemVariable core class.
Type TemplateVariable.Type
Properties
Content complex
MinOccurs 1
MaxOccurs 1
Mixed false
Model value{0..*}
Attributes
QName Type Inherited Scope Use Default
identifier Identifier.Type No Local Required -
cardinality [ Enumeration ] No Local Required -
baseType [ Enumeration ] No Local Optional -
Source
<xs:element name="templateVariable" type="TemplateVariable.Type" minOccurs="1" maxOccurs="1" />
"outcomeVariable" Local Element Description

The XSD description for the "outcomeVariable" Local Element is given in the Table below.

Table - XSD description for the "outcomeVariable/TestResult.Type" Local Element.
Namespace http://www.imsglobal.org/xsd/imsqti_result_v2p2
Diagram XSD diagram of the outcomeVariable local element in the ItemVariable core class.
Type OutcomeVariable.Type
Properties
Content complex
MinOccurs 1
MaxOccurs 1
Mixed false
Model value{0..*}
Attributes
QName Type Inherited Scope Use Default
identifier Identifier.Type No Local Required -
cardinality [ Enumeration ] No Local Required -
baseType [ Enumeration ] No Local Optional -
view Enumerated List of View.Type No Local Optional -
interpretation xs:string No Local Optional -
longInterpretation xs:anyURI No Local Optional -
normalMaximum xs:double No Local Optional -
normalMinimum xs:double No Local Optional -
masteryValue xs:double No Local Optional -
Source
<xs:element name="outcomeVariable" type="OutcomeVariable.Type" minOccurs="1" maxOccurs="1" />

3.4.6 Derived Complex Type Descriptions

The syntax and semantics for the Derived ComplexType XSD representations is described in Appendix B1.7.

3.4.6.1 "SessionIdentifier.Type" Derived Complex Type Description

The XSD description for the "SessionIdentifier.Type" Derived Complex Type is given in Table 3.4.6.1.

Table 3.4.6.1 XSD description for the "SessionIdentifier.Type" Derived Complex Type.
Namespace http://www.imsglobal.org/xsd/imsqti_result_v2p2
Annotations The system that creates the result (for example, the test delivery system) should assign a session identifier that it can use to identify the session.
Diagram XSD diagram of the SessionIdentifier derived complexType.
Type Hierarchy EmptyPrimitiveType.Type
^---SessionIdentifier.Type
Properties
Abstract false
Mixed false
Used by
Elements sessionIdentifier/Context.Type
Model Empty
Attributes
QName Type Inherited Scope Use Default
sourceID xs:anyURI No Local Required -
identifier xs:normalizedString No Local Required -
Source
<xs:complexType name="SessionIdentifier.Type" abstract="false" mixed="false">
    <xs:simpleType>
        <xs:extension base="EmptyPrimitiveType.Type">
            <xs:attribute name="sourceID" use="required" type="xs:anyURI" />
            <xs:attribute name="identifier" use="required" type="xs:normalizedString" />
        </xs:extension>
    </xs:simpleType>
</xs:complexType>
                        
"sourceID" Local Attribute Description

The XSD description for the "sourceID" Local Attribute is given in the Table below.

Table - XSD description for the "sourceID/SessionIdentifier.Type" Local Attribute.
Namespace No namespace.
Type xs:anyURI
Properties
Use required
Source
<xs:attribute name="sourceID" use="required" type="xs:anyURI" />
                        
"identifier" Local Attribute Description

The XSD description for the "identifier" Local Attribute is given in the Table below.

Table - XSD description for the "identifier/SessionIdentifier.Type" Local Attribute.
Namespace No namespace.
Type xs:normalizedString
Properties
Use required
Source
<xs:attribute name="identifier" use="required" type="xs:normalizedString" />
                        

3.4.6.2 "Value.Type" Derived Complex Type Description

The XSD description for the "Value.Type" Derived Complex Type is given in Table 3.4.6.2.

Table 3.4.6.2 XSD description for the "Value.Type" Derived Complex Type.
Namespace http://www.imsglobal.org/xsd/imsqti_result_v2p2
Annotations A class that can represent a single value of any baseType in variable declarations and result reports. The base-type is defined by the baseType attribute of the declaration except in the case of variables with record cardinality.
Diagram XSD diagram of the Value derived complexType.
Properties
Abstract false
Mixed false
Used by
Elements value/CandidateResponse.Type, value/CorrectResponse.Type, value/OutcomeVariable.Type, value/TemplateVariable.Type
Model N/A
Attributes
QName Type Inherited Scope Use Default
fieldIdentifier Identifier.Type No Local Optional -
baseType [ Enumeration ] No Local Optional -
Source
<xs:complexType name="Value.Type" abstract="false" mixed="false">
    <xs:simpleType>
        <xs:extension base="xs:normalizedString">
            <xs:attribute name="fieldIdentifier" use="optional" type="Identifier.Type" />
            <xs:attribute name="baseType" use="optional">
                <xs:simpleType>
                    <xs:annotation>
                        <xs:documentation source="documentation">
                            A base-type is simply a description of a set of atomic values (atomic to this specificati-
                            on). Note that several of the baseTypes used to define the runtime data model have identi-
                            cal definitions to those of the basic data types used to define the values for attributes 
                            in the specification itself. The use of an enumeration to define the set of baseTypes used
                            in the runtime model, as opposed to the use of classes with similar names, is designed to 
                            help distinguish between these two distinct levels of modelling.                          
                        </xs:documentation>
                    </xs:annotation>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="boolean" />
                        <xs:enumeration value="directedPair" />
                        <xs:enumeration value="duration" />
                        <xs:enumeration value="file" />
                        <xs:enumeration value="float" />
                        <xs:enumeration value="identifier" />
                        <xs:enumeration value="integer" />
                        <xs:enumeration value="pair" />
                        <xs:enumeration value="point" />
                        <xs:enumeration value="string" />
                        <xs:enumeration value="uri" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:attribute>
        </xs:extension>
    </xs:simpleType>
</xs:complexType>
                        
"fieldIdentifier" Local Attribute Description

The XSD description for the "fieldIdentifier" Local Attribute is given in the Table below.

Table - XSD description for the "fieldIdentifier/Value.Type" Local Attribute.
Namespace No namespace.
Type Identifier.Type
Properties
Use optional
Source
<xs:attribute name="fieldIdentifier" use="optional" type="Identifier.Type" />
                        
"baseType" Local Attribute Description

The XSD description for the "baseType" Local Attribute is given in the Table below.

Table - XSD description for the "baseType/Value.Type" Local Attribute.
Namespace No namespace.
Type Enumeration [Restriction of "xs:string"]
Properties
Use optional
Facets
Enumeration boolean
Enumeration directedPair
Enumeration duration
Enumeration file
Enumeration float
Enumeration identifier
Enumeration integer
Enumeration pair
Enumeration point
Enumeration string
Enumeration uri
Source
<xs:attribute name="baseType" use="optional">
    <xs:simpleType>
        <xs:restriction base="xs:string">
            <xs:enumeration value="boolean" />
            <xs:enumeration value="directedPair" />
            <xs:enumeration value="duration" />
            <xs:enumeration value="file" />
            <xs:enumeration value="float" />
            <xs:enumeration value="identifier" />
            <xs:enumeration value="integer" />
            <xs:enumeration value="pair" />
            <xs:enumeration value="point" />
            <xs:enumeration value="string" />
            <xs:enumeration value="uri" />
        </xs:restriction>
    </xs:simpleType>
</xs:attribute>
                        

3.4.7 Simple Type Descriptions

The syntax and semantics for the SimpleType XSD representations is described in Appendix B1.8.

3.4.7.1 "DateTime.Type" Simple Type Description

The XSD description for the "DateTime.Type" SimpleType is given in Table 3.4.7.1.

Table 3.4.7.1 XSD description for the "DateTime.Type" Simple Type.
Namespace http://www.imsglobal.org/xsd/imsqti_result_v2p2
Diagram XSD diagram of the DateTime simpleType.
Type xs:dateTime
Facets
Pattern [0-9]{4}.*
Used by
Attributes datestamp/ItemResult.Type, datestamp/TestResult.Type
Source
<xs:simpleType name="DateTime.Type">
    <xs:restriction base="xs:dateTime">
        <xs:pattern value="[0-9]{4}.*" />
    </xs:restriction>
</xs:simpleType>
                        

3.4.7.2 "Identifier.Type" Simple Type Description

The XSD description for the "Identifier.Type" SimpleType is given in Table 3.4.7.2.

Table 3.4.7.2 XSD description for the "Identifier.Type" Simple Type.
Namespace http://www.imsglobal.org/xsd/imsqti_result_v2p2
Diagram XSD diagram of the Identifier simpleType.
Type xs:NCName
Used by
Attributes sourcedId/Context.Type, identifier/OutcomeVariable.Type, identifier/ResponseVariable.Type, identifier/TemplateVariable.Type, fieldIdentifier/Value.Type
Source
<xs:simpleType name="Identifier.Type">
    <xs:restriction base="xs:NCName" />
</xs:simpleType>
                        

3.4.7.3 "IdentifierList.Type" Simple Type Description

The XSD description for the "IdentifierList.Type" SimpleType is given in Table 3.4.7.3.

Table 3.4.7.3 XSD description for the "IdentifierList.Type" Simple Type.
Namespace http://www.imsglobal.org/xsd/imsqti_result_v2p2
Diagram XSD diagram of the IdentifierList simpleType.
Type xs:NCName
Used by
Attributes choiceSequence/ResponseVariable.Type
Source
<xs:simpleType name="IdentifierList.Type">
    <xs:restriction base="xs:NCName />
</xs:simpleType>
                        

3.4.7.4 "View.Type" Simple Type Description

The XSD description for the "View.Type" SimpleType is given in Table 3.4.7.4.

Table 3.4.7.4 XSD description for the "View.Type" Simple Type.
Namespace http://www.imsglobal.org/xsd/imsqti_result_v2p2
Diagram XSD diagram of the View simpleType.
Type Enumerated List
Facets
Enumeration author
Enumeration candidate
Enumeration proctor
Enumeration scorer
Enumeration testConstructor
Enumeration tutor
Used by
Attributes view/OutcomeVariable.Type
Source
<xs:simpleType name="View.Type">
    <xs:restriction base="xs:string">
        <xs:enumeration value="author" />
        <xs:enumeration value="candidate" />
        <xs:enumeration value="proctor" />
        <xs:enumeration value="scorer" />
        <xs:enumeration value="testConstructor" />
        <xs:enumeration value="tutor" />
    </xs:restriction>
</xs:simpleType>
                        

3.5. The Schematron Rules

There are no schematron rules used in this XSD binding of the specification.

toc | top

4. Extending and Profiling the Data Model

4.1. Extending the Data Model

The QTI Result Reporting specification contains NO exension points. Any proprietary extension is non-conformant. The behavior of a system that receives a QTI Result Report instance that contains proprietary extensions in undefined (however a system should handle such violations in a controlled manner).

4.2. Profiling the Data Model

This specification may be profiled. A profile must be formal a subset of the base specification. This ensures that, with the exception of namespace/schema location changes, any instance which is compliant to the profile MUST also be compliant to the base specification. This means that a proile must only increase the constraints on the properties of the data model. For example, an element with a multiplicity of [0..1] can have this changed to [1..1] but NOT [0..*]. Proprietary extensions are ONLY permitted as defined by the base specification.

It is strongly recommended that a profile of this specification is undertaken either by, or with the close support, of IMS Global. However, no matter who is responsible for creating the profile artefacts (documents, XSDs, etc.), it is strongly recommended that the IMS specification tools are used. This will ensure that the artefacts are consistent with the base specifications and that useful support documentation is automatically produced e.g. creation of a document that summarises the differences between the base specification and the profile. Organizations wishing to produce a profile of this specification should contact Lisa Mattson (IMS Global Chief Operations Officer) at: lmattson@imsglobal.org.

toc | top

Appendix A Modelling Concepts and Terms

A1 Data Model Descriptions

A1.1 Data Model Diagrams

Table A1.1 provides the key to the descriptions of data model diagrams.

Table A1.1 The key to the descriptions of data model diagrams.
Feature Definition and Usage
Data Model Package Each data model description is enclosed in a UML Package that has the stereotype of « dataModel » under which is the name of the data model diagram being described. Only one logical data model can be described.
DerivedType Class This is a class that is identified by the stereotype « DerivedType » under which is the name of the data-type. A derived class is one that is derived either from another derived class or a PrimitiveType class.
Enumeration Class This is a class that is identified by the stereotype « Enumeration » under which is the name of the enumeration data-type. The enumeration class consists of the list of tokens that are the permitted values of the assigned attribute.
Enumerated List Class This is a class that is identified by the stereotype « EnumeratedList » under which is the name of the enumerated list data-type. The enumeration list class consists of the list of tokens that are the permitted values of the assigned attribute. A list of tokens is permitted using comma separation.
PrimitiveType Class This is a class that is identified by the stereotype « PrimitveType » under which is the name of the primitive data-type. A PrimitiveType is one of the many base data-types on which a data model can be built (see Appendix A1.3 for the set of primitive types that are available).
Selection Class This is a class that is identified by the stereotype « Selection » under which is the name of the data-type. The selection means that only one of the listed attributes make occur in an instance. If this is an abstract class then multiple iterations of the instance may occur and the multiplicity of the attribute defines the constraints on the number of times the attribute can occur in the full instance. If the stereotype and associated name of the class are in italics this denotes the class is abstract.
Sequence Class This is a class that is identified by the stereotype « Sequence » under which is the name of the data-type. The sequence means that the listed attributes must occur only in the order of the attributes listed on the class. The associated multiplicity defines the number of times the attribute may occur consecutively in the instance. If the stereotype and associated name of the class are in italics this denotes the class is abstract.
Unordered Class This is a class that is identified by the stereotype « Unordered » under which is the name of the data-type. The unordering means that the listed attributes may occur in any order but the associated multiplicity for the attribute must be followed (when binding to XML this requires the use of Schematron rules to enforce the multiplicity). If the stereotype and associated name of the class are in italics this denotes the class is abstract.
List Class This is a class that is identified by the stereotype « List » under which is the name of the data-type. A list class is one in which the associated instance will consist of a list of objects that conform to the permitted data-types of the list (the superclasses for the list class). The terms in the list are separated by a space.
Union Class This is a class that is identified by the stereotype « Union » under which is the name of the data-type. A union class is one in which the associated instance will consist of a objects that conform to the any of the permitted data-types of the union (the superclasses for the union class).
Characteristic Description Many classes contain a set of characteristics (the set of characteristics are listed under the stereotype « Characteristics »). Each characteristic description consists of the scope, name, data-type and multiplicity (see Appendix A1.3 for a more complete description). Note that when bound to XSD/XML, a characteristic is mapped to an XML attribute.
Attribute Description Many classes contain a set of attributes (the set of attributes are listed under the stereotype « Attributes »). Each attribute description consists of the scope, name, data-type and multiplicity (see Appendix A1.3 for a more complete description). Note when bound to XSD/XML, an attribute is mapped to an XML element.
Composition Arrow This is an arrow with a filled diamond head to indicate that the child class is a composite structure of the parent class i.e. the child class only exists within the context of the parent class. This association allows complex structures to be constructed with common subcomponents.
Generalization Arrow This is an arrow with a white arrow head to indicate the class/superclass relationship. The arrow points in the direction of generality i.e. from the class to the super class.

toc | top

A1.2 Class Descriptions

Table A1.2 provides the key to the descriptions of the data class tables.

Table A1.2 The key to the descriptions of the data class tables.
Category Definition
Class Name The name given to the class being described.
Class Type The nature of the class. This is described as a "Container [...]" or "Abstract Container [...]". The value of "..." being (see Appendix A1.1 for the meaning of these values):
  • "DerivedType"
  • "List"
  • "Selection"
  • "Sequence"
  • "Union"
  • "Unordered"
If the container is also marked as "Mixed" then the children are permitted to include text as well as attributes.
Parents This is the list of classes that contain the class being described as either the type of a child characteristic or attribute. In the case of a Root Class the entry is also labelled as "Root Class".
Derived Classes The set of classes that are derived from this class (there may be none). The entries are linked to the corresponding class descriptions.
Super Classes The set of super classes from which the class being described is derived (there may be none). The entries are linked to the corresponding class descriptions.
Characteristics Lists the set of characteristics for this class. The list of characteristics includes those that are inherited. Each characteristic is linked to the corresponding characteristic description table.
Children Lists the set of attributes for this class (the only other permitted associations are generalizations). The list of children includes those attributes that are inherited. Each child entry is linked to the corresponding attribute description table. The nature of the relationship between the children is defined by the stereotype of the parent class i.e. the class type. If the child is in italics this denotes a reference to an abstract class and that an instance would NOT contain a child of that name but would be replaced by a complex set of children as defined by the associated abstract class.
Description Contains descriptions relating to the class and its properties and relationships.

toc | top

A1.3 Attribute and Characteristic Descriptions

Table A1.3 provides the key to the descriptions of the data attributes/characteristics for the data classes.

Table A1.3 The key to the descriptions of the data attribute/characteristic tables.
Category Definition
Attribute Name or Characteristic Name The name given to the attribute or characteristic being described. If the name is in italics this denotes an abstract attribute or characteristic.
Data Type This is the data-type of the attribute or characteristic (if this is in italics it denotes an abstract class). The data-type can take many forms:
  • Class Name - the name of the Class (this is linked to the class definition elsewhere in this document);
  • Primitive Data-types from:-
    • AnyTypeLax - the namespace data-type i.e. defining data from any context (this is used for allowing any form of extension);
    • AnyURI - the AnyURI data-type (absolute or relatve URI);
    • Base - the base data-type for defining a base URI/URL link reference;
    • Boolean - the boolean data-type (with permitted values of "true" and "false");
    • Date - the date data-type (using the ISO 8601 format);
    • DateTime - the date/time data-type (using the ISO 8601 format);
    • Double - the double data-type (double precision floating point number - 64bit);
    • Empty - the associated instance must be empty;
    • ID - the unique identifier data-type;
    • IDREF - the reference to a previously defined unique identifier data-type (ID);
    • IDREFS - a list, whitespace separated, of references to a previously defined unique identifier data-type (ID);
    • Int - the int data-type (this is derived from the "decimal" data-type);
    • Integer - the integer data-type (using the);
    • Language - the language data-type as defined in [RFC 3066];
    • Namespace - the namespace data-type i.e. defining data from a context other than that as the default for the data model (this is used for importing other data models);
    • NamespaceLax - the namespace data-type i.e. defining data from a context other than that as the default for the data model (this is used for importing other data models but being lax on the validation);
    • NonNegativeInteger - the non-negative integer data-type (this is derived from the "integer" data-type) i.e. an integer that is zero or higher;
    • NCName - the NCName data-type (derived from the Name data-type);
    • NormalizedString - the normalized string data type (strings with line feeds, carriage returns and tab characters removed);
    • String - the normalized string data type.
Value Space The range of valid values for this attribute/characteristic (including any default value). If the value space is unspecified, it is not known or is not important. This value space must be defined in terms of the associated data-type.
Scope This is the scope of the attribute/characteristic with permitted values of:
  • Local - denoted by "-" and meaning the attribute/characteristic has significance and access within the context of the parent class only;
  • Global - denoted by "+" and meaning that the attribute/characteristic has global scoping (so must have a unique name) and can be accessed from anywhere.
Multiplicity A property of an attribute/characteristic indicating the number of times it may be used or appear in a given class instance. The values of this property are expressed as a range or shorthand for a range using the notation:
  • "0..1" [optional; restricted]
  • "0..*" [optional; unrestricted]
  • "1" [mandatory; restricted]
  • "1..*" [mandatory; unrestricted]
Description Contains descriptions relating to the attribute/characteristic and its values space.

toc | top

A1.4 Enumerated Vocabulary Descriptions

Table A1.4 provides the key to the descriptions of the enumerated vocabulary classes. These are vocabularies that will be contained within the binding form itself

Table A1.4 The key to the descriptions of the enumerated vocabulary tables.
Category Definition
Term The vocabulary token itself i.e. the vocabulary entry.
Definition The meaning of the term and how it should be used.

toc | top

A1.5 External Vocabulary Descriptions

Table A1.5 provides the key to the descriptions of the external vocabulary classes. These are vocabularies that will be contained in some independent format e.g. using the IMS VDEX.

Table A1.5 The key to the descriptions of the external vocabulary tables.
Category Definition
Term The vocabulary token itself i.e. the vocabulary entry.
Definition The meaning of the term and how it should be used. This consists of the "Caption" and "Description" of the vocabulary term. The caption is used to provide a human readable label for the term.

toc | top

A1.6 Import Class Descriptions

Table A1.6 provides the key to the descriptions of the import classes.

Table A1.6 The key to the descriptions of the imported class tables.
Category Definition
Import Class Name The name of the class.
Parent Classes The list of parent classes, and the associated children, that use this imported class. Each class and attribute name has a link to its corresponding tabular description in the information model.
Description The description of how the class is used within the data model.

toc | top

Appendix B XSD Binding Terms

B1 XSD Binding Description Terms

B1.1 UML/XSD Attribute Mapping Table Definition

Table B1.1 provides the key to the descriptions of UML to XSD attribute mapping tables.

Table B1.1 The key to the descriptions of UML to XSD attribute mapping tables.
Feature Definition and Usage
Attribute Name The name of the attribute (these are the attributes listed in the class identified by the « Roots » stereotype).
UML Class The name of the class, the type of the attribute, in the UML diagrams (each class will have an associated stereotype label to denote its modelling interpretation). If the information model description is contained within the same document, this value is hot-linked to that description.
XSD Name The equivalent name of the UML attribute name in the XSD i.e. the XML element name.
XSD Type The XSD type - this will always be "Element".
XSD Data Type The data-type in the context of the XSD. This is hot-linked to the corresponding description table in the binding.

toc | top

B1.2 UML/XSD Class Mapping Table Definition

Table B1.2 provides the key to the descriptions of UML to XSD class mapping tables. This table shows the relationship between the two modelling components:

Table B1.2 The key to the descriptions of UML to XSD class mapping tables.
Feature Definition and Usage
Name The name of the UML class and the associated set of attributes and characteristics. The first row is used to describe the UML class. Camel-case is used for the attribute and characteristic names.
UML Artefact The UML Class will be denoted as "Root", "Core" or "Derived" depending on the nature of the class. The list of attributes (mapped to XML elements) and characteristics (mapped to XML attributes) will be identified as either "Attributes" or "Characteristics".
Data Type The data-type has several permitted values:
  • PT:... - denotes a primitive type with "..." replaced by the actual primitiveType name
  • DT:... (PT:...) - denotes a derived type of name "..." derived from the primitive type "PT:..."
  • [Enumeration(...)] - denotes an enumeration of name "..."
  • [List(...)] - denotes a list of the name "..."
  • [Union(...)] - denotes a union of one or more data-types with the name "..."
  • [Imported(...)] - denotes a class with the name "..." has been imported from another specification
  • "Container[...]" - denotes a class of stereotype "..."
Multiplicity The multiplicity of the child attribute/characteristic. The value for the Class itself is "-N/A-". The multiplicity values are:
  • "0..1" [optional; restricted]
  • "0..*" [optional; unrestricted]
  • "1" [mandatory; restricted]
  • "1..*" [mandatory; unrestricted]
The multiplicity will also indicate when groups of elements have variable multiplicity. In the case when a selection between groups of elements is used then this is denoted by "XOR" being displayed above the multiplicity for each of the grouped elements. Alongside the XOR is the multiplicity of the group as a whole.
XSD Name This is the equivalent name of the UML artefact in the XSD. In the case of a "Derived" class the UML attribute may be used to define constraints on the primitiveType and so may not have visibility in an instance. In this case the name entry will be "[ No XML instance visibility ]".
XSD Type The XSD data-type. For the Class this will have either the value "ComplexType" or "SimpleType" or the statement "There is no equivalent derived complexType. This is a logical class that is used to identify a namespace constraint.". For the attributes the value is either "Element (Global)" or "Element (Local)" depending on the scoping. For the characteristics the value is either "Attribute (Global)" or "Attribute (Local)" depending on the scoping. In the case of a "Derived" class the UML attribute may be used to define constraints on the primitiveType and so may not have visibility in an instance. In this case the type entry will denote the type of restriction i.e. MinLength, MaxLength, WhiteSpace, MinInclusive, MaxInclusive and Pattern.

toc | top

B1.3 UML/XSD Enumerated and Enumerated List Class Mapping Table Definition

Table B1.3 provides the key to the descriptions of UML to XSD enumerated and enumerated list class mapping tables.

Table B1.3 The key to the descriptions of UML to XSD enumerated and enumerated list class mapping tables.
Feature Definition and Usage
Enumeration Class Name or Enumeration List Class Name The name of the enumeration class or the enumeration list class.
Description The list of permitted tokens for the enumeration or list. Each value is separated by the "|" character.

toc | top

B1.4 UML/XSD List and Union Class Mapping Table Definition

Table B1.4 provides the key to the descriptions of UML to XSD list and union class mapping tables.

Table B1.4 The key to the descriptions of UML to XSD list and union class mapping tables.
Feature Definition and Usage
List/Union Class Name The name of the list or union class.
Description The list of primitive types and simple derived types from which the list of values can be derived. Links to the definition of the description of the primitive and derived types provided elsewhere in the UML/XSD mapping are supplied.

toc | top

B1.5 UML/XSD Primitive Types Mapping Table Definition

Table B1.5 provides the key to the descriptions of UML to XSD primitive-type mapping tables.

Table B1.5 The key to the descriptions of UML to XSD primitive mapping tables.
Feature Definition and Usage
Primitive Type Name The name of the primitve type used in the specification. Links to the definition of the primitive types, if provided elsewhere in the document, are supplied.
Description The equivalent XML base data type that is used in the XSD binding.

toc | top

B1.6 XSD Description for an Element

Table B1.6 provides the key to the descriptions of XSD element tables.

Table B1.6 The key to the descriptions of XSD element tables.
Feature Definition and Usage
Namespace The namespace for the XSD element.
Diagram This diagram consists of three types of linked blocks. Straight link lines denote XML sequence whereas diagonal lines denote XML selection/unordered. The block forms are:
  • Element Blocks - blue and grey shaded rounded rectangles containing the name of the element, its data-type, any default value and the multiplicity (denoted by a circle containing either the symbol "?", "1", "*", "+" or "U" representing optional, required, optionally many, at least one or unordered respectively. Unordered makes use of an associated set of Schematron Rules). If the element inherits features from another class then it contains a purple shadow that names the complexType from which the elements/attributes are inherited;
  • Attribute Blocks - orange and grey shaded rounded rectangles containing the name of the attribute, its data-type, any default value and the multiplicity (denoted by a circle containing either the symbol "?" or "1" representing option or required respectively);
  • Attribute Group Blocks - orange shaded rounded rectangle containing the name of the attribute group;
  • Purple Surrounds - a surround on the attributes block denotes inherited attributes and a surround on the element block denotes inherited elements.
Type The data-type for the element. This will possible entries are:
  • The name of the primitiveType data-type
  • Statement of an enumeration
  • The import class name written as [Import (...)]
  • The actual data-type with a link to the corresponding declaration.
Type Hierachy The identification of the superclass upon which this type is based (the superclass is shown on the top line). This indicates the source of the inherited set of XML elements and attributes for the element.
Properties The set of properties for the element including (these will not be shown for Global elements):
  • Content - the type of content i.e "simple" or "complex"
  • Mixed - whether or not the content is a mixture of content/element {true, false}
  • MinOccurs - the minimum number of occurences
  • MaxOccurs - the maximum number of occurences
Used by The features in the XSD that make use of this global or root element. These features are listed under the heading "ComplexTypes". Each of the entries is linked to its formal description table.
Facets The permitted set of facets for the content i.e. the ways in which the content is further constrained. This row is only present if there are associated facets. The set of permitted facets are:
  • Enumeration - a permitted value
  • MinLength - the required minimum number of characters
  • MaxLength - the maximum number of characters
  • WhiteSpace - default handling of white-space i.e. preserve or replace or collapse
  • MinInclusive - the permitted minimum value (inclusive)
  • MaxInclusive - the permitted maximum value (inclusive)
  • Pattern - the permitted character set defined as a regular expression
Model The set of child elements. This is an ordered list of elements (as per the sequence in the data-type complexType) and accompanied by their multiplicity. Links to the corresponding declarations are supplied. In the case where the type is an enumeration or primitiveType then the value is "N/A". The value may also be "Empty" to indicate that no children are permitted. If the element is imported i.e. from an external XSD, only the URL for that XSD will be given.
Attributes The set of global and local XML attributes for this complexType (if the element is imported i.e. from an external XSD, only the URL for that XSD will be given). Links are made to the associated tabular definitions. Each attribute is described by:
  • QName - the name with a link to the corresponding table description
  • Type - the data-type
  • Inherited - Yes/No statement of whether or not this attribute is inherited from a base complexType
  • Scope - the scope defined as either "Local" or "Global"
  • Use - the multiplicity as either "Required" or "Optional"
  • Default - the default value or a "-" if there is none
Schematron Rules The set of schematron rules to be applied for the element grouped as:
  • Unordered Class - the Schematron Rules that enforce the "Unordered" stereotype;
  • NS Constraint - the Schematron Rules that enforce the constraints on extension XML attributes;
  • Explicit Rules - the Schematron Rules that enforce the explicitly defined constraints for the information model.
Source The equivalent XSD code for the declaration of the element. This includes the multiplicity and default values for the element. See the W3C XSD documentation for the description of the permitted contents for this declaration. If the element is imported i.e. from an external XSD, only the URL for that XSD will be given.

toc | top

B1.7 XSD Description for a Complex Type

Table B1.7 provides the key to the descriptions of XSD complex type tables.

Table B1.7 The key to the descriptions of XSD complex type tables.
Feature Definition and Usage
Namespace The namespace for the XSD complexType.
Annotations The documentation comment for the data-type (the comment within the XSD).
Diagram This diagram consists of four types of linked blocks. Straight link lines denote XML sequence whereas diagonal lines denote XML selection/unordered. The block forms are:
  • ComplexType Block - a purple and grey shaded rectangle containing the name of the complexType and identification of whether it is abstract and supports mixed content;
  • Element Blocks - blue and grey shaded rounded rectangles containing the name of the element, its data-type, any default value and the multiplicity (denoted by a circle containing either the symbol "?", "1", "*", "+" or "U" representing optional, required, optionally many, at least one or unordered respectively. Unordered makes use of an associated set of Schematron Rules);
  • Attribute Blocks - orange and grey shaded rounded rectangles containing the name of the attribute, its data-type, any default value and the multiplicity (denoted by a circle containing either the symbol "?" or "1" representing option or required respectively);
  • Attribute Group Blocks - orange shaded rounded rectangle containing the name of the attribute group;
  • Purple Surrounds - a surround on the attributes block denotes inherited attributes and a surround on the element block denotes inherited elements.
Properties The properties of the class expressed in terms of whether or not the complexType is abstract {true, false} or whether it supports mixed content {true, false}.
Facets The permitted set of facets for the content i.e. the ways in which the content is further constrained. This row is only present if there are associated facets. The set of permitted facets are:
  • Enumeration - a permitted value
  • MinLength - the required minimum number of characters
  • MaxLength - the maximum number of characters
  • WhiteSpace - default handling of white-space i.e. preserve or replace or collapse
  • MinInclusive - the permitted minimum value (inclusive)
  • MaxInclusive - the permitted maximum value (inclusive)
  • Pattern - the permitted character set defined as a regular expression
Used by The features in the XSD that make use of this complexType. These features are listed under the headings "Root Elements", "Elements" and "ComplexTypes". Each of the entries is linked to its formal description table.
Model The set of child elements. This is an ordered list of elements (as per the sequence in the complexType) and accompanied by their multiplicity. Links to the corresponding declarations are supplied. In the case where the type is an enumeration or primitiveType then the value is "N/A". The value may also be "Empty" to indicate that no children are permitted. In some situations the value may be "None" denoting that there are no children defined e.g. for a base class from which other classes are derived and which may have children as part of the extension.
Attributes The set of global and local XML attributes for this complexType. Links are made to the associated tabular definitions. Each attribute is described by:
  • QName - the name with a link to the corresponding table description
  • Type - the data-type
  • Inherited - Yes/No statement of whether or not this attribute is inherited from a base complexType
  • Scope - the scope defined as either "Local" or "Global"
  • Use - the multiplicity as either "Required" or "Optional"
  • Default - the default value or a "-" if there is none
Schematron Rules The set of schematron rules to be applied for the class grouped as:
  • Unordered Class - the Schematron Rules that enforce the "Unordered" stereotype;
  • NS Constraint - the Schematron Rules that enforce the constraints on extension XML attributes;
  • Explicit Rules - the Schematron Rules that enforce the explicitly defined constraints for the information model.
Source The equivalent XSD code for the declaration of the complexType. This is the full declaration. See the W3C XSD documentation for the description of the permitted contents for this declaration.

toc | top

B1.8 XSD Description for a Simple Type

Table B1.8 provides the key to the descriptions of XSD simple type tables.

Table B1.8 The key to the descriptions of XSD simple type tables.
Feature Definition and Usage
Namespace The namespace for the XSD simpleType.
Diagram This diagram consists of a single block. The block form is:
  • SimpleType Block - a green and grey shaded rectangle containing the name of the simpleType and its data-type
Type The data-type for the element. This is either a primitiveType or an enumeration.
Facets The permitted set of facets for the content i.e. the ways in which the content is further constrained. This row is only present if there are associated facets. The set of permitted facets are:
  • Enumeration - a permitted value
  • MinLength - the required minimum number of characters
  • MaxLength - the maximum number of characters
  • WhiteSpace - default handling of white-space i.e. preserve or replace or collapse
  • MinInclusive - the permitted minimum value (inclusive)
  • MaxInclusive - the permitted maximum value (inclusive)
  • Pattern - the permitted character set defined as a regular expression
Used by The features in the XSD that make use of this simpleType. These features are listed under the headings "Attributes", "Elements" and "ComplexTypes". Each of the entries is linked to its formal description table.
Source The equivalent XSD code for the declaration of the simpleType. This is the full declaration. See the W3C XSD documentation for the description of the permitted contents for this declaration.

toc | top

B1.9 XSD Description for an Attribute Group

Table B1.9 provides the key to the descriptions of XSD attribute group tables.

Table B1.9 The key to the descriptions of XSD attribute group tables.
Feature Definition and Usage
Namespace The namespace for the XSD attribute group.
Diagram This diagram consists of two types of linked blocks:
  • Attribute Group Block - an orange shaded rectangle containing the name of the attribute group
  • Attribute Blocks - an orange and grey shaded rectangle containing the name of the attribute, its data-type, any default value and the multiplicity (denoted by a circle containing either the symbol "?" or "1" representing optional or required respectively)
Used by The features in the XSD that make use of this attributeGroup. These features are listed under the heading "ComplexTypes". Each of the entries is linked to its formal description table.
Attributes The set of XML attributes that constitute the attributeGroup. This includes the data-type and multiplicity.
Schematron Rules The set of schematron rules to be applied for the attributeGroup are:
  • NS Constraint - the Schematron Rules that enforce the constraints on extension XML attributes;
  • Explicit Rules - the Schematron Rules that enforce the explicitly defined constraints for the information model.
Source The equivalent XSD code for the declaration of the attributeGroup. See the W3C XSD documentation for the description of the permitted contents for this declaration.

toc | top

B1.10 XSD Description for an Attribute

Table B1.10 provides the key to the descriptions of XSD attribute tables.

Table B1.10 The key to the descriptions of XSD attribute tables.
Feature Definition and Usage
Namespace The namespace for the XSD attribute. Only external/imported attributes have a namespace.
Properties The properties of the attributes expressed in terms of the multiplicity i.e. "Optional" or "Required" and the default value (not all attributes will have a default value).
Facets The permitted set of facets for the content i.e. the ways in which the content is further constrained. This row is only present if there are associated facets. The set of permitted facets are:
  • Enumeration - a permitted value
  • MinLength - the required minimum number of characters
  • MaxLength - the maximum number of characters
  • WhiteSpace - default handling of white-space i.e. preserve or replace or collapse
  • MinInclusive - the permitted minimum value (inclusive)
  • MaxInclusive - the permitted maximum value (inclusive)
  • Pattern - the permitted character set defined as a regular expression
Source The equivalent XSD code for the declaration of the attribute. See the W3C XSD documentation for the description of the permitted contents for this declaration.

toc | top

B1.11 VDEX Description for an External Vocabulary

Table B1.11 provides the key to the descriptions of VDEX tables.

Table B1.11 The key to the descriptions of VDEX vocabulary binding tables.
Feature Definition
Name The name/title for the vocabulary.
Identifier The unique identifier the vocabulary.
Location The Web location for the VDEX file.
Type The type of vocabulary. The choise is "glossaryOrDictionary", "flatTokenTerms", "hierarchicalTokenTerms", "thesaurus" or "lax" (see the IMS VDEX Specification [VDEX, 04] for the use of these terms).
Publisher The publisher of the vocabulary.
Keywords The keywords for the vocabulary.
Terms The set of terms that constitute the vocabulary. Each term there is defined by its:
  • Name - the vocabulary name/token
  • Status - the release status of the term either "Draft", "Provisional" or "Final"
  • Caption - the human readable caption/label for the term
  • Description - the meaning of the term

toc | top

Appendix C XSD Listing

C1 QTI Results Reporting XSD Listing

The XSD listing is shown below (the XSD is available at: http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_result_v2p2.xsd).

<?xml version = "1.0" encoding = "UTF-8"?>
<xs:schema xmlns="http://www.imsglobal.org/xsd/imsqti_result_v2p2"
     targetNamespace="http://www.imsglobal.org/xsd/imsqti_result_v2p2"
     xmlns:xs="http://www.w3.org/2001/XMLSchema"
     version="IMS QTI RESULT 2.2.0"
     elementFormDefault="qualified"
     attributeFormDefault="unqualified">

    <xs:annotation>
        <xs:documentation>
            XSD Data File Information
            =========================
            Author:         Colin Smythe (IMS Global, UK) and Mark McKell (IMS Global, USA)
            Date:           1st September, 2015
            Version:        2.2
            Status:         Final Release
            Description:    This is the Platform Specific Model of the Assessment Result object in the IMS QTIv2.2 Specification Information Model. It is this representation that is used to produce the XSD binding for the AssessmentResult IMS QTI v2.2.

            History:        This version supercedes the full IMS QTI v2.1 specification.

            License:        IPR and Distribution Notices

                            This machine readable file is derived from IMS Global specification IMS Question and Test Interoperability (QTI) Version 2.2
                            found at http://www.imsglobal.org/question and the original IMS Global schema binding or code base
                            http://www.imsglobal.org/question.

                            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 procedures with respect to rights in IMS 
                            specifications can be found at the IMS Global Intellectual Property Rights web page: http://www.imsglobal.org/ipr/imsipr_policyFinal.pdf.

                            Copyright (c) IMS Global Learning Consortium 1999-2016. 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/license.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 IMPLEMENTERS 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.

            Source UML File Information
            ===========================
            The source file information must be supplied as an XMI file (without diagram layout information).
            The supported UML authoring tools are:
            (a) Poseidon - v6 (and later)
            (b) Papyrus - v1.1.3 (and later)

            Source XSLT File Information
            ============================
            XSL Generator:    Specificationv1p0_GenerationToolv1.xsl
            XSLT Processor:   Saxon-EE-9.6.0.7
            Release:          1.0
            Date:             31st January, 2016
            Autogen Engineer: Colin Smythe (IMS Global, UK)
            Autogen Date:     2016-07-04

            IMS Global Auto-generation Binding Tool-kit (I-BAT)
            ===================================================
            This file was auto-generated using the IMS Global Binding Auto-generation Tool-kit (I-BAT).  While every
            attempt has been made to ensure that this tool auto-generates the files correctly, users should be aware
            that this is an experimental tool.  Permission is given to make use of this tool.  IMS Global makes no
            claim on the materials created by third party users of this tool.  Details on how to use this tool
            are contained in the IMS Global "I-BAT" documentation available at the IMS Global web-site:
            http://www.imsglobal.org.

            Tool Copyright:  2012-2016  (c) IMS Global Learning Consortium Inc.  All Rights Reserved.
        </xs:documentation>
    </xs:annotation>

    <!-- Generate Global Attributes (non-assigned) ******************************************************** -->

    <!-- ================================================================================================== -->

    <!-- Generate Global Attributes *********************************************************************** -->

    <!-- ================================================================================================== -->

    <!-- Generate Global List Types *********************************************************************** -->

    <xs:simpleType name="IdentifierList.Type">
        <xs:restriction base="xs:NCName" />
    </xs:simpleType>

    <xs:simpleType name="View.Type">
        <xs:restriction base="xs:string">
            <xs:enumeration value="author" />
            <xs:enumeration value="candidate" />
            <xs:enumeration value="proctor" />
            <xs:enumeration value="scorer" />
            <xs:enumeration value="testConstructor" />
            <xs:enumeration value="tutor" />
        </xs:restriction>
    </xs:simpleType>

    <!-- ================================================================================================== -->

    <!-- Generate Namespaced extension Group  ************************************************************* -->

    <!-- ================================================================================================== -->

    <!-- Generate Special DataTypes  ********************************************************************** -->

    <xs:complexType name="EmptyPrimitiveType.Type">
        <xs:complexContent>
            <xs:restriction base="xs:anyType" />
        </xs:complexContent>
    </xs:complexType>

    <!-- ================================================================================================== -->

    <!-- Generate the enumerated simpleType declarations ************************************************** -->

    <!-- ================================================================================================== -->

    <!-- Generate the simpleType elements based on IMS data-types (Parameter) ***************************** -->

    <!-- ================================================================================================== -->

    <!-- Generate the simpleType elements based on IMS data-types (Derived) ******************************* -->

    <!-- ================================================================================================== -->

    <!-- Generate the simpleType elements based on IMS data-types (Union) ********************************* -->

    <!-- ================================================================================================== -->

    <!-- Generate the simpleType elements based on IMS data-types (Complex) ******************************* -->

    <!-- ================================================================================================== -->

    <!-- Generate the derived data-type elements based upon simpleType ************************************ -->

    <xs:simpleType name="DateTime.Type">
        <xs:restriction base="xs:dateTime">
            <xs:pattern value="[0-9]{4}.*" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="Identifier.Type">
        <xs:restriction base="xs:NCName" />
    </xs:simpleType>

    <!-- ================================================================================================== -->

    <!-- Generate the derived data-type elements based upon derived simpleType **************************** -->

    <!-- ================================================================================================== -->

    <!-- Generate the ComplexTypes ************************************************************************ -->

    <xs:complexType name="AssessmentResult.Type" abstract="false" mixed="false">
        <xs:annotation>
            <xs:documentation source="documentation">
                This is the root class to contain the assessment result data. An Assessment Result is used
                to report the results of a candidate's interaction with a test and/or one or more items a-
                ttempted. Information about the test is optional, in some systems it may be possible to i-
                nteract 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.      
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="context" type="Context.Type" minOccurs="1" maxOccurs="1" />
            <xs:element name="testResult" type="TestResult.Type" minOccurs="0" maxOccurs="1" />
            <xs:element name="itemResult" type="ItemResult.Type" minOccurs="0" maxOccurs="unbounded" />
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="CandidateResponse.Type" abstract="false" mixed="false">
        <xs:annotation>
            <xs:documentation source="documentation">
                The response given by the candidate.                                                      
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="value" type="Value.Type" minOccurs="0" maxOccurs="unbounded" />
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Context.Type" abstract="false" mixed="false">
        <xs:annotation>
            <xs:documentation source="documentation">
                This is the context for the 'assessmentResult'. It provides the corresponding set of iden-
                tifiers.                                                                                  
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="sessionIdentifier" type="SessionIdentifier.Type" minOccurs="0" maxOccurs="unbounded" />
        </xs:sequence>
        <xs:attribute name="sourcedId" use="optional" type="Identifier.Type" />
    </xs:complexType>

    <xs:complexType name="CorrectResponse.Type" abstract="false" mixed="false">
        <xs:annotation>
            <xs:documentation source="documentation">
                The correct response may be output as part of the report if desired. Systems are not limi-
                ted to reporting correct responses declared in responseDeclarations. For example, a corre-
                ct response may be set by a templateRule or may simply have been suppressed from the decl-
                aration passed to the delivery engine e.g. for security.                                  
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="value" type="Value.Type" minOccurs="1" maxOccurs="unbounded" />
        </xs:sequence>
        <xs:attribute name="interpretation" use="optional" type="xs:string" />
    </xs:complexType>

    <xs:complexType name="ItemResult.Type" abstract="false" mixed="false">
        <xs:annotation>
            <xs:documentation source="documentation">
                The result of an item session is reported with an itemResult. A report may contain multip-
                le results for the same instance of an item representing multiple attempts, progression t-
                hrough an adaptive item or even more detailed tracking. In these cases, each item result  
                must have a different datestamp.                                                          
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:choice minOccurs="0" maxOccurs="unbounded">
                <xs:element name="responseVariable" type="ResponseVariable.Type" minOccurs="1" maxOccurs="1"/>
                <xs:element name="templateVariable" type="TemplateVariable.Type" minOccurs="1" maxOccurs="1"/>
                <xs:element name="outcomeVariable" type="OutcomeVariable.Type" minOccurs="1" maxOccurs="1"/>
            </xs:choice>
            <xs:element name="candidateComment" type="xs:string" minOccurs="0" maxOccurs="1" />
        </xs:sequence>
        <xs:attribute name="identifier" use="required" type="xs:normalizedString" />
        <xs:attribute name="sequenceIndex" use="optional" type="xs:integer" />
        <xs:attribute name="datestamp" use="required" type="DateTime.Type" />
        <xs:attribute name="sessionStatus" use="required">
            <xs:simpleType>
                <xs:annotation>
                    <xs:documentation source="documentation">
                        The session status is used to keep track of the status of the item variables in an item s-
                        ession.                                                                                   
                    </xs:documentation>
                </xs:annotation>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="final" />
                    <xs:enumeration value="initial" />
                    <xs:enumeration value="pendingResponseProcessing" />
                    <xs:enumeration value="pendingSubmission" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:complexType>

    <xs:complexType name="OutcomeVariable.Type" abstract="false" mixed="false">
        <xs:annotation>
            <xs:documentation source="documentation">
                The Item result information related to an 'Outcome Variable'.                             
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="value" type="Value.Type" minOccurs="0" maxOccurs="unbounded" />
        </xs:sequence>
        <xs:attribute name="identifier" use="required" type="Identifier.Type" />
        <xs:attribute name="cardinality" use="required">
            <xs:simpleType>
                <xs:annotation>
                    <xs:documentation source="documentation">
                        An expression or itemVariable can either be single-valued or multi-valued. A multi-valued 
                        expression (or variable) is called a container. A container contains a list of values, th-
                        is list may be empty in which case it is treated as NULL. All the values in a multiple or 
                        ordered container are drawn from the same value set, however, containers may contain mult-
                        iple occurrences of the same value. In other words, [A,B,B,C] is an acceptable value for a
                        container. A container with cardinality multiple and value [A,B,C] is equivalent to a sim-
                        ilar one with value [C,B,A] whereas these two values would be considered distinct for con-
                        tainers with cardinality ordered. When used as the value of a response variable this dist-
                        inction is typified by the difference between selecting choices in a multi-response multi-
                        -choice task and ranking choices in an order objects task. In the language of [ISO 11404] 
                        a container with multiple cardinality is a "bag-type", a container with ordered cardinali-
                        ty is a "sequence-type" and a container with record cardinality is a "record-type". The r-
                        ecord container type is a special container that contains a set of independent values each
                        identified by its own identifier and having its own base-type. This specification does not
                        make use of the record type directly however it is provided to enable customInteractions  
                        to manipulate more complex responses and customOperators to return more complex values, in
                        addition to the use for detailed information about numeric responses described in the str-
                        ingInteraction abstract class.                                                            
                    </xs:documentation>
                </xs:annotation>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="multiple" />
                    <xs:enumeration value="ordered" />
                    <xs:enumeration value="record" />
                    <xs:enumeration value="single" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="baseType" use="optional">
            <xs:simpleType>
                <xs:annotation>
                    <xs:documentation source="documentation">
                        A base-type is simply a description of a set of atomic values (atomic to this specificati-
                        on). Note that several of the baseTypes used to define the runtime data model have identi-
                        cal definitions to those of the basic data types used to define the values for attributes 
                        in the specification itself. The use of an enumeration to define the set of baseTypes used
                        in the runtime model, as opposed to the use of classes with similar names, is designed to 
                        help distinguish between these two distinct levels of modelling.                          
                    </xs:documentation>
                </xs:annotation>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="boolean" />
                    <xs:enumeration value="directedPair" />
                    <xs:enumeration value="duration" />
                    <xs:enumeration value="file" />
                    <xs:enumeration value="float" />
                    <xs:enumeration value="identifier" />
                    <xs:enumeration value="integer" />
                    <xs:enumeration value="pair" />
                    <xs:enumeration value="point" />
                    <xs:enumeration value="string" />
                    <xs:enumeration value="uri" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="view" use="optional">
            <xs:simpleType>
                <xs:list itemType="View.Type" />
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="interpretation" use="optional" type="xs:string" />
        <xs:attribute name="longInterpretation" use="optional" type="xs:anyURI" />
        <xs:attribute name="normalMaximum" use="optional" type="xs:double" />
        <xs:attribute name="normalMinimum" use="optional" type="xs:double" />
        <xs:attribute name="masteryValue" use="optional" type="xs:double" />
    </xs:complexType>

    <xs:complexType name="ResponseVariable.Type" abstract="false" mixed="false">
        <xs:annotation>
            <xs:documentation source="documentation">
                The Item result information related to a 'Response Variable'.                             
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="correctResponse" type="CorrectResponse.Type" minOccurs="0" maxOccurs="1" />
            <xs:element name="candidateResponse" type="CandidateResponse.Type" minOccurs="1" maxOccurs="1" />
        </xs:sequence>
        <xs:attribute name="identifier" use="required" type="Identifier.Type" />
        <xs:attribute name="cardinality" use="required">
            <xs:simpleType>
                <xs:annotation>
                    <xs:documentation source="documentation">
                        An expression or itemVariable can either be single-valued or multi-valued. A multi-valued 
                        expression (or variable) is called a container. A container contains a list of values, th-
                        is list may be empty in which case it is treated as NULL. All the values in a multiple or 
                        ordered container are drawn from the same value set, however, containers may contain mult-
                        iple occurrences of the same value. In other words, [A,B,B,C] is an acceptable value for a
                        container. A container with cardinality multiple and value [A,B,C] is equivalent to a sim-
                        ilar one with value [C,B,A] whereas these two values would be considered distinct for con-
                        tainers with cardinality ordered. When used as the value of a response variable this dist-
                        inction is typified by the difference between selecting choices in a multi-response multi-
                        -choice task and ranking choices in an order objects task. In the language of [ISO 11404] 
                        a container with multiple cardinality is a "bag-type", a container with ordered cardinali-
                        ty is a "sequence-type" and a container with record cardinality is a "record-type". The r-
                        ecord container type is a special container that contains a set of independent values each
                        identified by its own identifier and having its own base-type. This specification does not
                        make use of the record type directly however it is provided to enable customInteractions  
                        to manipulate more complex responses and customOperators to return more complex values, in
                        addition to the use for detailed information about numeric responses described in the str-
                        ingInteraction abstract class.                                                            
                    </xs:documentation>
                </xs:annotation>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="multiple" />
                    <xs:enumeration value="ordered" />
                    <xs:enumeration value="record" />
                    <xs:enumeration value="single" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="baseType" use="optional">
            <xs:simpleType>
                <xs:annotation>
                    <xs:documentation source="documentation">
                        A base-type is simply a description of a set of atomic values (atomic to this specificati-
                        on). Note that several of the baseTypes used to define the runtime data model have identi-
                        cal definitions to those of the basic data types used to define the values for attributes 
                        in the specification itself. The use of an enumeration to define the set of baseTypes used
                        in the runtime model, as opposed to the use of classes with similar names, is designed to 
                        help distinguish between these two distinct levels of modelling.                          
                    </xs:documentation>
                </xs:annotation>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="boolean" />
                    <xs:enumeration value="directedPair" />
                    <xs:enumeration value="duration" />
                    <xs:enumeration value="file" />
                    <xs:enumeration value="float" />
                    <xs:enumeration value="identifier" />
                    <xs:enumeration value="integer" />
                    <xs:enumeration value="pair" />
                    <xs:enumeration value="point" />
                    <xs:enumeration value="string" />
                    <xs:enumeration value="uri" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="choiceSequence" use="optional">
            <xs:simpleType>
                <xs:list itemType="IdentifierList.Type" />
            </xs:simpleType>
        </xs:attribute>
    </xs:complexType>

    <xs:complexType name="TemplateVariable.Type" abstract="false" mixed="false">
        <xs:annotation>
            <xs:documentation source="documentation">
                The Item result information related to a 'Template Variable'.                             
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="value" type="Value.Type" minOccurs="0" maxOccurs="unbounded" />
        </xs:sequence>
        <xs:attribute name="identifier" use="required" type="Identifier.Type" />
        <xs:attribute name="cardinality" use="required">
            <xs:simpleType>
                <xs:annotation>
                    <xs:documentation source="documentation">
                        An expression or itemVariable can either be single-valued or multi-valued. A multi-valued 
                        expression (or variable) is called a container. A container contains a list of values, th-
                        is list may be empty in which case it is treated as NULL. All the values in a multiple or 
                        ordered container are drawn from the same value set, however, containers may contain mult-
                        iple occurrences of the same value. In other words, [A,B,B,C] is an acceptable value for a
                        container. A container with cardinality multiple and value [A,B,C] is equivalent to a sim-
                        ilar one with value [C,B,A] whereas these two values would be considered distinct for con-
                        tainers with cardinality ordered. When used as the value of a response variable this dist-
                        inction is typified by the difference between selecting choices in a multi-response multi-
                        -choice task and ranking choices in an order objects task. In the language of [ISO 11404] 
                        a container with multiple cardinality is a "bag-type", a container with ordered cardinali-
                        ty is a "sequence-type" and a container with record cardinality is a "record-type". The r-
                        ecord container type is a special container that contains a set of independent values each
                        identified by its own identifier and having its own base-type. This specification does not
                        make use of the record type directly however it is provided to enable customInteractions  
                        to manipulate more complex responses and customOperators to return more complex values, in
                        addition to the use for detailed information about numeric responses described in the str-
                        ingInteraction abstract class.                                                            
                    </xs:documentation>
                </xs:annotation>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="multiple" />
                    <xs:enumeration value="ordered" />
                    <xs:enumeration value="record" />
                    <xs:enumeration value="single" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="baseType" use="optional">
            <xs:simpleType>
                <xs:annotation>
                    <xs:documentation source="documentation">
                        A base-type is simply a description of a set of atomic values (atomic to this specificati-
                        on). Note that several of the baseTypes used to define the runtime data model have identi-
                        cal definitions to those of the basic data types used to define the values for attributes 
                        in the specification itself. The use of an enumeration to define the set of baseTypes used
                        in the runtime model, as opposed to the use of classes with similar names, is designed to 
                        help distinguish between these two distinct levels of modelling.                          
                    </xs:documentation>
                </xs:annotation>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="boolean" />
                    <xs:enumeration value="directedPair" />
                    <xs:enumeration value="duration" />
                    <xs:enumeration value="file" />
                    <xs:enumeration value="float" />
                    <xs:enumeration value="identifier" />
                    <xs:enumeration value="integer" />
                    <xs:enumeration value="pair" />
                    <xs:enumeration value="point" />
                    <xs:enumeration value="string" />
                    <xs:enumeration value="uri" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:complexType>

    <xs:complexType name="TestResult.Type" abstract="false" mixed="false">
        <xs:annotation>
            <xs:documentation source="documentation">
                The container for the Test result. When a test result is given the following item results 
                must relate only to items that were selected for presentation as part of the corresponding
                test session. Furthermore, all items selected for presentation should be reported with a  
                corresponding itemResult.                                                                 
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:choice minOccurs="0" maxOccurs="unbounded">
                <xs:element name="responseVariable" type="ResponseVariable.Type" minOccurs="1" maxOccurs="1"/>
                <xs:element name="templateVariable" type="TemplateVariable.Type" minOccurs="1" maxOccurs="1"/>
                <xs:element name="outcomeVariable" type="OutcomeVariable.Type" minOccurs="1" maxOccurs="1"/>
            </xs:choice>
        </xs:sequence>
        <xs:attribute name="identifier" use="required" type="xs:normalizedString" />
        <xs:attribute name="datestamp" use="required" type="DateTime.Type" />
    </xs:complexType>

    <!-- ================================================================================================== -->

    <!-- Generate the SOAP Binding ComplexTypes *********************************************************** -->

    <!-- ================================================================================================== -->

    <!-- Generate the derived ComplexTypes **************************************************************** -->

    <xs:complexType name="SessionIdentifier.Type" abstract="false" mixed="false">
        <xs:annotation>
            <xs:documentation source="documentation">
                The system that creates the result (for example, the test delivery system) should assign a
                session identifier that it can use to identify the session.                               
            </xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="EmptyPrimitiveType.Type">
                <xs:attribute name="sourceID" use="required" type="xs:anyURI" />
                <xs:attribute name="identifier" use="required" type="xs:normalizedString" />
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="Value.Type" abstract="false" mixed="false">
        <xs:annotation>
            <xs:documentation source="documentation">
                A class that can represent a single value of any baseType in variable declarations and re-
                sult reports. The base-type is defined by the baseType attribute of the declaration except
                in the case of variables with record cardinality.                                         
            </xs:documentation>
        </xs:annotation>
        <xs:simpleContent>
            <xs:extension base="xs:normalizedString">
                <xs:attribute name="fieldIdentifier" use="optional" type="Identifier.Type" />
                <xs:attribute name="baseType" use="optional">
                    <xs:simpleType>
                        <xs:annotation>
                            <xs:documentation source="documentation">
                                A base-type is simply a description of a set of atomic values (atomic to this specificati-
                                on). Note that several of the baseTypes used to define the runtime data model have identi-
                                cal definitions to those of the basic data types used to define the values for attributes 
                                in the specification itself. The use of an enumeration to define the set of baseTypes used
                                in the runtime model, as opposed to the use of classes with similar names, is designed to 
                                help distinguish between these two distinct levels of modelling.                          
                            </xs:documentation>
                        </xs:annotation>
                        <xs:restriction base="xs:string">
                            <xs:enumeration value="boolean" />
                            <xs:enumeration value="directedPair" />
                            <xs:enumeration value="duration" />
                            <xs:enumeration value="file" />
                            <xs:enumeration value="float" />
                            <xs:enumeration value="identifier" />
                            <xs:enumeration value="integer" />
                            <xs:enumeration value="pair" />
                            <xs:enumeration value="point" />
                            <xs:enumeration value="string" />
                            <xs:enumeration value="uri" />
                        </xs:restriction>
                    </xs:simpleType>
                </xs:attribute>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <!-- ================================================================================================== -->

    <!-- Declaration of the elements (Complex) ************************************************************ -->

    <!-- ================================================================================================== -->

    <!-- Declaration of the elements (Derived) ************************************************************ -->

    <!-- ================================================================================================== -->

    <!-- Declaration of the root element(s) *************************************************************** -->

    <xs:element name="assessmentResult" type="AssessmentResult.Type" />

    <!-- ================================================================================================== -->

</xs:schema>
        

toc | top

About this Document

Title: IMS Question and Test Interoperability (QTI): Results Reporting Information Model and XSD Binding v2.2
Editors: Colin Smythe, IMS Global (UK)
Mark McKell, IMS Global (USA)
Wilbert Kraan, JISC (UK)

Co-chairs: Wilbert Kraan, JISC (UK)
Tom Hoffmann, ETS (USA)

Version: Final 1.0.1
Version Date: 1st August, 2016
Status: IMS Final Release
Summary: This is the definition of the data model and the corresponding XSD binding to be used to support the exchange of QTI Results. This data model defines the object model for the exchange of a QTI-specific Results Report. The data model and XSD binding is described using the IMS profile of UML to support the IMS model driven specification engineering method.

Revision Information: This document supercedes IMS QTI Results Reporting Information Model and XSD Binding v2.1. Version 1.0.1 is a document consistency update with the QTI ASI 2.2.1 XSD.
Purpose: This document is made available for adoption by the public community at large.
Document Location: IMS Public Website (Standards Download): www.imsglobal.org/question

toc | top

List of Contributors

The following individuals contributed to the development of this document:

Mike Aumock Pacific Metrics (USA)
Jerome Bogaerts O.A.T. (Luxemburgh)
Marty Christensen ACT (USA)
Jason Craft Pearson (USA)
Gary Driscoll ETS (USA)
Gaye Fedorachak ACT (USA)
Greg Gaspard Pearson (USA)
Mark Hakkinen ETS (USA)
Regina Hoag ETS (USA)
Tom Hoffmann ETS (USA)
Rob Howard NWEA (USA)
Wilbert Kraan JISC (UK)
Makoto Marata JEPA (Japan)
Justin Marks NWEA (USA)
Phil McClelland Desire2Learn (Canada)
Mark McKell IMS Global (USA)
Sue Milne JISC/CETIS (UK)
Becka Nethers NWEA (USA)
Padraig O'hiceadha HMH (UK)
Jason Pelletier Measured Progress (USA)
Craig Perry ACT (USA)
Kevin Ptak Data Recognition Corps (USA)
Michelle Richard Pearson (USA)
Madeleine Rothberg WGBH NCAM (USA)
Sharon Secretan Pearson (USA)
Farhat Siddiqui ETS (USA)
Colin Smythe IMS Global (UK)
Joseph St. George Measured Progress (USA)
Jeremiah Tanner DRC (USA)
Wyatt VanderStucken ETS (USA)
Yvonne Winklemann BPS (Germany)

toc | top

Revision History

Version No. Release Date Comments
Final 1.0 1st September, 2015 The first formal release of QTI Result Reporting v2.2 Specification. This is a combined Information Model an XSD Binding document.
Final 1.0.1 1st August, 2016 Updated to provide consistency for references to the QTI ASI 2.2.1 XSD revision release.

toc | top

IMS Global Learning Consortium, Inc. ("IMS Global") is publishing the information contained in this document ("Specification") for purposes of scientific, experimental, and scholarly collaboration only.

IMS Global makes no warranty or representation regarding the accuracy or completeness of the Specification.

This material is provided on an "As Is" and "As Available" basis.

The Specification is at all times subject to change and revision without notice.

It is your sole responsibility to evaluate the usefulness, accuracy, and completeness of the Specification as it relates to you.

IMS Global would appreciate receiving your comments and suggestions.

Please contact IMS Global through our website at http://www.imsglobal.org.

Please refer to Document Name: IMS Question and Test Interoperability (QTI): Results Reporting Information Model and XSD Binding v2.2

Date: 1st August, 2016

toc | top