IMS Final Release

# IMS Question and Test Interoperability (QTI): Metadata Information Model and XSD Binding Version 2.2

# IMS Final Release
Version 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.

© 2016 IMS Global Learning Consortium, Inc.
All Rights Reserved.

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

Document Name: IMS Question and Test Interoperability (QTI): Metadata Information Model and XSD Binding v2.2

Revision: 1st August, 2016

toc | top

# Table of Contents

1. Introduction

1.1. QTI Metadata Overview

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 "qtiMetadata" Root Attribute Description

2.3. Root Class Description

2.3.1 "QTIMetadata" Root Class Description

2.3.1.1 "itemTemplate" Attribute Description

2.3.1.2 "timeDependent" Attribute Description

2.3.1.3 "composite" Attribute Description

2.3.1.4 "interactionType" Attribute Description

2.3.1.5 "feedbackType" Attribute Description

2.3.1.6 "solutionAvailable" Attribute Description

2.3.1.7 "scoringMode" Attribute Description

2.3.1.8 "toolName" Attribute Description

2.3.1.9 "toolVersion" Attribute Description

2.3.1.10 "toolVendor" Attribute Description

2.4. Derived Class Descriptions

2.4.1 "String256" Class Description

2.4.1.1 "maxLength" Attribute Description

2.4.1.2 "whiteSpace" Attribute Description

2.5. Enumerated Vocabulary Descriptions

2.5.1 "FeedbackType" Vocabulary Description

2.5.2 "InteractionType" Vocabulary Description

2.5.3 "ScoringMode" Vocabulary Description

2.6. IEEE LOM Profile

2.6.1. The General Category

2.6.1.1. Identifier

2.6.1.2. Title

2.6.1.3. Language

2.6.1.4. Description

2.6.1.5. Keyword

2.6.2. The Lifecycle Category

2.6.2.1. Version

2.6.2.2. Status

2.6.2.3. Contribute

2.6.3. The Meta-Metadata Category

2.6.3.1. Identifier

2.6.3.2. Contribute

2.6.3.3. Metadata Schema

2.6.3.4. Language

2.6.4. The Technical Category

2.6.4.1. Format

2.6.4.2. Size

2.6.4.3. Location

2.6.4.4. Other Platform Requirements

2.6.5. The Educational Category

2.6.5.1. Learning Resource Type

2.6.5.2. Context

2.6.5.3. Typical Learning Time

2.6.5.4. Description

2.6.5.5. Language

2.6.6. The Rights Category

2.6.6.1. Cost

2.6.6.2. CopyRight and Other Restrictions

2.6.6.3. Description

2.6.7. The Relation Category

2.6.7.1. Kind

2.6.7.2. Resource

2.6.8. The Annotation Category

2.6.9. The Classification Category

3. XSD Binding

3.1. XSD Binding Overview

3.2. UML to XSD Mapping Rules

3.2.1 Root Attribute UML/XSD Mapping

3.2.2 Root Class UML/XSD Mapping

3.2.2.1 QTIMetadata Root Class Mapping

3.2.3 Class UML/XSD Mapping

3.2.4 Derived Class UML/XSD Mapping

3.2.4.1 String256 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. XSD Files 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 "qtiMetadata" 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 QTIMetadata.Type Root Complex Type Description

* "itemTemplate" Local Element Description

* "timeDependent" Local Element Description

* "composite" Local Element Description

* "interactionType" Local Element Description

* "feedbackType" Local Element Description

* "solutionAvailable" Local Element Description

* "scoringMode" Local Element Description

* "toolName" Local Element Description

* "toolVersion" Local Element Description

* "toolVendor" Local Element Description

3.4.5 Core Complex Type Descriptions

3.4.6 Derived Complex Type Descriptions

3.4.7 Simple Type Descriptions

3.4.7.1 String256.Type Simple Type Description

3.5. The Schematron Rules

3.6. LOM XSD Binding

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 Binding Terminology

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 Listings

C1 QTI Metadata XSD Listing

About this Document

List of Contributors

Revision History

toc | top

# List of Figures

Figure 2.3.1 QTIMetadata class definitions

Figure 2.4.1 String256 class definitions

Figure 2.5.1 FeedbackType class definitions

Figure 2.5.2 InteractionType class definitions

Figure 2.5.3 ScoringMode class definitions

Figure 3.4.1.1 XSD Description for the "qtiMetadata" Root Element

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

Figure XSD Description for the "itemTemplate" Local Element Description

Figure XSD Description for the "timeDependent" Local Element Description

Figure XSD Description for the "composite" Local Element Description

Figure XSD Description for the "interactionType" Local Element Description

Figure XSD Description for the "feedbackType" Local Element Description

Figure XSD Description for the "solutionAvailable" Local Element Description

Figure XSD Description for the "scoringMode" Local Element Description

Figure XSD Description for the "toolName" Local Element Description

Figure XSD Description for the "toolVersion" Local Element Description

Figure XSD Description for the "toolVendor" Local Element Description

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

toc | top

# List of Tables

Table 2.2.1 "qtiMetadata" root attribute description

Table 2.3.1 QTIMetadata class definitions

Table 2.3.1.1 Description of the "itemTemplate" attribute for the "QTIMetadata" class

Table 2.3.1.2 Description of the "timeDependent" attribute for the "QTIMetadata" class

Table 2.3.1.3 Description of the "composite" attribute for the "QTIMetadata" class

Table 2.3.1.4 Description of the "interactionType" attribute for the "QTIMetadata" class

Table 2.3.1.5 Description of the "feedbackType" attribute for the "QTIMetadata" class

Table 2.3.1.6 Description of the "solutionAvailable" attribute for the "QTIMetadata" class

Table 2.3.1.7 Description of the "scoringMode" attribute for the "QTIMetadata" class

Table 2.3.1.8 Description of the "toolName" attribute for the "QTIMetadata" class

Table 2.3.1.9 Description of the "toolVersion" attribute for the "QTIMetadata" class

Table 2.3.1.10 Description of the "toolVendor" attribute for the "QTIMetadata" class

Table 2.4.1 String256 class definitions

Table 2.4.1.1 Description of the "maxLength" attribute for the "String256" class

Table 2.4.1.2 Description of the "whiteSpace" attribute for the "String256" class

Table 2.5.1 FeedbackType class definitions

Table 2.5.2 InteractionType class definitions

Table 2.5.3 ScoringMode class definitions

Table 3.2.1 UML/XSD Mapping for the Root Attributes

Table 3.2.2.1 UML/XSD Mapping for the QTIMetadata Root Class

Table 3.2.4.1 UML/XSD Mapping for the String256 Derived Class

Table 3.2.5 UML/XSD Mapping for the Enumerated Class Definitions

Table 3.2.9 UML/XSD Mapping for the Primitive Type Definitions

Table 3.4.1.1 XSD Description for the "qtiMetadata" Root Element

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

Table XSD Description for the "itemTemplate" Local Element Description

Table XSD Description for the "timeDependent" Local Element Description

Table XSD Description for the "composite" Local Element Description

