IMS Public Candidate Final Release

IMS Global Logo

IMS Question and Test Interoperability (QTI) Metadata Specification Version 3.0

IMS Public Candidate Final Release
Version 1.0

Date Issued: 14th September, 2020
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 © 2020 IMS Global Learning Consortium. All Rights Reserved.

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

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

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

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

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

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

Document Name: IMS Question and Test Interoperability (QTI) Metadata Specification v3.0

Revision: 14th September, 2020

toc | top

Abstract

This document is a part of the IMS Global Question and Test Interoperability (QTI) 3.0 specification. It introduces QTI-specific metadata. In QTI 3.0 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). QTI 3.0 further extends this to enable the description of tests, pools and object banks.

toc | top

Table of Contents

Abstract

1. Introduction

1.1 Scope and Context

1.2 Conventions

1.3 Structure of this Document

1.4 Nomenclature

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 "portableCustomInteractionContext" Attribute Description

2.3.1.6 "feedbackType" Attribute Description

2.3.1.7 "solutionAvailable" Attribute Description

2.3.1.8 "scoringMode" Attribute Description

2.3.1.9 "toolName" Attribute Description

2.3.1.10 "toolVersion" Attribute Description

2.3.1.11 "toolVendor" Attribute Description

2.4 Data Class Descriptions

2.4.1 "PCIContext" Class Description

2.4.1.1 "customTypeIdentifier" Attribute Description

2.4.1.2 "interactionKind" Attribute Description

2.5 Derived Class Descriptions

2.5.1 "String256" Class Description

2.5.1.1 "maxLength" Attribute Description

2.5.1.2 "whiteSpace" Attribute Description

2.6 Enumerated Vocabulary Descriptions

2.6.1 "FeedbackType" Vocabulary Description

2.6.2 "InteractionType" Vocabulary Description

2.6.3 "ScoringMode" Vocabulary Description

2.7 IEEE LOM Profile

2.7.1 The General Category

2.7.1.1 Identifier

2.7.1.2 Title

2.7.1.3 Language

2.7.1.4 Description

2.7.1.5 Keyword

2.7.2 The Lifecycle Category

2.7.2.1 Version

2.7.2.2 Status

2.7.2.3 Contribute

2.7.3 The Meta-Metadata Category

2.7.3.1 Identifier

2.7.3.2 Contribute

2.7.3.3 Metadata Schema

2.7.3.4 Language

2.7.4 The Technical Category

2.7.4.1 Format

2.7.4.2 Size

2.7.4.3 Location

2.7.4.4 Other Platform Requirements

2.7.5 The Educational Category

2.7.5.1 Learning Resource Type

2.7.5.2 Context

2.7.5.3 Typical Learning Time

2.7.5.4 Description

2.7.5.5 Language

2.7.6 The Rights Category

2.7.6.1 Cost

2.7.6.2 CopyRight and Other Restrictions

2.7.6.3 Description

2.7.7 The Relation Category

2.7.7.1 Kind

2.7.7.2 Resource

2.7.8 The Annotation Category

2.7.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.3.1 PCIContext Class 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 QTIMetadataDType Root Complex Type Description

* "itemTemplate" Local Element Description

* "timeDependent" Local Element Description

* "composite" Local Element Description

* "interactionType" Local Element Description

* "portableCustomInteractionContext" 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.5.1 PCIContextDType Core Complex Type Description

* "customTypeIdentifier" Local Element Description

* "interactionKind" Local Element Description

3.4.6 Derived Complex Type Descriptions

3.4.7 Simple Type Descriptions

3.4.7.1 String256DType 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

5. Implementation Guide

6. Conformance and Certification

References

Appendix A Modelling Concepts and Terms

A1 Data Model Descriptions

A1.1 Data Model Diagrams

A1.2 Class Descriptions

A1.3 Attribute and Characteristic Descriptions

A1.4 Enumerated Vocabulary Descriptions

A1.5 External Vocabulary Descriptions

A1.6 Import Class Descriptions