Table XSD Description for the "interactionType" Local Element Description

Table XSD Description for the "feedbackType" Local Element Description

Table XSD Description for the "solutionAvailable" Local Element Description

Table XSD Description for the "scoringMode" Local Element Description

Table XSD Description for the "toolName" Local Element Description

Table XSD Description for the "toolVersion" Local Element Description

Table XSD Description for the "toolVendor" Local Element Description

Table 3.4.7.1 XSD Description for the "String256.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. QTI Metadata Overview

This document is a part of the IMS Global Question and Test Interoperability (QTI) v2.2 specification. It introduces QTI-specific metadata. In QTIv2.2 the QTI-specific metadata is aligned with the IEEE Learning Object Metadata (LOM) in accordance with the IMS Metadata Best Practice and Implementation Guide for [IMD, 06]. The IEEE LOM standard defines a set of metadata elements that can be used to describe learning resources, but does not describe assessment resources in sufficient detail. The application profile provided in this document therefore extends the IEEE LOM to meet the specific needs of QTI developers wishing to associate metadata with items (as defined by the accompanying Item Information Model). QTIv2.2 further extends this to enable the description of tests, pools and object banks.

## 1.2. Scope and Context

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

- IMS Question and Test Interoperability: Assessment, Section and Item (ASI) Information Model v2.2 [QTI, 16a] - the data model definition for the exchange of Assessments, Sections and Items;
- IMS Question and Test Interoperability v2.2 Best Practice and Implementation Guide v1.0 [QTI, 15b] - key information on how to adopt and implement the specification.

This QTI Metadata v2.2 specification supersedes the QTI v2.1 versions. The QTI Information Model is bound to an XML Schema Definition (XSD). This document and the accompanying XSD is generated using the IMS Global Binding Auto-generation Tool-kit (I-BAT) [I-BAT, 06]. The additions made in v2.2 are:

- The addition of the 'scoringMode' child in the 'QTIMetadata' class to provide information on how the score was produced.

The IEEE LOM documentation describing the Information Model [LOM, 02] and the IMS XSD Binding [IMD, 06] should also be used with this specification.

## 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 Metadata. This description uses a profile of UML to represent the structure of the data model;
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 Metadata instances. This description includes an explanation of the relationship between the UML representation and the XSD that is produced through transformation of that representation;
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 Binding Terminology | 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 Listings | The listing of the QTI Metadata XSD that should be used to validate instances of the data exchange.

## 1.4. Nomenclature