A1.7 Link Data Descriptions

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 PCIContext class definitions

Figure 2.5.1 String256 class definitions

Figure 2.6.1 FeedbackType class definitions

Figure 2.6.2 InteractionType class definitions

Figure 2.6.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 "QTIMetadataDType" 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 "portableCustomInteractionContext" 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.5.1 XSD Description for the "PCIContextDType" Core Complex Type

Figure XSD Description for the "customTypeIdentifier" Local Element

Figure XSD Description for the "interactionKind" Local Element

Figure 3.4.7.1 XSD Description for the "String256DType" 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 "portableCustomInteractionContext" attribute for the "QTIMetadata" class

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

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

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

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

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

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

Table 2.4.1 PCIContext class definitions

Table 2.4.1.1 Description of the "customTypeIdentifier" attribute for the "PCIContext" class

Table 2.4.1.2 Description of the "interactionKind" attribute for the "PCIContext" class

Table 2.5.1 String256 class definitions

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

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

Table 2.6.1 FeedbackType class definitions

Table 2.6.2 InteractionType class definitions

Table 2.6.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.3.1 UML/XSD Mapping for the PCIContext Core 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 "QTIMetadataDType" 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 "portableCustomInteractionContext" 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.5.1 XSD Description for the "PCIContextDType" Core Complex Type

Table XSD Description for the "customTypeIdentifier" Local Element

Table XSD Description for the "interactionKind" Local Element

Table 3.4.7.1 XSD Description for the "String256DType" 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. Scope and Context

The IMS QTI Metadata 3.0 is used in conjunction with the following documents:

This QTI Metadata 3.0 specification supersedes the QTI v2.2 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 v3.0 are:

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.2. Conventions

All sections marked as non-normative, all authoring guidelines, diagrams (with the exception of the UML diagrams), examples, and notes in this specification are non-normative. Everything else in this specification is normative.

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC 2119]. This means that from the perspective of conformance:

The Conformance and Certification Guide for this specification may introduce greater normative constraints than those defined here for specific service or implementation categories.

The SHOULD/SHOULD NOT/RECOMMENDED statements MUST NOT be used in any document, or section of a document, that is responsible for defining the information model and/or the associated bindings and/or conformance and certification.

1.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;
5. Implementation Guide The best practices and implementations guidance when using this specification;
6. Conformance and Certification

The formal definition of the set of available certifications and conformance process;

References

The set of documents cited within this document;

Appendix A Modelling Concepts and Terms An overview of the model driven approach, the concepts and the terms used by IMS to create the data model representations (based upon a profile of UML), the corresponding set of bindings and the accompanying documentation (including this information model);
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
PCI Portable Custom Interaction
PT Primitive Type
QTI Question and Test Interoperability
UML Unified Modelling Language
URI Uniform Resource Identifier
XML Exchange Markup Language
XSD XML Schema Definition

toc | top

2. Information Model

2.1. Information Model Overview

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

2.2. Root Attribute Description

This Section is NORMATIVE.

All of the Root attributes (the root name for the instances that can be exchanged) used within this Information Model are described in this Section. The syntax and semantics for this representation is described in Appendix A1.3. The root attributes are:

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.

UML diagram of the QTIMetadata class.

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:
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 | portableCustomInteraction | 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 "portableCustomInteractionContext" Attribute Description

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

Table 2.3.1.5 Description of the "portableCustomInteractionContext" attribute for the "QTIMetadata" root class.
Descriptor Definition
Attribute Name portableCustomInteractionContext
Data Type PCIContext
Value Space Container [ Sequence ]
Scope Local ("-")
Multiplicity [0..1]
Description When the Item uses a Portable Custom Interaction (PCI), this attruibute is used to provide further contextual information about that PCI.

2.3.1.6 "feedbackType" Attribute Description

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

Table 2.3.1.6 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.7 "solutionAvailable" Attribute Description

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

Table 2.3.1.7 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.8 "scoringMode" Attribute Description

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

Table 2.3.1.8 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.9 "toolName" Attribute Description

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

Table 2.3.1.9 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.10 "toolVersion" Attribute Description

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

Table 2.3.1.10 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.11 "toolVendor" Attribute Description

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

Table 2.3.1.11 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. Data Class Descriptions

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

2.4.1 PCIContext Class Description

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

UML diagram of the PCIContext class.

Figure 2.4.1 - PCIContext class definitions.

Table 2.4.1 Description of the "PCIContext" class.
Descriptor Definition
Class Name PCIContext
Class Type Container [ Sequence ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the container for the contextual information that can be supplied for a PCI used within an Item. The contained information is only relevant when there is an 'interactionType' of 'portableCustomInteraction'.

2.4.1.1 "customTypeIdentifier" Attribute Description

The description of the "customTypeIdentifier" attribute for the "PCIContext" class is given in Table 2.4.1.1.

Table 2.4.1.1 Description of the "customTypeIdentifier" attribute for the "PCIContext" class.
Descriptor Definition
Attribute Name customTypeIdentifier
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A1.3.
Scope Local ("-")
Multiplicity [0..1]
Description This is used alongside an 'interactionType' value of 'portableCustomInteraction' to disambiguate which class of PCI is in use as PCIs can vary widely in terms of how they might need to be psychometrically analyzed. This field could potentially also be used to identify which type of a traditional customInteraction is in use by the item.

2.4.1.2 "interactionKind" Attribute Description

The description of the "interactionKind" attribute for the "PCIContext" class is given in Table 2.4.1.2.

Table 2.4.1.2 Description of the "interactionKind" attribute for the "PCIContext" class.
Descriptor Definition
Attribute Name interactionKind
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A1.3.
Scope Local ("-")
Multiplicity [0..1]
Description This is used to provide insight into the nature of the PCI e.g. this is a PCI which allows a user to add notes to a musical stave to author some music that might be given a description of "authoring". This information could be used by a psychometrician, etc. as an indication of a similar type of standard interaction.

2.5. 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.5.1 String256 Class Description

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

UML diagram of the String256 class.

Figure 2.5.1 - String256 class definitions.

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

2.5.1.1 "maxLength" Attribute Description

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

Table 2.5.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.5.1.2 "whiteSpace" Attribute Description

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

Table 2.5.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.6. 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.6.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.6.1 and the accompanying vocabulary definition in Table 2.6.1.

UML diagram of the FeedbackType class.

Figure 2.6.1 - FeedbackType class definitions.

Table 2.6.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.6.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.6.2 and the accompanying vocabulary definition in Table 2.6.2.

UML diagram of the InteractionType class.

Figure 2.6.2 - InteractionType class definitions.

Table 2.6.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'.
portableCustomInteraction States that the Item is supplied as a Portable Custom Interaction (PCI).
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.6.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.6.3 and the accompanying vocabulary definition in Table 2.6.3.

UML diagram of the ScoringMode class.

Figure 2.6.3 - ScoringMode class definitions.

Table 2.6.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.7. IEEE LOM Profile

2.7.1. The General Category

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

2.7.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.7.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.7.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.7.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.7.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.7.2. The Lifecycle Category

2.7.2.1. Version

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

2.7.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.7.2.3. Contribute

Usage as defined by [LOM, 02].

2.7.3. The Meta-Metadata Category

2.7.3.1. Identifier

A globally unique label that identifies this metadata record.

2.7.3.2. Contribute

Usage as defined by [LOM, 02].

2.7.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.7.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.7.4. The Technical Category

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

2.7.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.7.4.2. Size

Usage as defined by [LOM, 02].

2.7.4.3. Location

Usage as defined by [LOM, 02].

2.7.4.4. Other Platform Requirements

Usage as defined by [LOM, 02].

2.7.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.7.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.7.5.2. Context

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

2.7.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.7.5.4. Description

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

2.7.5.5. Language

Usage as defined by [LOM, 02].

2.7.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.7.6.1. Cost

Usage as defined by [LOM, 02].

2.7.6.2. CopyRight and Other Restrictions

Usage as defined by [LOM, 02].

2.7.6.3. Description

Usage as defined by [LOM, 02].

2.7.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.7.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:

2.7.7.2. Resource

Usage as defined by [LOM, 02].

2.7.8. The Annotation Category

Usage as defined by [LOM, 02].

2.7.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:

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

3.2. UML to XSD Mapping Rules

This Section is NOT NORMATIVE.

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 QTIMetadataDType

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 - QTIMetadataDType 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)
  • portableCustomInteractionContext