DDC | Dewey Decimal Classification
DT | Derived Type
I-BAT | IMS Binding Autogeneration Toolkit
IEEE | Institute of Electrical and ElectronicEngineers
ISO | International Standards Organization
LCC | Library of Congress Classification
LOM | Learning Object Metadata
PT | Primitive Type
QTI | Question and Test Interoperability
UML | Unified Modelling Language
URI | Uniform Resource Identifier
XML | Exchange Markup Language
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.
[IMD, 06] | IMS Metadata Best Practice Guide for IEEE 1484.12.1-2002 Standard for Learning Object Metadata, Phil Barker, Lorna M.Campbell, Anthony Roberts and Colin Smythe, IMS Global Learning Consortium Inc., April 2006, http://www.imsglobal.org/metadata/mdv1p3/imsmd_bestv1p3.html.
[ISO 8601] | ISO8601:2004 Data elements and interchange formats - Information interchange - Representation of dates and times, ISO, International Standards Organization (ISO), 2000, p.33.
[LOM, 02] | IEEE Standard for Learning Object Metadata (1484.12.1), W.Hodgins (Chair), IEEE-SA Standards Board, June 2002, p.132, ISBN 0-7381-3297-7.
[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, 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.

toc | top

# 2. Information Model

## 2.1. Information Model Overview

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

- Root Attributes - the root object that contains the QTI Metadata data structure;
- Root Classes - the root class that defines the QTI Metadata data structure;
- Derived Classes - the classes in the data model that are derived from the primitive types or other derived types;
- Enumerated Classes - the classes that contain the intrinsic enumerated vocabularies;
- LOM Classes - the set of IEEE LOM objects that should also be used for QTI Metadata description.

## 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:

- qtiMetadata - this is the root element for the QTI Metadata. This is used for the metadata for the recording of QTI specific information. It is designed to be treated as an additional top-level category to augment the IEEE LOM profile described in the next section.

### 2.2.1 "qtiMetadata" Root Attribute Description

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

Table 2.2.1 Description of the "qtiMetadata" root attribute.
Descriptor | Definition
--- | ---
Attribute Name | qtiMetadata
Data Type | QTIMetadata
Description | This is the root element for the QTI Metadata. This is used for the metadata for the recording of QTI specific information. It is designed to be treated as an additional top-level category to augment the IEEE LOM profile described in the next section.

## 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 QTIMetadata Root Class Description

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

Figure 2.3.1 - QTIMetadata class definitions.

Table 2.3.1 Description of the "QTIMetadata" class.
Descriptor | Definition
--- | ---
Class Name | QTIMetadata
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: itemTemplate timeDependent composite interactionType feedbackType solutionAvailable scoringMode toolName toolVersion toolVendor
Description | This contains the new category of metadata for the recording of QTI specific information. It is designed to be treated as an additional top-level category to augment the IEEE LOM.

#### 2.3.1.1 "itemTemplate" Attribute Description

The description of the "itemTemplate" attribute for the "QTIMetadata" root class is given in Table 2.3.1.1.

Table 2.3.1.1 Description of the "itemTemplate" attribute for the "QTIMetadata" root class.
Descriptor | Definition
--- | ---
Attribute Name | itemTemplate
Data Type | Boolean (Primitive-type)
Value Space | See Appendix A1.3.
Scope | Local ("-")
Multiplicity | [0..1]
Description | True if the item is actually an item template, in other words, the item changes its appearance based on some random or external factor. An assessmentItem that contains a templateProcessing section.

#### 2.3.1.2 "timeDependent" Attribute Description

The description of the "timeDependent" attribute for the "QTIMetadata" root class is given in Table 2.3.1.2.

Table 2.3.1.2 Description of the "timeDependent" attribute for the "QTIMetadata" root class.
Descriptor | Definition
--- | ---
Attribute Name | timeDependent
Data Type | Boolean (Primitive-type)
Value Space | See Appendix A1.3.
Scope | Local ("-")
Multiplicity | [0..1]
Description | Whether or not the item is time dependent. A time dependent item takes the length of time taken for an attempt into consideration when scoring.

#### 2.3.1.3 "composite" Attribute Description

The description of the "composite" attribute for the "QTIMetadata" root class is given in Table 2.3.1.3.

Table 2.3.1.3 Description of the "composite" attribute for the "QTIMetadata" root class.
Descriptor | Definition
--- | ---
Attribute Name | composite
Data Type | Boolean (Primitive-type)
Value Space | See Appendix A1.3.
Scope | Local ("-")
Multiplicity | [0..1]
Description | True if the item comprises more than one interaction, for example, an assessmentItem that contains more than one interaction.

#### 2.3.1.4 "interactionType" Attribute Description

The description of the "interactionType" attribute for the "QTIMetadata" root class is given in Table 2.3.1.4.

Table 2.3.1.4 Description of the "interactionType" attribute for the "QTIMetadata" root class.
Descriptor | Definition
--- | ---
Attribute Name | interactionType
Data Type | InteractionType
Value Space | Enumerated value set of: { associateInteraction | choiceInteraction | customInteraction | drawingInteraction | endAttemptInteraction | extendedTextInteraction | gapMatchInteraction | graphicAssociateInteraction | graphicGapMatchInteraction | graphicOrderInteraction | hotspotInteraction | hottextInteraction | inlineChoiceInteraction | matchInteraction | mediaInteraction | orderInteraction | positionObjectInteraction | selectPointInteraction | sliderInteraction | textEntryInteraction | uploadInteraction }
Scope | Local ("-")
Multiplicity | [0.. unbounded]
Description | The interaction type(s) of the item. The vocabulary is comprised of the names, as defined in the information model, of the leaf classes derived from interaction.

#### 2.3.1.5 "feedbackType" Attribute Description

The description of the "feedbackType" attribute for the "QTIMetadata" root class is given in Table 2.3.1.5.

Table 2.3.1.5 Description of the "feedbackType" attribute for the "QTIMetadata" root class.
Descriptor | Definition
--- | ---
Attribute Name | feedbackType
Data Type | FeedbackType
Value Space | Enumerated value set of: { adaptive | nonadaptive | none }
Scope | Local ("-")
Multiplicity | [0..1]
Description | Describes the type of feedback, if any, available in the item. If feedback is available then it is described as being non-adaptive or adaptive depending on whether the item is itself adaptive. A non-adaptive item generates feedback based on the responses submitted as part of (the last) attempt only. An adaptive item generates feedback that takes into consideration the path taken through the item, in other words, feedback based on the accumulation of all attempts and not just the last.

#### 2.3.1.6 "solutionAvailable" Attribute Description

The description of the "solutionAvailable" attribute for the "QTIMetadata" root class is given in Table 2.3.1.6.

Table 2.3.1.6 Description of the "solutionAvailable" attribute for the "QTIMetadata" root class.
Descriptor | Definition
--- | ---
Attribute Name | solutionAvailable
Data Type | Boolean (Primitive-type)
Value Space | See Appendix A1.3.
Scope | Local ("-")
Multiplicity | [0..1]
Description | Set to true if a model solution is available for the item. For example, an assessmentItem that provides correct responses for all declared response variables.

#### 2.3.1.7 "scoringMode" Attribute Description

The description of the "scoringMode" attribute for the "QTIMetadata" root class is given in Table 2.3.1.7.

Table 2.3.1.7 Description of the "scoringMode" attribute for the "QTIMetadata" root class.
Descriptor | Definition
--- | ---
Attribute Name | scoringMode
Data Type | ScoringMode
Value Space | Enumerated value set of: { human | externalmachine | responseprocessing }
Scope | Local ("-")
Multiplicity | [0.. unbounded]
Description | The scoringMode is used to denote that the way in which the scoring is achieved. If the Item includes the response processing then the mode is 'responseprocessing'. If human scoring is required the value is 'human' and if some form of machine processing is required then the value is 'externalmachine'.

#### 2.3.1.8 "toolName" Attribute Description

The description of the "toolName" attribute for the "QTIMetadata" root class is given in Table 2.3.1.8.

Table 2.3.1.8 Description of the "toolName" attribute for the "QTIMetadata" root class.
Descriptor | Definition
--- | ---
Attribute Name | toolName
Data Type | String256
Value Space | Container [ DerivedType ]
Scope | Local ("-")
Multiplicity | [0..1]
Description | The name of the tool used to author the evaluation object.

#### 2.3.1.9 "toolVersion" Attribute Description

The description of the "toolVersion" attribute for the "QTIMetadata" root class is given in Table 2.3.1.9.

Table 2.3.1.9 Description of the "toolVersion" attribute for the "QTIMetadata" root class.
Descriptor | Definition
--- | ---
Attribute Name | toolVersion
Data Type | String256
Value Space | Container [ DerivedType ]
Scope | Local ("-")
Multiplicity | [0..1]
Description | The version of the tool used to author the evaluation object.

#### 2.3.1.10 "toolVendor" Attribute Description

The description of the "toolVendor" attribute for the "QTIMetadata" root class is given in Table 2.3.1.10.

Table 2.3.1.10 Description of the "toolVendor" attribute for the "QTIMetadata" root class.
Descriptor | Definition
--- | ---
Attribute Name | toolVendor
Data Type | String256
Value Space | Container [ DerivedType ]
Scope | Local ("-")
Multiplicity | [0..1]
Description | The company which produced the tool used to author the evaluation object.

## 2.4. 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.4.1 String256 Class Description

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

Figure 2.4.1 - String256 class definitions.

Table 2.4.1 Description of the "String256" class.
Descriptor | Definition
--- | ---
Class Name | String256
Class Type | Container [ DerivedType ]
Parents | The set of parent classes are: QTIMetadata
Derived Classes | There are no derived classes.
Super Classes | The set of classes from which this class is derived: String (PrimitiveType)
Characteristics | There are no characteristics.
Children | The set of children attributes are: maxLength whiteSpace
Description | This is a constrained form of the string primitiveType. Such a string must not have more than 256 characters.

#### 2.4.1.1 "maxLength" Attribute Description

The description of the "maxLength" attribute for the "String256" class is given in Table 2.4.1.

Table 2.4.1 Description of the "maxLength" attribute for the "String256" class.
Descriptor | Definition
--- | ---
Attribute Name | maxLength
Data Type | Integer (Primitive-type)
Value Space | See Appendix A1.3. Default = "256".
Scope | Local ("-")
Multiplicity | [1]
Description | The maximum number of characters permitted in the string.

#### 2.4.1.2 "whiteSpace" Attribute Description

The description of the "whiteSpace" attribute for the "String256" class is given in Table 2.4.1.

Table 2.4.1 Description of the "whiteSpace" attribute for the "String256" class.
Descriptor | Definition
--- | ---
Attribute Name | whiteSpace
Data Type | String (Primitive-type)
Value Space | See Appendix A1.3. Default = "preserve".
Scope | Local ("-")
Multiplicity | [1]
Description | Handling requirements for white spaces.

## 2.5. 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.5.1 FeedbackType Vocabulary Description

The set of enumerations for the type of feedback in QTI Metadata.The data model for the "FeedbackType" enumerated class is shown in Figure 2.5.1 and the accompanying vocabulary definition in Table 2.5.1.

Figure 2.5.1 - FeedbackType class definitions.

Table 2.5.1 Description of the "FeedbackType" enumerated vocabulary terms.
Term | Definition
--- | ---
adaptive | Feedback is available and is adaptive. In other words, the item is an adaptive item.
nonadaptive | Feedback is available but it is non-adaptive. In other words, the item is a non-adaptive item.
none | No feedback is available.

### 2.5.2 InteractionType Vocabulary Description

The set of enumerations for the type of interaction in the QTI Metadata.The data model for the "InteractionType" enumerated class is shown in Figure 2.5.2 and the accompanying vocabulary definition in Table 2.5.2.

Figure 2.5.2 - InteractionType class definitions.

Table 2.5.2 Description of the "InteractionType" enumerated vocabulary terms.
Term | Definition
--- | ---
associateInteraction | States that the Item includes at least one 'associateInteraction'.
choiceInteraction | States that the Item includes at least one 'choiceInteraction'.
customInteraction | States that the Item includes at least one 'customInteraction'.
drawingInteraction | States that the Item includes at least one 'drawingInteraction'.
endAttemptInteraction | States that the Item includes at least one 'endAttemptInteraction'.
extendedTextInteraction | States that the Item includes at least one 'extendedTextInteraction'.
gapMatchInteraction | States that the Item includes at least one 'gapMatchInteraction'.
graphicAssociateInteraction | States that the Item includes at least one 'graphicAssociateInteraction'.
graphicGapMatchInteraction | States that the Item includes at least one 'graphicGapMatchInteraction'.
graphicOrderInteraction | States that the Item includes at least one 'graphicOrderInteraction'.
hotspotInteraction | States that the Item includes at least one 'hotspotInteraction'.
hottextInteraction | States that the Item includes at least one 'hottextInteraction'.
inlineChoiceInteraction | States that the Item includes at least one 'inlineChoiceInteraction'.
matchInteraction | States that the Item includes at least one 'matchInteraction'.
mediaInteraction | States that the Item includes at least one 'mediaInteraction'.
orderInteraction | States that the Item includes at least one 'orderInteraction'.
positionObjectInteraction | States that the Item includes at least one 'positionOrderInteraction'.
selectPointInteraction | States that the Item includes at least one 'selectPointInteraction'.
sliderInteraction | States that the Item includes at least one 'sliderInteraction'.
textEntryInteraction | States that the Item includes at least one 'textEntryInteraction'.
uploadInteraction | States that the Item includes at least one 'uploadInteraction'.

### 2.5.3 ScoringMode Vocabulary Description

The set of enumerations for the scoring mode in the QTI Metadata.The data model for the "ScoringMode" enumerated class is shown in Figure 2.5.3 and the accompanying vocabulary definition in Table 2.5.3.

Figure 2.5.3 - ScoringMode class definitions.

Table 2.5.3 Description of the "ScoringMode" enumerated vocabulary terms.
Term | Definition
--- | ---
externalmachine | Scoring uses some form of special machine processing e.g AI.
human | Human scoring is required.
responseprocessing | Scoring using the response processing rules supplied in the Item.

## 2.6. IEEE LOM Profile

### 2.6.1. The General Category

Note that the LOM-defined 'Structure' and 'AggregationLevel' fields are not recommended by this profile.

#### 2.6.1.1. Identifier

One of the values given for the identifier must have an entry that matches the identifier of the associated item, test or object bank.

#### 2.6.1.2. Title

The title must have a value that matches the value of the title attribute of the associated item, test or object bank. The language used to interpret the title is taken from the language attribute of the associated item, test or object bank.

#### 2.6.1.3. Language

There must be one value for each of the languages referred to by the language attributes on the associated assessmentItem, test or object bank and its 'bodyElements'.

#### 2.6.1.4. Description

When transforming item metadata records with no description into systems that require a value for this field, the 'title' of the item, test or object bank should be used to set the value of the description.

#### 2.6.1.5. Keyword

When transforming item metadata records with no keywords into systems that require a value for this field, the 'title' of the item, test or object bank should be used to derive a set of keywords. It should be noted that LOM specifically indicates the use of classification for the description of subject area, and specifies that general.keyword 'should not be used for characteristics that can be described by other data elements'.

### 2.6.2. The Lifecycle Category

#### 2.6.2.1. Version

See comment in status below for important information about the use of this field.

#### 2.6.2.2. Status

It is anticipated that systems for handling assessment resources would prefer to draw from wider vocabularies than the one defined by [LOM, 02]. However, in order to facilitate the transformation of metadata instances to systems that require the use of the LOM vocabulary for this field it is recommended that the version is used to achieve the tracking of items, tests and object banks through more complex production processes. The classification category may also be used to express the status and availability of assessment resources.

#### 2.6.2.3. Contribute

Usage as defined by [LOM, 02].

### 2.6.3. The Meta-Metadata Category

#### 2.6.3.1. Identifier

A globally unique label that identifies this metadata record.

#### 2.6.3.2. Contribute

Usage as defined by [LOM, 02].

#### 2.6.3.3. Metadata Schema

Metadata records that adhere to this profile are conforming LOM instances, therefore references to both this specification and LOM are applicable. The appropriate references are QTIv2.2 and LOMv1.0. References to other schemas to which the metadata instance conforms are also permitted.

#### 2.6.3.4. Language

There are two approaches to providing multilingual information in LOM-based metadata records which can be used separately or in combination. The first is to translate the metadata on a field-by-field basis providing each field value as a set of strings, each individually language tagged. The alternative is to generate multiple equivalent metadata records and use this language field (on the meta-metadata category) to set the default language for the whole record. This profile prefers the latter approach, metadata records conforming to this profile should not provide multilingual values to individual fields within the record.

### 2.6.4. The Technical Category

Note that the LOM-defined Requirement, Installation Remarks and Duration fields are not recommended by this profile.

#### 2.6.4.1. Format

There should be at least one instance of format with the value 'text/x-imsqti-item-xml', 'text/x-imsqti-test-xml' or 'application/xml'.

#### 2.6.4.2. Size

Usage as defined by [LOM, 02].

#### 2.6.4.3. Location

Usage as defined by [LOM, 02].

#### 2.6.4.4. Other Platform Requirements

Usage as defined by [LOM, 02].

### 2.6.5. The Educational Category

Note that the LOM-defined 'Interactivity Type', 'Interactivity Level', 'Semantic Density', 'Intended End User Role', 'Typical Age Range' and 'Difficulty' fields are not recommended by this profile.

#### 2.6.5.1. Learning Resource Type

QTI objects are designed to be reusable in a variety of assessment scenarios. Therefore, the LOM-defined values self assessment and exam are forbidden. If the standard LOM vocabulary is used then only the values exercise or questionnaire should be used to describe an item.

#### 2.6.5.2. Context

This is used to provide an educational context for the value given in typical learning time.

#### 2.6.5.3. Typical Learning Time

In the context of a QTI object, the typical learning time is interpreted as the length of time the candidate would normally be allocated to complete the object. It is not a time limit, however, when building a time-limited test from an item bank the typical learning times of the selected items may be added together to estimate the expected duration of the test and used to calculate a time limit for the test if required.

#### 2.6.5.4. Description

Item, test or pool objectives should be included in this field if required.

#### 2.6.5.5. Language

Usage as defined by [LOM, 02].

### 2.6.6. The Rights Category

Note that the LOM-defined cost and copyright_and_other_restrictions fields are highly problematic, and that a more detailed rights description language is necessary to adequately express the often complex rights issues surrounding resource creation and reuse. However, the vast majority of application profiles mandate the rights category, and it is therefore recommended for use within this application profile.

Care should be taken when an item depends on a (shared) media file with its own metadata to ensure that restrictions on the use of the media file are reflected in the overal rights description of the item itself.

#### 2.6.6.1. Cost

Usage as defined by [LOM, 02].

#### 2.6.6.2. CopyRight and Other Restrictions

Usage as defined by [LOM, 02].

#### 2.6.6.3. Description

Usage as defined by [LOM, 02].

### 2.6.7. The Relation Category

This category is used to express the relationship between items and tests, fragments and the objects that include them and individual relationships between items.

#### 2.6.7.1. Kind

A number of relationships between items may be described without extending the LOM vocabulary. However, a new vocabulary element has been introduced to allow one of the more complex inter-item relationships commonly expressed in item banks. In addition, interpretations of some LOM vocabulary elements are provided. It should be noted that each target should have a new relationship instance. The terms are:

- 'ispartof' - a fragment may refer to the objects which include it using this term. The relation.resource.identifier containing the identifier(s) of the including objects;
- 'haspart' - an object my refer to the fragments which it includes using this term. The relation.resource.identifer containing the fragment's identifier(s);
- 'isversionof' - usage as defined by [LOM, 02];
- 'hasversion' - usage as defined by [LOM, 02];
- 'isformatof' - usage as defined by [LOM, 02];
- 'hasformat' - usage as defined by [LOM, 02];
- 'references' - usage as defined by [LOM, 02];
- 'isreferencedby' - usage as defined by [LOM, 02];
- 'isbasedon' - usage as defined by [LOM, 02];
- 'isbasisfor' - usage as defined by [LOM, 02];
- 'requires' - usage as defined by [LOM, 02]. Note that this is the appropriate way to represent the relationship between a test or test fragment and the items that it refers to;
- 'isrequiredby' - usage as defined by [LOM, 02]. Note that this is the appropriate way to represent the relationship between an item and the tests or test fragments that refer to it;
- 'precludes' - this term can be used to indicate items which must not be incorporated into the same test as each other (sometimes referred to as enemy items). This relationship is symmetric. Note this term is NOT a part of LOM.

#### 2.6.7.2. Resource

Usage as defined by [LOM, 02].

### 2.6.8. The Annotation Category

Usage as defined by [LOM, 02].

### 2.6.9. The Classification Category

Usage as defined by [LOM, 02]. The preferred solution for the description of an item's subject area is to used the LOM classification category with the value classification.purpose = "discipline". This allows the use of any recognized or bespoke subject classification scheme such as the top level(s) of the Library of Congress Classification (LCC) and Dewey Decimal Classification (DDC), or institutional, regional or national curriculum classifications, as specified under classiciation.taxonPath.source. For more detailed description of topics within subject areas, the value classification.purpose = "idea" may be used with further levels of LCC, DDC or subject-specific classification schemes. The classification category may also be used to describe the visibility and availability of items beyond the limited vocabulary provided by LOM lifecycle.status. The use of custom schemes for classification enables repository administrators to capture all the information they need to capture, using the terms most appropriate for that institution. There may be multiple instances of the classification category, enabling detailed classification of assessments by subject area and association of an assessment with a number of different subject areas or topics.

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:

- UML/XSD Mapping Rules - the mapping rules that show the relationship between the information model (the UML representation) and the corresponding XSD components;
- XSD Files and Namespaces - the set of XSD files and the namespaces used within those files;
- Description of the XSD - the detailed description of the actual XSD (the XSD listing is provided in Appendix C);
- The Schematron Rules - the set of Schematron rules that have been created to further impose the constraints on the XML instances that are required by the information model but not possible using the standard XSD features;
- LOM XSD Binding - the details of how the LOM is bound to XSD using the IMS Global binding of LOM.

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

## 3.2. UML to XSD Mapping Rules

### 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
--- | --- | --- | --- | ---
qtiMetadata | QTIMetadata | qtiMetadata | Element | QTIMetadata.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 QTIMetadata Root Class Mapping

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

Table 3.2.2.1 UML/XSD Mapping for the "QTIMetadata" Root Class.
Information Model Details | XSD Binding Details
--- | ---
Name | UML Artefact | Data Type | Multiplicity | Name | Type
QTIMetadata | Root | Container [ Sequence ] | - N/A - | QTIMetadata.Type | ComplexType
itemTemplate | Attribute | PT: Boolean | [0..1] | itemTemplate | Element (Local)
timeDependent | Attribute | PT: Boolean | [0..1] | timeDependent | Element (Local)
composite | Attribute | PT: Boolean | [0..1] | composite | Element (Local)
interactionType | Attribute | [ Enumeration (InteractionType) ] | [0.. *] | interactionType | Element (Local)
feedbackType | Attribute | [ Enumeration (FeedbackType) ] | [0..1] | feedbackType | Element (Local)
solutionAvailable | Attribute | PT: Boolean | [0..1] | solutionAvailable | Element (Local)
scoringMode | Attribute | [ Enumeration (ScoringMode) ] | [0.. *] | scoringMode | Element (Local)
toolName | Attribute | DT: String256 (PT: String) | [0..1] | toolName | Element (Local)
toolVersion | Attribute | DT: String256 (PT: String) | [0..1] | toolVersion | Element (Local)
toolVendor | Attribute | DT: String256 (PT: String) | [0..1] | toolVendor | Element (Local)

### 3.2.3 Class UML/XSD Mapping

There are no data class definitions.

### 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 String256 Derived Class Mapping

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

Table 3.2.4.1 UML/XSD Mapping for the "String256" Derived Class.
Information Model Details | XSD Binding Details
--- | ---
Name | UML Artefact | Data Type | Multiplicity | Name | Type
String256 | Derived | PT: String | - N/A - | String256.Type | SimpleType
maxLength | Attribute | PT: Integer | [1] | [ No XML instance visibility ] | Restriction (MaxLength) on the Primitive Type.
whiteSpace | Attribute | PT: String | [1] | [ No XML instance visibility ] | Restriction (WhiteSpace) on the Primitive Type.

### 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
--- | ---
FeedbackType | Enumerated value set of: { adaptive | nonadaptive | none }.
InteractionType | Enumerated value set of: { associateInteraction | choiceInteraction | customInteraction | drawingInteraction | endAttemptInteraction | extendedTextInteraction | gapMatchInteraction | graphicAssociateInteraction | graphicGapMatchInteraction | graphicOrderInteraction | hotspotInteraction | hottextInteraction | inlineChoiceInteraction | matchInteraction | mediaInteraction | orderInteraction | positionObjectInteraction | selectPointInteraction | sliderInteraction | textEntryInteraction | uploadInteraction }.
ScoringMode | Enumerated value set of: { human | externalmachine | responseprocessing }.

### 3.2.6 Enumerated List Class UML/XSD Mapping

There are no enumerated list class definitions.

### 3.2.7 List Class UML/XSD Mapping

There are no list class definitions.

### 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
--- | ---
Boolean | This is mapped to the XML "xs:boolean" data-type.
Integer | This is mapped to the XML "xs:integer" data-type.
String | This is mapped to the XML "xs:string" data-type.

## 3.3. XSD Files and Namespaces

### 3.3.1 Target Namespace Details

Target Namespace: | http://www.imsglobal.org/xsd/imsqti_metadata_v2p2
Schema Location: | http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_metadata_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 "qtiMetadata" Root Element Description

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

Table 3.4.1.1 XSD description for the "qtiMetadata" Root Element.
Namespace | http://www.imsglobal.org/xsd/imsqti_metadata_v2p2
Diagram |
Type | QTIMetadata.Type
Properties |
Content | simple
MinOccurs | 0
MaxOccurs | 0
Model | itemTemplate{0..1}, timeDependent{0..1}, composite{0..1}, interactionType{0..*}, feedbackType{0..1}, solutionAvailable{0..1}, scoringMode{0..*}, toolName{0..1}, toolVersion{0..1}, toolVendor{0..1}
Attributes | None.
Source |
    <xs:element name="qtiMetadata" type="QTIMetadata.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 QTIMetadata.Type Root Complex Type Description

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

Table 3.4.4.1 XSD description for the "QTIMetadata.Type" Root Complex Type.
Namespace | http://www.imsglobal.org/xsd/imsqti_metadata_v2p2
Annotations | This contains the new category of metadata for the recording of QTI specific information. It is designed to be treated as an additional top-level category to augment the IEEE LOM.
Diagram |
Properties |
Abstract | false
Mixed | false
Used by |
Root Elements | qtiMetadata
Model | itemTemplate{0..1}, timeDependent{0..1}, composite{0..1}, interactionType{0..*}, feedbackType{0..1}, solutionAvailable{0..1}, scoringMode{0..*}, toolName{0..1}, toolVersion{0..1}, toolVendor{0..1}
Attributes | None.
Source |
    <xs:complexType name="QTIMetadata.Type" abstract="false" mixed="false">
        <xs:sequence>
            <xs:element name="itemTemplate" type="xs:boolean" minOccurs="0" maxOccurs="1" />
            <xs:element name="timeDependent" type="xs:boolean" minOccurs="0" maxOccurs="1" />
            <xs:element name="composite" type="xs:boolean" minOccurs="0" maxOccurs="1" />
            <xs:element name="interactionType" minOccurs="0" maxOccurs="unbounded">
                <xs:simpleType>
                    <xs:annotation>
                        <xs:documentation source="documentation">
                            The set of enumerations for the type of interaction in the QTI Metadata.
                        </xs:documentation>
                    </xs:annotation>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="associateInteraction" />
                        <xs:enumeration value="choiceInteraction" />
                        <xs:enumeration value="customInteraction" />
                        <xs:enumeration value="drawingInteraction" />
                        <xs:enumeration value="endAttemptInteraction" />
                        <xs:enumeration value="extendedTextInteraction" />
                        <xs:enumeration value="gapMatchInteraction" />
                        <xs:enumeration value="graphicAssociateInteraction" />
                        <xs:enumeration value="graphicGapMatchInteraction" />
                        <xs:enumeration value="graphicOrderInteraction" />
                        <xs:enumeration value="hotspotInteraction" />
                        <xs:enumeration value="hottextInteraction" />
                        <xs:enumeration value="inlineChoiceInteraction" />
                        <xs:enumeration value="matchInteraction" />
                        <xs:enumeration value="mediaInteraction" />
                        <xs:enumeration value="orderInteraction" />
                        <xs:enumeration value="positionObjectInteraction" />
                        <xs:enumeration value="selectPointInteraction" />
                        <xs:enumeration value="sliderInteraction" />
                        <xs:enumeration value="textEntryInteraction" />
                        <xs:enumeration value="uploadInteraction" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="feedbackType" minOccurs="0" maxOccurs="1">
                <xs:simpleType>
                    <xs:annotation>
                        <xs:documentation source="documentation">
                            The set of enumerations for the type of feedback in QTI Metadata.
                        </xs:documentation>
                    </xs:annotation>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="adaptive" />
                        <xs:enumeration value="nonadaptive" />
                        <xs:enumeration value="none" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="solutionAvailable" type="xs:boolean" minOccurs="0" maxOccurs="1" />
            <xs:element name="scoringMode" minOccurs="0" maxOccurs="unbounded">
                <xs:simpleType>
                    <xs:annotation>
                        <xs:documentation source="documentation">
                            The set of enumerations for the scoring mode in the QTI Metadata.
                        </xs:documentation>
                    </xs:annotation>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="human" />
                        <xs:enumeration value="externalmachine" />
                        <xs:enumeration value="responseprocessing" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="toolName" type="String256.Type" minOccurs="0" maxOccurs="1" />
            <xs:element name="toolVersion" type="String256.Type" minOccurs="0" maxOccurs="1" />
            <xs:element name="toolVendor" type="String256.Type" minOccurs="0" maxOccurs="1" />
        </xs:sequence>
    </xs:complexType>

##### "itemTemplate" Local Element Description

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

Table - XSD description for the "itemTemplate/QTIMetadata.Type" Local Element.
Namespace | http://www.imsglobal.org/xsd/imsqti_metadata_v2p2
Diagram |
Type | xs:boolean
Properties |
Content | simple
MinOccurs | 0
MaxOccurs | 1
Model | N/A
Attributes | None.
Source |
    <xs:element name="itemTemplate" type="xs:boolean" minOccurs="0" maxOccurs="1" />

##### "timeDependent" Local Element Description

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

Table - XSD description for the "timeDependent/QTIMetadata.Type" Local Element.
Namespace | http://www.imsglobal.org/xsd/imsqti_metadata_v2p2
Diagram |
Type | xs:boolean
Properties |
Content | simple
MinOccurs | 0
MaxOccurs | 1
Model | N/A
Attributes | None.
Source |
    <xs:element name="timeDependent" type="xs:boolean" minOccurs="0" maxOccurs="1" />

##### "composite" Local Element Description

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

Table - XSD description for the "composite/QTIMetadata.Type" Local Element.
Namespace | http://www.imsglobal.org/xsd/imsqti_metadata_v2p2
Diagram |
Type | xs:boolean
Properties |
Content | simple
MinOccurs | 0
MaxOccurs | 1
Model | N/A
Attributes | None.
Source |
    <xs:element name="composite" type="xs:boolean" minOccurs="0" maxOccurs="1" />

##### "interactionType" Local Element Description

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

Table - XSD description for the "interactionType/QTIMetadata.Type" Local Element.
Namespace | http://www.imsglobal.org/xsd/imsqti_metadata_v2p2
Diagram |
Type | Enumeration [Restriction of "xs:string"]
Properties |
Content | simple
MinOccurs | 0
MaxOccurs | unbounded
Facets |
Enumeration | associateInteraction
Enumeration | choiceInteraction
Enumeration | customInteraction
Enumeration | drawingInteraction
Enumeration | endAttemptInteraction
Enumeration | extendedTextInteraction
Enumeration | gapMatchInteraction
Enumeration | graphicAssociateInteraction
Enumeration | graphicGapMatchInteraction
Enumeration | graphicOrderInteraction
Enumeration | hotspotInteraction
Enumeration | hottextInteraction
Enumeration | inlineChoiceInteraction
Enumeration | matchInteraction
Enumeration | mediaInteraction
Enumeration | orderInteraction
Enumeration | positionObjectInteraction
Enumeration | selectPointInteraction
Enumeration | sliderInteraction
Enumeration | textEntryInteraction
Enumeration | uploadInteraction
Model | N/A
Attributes | None.
Source |
    <xs:element name="interactionType" minOccurs="0" maxOccurs="unbounded">
        <xs:restriction base="xs:string">
            <xs:enumeration value="associateInteraction" />
            <xs:enumeration value="choiceInteraction" />
            <xs:enumeration value="customInteraction" />
            <xs:enumeration value="drawingInteraction" />
            <xs:enumeration value="endAttemptInteraction" />
            <xs:enumeration value="extendedTextInteraction" />
            <xs:enumeration value="gapMatchInteraction" />
            <xs:enumeration value="graphicAssociateInteraction" />
            <xs:enumeration value="graphicGapMatchInteraction" />
            <xs:enumeration value="graphicOrderInteraction" />
            <xs:enumeration value="hotspotInteraction" />
            <xs:enumeration value="hottextInteraction" />
            <xs:enumeration value="inlineChoiceInteraction" />
            <xs:enumeration value="matchInteraction" />
            <xs:enumeration value="mediaInteraction" />
            <xs:enumeration value="orderInteraction" />
            <xs:enumeration value="positionObjectInteraction" />
            <xs:enumeration value="selectPointInteraction" />
            <xs:enumeration value="sliderInteraction" />
            <xs:enumeration value="textEntryInteraction" />
            <xs:enumeration value="uploadInteraction" />
        </xs:restriction>
    </xs:element>

##### "feedbackType" Local Element Description

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

Table - XSD description for the "feedbackType/QTIMetadata.Type" Local Element.
Namespace | http://www.imsglobal.org/xsd/imsqti_metadata_v2p2
Diagram |
Type | Enumeration [Restriction of "xs:string"]
Properties |
Content | simple
MinOccurs | 0
MaxOccurs | 1
Facets |
Enumeration | adaptive
Enumeration | nonadaptive
Enumeration | none
Model | N/A
Attributes | None.
Source |
    <xs:element name="feedbackType" minOccurs="0" maxOccurs="1">
        <xs:restriction base="xs:string">
            <xs:enumeration value="adaptive" />
            <xs:enumeration value="nonadaptive" />
            <xs:enumeration value="none" />
        </xs:restriction>
    </xs:element>

##### "solutionAvailable" Local Element Description

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

Table - XSD description for the "solutionAvailable/QTIMetadata.Type" Local Element.
Namespace | http://www.imsglobal.org/xsd/imsqti_metadata_v2p2
Diagram |
Type | xs:boolean
Properties |
Content | simple
MinOccurs | 0
MaxOccurs | 1
Model | N/A
Attributes | None.
Source |
    <xs:element name="solutionAvailable" type="xs:boolean" minOccurs="0" maxOccurs="1" />

##### "scoringMode" Local Element Description

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

Table - XSD description for the "scoringMode/QTIMetadata.Type" Local Element.
Namespace | http://www.imsglobal.org/xsd/imsqti_metadata_v2p2
Diagram |
Type | Enumeration [Restriction of "xs:string"]
Properties |
Content | simple
MinOccurs | 0
MaxOccurs | unbounded
Facets |
Enumeration | human
Enumeration | externalmachine
Enumeration | responseprocessing
Model | N/A
Attributes | None.
Source |
    <xs:element name="scoringMode" minOccurs="0" maxOccurs="unbounded">
        <xs:restriction base="xs:string">
            <xs:enumeration value="human" />
            <xs:enumeration value="externalmachine" />
            <xs:enumeration value="responseprocessing" />
        </xs:restriction>
    </xs:element>

##### "toolName" Local Element Description

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

Table - XSD description for the "toolName/QTIMetadata.Type" Local Element.
Namespace | http://www.imsglobal.org/xsd/imsqti_metadata_v2p2
Diagram |
Type | String256.Type
Properties |
Content | simple
MinOccurs | 0
MaxOccurs | 1
Facets |
MaxLength | 256
WhiteSpace | preserve
Model | N/A
Attributes | None.
Source |
    <xs:element name="toolName" type="String256.Type" minOccurs="0" maxOccurs="1" />

##### "toolVersion" Local Element Description

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

Table - XSD description for the "toolVersion/QTIMetadata.Type" Local Element.
Namespace | http://www.imsglobal.org/xsd/imsqti_metadata_v2p2
Diagram |
Type | String256.Type
Properties |
Content | simple
MinOccurs | 0
MaxOccurs | 1
Facets |
MaxLength | 256
WhiteSpace | preserve
Model | N/A
Attributes | None.
Source |
    <xs:element name="toolVersion" type="String256.Type" minOccurs="0" maxOccurs="1" />

##### "toolVendor" Local Element Description

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

Table - XSD description for the "toolVendor/QTIMetadata.Type" Local Element.
Namespace | http://www.imsglobal.org/xsd/imsqti_metadata_v2p2
Diagram |
Type | String256.Type
Properties |
Content | simple
MinOccurs | 0
MaxOccurs | 1
Facets |
MaxLength | 256
WhiteSpace | preserve
Model | N/A
Attributes | None.
Source |
    <xs:element name="toolVendor" type="String256.Type" minOccurs="0" maxOccurs="1" />

### 3.4.5 Core Complex Type Descriptions

There are no core class descriptions.

### 3.4.6 Derived Complex Type Descriptions

There are no derived class descriptions.

### 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 "String256.Type" Simple Type Description

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

Table 3.4.7.1 XSD description for the "String256.Type" Simple Type.
Namespace | http://www.imsglobal.org/xsd/imsqti_metadata_v2p2
Diagram |
Type | xs:string
Facets |
MaxLength | 256
WhiteSpace | preserve
Used by |
Elements | toolName/QTIMetadata.Type, toolVendor/QTIMetadata.Type, toolVersion/QTIMetadata.Type
Source |
    <xs:simpleType name="String256.Type">
        <xs:restriction base="xs:string">
            <xs:maxLength value="256" />
            <xs:whiteSpace value="preserve" />
        </xs:restriction>
    </xs:simpleType>

## 3.5. The Schematron Rules

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

## 3.6. LOM XSD Binding

The binding of the IEEE LOM is based upon the IMS Metadata v1.3.2 XSD [IMD, 06]. This is a 'loose' binding of the IEEE LOM information model i.e. it permits extensions and does not enforce any of the default enumerated vocabularies.

The IMS Metadata XSD is located at: http://www.imsglobal.org/xsd/imsmd_loose_v1p3p2.xsd. The namespace is 'http://ltsc.ieee.org/xsd/LOM'. The QTI-specific entries should occur within the 'lom' element i.e. the root structure of the LOM binding (the actual child instance can occur at any point within the 'lom').

toc | top

# 4. Extending and Profiling the Data Model

## 4.1. Extending the Data Model

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

The QTI Metadata may be contained within a LOM instance. In such cases the LOM instance may have other extensions added to it; the QTI Metadata is inserted within a LOM extension point. The processing of other LOM extensions is beyond the scope of this specification.

## 4.2. Profiling the Data Model

This specification may be profiled: for example, the IMS Accessible Portable Item Protocol (APIP) v1.0 specification includes a profile of QTI Metadata (as well as several profiles of other IMS specifications). A profile must be a formal 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 profile 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 Binding Terminology

## 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:

- Information model aspects - the name/type/multiplicity of the artefact in the information model
- Binding aspects - the corresponding name/type in the XSD binding

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 Listings

## C1 QTI Metadata XSD Listing

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

    <?xml version = "1.0" encoding = "UTF-8"?>
    <xs:schema xmlns="http://www.imsglobal.org/xsd/imsqti_metadata_v2p2"
         targetNamespace="http://www.imsglobal.org/xsd/imsqti_metadata_v2p2"
         xmlns:xs="http://www.w3.org/2001/XMLSchema"
         version="IMS QTI MD 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 Metadata object in the IMS QTIv2.2 Specification Information Model. It is this representation that is used to produce the XSD binding for the IMS QTI Metadata v2.2.

                History:        This version supercedes the full IMS QTIv2.1 Metadata 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 *********************************************************************** -->

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

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

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

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

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

        <!-- 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="String256.Type">
            <xs:restriction base="xs:string">
                <xs:maxLength value="256" />
                <xs:whiteSpace value="preserve" />
            </xs:restriction>
        </xs:simpleType>

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

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

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

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

        <xs:complexType name="QTIMetadata.Type" abstract="false" mixed="false">
            <xs:annotation>
                <xs:documentation source="documentation">
                    This contains the new category of metadata for the recording of QTI specific information.
                    It is designed to be treated as an additional top-level category to augment the IEEE LOM.
                </xs:documentation>
            </xs:annotation>
            <xs:sequence>
                <xs:element name="itemTemplate" type="xs:boolean" minOccurs="0" maxOccurs="1" />
                <xs:element name="timeDependent" type="xs:boolean" minOccurs="0" maxOccurs="1" />
                <xs:element name="composite" type="xs:boolean" minOccurs="0" maxOccurs="1" />
                <xs:element name="interactionType" minOccurs="0" maxOccurs="unbounded">
                    <xs:simpleType>
                        <xs:annotation>
                            <xs:documentation source="documentation">
                                The set of enumerations for the type of interaction in the QTI Metadata.
                            </xs:documentation>
                        </xs:annotation>
                        <xs:restriction base="xs:string">
                            <xs:enumeration value="associateInteraction" />
                            <xs:enumeration value="choiceInteraction" />
                            <xs:enumeration value="customInteraction" />
                            <xs:enumeration value="drawingInteraction" />
                            <xs:enumeration value="endAttemptInteraction" />
                            <xs:enumeration value="extendedTextInteraction" />
                            <xs:enumeration value="gapMatchInteraction" />
                            <xs:enumeration value="graphicAssociateInteraction" />
                            <xs:enumeration value="graphicGapMatchInteraction" />
                            <xs:enumeration value="graphicOrderInteraction" />
                            <xs:enumeration value="hotspotInteraction" />
                            <xs:enumeration value="hottextInteraction" />
                            <xs:enumeration value="inlineChoiceInteraction" />
                            <xs:enumeration value="matchInteraction" />
                            <xs:enumeration value="mediaInteraction" />
                            <xs:enumeration value="orderInteraction" />
                            <xs:enumeration value="positionObjectInteraction" />
                            <xs:enumeration value="selectPointInteraction" />
                            <xs:enumeration value="sliderInteraction" />
                            <xs:enumeration value="textEntryInteraction" />
                            <xs:enumeration value="uploadInteraction" />
                        </xs:restriction>
                    </xs:simpleType>
                </xs:element>
                <xs:element name="feedbackType" minOccurs="0" maxOccurs="1">
                    <xs:simpleType>
                        <xs:annotation>
                            <xs:documentation source="documentation">
                                The set of enumerations for the type of feedback in QTI Metadata.
                            </xs:documentation>
                        </xs:annotation>
                        <xs:restriction base="xs:string">
                            <xs:enumeration value="adaptive" />
                            <xs:enumeration value="nonadaptive" />
                            <xs:enumeration value="none" />
                        </xs:restriction>
                    </xs:simpleType>
                </xs:element>
                <xs:element name="solutionAvailable" type="xs:boolean" minOccurs="0" maxOccurs="1" />
                <xs:element name="scoringMode" minOccurs="0" maxOccurs="unbounded">
                    <xs:simpleType>
                        <xs:annotation>
                            <xs:documentation source="documentation">
                                The set of enumerations for the scoring mode in the QTI Metadata.
                            </xs:documentation>
                        </xs:annotation>
                        <xs:restriction base="xs:string">
                            <xs:enumeration value="human" />
                            <xs:enumeration value="externalmachine" />
                            <xs:enumeration value="responseprocessing" />
                        </xs:restriction>
                    </xs:simpleType>
                </xs:element>
                <xs:element name="toolName" type="String256.Type" minOccurs="0" maxOccurs="1" />
                <xs:element name="toolVersion" type="String256.Type" minOccurs="0" maxOccurs="1" />
                <xs:element name="toolVendor" type="String256.Type" minOccurs="0" maxOccurs="1" />
            </xs:sequence>
        </xs:complexType>

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

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

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

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

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

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

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

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

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

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

        <xs:element name="qtiMetadata" type="QTIMetadata.Type" />

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

    </xs:schema>

toc | top

# About this Document

Title: | IMS Question and Test Interoperability (QTI): Metadata 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: | 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 Metadata. This data model defines the object model for the exchange of a QTI-specific Metadata and also explains how to place this information within the context of an IEEE Learning Object Metadata (LOM) XML Schema Definition (XSD) XSD binding. 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 Metadata 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)
Justin Marks | NWEA (USA)
Phil McClelland | Desire2Learn (Canada)
Mark McKell | IMS Global (USA)
Sue Milne | JISC/CETIS (UK)

Makoto Murata | JEPA (Japan)
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 | NWEA (USA)
Farhat Siddiqui | ETS (USA)
Colin Smythe | IMS Global (UK)
Joesph 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 Metadata 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): Metadata Information Model and XSD Binding v2.2

Date: 1st August, 2016

toc | top