Attribute PCIContext [0..1] portableCustomInteractionContext 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

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

3.2.3.1 PCIContext Class Mapping

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

Table 3.2.3.1 UML/XSD Mapping for the "PCIContext" Core Class.
Information Model Details XSD Binding Details
Name UML Artefact Data Type Multiplicity Name Type
PCIContext Core Container [ Sequence ] - N/A - PCIContextDType ComplexType
  • customTypeIdentifier
Attribute PT: NormalizedString [0..1] customTypeIdentifier Element (Local)
  • interactionKind
Attribute PT: NormalizedString [0..1] interactionKind Element (Local)

3.2.4 Derived UML/XSD Mapping

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

3.2.4.1 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 - String256DType 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 | portableCustomInteraction | 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.
NormalizedString This is mapped to the XML "xs:normalizedString" data-type.
String This is mapped to the XML "xs:string" data-type.

3.3. XSD Files and Namespaces

This Section is NORMATIVE.

3.3.1 Target Namespace Details

Target Namespace: http://www.imsglobal.org/xsd/imsqti_metadata_v3p0
Schema Location: https://purl.imsglobal.org/spec/qti/v3p0/schema/xsd/imsqti_metadatav3p0_v1p0.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_v3p0
Diagram XSD diagram of the qtiMetadata root element.
Type QTIMetadataDType
Properties
Content simple
MinOccurs 1
MaxOccurs 1
Model itemTemplate{0..1}, timeDependent{0..1}, composite{0..1}, interactionType{0..*}, portableCustomInteractionContext{0..1}, 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="QTIMetadataDType" />

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 QTIMetadataDType Root Complex Type Description

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

Table 3.4.4.1 XSD description for the "QTIMetadataDType" Root Complex Type.
Namespace http://www.imsglobal.org/xsd/imsqti_metadata_v3p0
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 XSD diagram of the QTIMetadata root complexType.
Properties
Abstract false
Mixed false
Used by
Root Elements qtiMetadata
Model itemTemplate{0..1}, timeDependent{0..1}, composite{0..1}, interactionType{0..*}, portableCustomInteractionContext{0..1}, feedbackType{0..1}, solutionAvailable{0..1}, scoringMode{0..*}, toolName{0..1}, toolVersion{0..1}, toolVendor{0..1}
Attributes None.
Source
<xs:complexType name="QTIMetadataDType" 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="portableCustomInteraction" />
                    <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="portableCustomInteractionContext" type="PCIContextDType" minOccurs="0" maxOccurs="1" />
        <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="String256DType" minOccurs="0" maxOccurs="1" />
        <xs:element name="toolVersion" type="String256DType" minOccurs="0" maxOccurs="1" />
        <xs:element name="toolVendor" type="String256DType" 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/QTIMetadataDType" Local Element.
Namespace http://www.imsglobal.org/xsd/imsqti_metadata_v3p0
Diagram XSD diagram of the itemTemplate local element in the QTIMetadata root class.
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/QTIMetadataDType" Local Element.
Namespace http://www.imsglobal.org/xsd/imsqti_metadata_v3p0
Diagram XSD diagram of the timeDependent local element in the QTIMetadata root class.
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/QTIMetadataDType" Local Element.
Namespace http://www.imsglobal.org/xsd/imsqti_metadata_v3p0
Diagram XSD diagram of the composite local element in the QTIMetadata root class.
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/QTIMetadataDType" Local Element.
Namespace http://www.imsglobal.org/xsd/imsqti_metadata_v3p0
Diagram XSD diagram of the interactionType local element in the QTIMetadata root class.
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 portableCustomInteraction
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="portableCustomInteraction" />
        <xs:enumeration value="positionObjectInteraction" />
        <xs:enumeration value="selectPointInteraction" />
        <xs:enumeration value="sliderInteraction" />
        <xs:enumeration value="textEntryInteraction" />
        <xs:enumeration value="uploadInteraction" />
    </xs:restriction>
</xs:element>
                        
"portableCustomInteractionContext" Local Element Description

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

Table - XSD description for the "portableCustomInteractionContext/QTIMetadataDType" Local Element.
Namespace http://www.imsglobal.org/xsd/imsqti_metadata_v3p0
Diagram XSD diagram of the portableCustomInteractionContext local element in the QTIMetadata root class.
Type PCIContextDType
Properties
Content complex
MinOccurs 0
MaxOccurs 1
Mixed false
Model customTypeIdentifier{0..1}, interactionKind{0..1}
Attributes None.
Source
<xs:element name="portableCustomInteractionContext" type="PCIContextDType" minOccurs="0" maxOccurs="1" />
"feedbackType" Local Element Description

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

Table - XSD description for the "feedbackType/QTIMetadataDType" Local Element.
Namespace http://www.imsglobal.org/xsd/imsqti_metadata_v3p0
Diagram XSD diagram of the feedbackType local element in the QTIMetadata root class.
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/QTIMetadataDType" Local Element.
Namespace http://www.imsglobal.org/xsd/imsqti_metadata_v3p0
Diagram XSD diagram of the solutionAvailable local element in the QTIMetadata root class.
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/QTIMetadataDType" Local Element.
Namespace http://www.imsglobal.org/xsd/imsqti_metadata_v3p0
Diagram XSD diagram of the scoringMode local element in the QTIMetadata root class.
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/QTIMetadataDType" Local Element.
Namespace http://www.imsglobal.org/xsd/imsqti_metadata_v3p0
Diagram XSD diagram of the toolName local element in the QTIMetadata root class.
Type String256DType
Properties
Content simple
MinOccurs 0
MaxOccurs 1
Facets
MaxLength 256
WhiteSpace preserve
Model N/A
Attributes None.
Source
<xs:element name="toolName" type="String256DType" 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/QTIMetadataDType" Local Element.
Namespace http://www.imsglobal.org/xsd/imsqti_metadata_v3p0
Diagram XSD diagram of the toolVersion local element in the QTIMetadata root class.
Type String256DType
Properties
Content simple
MinOccurs 0
MaxOccurs 1
Facets
MaxLength 256
WhiteSpace preserve
Model N/A
Attributes None.
Source
<xs:element name="toolVersion" type="String256DType" 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/QTIMetadataDType" Local Element.
Namespace http://www.imsglobal.org/xsd/imsqti_metadata_v3p0
Diagram XSD diagram of the toolVendor local element in the QTIMetadata root class.
Type String256DType
Properties
Content simple
MinOccurs 0
MaxOccurs 1
Facets
MaxLength 256
WhiteSpace preserve
Model N/A
Attributes None.
Source
<xs:element name="toolVendor" type="String256DType" minOccurs="0" maxOccurs="1" />

3.4.5 Core Complex Type Descriptions

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

3.4.5.1 "PCIContextDType" Core Complex Type Description

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

Table 3.4.5.1 XSD description for the "PCIContextDType" Core Complex Type.
Namespace http://www.imsglobal.org/xsd/imsqti_metadata_v3p0
Annotations This is the container for the contextual information that can be supplied for a PCI used within an Item. The contained information is only relevant when there is an 'interactionType' of 'portableCustomInteraction'.
Diagram XSD diagram of the PCIContext core complexType.
Properties
Abstract false
Mixed false
Used by
Elements portableCustomInteractionContext/QTIMetadataDType
Model customTypeIdentifier{0..1}, interactionKind{0..1}
Attributes None.
Source
<xs:complexType name="PCIContextDType" abstract="false" mixed="false">
    <xs:sequence>
        <xs:element name="customTypeIdentifier" type="xs:normalizedString" minOccurs="0" maxOccurs="1" />
        <xs:element name="interactionKind" type="xs:normalizedString" minOccurs="0" maxOccurs="1" />
    </xs:sequence>
</xs:complexType>
                        
"customTypeIdentifier" Local Element Description

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

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

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

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

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 "String256DType" Simple Type Description

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

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

3.5. The Schematron Rules

This Section is NORMATIVE.

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 used for QTI 3.0-based Content Packages is located at: https://purl.imsglobal.org/spec/qti/v3p0/schema/xsd/imsqti_metadatav3p0_v1p0.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

This Section is NOT NORMATIVE.

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

5. Implementation Guide

There is no separate implementation guide with respect to the QTI Metadata specification. A QTI Metadata instance is supplied in the context of a QTI Content Package. The implementation guidance for a QTI Content Package is supplied in the QTI 3.0 Implementation Guide document [QTI, 20b].

toc | top

6. Conformance and Certification

There is no separate conformance and certification process available with respect to the QTI Metadata specification. A QTI Metadata instance is supplied in the context of a QTI Content Package. The conformance and certification requirements for a QTI Content Package are defined in the QTI 3.0 Conformance and Certification document [QTI, 20c].

toc | top

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, 20a] IMS Question and Test Interoperability (QTI) 3.0: Assessment, Section and Item (ASI) Information Model v1.0, Gary Driscoll, Tom Hoffmann, Justin Marks, Paul Grudnitski, Mark Molenaar, Colin Smythe and Mark McKell, IMS Global Learning Consortium Inc., September 2020, https://www.imsglobal.org/question/qtiv3p0/imsqtiv3p0_asi_v1p0_infomodelv1p0.html.
[QTI, 20b] IMS Question and Test Interoperability (QTI v3.0 Implementation Guide v1.0, Gary Driscoll, Tom Hoffmann, Justin Marks, Paul Grudnitski, Mark Molenaar and Padraig O'hiceadha, IMS Global Learning Consortium Inc., September 2020, https://www.imsglobal.org/question/qtiv3p0/imsqtiv3p0_implguidev1p0.html.
[QTI, 20c] IMS Question and Test Interoperability (QTI) 3.0: Conformance and Certification v1.0, Gary Driscoll, Tom Hoffmann, Justin Marks, Paul Grudnitski, Mark Molenaar, Colin Smythe and Mark McKell, IMS Global Learning Consortium Inc., September 2020, https://www.imsglobal.org/question/qtiv3p0/imsqtiv3p0_certificationv1p0.html.
[RFC 2119] Key words for use in RFCs to Indicate Requirement Levels, S.Bradner, Internet Engineering Task Force, March 1997, https://www.ietf.org/rfc/rfc2119.txt.

toc | top

Appendix A Modelling Concepts and Terms

A1 Data Model Descriptions

This section is NOT NORMATIVE.

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 « PrimitiveType » 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.
Aggregation Arrow This is an arrow with a white diamond head to indicate that the child class is an aggregate structure to the parent class i.e. the child class may exist without the context of the parent class. This association allows complex structures to be constructed with common subcomponents.
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.
Link Data Lists the set of attributes for this class that are used to provide links to other data objects in the data model. Many types of link references are available. This row is ONLY shown when the class contains at least one link data definition.
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 and the form of that extension is dependent on the type of binding);
    • AnyURI - the AnyURI data-type (absolute or relative 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);
    • Decimal - the decimal data-type (a variable precision number that is either positive or negative);
    • Double - the double data-type (double precision floating point number - 64bit);
    • Duration - the duration data-type (using the [ISO 8601] format)
    • Empty - the associated instance must be empty i.e. no child attributes;
    • Float - the float data-type (single precision floating point number - 32bit);
    • ID - the unique identifier data-type (the scope is constrained to the instance file);
    • 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 with a numertic vaklue from -2147483648 to 2147483647;
    • Integer - the integer data-type (this is derived from the "decimal" data-type i.e. no decimal places);
    • Language - the language data-type as defined in [RFC 3066];
    • Name - the Name data-type as per the XML 1.0 definition);
    • 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 i.e. non-colonized name);
    • NormalizedString - the normalized string data type (strings with line feeds, carriage returns and tab characters removed);
    • PositiveInteger - the positive integer data-type (this is derived from the "nonNegativeinteger" data-type) i.e. an integer that is one or higher;
    • String - the normalized string data type;
    • Time - the time data-type (using the [ISO 8601] format).
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.
Link Data Contains the description of the link data definition. A link to the corresponding detailed link data description is supplied. This row is ONLY shown when the attribute/characteristice is a link data definition.

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. They are contained within a class that has a stereotype of either « Enumeration » or « EnumeratedList ».

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 [VDEX, 04].

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.

A1.7 Link Data Descriptions

Table A1.7 provides the key to the descriptions of the link data definitions.

Table A1.7 The key to the descriptions of the link data tables.
Category Definition
Target Class Name This is the name of the target class i.e. the destination point of the link reference.
Link Type This is the type of link that is being used. The types of link available are:
  • "SourcedId" - this link is through interoperability identifier for the target object i.e. the object can be obtained by using this sourceId with the corresponding service call;
  • "IntraParentClassId" - this link is between two attributes/characteristics that are contained within the same parent class;
  • "CPResourceId" - this link is to a resource contained within an IMS Content Package/IMS Common Cartridge/Thin Common Cartridge manifest. The reference value is that assigned to the "identifier" of the resource in the package/cartridge manifest;
  • "CASEItemId" - this link is to the learning objective description (contained within an IMS CASE Item definition).
Link Sources This is the set of classes that contain attributes/characteristics which use the link data defined by this entry. A link to the attribute/characteristic is provided.
Source Attribute This is the attribute/characteristic in the source object that contains the identifier of the target object (a characteristic name MUST start with an "@"). This will only be supplied if the pointer is contained within a substructure within the source object. If there is no source the statement "Not Applicable" will be displayed.
Target Attribute This is the attribute/characteristic in the target class which is the container for the identifier of the object being identified (a characteristic name MUST start with an "@"). It is the value for this identifier which MUST be supplied in the source object. For "CPResourceId" link types the fixed value of "@identifier" will be given. If there is no target the statement "Not Applicable" will be displayed.
Parent Class Name This is the name of the class that contains both the source and target attributes/characteristics. This value will only be supplied for the "IntraParentClassId" link types. If there is no parent class name the statement "Not Applicable" will be displayed.
Description The description of how the link data is used within the data model.

toc | top

Appendix B Binding Terminology

B1 XSD Binding Description Terms

This section is NOT NORMATIVE.

B1.1 UML/XSD Attribute Mapping Table Definition

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

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

toc | top

B1.2 UML/XSD Class Mapping Table Definition

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

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

toc | top

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

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

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

toc | top

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

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

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

toc | top

B1.5 UML/XSD Primitive Types Mapping Table Definition

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

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

toc | top

B1.6 XSD Description for an Element

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

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

toc | top

B1.7 XSD Description for a Complex Type

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

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

toc | top

B1.8 XSD Description for a Simple Type

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

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

toc | top

B1.9 XSD Description for an Attribute Group

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

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

toc | top

B1.10 XSD Description for an Attribute

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

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

toc | top

B1.11 VDEX Description for an External Vocabulary

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

Table B1.11 The key to the descriptions of VDEX vocabulary binding tables.
Feature Definition
Name The name/title for the vocabulary.
Identifier The unique identifier the vocabulary.
Location The Web location for the VDEX file.
Type The type of vocabulary. The choice 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

This section is NOT NORMATIVE.

The XSD listing is shown below (the XSD is available at: https://purl.imsglobal.org/spec/qti/v3p0/schema/xsd/imsqti_metadatav3p0_v1p0.xsd).

<?xml version = "1.0" encoding = "UTF-8"?>
<xs:schema xmlns="http://www.imsglobal.org/xsd/imsqti_metadata_v3p0"
     targetNamespace="http://www.imsglobal.org/xsd/imsqti_metadata_v3p0"
     xmlns:xs="http://www.w3.org/2001/XMLSchema"
     version="IMS QTI MD 3.0.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:           14th September, 2020
            Version:        1.0
            Status:         Public Candidate Final Release
            Description:    This is the Platform Specific Model of the Metadata object in the IMS QTIv3.0 Specification Information Model. It is this representation that is used to produce the XSD binding for the IMS QTI Metadata v3.0.

            History:        This version supercedes the full IMS QTIv2.2 Metadata specification.
            
            License:        IPR and Distribution Notices
            
                            This machine readable file is derived from the IMS Question and Test Interoperability (QTI) Metadata Specification Version 3.0
                            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-2020. 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
            Release:          1.0
            Date:             31st July, 2017
            Autogen Engineer: Colin Smythe (IMS Global, UK)
            Autogen Date:     2020-09-12
            
            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-2020  (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="String256DType">
        <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="PCIContextDType" abstract="false" mixed="false">
        <xs:annotation>
            <xs:documentation source="documentation">
                This is the container for the contextual information that can be supplied for a PCI used  
                within an Item. The contained information is only relevant when there is an 'interactionT-
                ype' of 'portableCustomInteraction'.                                                      
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="customTypeIdentifier" type="xs:normalizedString" minOccurs="0" maxOccurs="1" />
            <xs:element name="interactionKind" type="xs:normalizedString" minOccurs="0" maxOccurs="1" />
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="QTIMetadataDType" 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="portableCustomInteraction" />
                        <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="portableCustomInteractionContext" type="PCIContextDType" minOccurs="0" maxOccurs="1" />
            <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="String256DType" minOccurs="0" maxOccurs="1" />
            <xs:element name="toolVersion" type="String256DType" minOccurs="0" maxOccurs="1" />
            <xs:element name="toolVendor" type="String256DType" 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="QTIMetadataDType" />

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

</xs:schema>
        

toc | top

About this Document

Title: IMS Question and Test Interoperability (QTI) Metadata Specification v3.0
Editors: Colin Smythe, IMS Global (UK)
Mark McKell, IMS Global (USA)

Co-chairs: Gary Driscoll, ETS (USA)
Tom Hoffmann, ETS (USA)
Justin Marks, NWEA (USA)
Paul Grudnitski, Pearson (USA)
Mark Molenaar, OAT (Luxemburgh)

Version: 1.0
Version Date: 14th September, 2020
Status: IMS Public Candidate 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-specific 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) 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.2.
Purpose: This final release document is made available for public adoption.
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:

Tjeerd Hans Cito (Netherlands)
Arjan Aarnink Cito (Netherlands)
Jerome Bogaerts O.A.T (Luxemburgh)
Catriona Buhayar NWEA (USA)
Jason Craft Pearson (USA)
Gary Driscoll ETS (USA)
Paul Grudnitski Pearson (USA)
Mark Hakkinen ETS (USA)
Tom Hoffmann ETS (USA)
Rob Howard NWEA (USA)
Justin Marks NWEA (USA)
Mark McKell IMS Global (USA)
Mark Molenaar O.A.T. (Luxemburgh)
Padraig O'hiceadha HMH (UK)
Colin Smythe IMS Global (UK)
Wyatt VanderStucken ETS (USA)

toc | top

Revision History

Version No. Release Date Comments
Public Candidate Final Release 1.0 14th September, 2020 The public candidate final release of QTI Metadata 3.0 Specification. This is a combined 'Information Model', 'XSD Binding', 'Implementation Guide', and 'Conformance and Certification' document. This is for public adoption.

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 Specification v3.0

Date: 14th September, 2020

toc | top