Sharebar?

IMS Question & Test Interoperability: ASI Best Practice & Implementation Guide

IMS Logo IMS Question & Test Interoperability:
ASI Best Practice & Implementation Guide

Final Specification Version 1.2
Copyright © 2002 IMS Global Learning Consortium, Inc. All Rights Reserved.
The IMS Logo is a trademark of IMS Global Learning Consortium, Inc.
Document Name: IMS Question & Test Interoperability: ASI Best Practice & Implementation Guide
Date: 11 February 2002

 

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 © 2002 IMS Global Learning Consortium. All Rights Reserved.

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

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.

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.


 

Table of Contents


1. Introduction
     1.1 Question & Test Interoperability Overview
     1.2 Scope & Context
     1.3 Structure of this Document
     1.4 Nomenclature
     1.5 References

2. Relationship to Other Specifications
     2.1 IMS Specifications
     2.2 Related Specifications
           2.2.1 IEEE P1484
           2.2.2 Advanced Distributed Learning (ADL) Initiative
           2.2.3 Aviation Industry CBT Committee (AICC)

3. Overall Data Model
     3.1 Information Model
     3.2 XML Schema Tree
           3.2.1 Item
           3.2.2 Section
           3.2.3 Assessment
           3.2.4 Material Element
           3.2.5 Meta-data

4. Example Basic Item Types
     4.1 Logical Identifier
           4.1.1 Standard True/False (Text)
           4.1.2 Standard Multiple Choice (Text)
           4.1.3 Standard Multiple Choice (Images)
           4.1.4 Standard Multiple Choice (Audio)
           4.1.5 Standard Multiple Response (Text)
           4.1.6 Multiple Choice with Image Hot Spot Rendering
           4.1.7 Multiple Response with Multiple Image Hot Spot Rendering
           4.1.8 Multiple Choice with Slider Rendering
           4.1.9 Standard Order Objects (Text)
           4.1.10 Standard Order Objects (Image)
           4.1.11 Connect-the-Points
     4.2 XY Co-ordinate
           4.2.1 Standard Image Hot Spot
           4.2.2 Connect-the-Points
     4.3 String
           4.3.1 Standard Fill-in-Blank (Text)
           4.3.2 Standard Multiple Fill-in-Blank (Text)
           4.3.3 Standard Short Answer
     4.4 Numerical
           4.4.1 Standard Fill-in-Blank (Decimal)
           4.4.2 Standard Fill-in-Blank (Integer)
           4.4.3 Numerical Entry with Slider
     4.5 Logical Group
           4.5.1 Drag-and-Drop (Images)

5. Example Composite Item Types
     5.1 Multiple Choice Derivatives
           5.1.1 Multiple Choice with Fill-in-Blank
           5.1.2 Matrix-based Multiple Response

6. Example XML Schema
     6.1 Item Examples
           6.1.1 Minimum Definition
           6.1.2 Full Definition
     6.2 Section Examples
           6.2.1 Minimum Definition
           6.2.2 Full Definition
     6.3 Assessment Examples
           6.3.1 Minimum Definition
           6.3.2 Full Definition
     6.4 The XML Example Files

7. Implementation Guidance
     7.1 Assessments
           7.1.1 Elements and their Attributes
           7.1.2 Groups of Elements
     7.2 Sections
           7.2.1 Elements and their Attributes
           7.2.2 Groups of Elements
     7.3 Items
           7.3.1 Elements and their Attributes
           7.3.2 Groups of Elements
     7.4 Object Banks
     7.5 Aggregated Scoring and Response Processing
     7.6 IMS Harmonization
           7.6.1 IMS Meta-data
           7.6.2 IMS Content Packaging
           7.6.3 IMS Learner Information Package
           7.6.4 IMS Accessibility
           7.6.5 IMS Sequencing
     7.7 Naming Conventions
           7.7.1 Identities and Labels
           7.7.2 Proprietary Extensions
     7.8 Scoping Rules
           7.8.1 Identities and Labels

8. Proprietary Extensions

9. V1.x/V2.0 Issues & Compatibility
     9.1 Function Requirements
     9.2 Constraints
     9.3 Compatibility Map

10. Conformance
     10.1 Valid Data Issues
     10.2 Conformance Summary
     10.3 Interoperability Statement
     10.4 Completing a Conformance Summary
     10.5 An Example Conformance Statement

Appendix A - QTI XSDs, DTDs & XDRs
     A1 - Overview
     A2 - Features of the Different XSDs/DTDs/XDRs
     A3 - Recommended Usage of the XSDs/DTDs
     A4 - Full Directory Structure

Appendix B - Glossary of Terms
     B1 - Q&TI Elements and Attributes

Appendix C - Examples Information
     C1 - Proposed Naming Convention

About This Document
     List of Contributors

Revision History

Index


1. Introduction

1.1 Question & Test Interoperability Overview

The IMS Question & Test Interoperability (QTI) specification describes a basic structure for the representation of question (item) and test (assessment) data and their corresponding results reports. Therefore, the specification enables the exchange of this item, assessment and results data between Learning Management Systems, as well as content authors and, content libraries and collections. The IMS QTI specification is defined in XML to promote the widest possible adoption. XML is a powerful, flexible, industry standard markup language used to encode data models for Internet-enabled and distributed applications. The QTI specification is extensible and customizable to permit immediate adoption, even in specialized or proprietary systems. Leading suppliers and consumers of learning products, services and content contributed time and expertise to produce this final specification. The IMS QTI specification, like all IMS specifications, does not limit product designs by specifying user interfaces, pedagogical paradigms, or establishing technology or policies that constrain innovation, interoperability, or reuse.

This document is intended to provide vendors with an overall understanding of the ASI specification, the relationship of this specification with other IMS specifications, and a best practices guide derived from experiences of those using the specification.1 Example Item types supported by the specification, examples of composite Item types, and a complete XML example for presenting an Assessment, Section, and Item is included. The Best Practices & Implementation Guide also includes a significant number of actual examples that describe how vendors can make the best use of the QTI specification. These examples, approximately eighty, are also useful as a starting template for each of the different forms of Assessment, Section and Item. Appendices provide the range of available DTDs, XDRs and XSDs (as appropriate), as well as a glossary of key terms and elements used throughout the specification.

1.2 Scope & Context

 

This document is the second revised version of the IMS Question & Test Interoperability (QTI): ASI Best Practice & Implementation Guide. As such it should be used in conjunction with the:

  • IMS Question & Test Interoperability: ASI Information Model Specification v1.2 [QTI, 02a];
  • IMS Question & Test Interoperability: ASI XML Binding Specification v1.2 [QTI, 02b];
  • IMS Question & Test Interoperability: QTILite Specification v1.2 [QTI, 02h].

This requirement has been derived from the agreed IMS Q&TI V1.x Scoping document [QTI, 00].

1.3 Structure of this Document

The structure of this document is:

2. Relationship to Other Specifications The relationship of this specification activity to other IMS and external specification activities;
3. Overall Data Model A brief summary of the IMS Question & Test Interoperability information model;
4. Example Basic Item Types Examples of the basic Item types that are supported by this specification;
5. Example Composite Item Types Examples of the composite (combinations of the basic types) Item types supported by this specification;
6. Example XML Schema Some complete examples of the XML required to present an Assessment, Section or Item;
7. Implementation Guidance Tips on how the distributed learning engines can make best usage of the IMS QTI specification;
8. Extensibility Usage of the extensions facilities to support proprietary requirements;
9. V1.x/V2.0 Issues & Compatibility The initial scoping of the version 1.x/2.0 specifications and IMS's commitment to backwards compatibility;
10. Conformance The expectations on systems that claim conformance to the QTI specifications;
Appendix A - DTDs & XSDs The range of available QTI DTDs and XSDs;
Appendix B - Glossary of Terms A glossary of the key terms and elements used within the specification.
Appendix C - Examples Information Specific descriptive information about the QTI example files.

1.4 Nomenclature

ADL Advanced Distributed Learning
AICC Aviation Industry CBT Committee
ANSI American National Standards Institute
ASI Assessment, Section, Item
CBT Computer Based Training
DTD Document Type Definition
FIB Fill-in-Blank
IEEE Institute of Electronic & Electrical Engineering
IHS Image Hotspot
ISO International Standards Organisation
JTC Joint Technical Committee
LTSC Learning Technology Standards Committee
NATO North Atlantic Treaty Organisation
NUM Numeric
QTI Question & Test Interoperability
SCORM Shareable Content Object Reference Model
STR String
W3C World Wide Web Consortium
XDR XML Data Reduced
XML Extensible Mark-up Language
XSD XML Schema

1.5 References

[CP, 01a] IMS Content Packaging Information Model, T.Anderson, M.McKell, A.Cooper and W.Young, C.Moffatt, Version 1.1.2, IMS, August 2001.
[CP, 01b] IMS Content Packaging XML Binding, T.Anderson, M.McKell, A.Cooper and W.Young, C.Moffatt, Version 1.1.2, IMS, August 2001.
[CP, 01c] IMS Content Packaging Best Practice and Implementation Guide, T.Anderson, M.McKell, A.Cooper and W.Young, C.Moffatt, Version 1.1.2, IMS, August 2001.
[IMS, 01a] IMS Persistent Location-independent Resource Identifier Implementation Handbook, V1.0, M,McKell, IMS Specification, May, 2001.
[IMS, 01b] Using the IMS Content Packaging to Package Instances of LIP and Other IMS Specifications Implementation Handbook, V1.0, B.Olivier and M.McKell, IMS Specifications, August 2001.
[LIP, 01a] IMS Learner Information Package Information Model, R.Robson, C.Smythe and F.Tansey, Version 1.0, IMS, March 2001.
[LIP, 01b] IMS Learner Information Package XML Binding Final Specification, R.Robson, C.Smythe and F.Tansey, Version 1.0, IMS, March 2001.
[LIP, 01c] IMS Learner Information Packaging Best Practices & Implementation Guide Final Specification, R.Robson, C.Smythe and F.Tansey, Version 1.0, IMS, March 2001.
[MD, 01a] IMS Learning Resource Meta-data Information Model, T.Anderson and M.McKell, Version 1.2, IMS, May 2001.
[MD, 99b] IMS Learning Resource Meta-data XML Binding, T.Anderson and M.McKell, Version 1.2, IMS, May 2001.
[MD, 99c] IMS Learning Meta-data Best Practice and Implementation Guide, T.Anderson and M.McKell, Version 1.2, IMS, May 2001.
[QTI, 00] IMS Question & Test Interoperability Version 1.x Scoping Statement, C.Smythe and E.Shepherd, Version 1.0, IMS, November 2000.
[QTI, 02a] IMS Question & Test Interoperability ASI Information Model Specification, C.Smythe, E.Shepherd, L.Brewer and S.Lay, Final Specification, Version 1.2, IMS, February 2002.
[QTI, 02b] IMS Question & Test Interoperability: ASI XML Binding Specification, C.Smythe, E.Shepherd, L.Brewer and S.Lay, Final Specification, Version 1.2, IMS, February 2002.
[QTI, 02c] IMS Question & Test Interoperability: ASI Outcomes Processing Specification, C.Smythe, L.Brewer and S.Lay, Final Specification, Version 1.2, IMS, February 2002.
[QTI, 02d] IMS Question & Test Interoperability: ASI Selection & Ordering Specification,, C.Smythe, L.Brewer and S.Lay, Final Specification, Version 1.2, IMS, February 2002
[QTI, 02e] IMS Question & Test Interoperability: Results Reporting Information Model, C.Smythe, L.Brewer and S.Lay, Final Specification, Version 1.2, IMS, February 2002
[QTI, 02f] IMS Question & Test Interoperability: Results Reporting XML Binding, C.Smythe, L.Brewer and S.Lay, Final Specification, Version 1.2, IMS, February 2002.
[QTI, 02g] IMS Question & Test Interoperability: Results Reporting Best Practice & Implementation Guide, C.Smythe, L.Brewer and S.Lay, Final Specification, Version 1.2, IMS, February 2002.
[QTI, 02h] IMS Question & Test Interoperability: QTILite Specification, C.Smythe, E.Shepherd, L.Brewer and S.Lay, Final Specification, Version 1.2, IMS, February 2002.
[QTI, 02i] IMS Question & Test Interoperability: Overview, C.Smythe, E.Shepherd, L.Brewer and S.Lay, Final Specification, Version 1.2, IMS, February 2002.

2. Relationship to Other Specifications

2.1 IMS Specifications

Version 1.2 of the IMS Question & Test Interoperability specification is made up of ten documents:

 
  1. "IMS Question & Test Interoperability: Overviw - Version 1.2.
    This document presents an overview of the full QTI specification;
  2. "IMS Question & Test Interoperability: ASI Information Model Specification - Version 1.2.
    This document describes the data structures that are used to provide interoperability of on-line distributed learning question and test systems;
  3. "IMS Question & Test Interoperability: ASI XML Binding Specification - Version 1.2.
    This document describes how to encode the Question & Test Interoperability objects in XML and provides the corresponding XML Schema, and DTD;
  4. "IMS Question & Test Interoperability: ASI Best Practice & Implementation Guide - Version 1.2.
    This document (the one you are reading now) provides an overview and describes how the IMS Question & Test Interoperability Information Model and XML Binding specifications can be applied to specific types of interoperability scenarios;
  5. "IMS Question & Test Interoperability: ASI Outcomes Processing Specification - Version 1.2.
    This document describes the data structures that are used to provide the aggregated outcomes scoring functionality for Sections and Assessments;
  6. "IMS Question & Test Interoperability: ASI Selection & Ordering Specification - Version 1.2.
    This document describes the data structures that are used to provide the selection and ordering functionality for Items and Sections;
  7. "IMS Question & Test Interoperability: Results Reporting Information Model Specification - Version 1.2.
    This document describes the data structures that are used to provide interoperability between on-line distributed learning results reporting systems;
  8. "IMS Question & Test Interoperability: Results Reporting XML Binding Specification - Version 1.2.
    This document describes how to encode the Results Reporting objects in XML and provides the corresponding XML Schema, and DTD;
  9. "IMS Question & Test Interoperability: Results Reporting Best Practice & Implementation Guide - Version 1.2.
    This document provides an overview and describes how the Results Reporting Information Model and XML Binding specifications can be applied to specific types of interoperability scenarios;
  10. "IMS Question & Test Interoperability QTILite Specification - Version 1.2.
    This document describes the QTILite Specification data model, XML binding, and best practice and implementation guidance.

The IMS Question & Test Interoperability specification is related to several other IMS specifications, both complete and in progress. This specification is intended to be consistent with these other initiatives wherever possible, in order to reduce redundancy and confusion between specifications. The related specifications are:

  • IMS Meta-data Specification V1.2 - the IMS Q&TI specification shares a number of common data object elements with the IMS Meta-data specification. A set of unique meta-data extensions are also used and these are defined within the Q&TI specifications themselves [MD, 01a], [MD, 01b], [MD, 01c];
  • IMS Content Packaging Specification V1.1.2 - the IMS QTI data model is a subset of the Content Packaging data model i.e. Q&TI Assessments, Sections and Items are defined as content and their XML can be inserted into a Content Packaging instance [CP, 01a], [CP, 01b], [CP, 01c];
  • IMS Learner Information Packaging Specification V1.0 - this specification can be used as an alternative results reporting mechanism [LIP, 01a], [LIP, 01b], [LIP, 01c];
  • IMS Sequencing Specification V1.0 - this specification is an extension of the IMS Content Packaging specification to control the way in which the sequencing of the associated content [Seq, 02].

2.2 Related Specifications

2.2.1 IEEE P1484

The IEEE Learning Technology Standardisation Committee P1484 is the only body engaged in the educational domain, which has a recognised formal standing. Given the diversity of the fora represented by the participants in the IEEE, there exist a large number of working groups focused on specific activities, as well as more horizontal activities (such as the Architecture and Reference Model and the Glossary working groups) that attempt to tie the other work together. None of the current IEEE working groups and study groups (note a study group is formed to do preliminary work to scope any subsequent working group in the particular area) is focussed on Question & Test Interoperability.

2.2.2 Advanced Distributed Learning (ADL) Initiative

ADL is a US military programme started by the White House in 1997 that aims to advance the use of state-of-the-art online training amongst the countries defence forces. There is some collaboration with experts in military training applications from other NATO countries. ADL is very focused on content for particular areas of training. It also has the Shareable Content Object Reference Model (SCORM v1.2) as its working architecture to encourage discussion and input on the emerging standards. Again no separate Question & Test Interoperability specification development is underway and the IMS QTI specification is being considered for adoption in later versions of the SCORM i.e. SCORM v1.4.

2.2.3 Aviation Industry CBT Committee (AICC)

The Aviation Industry CBT Committee is a membership-based international forum that develops recommendations on interoperable learning technology, principally for the commercial aviation and related industries. As such its members include both plane and equipment manufacturers, carriers, software and multimedia vendors and a growing number of interested parties not directly engaged in the sector, but nevertheless interested in the work being undertaken. A subgroup of the AICC is working with the ADL and other organisations from the IEEE LTSC. The IMS Q&TI specifications have been presented to the AICC.

2.2.4 ISO/IEC JTC1/SC36 Learning Technology

As of 10th November 1999, the ISO/IEC Joint Technical Committee 1 meeting in Seoul agreed resolution 6, which brought into existence Sub-Committee 36 - Learning Technology. The international secretariat for SC36 is provided by the US National Body: the American National Standards Institute (ANSI). ISO/IEC JTC1/SC36 is intended to address standardisation in the area of information technologies that support automation for learners, learning institutions, and learning resources. It is the intention that SC36 shall not create standards or technical reports that define educational standards, cultural conventions, learning objectives, or specific learning content. Their activity in the field of question and test has yet to be defined.

3. Overall Data Model

3.1 Information Model

The data model for the Q&TI is shown in Figure 3.1 (this is the same as that described in the QTI information Model, [QTI, 02a]).

The IMS Question & Test Interoperability object data model

 

Figure 3.1 The IMS Question & Test Interoperability object data model.

The objects in this model and their key behaviours are:

  • Assessment - the object that represents the Assessment data structure;
  • Section - the object that represents the Section data structure;
  • Item - the object that represents the Item data structure;
  • Activity Selection - selection of the next activity determined by the progress and results obtained up to the moment of activity selection;
  • Outcomes Processing - the reconciliation of all the evaluation outputs to produce an overall Assessment/Section evaluation;
  • Scoring Weights - the scoring weights that are to be assigned to the results output from the response processing;
  • Response Processing - the processing and evaluation of the user responses;
  • Presentation - the rendering of the content and the possible responses;
  • Examinee Record - the set of collated results that is output from the complete process. This is a 'life-long' record in that it contains the historical progress of the individual;
  • Outcomes - the set of outcomes that are to be evaluated by the response processing object. These determine the scoring metrics to be applied to the response evaluations;
  • Response - the responses that are supplied by the user of the Items i.e. the input user selections;
  • Flow - the underlying presentation structure that defines the block relationship between the different material components;
  • Material - the content that is to be displayed.

This structure shows the relationship between the three core data objects, namely Items, Sections and Assessments. The type of objects that can be exchanged are shown in Figure 3.2 (Figure 4.1 in the IMS QTI Information Model Specification [QTI, 02a]).

The principle Q&TI interchange data objects

 

Figure 3.2 The principle Q&TI interchange data objects.

3.2 XML Schema Tree2

The generic XML schema tree is shown in Figure 3.3.

The generic structure of the XML schema tree

 

Figure 3.3 The generic structure of the XML schema tree.

This representation reflects the structure of an Item, Section and Assessment. This structure has three core components:

  • Configuration - generation of the appropriate environment for the correct interpretation of the information contained within the object;
  • Processing - the actual processing represented by the object e.g. the presentation of a question and the corresponding response processing and feedback;
  • Sequencing - linkage to referenced objects and the selection and sequencing of the next object to be processed.

3.2.1 Item

The XML schema tree for the Item data structure is shown in Figure 3.4.

The Item element XML schema tree

 

Figure 3.4 The Item element XML schema tree.

The corresponding XML schema trees for the <presentation> and <resprocessing> elements are shown in Figures 3.5 and 3.6 respectively.

The Presentation element XML schema tree

 

Figure 3.5a The Presentation element XML schema tree.

 

Figure 3.5b The Response_lid element XML schema tree.

The Resprocessing element XML schema tree

 

Figure 3.6 The Resprocessing element XML schema tree.

3.2.2 Section

The Section data structure XML schema tree is shown in Figure 3.7.

The Section XML schema tree

 

Figure 3.7 The Section XML schema tree.

3.2.3 Assessment

The Assessment data structure XML schema tree is shown in Figure 3.8.

The Assessment XML schema tree

 

Figure 3.8 The Assessment XML schema tree.

3.2.4 Material Element

The Material element XML schema tree is shown in Figure 3.9.

The Material element XML schema tree

 

Figure 3.9 The Material element XML schema tree.

3.2.5 Meta-data

The meta-data for the Item structure is shown in Figure 3.10.

The Itemmetadata XML tree

 

Figure 3.10 The Itemmetadata XML tree.

4. Example Basic Item Types

The examples of the basic Item types are lists under:

  • Logical identifier;
  • X-Y co-ordinate;
  • String;
  • Numeric;
  • Logical groups.

The LID examples are:

  • Standard True/False (text-based options) - choice-based rendering;
  • Standard Multiple Choice (text-based options) - choice-based rendering;
  • Standard Multiple Choice (image-based options) - choice-based rendering;
  • Standard Multiple Choice (audio-based options) - choice-based rendering;
  • Standard Multiple Response (text-based options) - choice-based rendering;
  • Multiple Choice with Single Image (image-based options) - IHS-based rendering;
  • Multiple Response with Multiple Images (image-based options) - IHS-based rendering;
  • Multiple Choice (slider-based options) - slider-based rendering;
  • Standard Order Objects (text-based objects) - object-based rendering;
  • Standard Order Objects (image-based objects) - object-based rendering;
  • Connect-the-points (image-based) - IHS-based rendering.

The XY co-ordinate examples are:

  • Standard Image Hot Spot (single image) - IHS-based rendering;
  • Connect-the-points (image-based) - IHS-based rendering.

The STR examples are:

  • Standard Single Fill-in-Blank - FIB-based rendering;
  • Standard Multiple Fill-in-Blank - FIB-based rendering;
  • Standard Short Answer (text required) - FIB-based rendering.

The NUM examples are:

  • Standard Integer Fill-in-Blank - FIB-based rendering;
  • Standard Real number Fill-in-Blank - FIB-based rendering;
  • Numerical entry with Slider - slider-based rendering.

The GRP examples are:

  • Standard Drag-and-drop (multiple images) - object-based rendering.

4.1 Logical Identifier

4.1.1 Standard True/False (Text)

Figure 4.1 shows a typical True/False multiple-choice question where the possible answers are formatted in to different ways. The corresponding XML is listed after the figure. The user is expected to select either the 'Agree' or 'Disagree' radio buttons.

 

Standard true/false item

Standard true/false item

 

Figure 4.1a Standard true/false item.

 

Figure 4.1b Standard true/false item.

The recommended XML using the V1.2 specification takes two forms, one for each of the two Figures. The XML instance for Figure 4.1a is:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<questestinterop>
  <qticomment>
    This is a simple True/False multiple-choice example using V1.2.
    The rendering is a standard radio button style.
    Response processing is incorporated.
  </qticomment>
  <item ident="IMS_V01_I_BasicExample001">
    <presentation label="BasicExample001">
      <flow>
        <material>
        <mattext>Paris is the Capital of France</mattext>
        </material>
        <response_lid ident="TF01" rcardinality="Single" rtiming="No">
        <render_choice>
            <flow_label>
            <response_label ident="T">
                <material><mattext>Agree</mattext></material>
            </response_label>
            <response_label ident="F"> 
                <material><mattext>Disagree</mattext></material>
            </response_label>
            </flow_label>
          </render_choice>
        </response_lid>
      </flow>
  </presentation>
    <resprocessing>
      <outcomes>
        <decvar/>
      </outcomes>
      <respcondition title="Correct">
        <conditionvar>
          <varequal respident="TF01">T</varequal>
        </conditionvar>
        <setvar action="Set">1</setvar>
        <displayfeedback feedbacktype="Response" linkrefid="Correct"/>
      </respcondition>
    </resprocessing>
    <itemfeedback ident="Correct" view="Candidate">
      <flow_mat>
        <material><mattext>Yes, you are right.</mattext></material>
      </flow_mat>
    </itemfeedback>
  </item>
</questestinterop>

This XML code is available in the file: 'ims_qtiasiv1p2/basic/trfl_ir_001/trfl_ir_001a.xml'. The equivalent XML for Figure 4.1b is:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<questestinterop>
  <qticomment>
    This is a simple True/False multiple choice example using V1.2.
    The rendering is a standard radio button style. 
    Response processing is incorporated.
  </qticomment>
  <item ident="IMS_V01_I_BasicExample001">
    <presentation label="BasicExample001">
      <flow>
        <material>
        <mattext>Paris is the Capital of France</mattext>
        </material>
        <response_lid ident="TF01" rcardinality="Single" rtiming="No">
        <render_choice>
          <response_label ident="T">
              <flow_mat>
                <material><mattext>Agree</mattext></material>
              </flow_mat>
          </response_label>
          <response_label ident="F">
              <flow_mat> 
                <material><mattext>Disagree</mattext></material>
              </flow_mat>
          </response_label>
          </render_choice>
        </response_lid>
      </flow>
  </presentation>
    <resprocessing>
      <outcomes>
        <decvar/>
      </outcomes>
      <respcondition title="Correct">
        <conditionvar>
          <varequal respident="TF01">T</varequal>
        </conditionvar>
        <setvar action="Set">1</setvar>
        <displayfeedback feedbacktype="Response" linkrefid="Correct"/>
      </respcondition>
    </resprocessing>
    <itemfeedback ident="Correct" view="Candidate">
      <flow_mat>
        <material><mattext>Yes, you are right.</mattext></material>
      </flow_mat>
    </itemfeedback>
  </item>
</questestinterop>

This XML code is available in the file: 'ims_qtiasiv1p2/basic/trfl_ir_001/trfl_ir_001b.xml'.

4.1.2 Standard Multiple Choice (Text)

Figure 4.2 shows a typical text-based multiple-choice question. The corresponding XML is listed after the figure. The user is required to choose one of the available options by clicking the appropriate radio button.

Standard multiple choice (text) item

 

Figure 4.2 Standard multiple choice (text) item.

Using the V1.2 specification the XML could be:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<questestinterop>
  <qticomment>
    This is a simple multiple-choice example that conforms to V1.2.
    The rendering is a standard radio button style.
    Response processing is incorporated.
  </qticomment>
  <item title="Standard Multiple Choice Item" ident="IMS_V01_I_BasicExample002b">
    <presentation label="BasicExample002a">
      <flow>
        <material>
          <mattext>
            Which one of the listed standards committees is responsible
            for developing the token ring specification ?
          </mattext>
        </material>
        <response_lid ident="MCb_01" rcardinality="Single" rtiming="No">
          <render_choice shuffle="Yes">
            <response_label ident="A">
              <flow_mat>
                <material><mattext>IEEE 802.3</mattext></material>
              </flow_mat>
            </response_label>
            <response_label ident="B">
              <flow_mat>
                <material><mattext>IEEE 802.5</mattext></material>
              </flow_mat>
            </response_label>
            <response_label ident="C">
              <flow_mat>
                <material><mattext>IEEE 802.6</mattext></material>
              </flow_mat>
            </response_label>
            <response_label ident="D">
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
              <flow_mat>
                <material><mattext>IEEE 802.11</mattext></material>
              </flow_mat>
            </response_label>
            <response_label ident="E" rshuffle="No">
            <flow_mat> 
                <material><mattext>None of the above.</mattext>
                </material>
              </flow_mat>
          </response_label>
          </render_choice>
        </response_lid>
      </flow>
    </presentation>
    <resprocessing>
      <outcomes>
        <decvar  vartype="Integer" defaultval="0"/>
      </outcomes>
      <respcondition title="Correct">
        <conditionvar>
          <varequal respident="MCb_01">A</varequal>
        </conditionvar>
        <setvar action="Set">1</setvar>
        <displayfeedback feedbacktype="Response" linkrefid="Correct"/>
      </respcondition>
    </resprocessing>
    <itemfeedback ident="Correct" view="Candidate">
      <flow_mat>
        <material><mattext>Yes, you are right.</mattext></material>
      </flow_mat>
    </itemfeedback>
  </item>
</questestinterop>

This XML code is available in the file: 'ims_qtiasiv1p2/basic/mchc_ir_001/mchc_ir_001a.xml'.

4.1.3 Standard Multiple Choice (Images)

Figure 4.3 shows a typical image-based multiple-choice question. The corresponding XML is listed after the figure. The user is required to select one of the options by clicking on the appropriate radio button.

Standard multiple choice (images) item

 

Figure 4.3 Standard multiple choice (images) item.

The equivalent XML (without response processing) that conforms to the V1.2 specification is:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<questestinterop>
  <qticomment>
    This is a multiple-choice example with image content.
    The rendering is a standard radio button style.
    No response processing is incorporated.
  </qticomment>
  <item title="Standard MC with Images Item" ident="IMS_V01_I_BasicExample003">
  <presentation label="BasicExample003">
      <flow>
        <material>
          <mattext>Which symbol is the 'Stop' sign ?<mattext>
        </material>
        <response_lid ident="MC02" rcardinality="Single" rtiming="No">
        <render_choice shuffle="Yes">
            <flow_label>
            <response_label ident="A">
                <material>
                <matimage imagtype="image/gif" uri="image1.gif">
                  </matimage>
                </material>
            </response_label>
            <response_label ident="B">
                <material> 
                <matimage imagtype="image/gif" uri="image2.gif">
                  </matimage>
                </material>
            </response_label>
            <response_label ident="C">
                <material> 
                <matimage imagtype="image/gif" uri="image3.gif">
                  </matimage>
                </material>
            </response_label>
            <response_label ident="D">
                <material> 
                <matimage imagtype="image/gif" uri="image4.gif">
                  </matimage>
                </material>
            </response_label>
            </flow_label>
          </render_choice>
        </response_lid>
      </flow>
  </presentation>
  </item>
</questestinterop>

This XML code is available in the file: 'ims_qtiasiv1p2/basic/mchc_i_002/mchc_i_002.xml'. The equivalent example with the response processing incorporated is available in the file: 'ims_qtiasiv1p2/basic/mchc_ir_002/mchc_ir_002.xml'.

4.1.4 Standard Multiple Choice (Audio)

Figure 4.4 shows a typical audio-based multiple-choice question. The corresponding XML is listed after the figure. The user is required to make their choice by selecting the appropriate radio button but the audio can only be activated by clicking on each sound source symbol.

Standard multiple choice (audio) item

 

Figure 4.4 Standard multiple choice (audio) item.

The equivalent XML (without response processing) that conforms to the V1.2 specification is:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<questestinterop>
  <qticomment>
    This is a multiple-choice example with audio content.
    The rendering is a standard radio button style.
    No response processing is incorporated.
  </qticomment>
  <item title="Standard MC with Audio Item" ident="IMS_V01_I_BasicExample004">
  <presentation label="BasicExample004">
      <flow>
        <material>
        <mattext>What sound does this instrument make ?</mattext>
        <matimage imagtype="image/gif" uri="imageinstrument.gif"></matimage>
        </material>
        <response_lid ident="MC03" rcardinality="Single" rtiming="No">
        <render_choice>
          <response_label ident="A">
              <flow_mat>
                <material>
                  <mataudio audiotype="audio/wav" uri="sound1.wav">
                  </mataudio>
                </material>
              </flow_mat>
          </response_label>
          <response_label ident ="B">
              <flow_mat>
                <material>
                  <mataudio audiotype="audio/wav" uri="sound2.wav">
                  </mataudio>
                </material>
              </flow_mat>
          </response_label>
          <response_label ident="C">
              <flow_mat>
            <material>
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
                  <mataudio audiotype="audio/wav" uri="sound3.wav">
                  </mataudio>
                </material>
              <flow_mat>  
          </response_label>
          <response_label ident="D">
              <flow_mat>
                <material>
                  <mataudio audiotype="audio/wav" uri="sound4.wav">
                  </mataudio>
                </material>
              </flow_mat>
          </response_label>
          </render_choice>
        </response_lid>
      </flow>
  </presentation>
  </item>
</questestinterop>

Note: The icon used to denote the sound file is dependent on the rendering system.

This XML code is available in the file: 'ims_qtiasiv1p2/basic/mchc_i_003/mchc_i_003.xml'. The equivalent example with the response processing incorporated is available in the file: 'ims_qtiasiv1p2/basic/mchc_ir_003/mchc_ir_003.xml'.

4.1.5 Standard Multiple Response (Text)

Figure 4.5 shows a typical multiple response question. The corresponding XML is listed after the figure. The user is expected to click on each of the correct solutions using the appropriate check buttons.

Standard multiple response item

 

Figure 4.5 Standard multiple response item.

The equivalent XML (without response processing) that conforms to the V1.2 specification is:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<questestinterop>
  <qticomment>
    This is a multiple-response example.
    The rendering is a standard check button style.
    No response processing is incorporated.
  </qticomment>
  <item title="Standard Multiple Response Item" ident="IMS_V01_I_BasicExample005">
  <presentation label="RS05">
      <flow>
        <material>
        <mattext>Which of the following elements are used to form water ?
          </mattext>
        </material>
        <response_lid ident="MR01" rcardinality="Multiple" rtiming="No">
        <render_choice shuffle="Yes" minnumber="1" maxnumber="4">
          <response_label ident="A">
              <flow_mat> 
                <material>
                  <mattext>Hydrogen</mattext>
                </material>
              </flow_mat>
          </response_label>
          <response_label ident="B">
              <flow_mat> 
                <material>
                  <mattext>Helium</mattext>
                </material>
              </flow_mat>
          </response_label>
          <response_label ident="C">
              <flow_mat> 
                <material>
                  <mattext>Carbon</mattext>
                </material>
              </flow_mat>
          </response_label>
          <response_label ident="D">
              <flow_mat> 
                <material>
                  <mattext>Oxygen</mattext>
                </material>
              </flow_mat>
          </response_label>
          <response_label ident="E">
              <flow_mat> 
                <material>
                  <mattext>Nitrogen</mattext>
                </material>
              </flow_mat>
          </response_label>
          <response_label ident="F"> 
              <flow_mat>
                <material>
                  <mattext>Chlorine</mattext>
                </material>
              </flow_mat>
          </response_label>
          </render_choice>
        </response_lid>
      </flow>
61
62
63
  </presentation>
  </item>
</questestinterop>

This XML code is available in the file: 'ims_qtiasiv1p2/basic/mrsp_i_001/mrsp_i_001.xml'. The equivalent example with the response processing incorporated is available in the file: 'ims_qtiasiv1p2/basic/mrsp_ir_001/mrsp_ir_001.xml'.

4.1.6 Multiple Choice with Image Hot Spot Rendering

Figure 4.6 shows a typical multiple response question using hotspot rendering. The corresponding XML is listed after the figure. The user is expected to click on the appropriate radio button.

Multiple choice with hot spot rendering item

 

Figure 4.6 Multiple choice with hot spot rendering item.

The equivalent XML (without response processing) that conforms to the V1.2 specification is:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<questestinterop>
  <qticomment>
    This is a multiple-choice with image hot spot. The rendering uses image-based 
    hotspots. No response processing is incorporated.
  </qticomment>
  <item title="Multiple Choice with Image Hotspot Rendering Item" 
    ident="IMS_V01_I_BasicExample006">
  <presentation label="BasicExample006">
      <flow>
        <flow>
          <material> 
          <matimage imagtype="image/gif" uri="mchotspot1.gif" x0="0" 
              width="300" y0="512" height="400">
            </matimage>
          </material>
        </flow>
        <flow>
          <material>
            <mattext>What <mattext>
            <matemtext>city </matemtext>
            <mattext>is the capital of <mattext>
            <matemtext>France ?</matemtext>
          </material>
        </flow>
        <response_lid ident="MC04" rcardinality="Single" rtiming="No">
        <render_hotspot>
          <response_label ident="A" rarea="Ellipse">100,100,2,2
            </response_label>
          <response_label ident="B" rarea="Ellipse"> 150,150,2,2
            </response_label>
          <response_label ident="C" rarea="Ellipse">180,200,2,2
            </response_label>
          <response_label ident="D" rarea="Ellipse">280,230,2,2
            </response_label>
          <response_label ident="E" rarea="Ellipse">30,80,2,2
            </response_label>
          </render_hotspot>
        </response_lid>
      <flow>
  </presentation>
  </item>
</questestinterop>

This XML code is available in the file: 'ims_qtiasiv1p2/basic/mchc_i_004/mchc_i_004.xml'. The equivalent example with the response processing incorporated is available in the file: 'ims_qtiasiv1p2/basic/mchc_ir_004/mchc_ir_004.xml'.

4.1.7 Multiple Response with Multiple Image Hot Spot Rendering

Figure 4.7 shows a typical multiple response question using multiple image hotspot rendering. The corresponding XML is listed after the figure. The user is expected to use the mouse to click on the four wheels.

Multiple response with multiple image hot spot rendering item

 

Figure 4.7 Multiple response with multiple image hot spot rendering item.

The V1.2 XML instance, including response processing, is:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<questestinterop>
  <qticomment>
    This is a multiple-response with image hot spot rendering.
    The rendering is hotspot.
  </qticomment>
  <item title="Multiple Response with Image Hotspot Rendering Item" 
    ident="IMS_V01_I_mrsp_ir_002">
  <presentation label="BasicExample007b">
      <flow>
        <flow>
           <material> 
          <matimage imagtype="image/gif" uri="tractor.gif" 
              x0="100" width="100" y0="100" height="100"/>
          <matimage imagtype="image/gif" uri="bus.gif" 
              x0="300" width="100" y0="0" height="100"/>
          </material>
        </flow>
        <flow>
          <material>
          <mattext>Identify all of the wheels on the vehicles displayed.
            </mattext>
          </material>
          <response_lid ident="MR02" rcardinality="Multiple" rtiming="No">
          <render_hotspot minnumber="2" maxnumber="4">
            <response_label ident="A" rarea="Ellipse">110,10,20,20
              </response_label>
            <response_label ident="B" rarea="Ellipse">190,110,5,5
              </response_label>
            <response_label ident="C" rarea="Ellipse">220,110,5,5
              </response_label>
            <response_label ident="D" rarea="Ellipse">380,110,5,5
              </response_label>
            </render_hotspot>
          </response_lid>
        </flow>
      </flow>
    </presentation>
    <resprocessing>
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
      <outcomes>
        <decvar defaultval="0"/>
      </outcomes>
      <respcondition>
        <qticomment>Scoring for the correct answer.</qticomment>
        <conditionvar>
          <varequal respident="MR02">A</varequal>
          <varequal respident="MR02">B</varequal>
          <varequal respident="MR02">C</varequal>
          <varequal respident="MR02">D</varequal>
        </conditionvar>
        <setvar action="Add">1</setvar>
        <displayfeedback feedbacktype="Response" linkrefid="Correct"/>
      </respcondition>
      <respcondition>
        <qticomment>Response trigger for incorrect answer.</qticomment>
        <conditionvar>
          <not>
            <and>
              <varequal respident="MR02">A</varequal>
              <varequal respident="MR02">B</varequal>
              <varequal respident="MR02">C</varequal>
              <varequal respident="MR02">D</varequal>
            </and>
          </not>
        </conditionvar>
        <setvar action="Add">0</setvar>
        <displayfeedback feedbacktype="Solution" linkrefid="CorrectSoln"/>
      </respcondition>
    </resprocessing>
    <itemfeedback ident="Correct" view="Candidate">
      <flow_mat>
        <material><mattext>Yes, there are four wheels.</mattext></material>
      </flow_mat>
    </itemfeedback>
    <itemfeedback ident="CorrectSoln" view="Candidate">
      <solution feedbackstyle="Complete">
        <solutionmaterial>
          <flow_mat>
            <material>
              <mattext>The are two wheels on each vehicle.</mattext>
              <matimage imagtype="image/gif" uri="tractor1.gif" 
                x0="100" width="100" y0="100" height="100">
              </matimage>
            <matimage imagtype="image/gif" uri="bus1.gif" 
                x0="300" width="100" y0="0" height="100">
              </matimage>
            </material>
          </flow_mat>
        </solutionmaterial>
      </solution>
    </itemfeedback>
  </item>
</questestinterop>

This XML code is available in the file: 'ims_qtiasiv1p2/basic/mrsp_ir_002/mrsp_ir_001.xml'.

4.1.8 Multiple Choice with Slider Rendering

Figure 4.8 shows a typical multiple-choice question using hotspot rendering. The corresponding XML is listed after the figure. The user is expected to move the slider to point towards the correct integer value.

Multiple choice with slider rendering item

 

Figure 4.8 Multiple choice with slider rendering item.

Equivalent XML (without response processing):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<questestinterop>
  <qticomment>
    This is a multiple-choice with slider rendering.
    No response processing is incorporated.
  </qticomment>
  <item title="Multiple-choice and Slider rendering Item" 
    ident="IMS_V01_I_BasicExample008">
  <presentation label=" BasicExample008">
      <flow>
        <flow>
          <material>
          <mattext>What is the value of 2 * 3 ?</mattext>
          </material>
        </flow>
        <flow>
          <response_lid ident="MC05" rcardinality="Single" rtiming="No">
          <render_slider lowerbound="2" upperbound="10" step="2" 
                startval="4" steplabel="Yes">
            <response_label ident="a" rrange="absolute"> 2  
              </response_label>
            <response_label ident="b" rrange="Absolute"> 4  
              </response_label>
            <response_label ident="c" rrange="Absolute"> 6  
              </response_label>
            <response_label ident="d" rrange="Absolute"> 8  
              </response_label>
            <response_label ident="e" rrange="Absolute"> 10  
              </response_label>
            </render_slider>
          </response_lid>
        </flow>
      </flow>
    </presentation>
  </item>
</questestinterop>

Equivalent XML (with response processing):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<questestinterop>
  <qticomment>
    This is a multiple-choice with slider rendering.
    Response processing is included.
  </qticomment>
  <item title="Multiple Choice with Slider rendering Item" 
      ident="IMS_V01_I_BasicExample008b">
    <presentation label=" BasicExample008">
      <flow>
        <flow>
          <material>
          <mattext>What is the value of 2 * 3 ?</mattext>
          </material>
        </flow>
        <flow>
          <response_lid ident="MC05" rcardinality="Single" rtiming="No">
          <render_slider lowerbound="2" upperbound="10" step="2" 
                startval="4" steplabel="Yes">
            <response_label ident="a" rrange="absolute"> 2  
              </response_label>
            <response_label ident="b" rrange="Absolute"> 4  
              </response_label>
            <response_label ident="c" rrange="Absolute"> 6  
              </response_label>
            <response_label ident="d" rrange="Absolute"> 8  
              </response_label>
            <response_label ident="e" rrange="Absolute"> 10  
              </response_label>
            </render_slider>
          </response_lid>
        </flow>
      </flow>
    </presentation>
    <resprocessing>
      <outcomes>
        <decvar varname="SLIDECHOICE" vartype="Integer" defaultval="0"/>
      </outcomes>
      <respcondition>
        <qticomment>Scoring for the correct answer.</qticomment>
        <conditionvar>
          <varequal respident="MC05">c</varequal>
        </conditionvar>
        <setvar action="Add" varname="SLIDECHOICE">5</setvar>
        <displayfeedback feedbacktype="Response" linkrefid="Correct"/>
      </respcondition>
      <respcondition>
        <qticomment>Detecting the wrong answer.</qticomment>
        <conditionvar>
          <or>
            <varequal respident="MC05">a</varequal>
            <varequal respident="MC05">b</varequal>
            <varequal respident="MC05">d</varequal>
            <varequal respident="MC05">e</varequal>
          </or>
        </conditionvar>
        <displayfeedback feedbacktype="Response" linkrefid="Incorrect"/>
      </respcondition>
    </resprocessing>
    <itemfeedback ident="Correct" view="Candidate">
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
      <flow_mat>
        <material><mattext>Correct.</mattext></material>
      </flow_mat>
    </itemfeedback>
    <itemfeedback ident="Incorrect" view="Candidate">
      <flow_mat>
        <material><mattext>The correct answer is 6.</mattext></material>
      </flow_mat>
    </itemfeedback>
    <itemfeedback ident="Incorrect" view="Tutor">
      <flow_mat>
        <material>
          <mattext>The student chose the wrong answer.</mattext>
        </material>
      </flow_mat>
    </itemfeedback>
  </item>
</questestinterop>

This XML code is available in the file: 'ims_qtiasiv1p2/basic/mchc_i_005/mchc_i_005.xml'. The equivalent example with the response processing incorporated is available in the file: 'ims_qtiasiv1p2/basic/mchc_ir_005/mchc_ir_005.xml'.

4.1.9 Standard Order Objects (Text)

Figure 4.9 shows a typical order-text-based objects question. The corresponding XML is listed after the figure. The user is expected to click on each text object and to place them in the correct order.

Standard order objects (text) item

 

Figure 4.9 Standard order objects (text) item.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<questestinterop>
  <qticomment>
    This is a standard ordering of a list of words.
    No response processing is incorporated.
  </qticomment>
  <item title="Standard Object Ordering of text Item" ident="IMS_V01_I_BasicExample009">
  <presentation label="BasicExample009">
      <flow>
        <material>
        <mattext>What is the correct order for the days of the week ?
          </mattext>
        </material>
        <response_lid ident="OB01" rcardinality="Ordered" rtiming="No">
          <render_extension>
            <ims_render_object shuffle="Yes" orientation="Row">
              <flow_label>
              <response_label ident="A"> 
                  <material><mattext>Monday</mattext></material>
              </response_label>
              <response_label ident="B"> 
                  <material><mattext>Thursday</mattext></material>
              </response_label>
              <response_label ident="C"> 
                  <material><mattext>Friday</mattext></material>
              </response_label>
              <response_label ident="D"> 
                  <material><mattext>Tuesday</mattext></material>
              </response_label>
              <response_label ident="E"> 
                  <material><mattext>Wednesday</mattext></material>
              </response_label>
              </flow_label>
            </ims_render_object>
          </render_extension>
        </response_lid>
      </flow>
    </presentation>
  </item>
</questestinterop>

Note: This example makes use of an extension i.e. ims_render_object. In a later version of the specification this extension may be adopted as part of the core specification.

This XML code is available in the file: 'ims_qtiasiv1p2/basic/oobj_i_001/oobj_i_001.xml'. The equivalent example with the response processing incorporated is available in the file: 'ims_qtiasiv1p2/basic/oobj_ir_001/oobj_ir_001.xml'.

4.1.10 Standard Order Objects (Image)

Figure 4.10 shows a typical order image-based objects. The corresponding XML is listed after the figure. The user is expected to move each of the objects by using the mouse and moving them around the screen.

Standard order objects (image) item

 

Figure 4.10 Standard order objects (image) item.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<questestinterop>
  <qticomment>
    This is a standard ordering of a group of images.
  </qticomment>
  <item title="Standard Object Ordering of images Item" 
      ident="IMS_V01_I_BasicExample010">
  <presentation label="BasicExample010">
      <flow>
        <response_lid ident="OB02" rcardinality="Ordered" rtiming="No">
        <material>
            <mattext>Put these objects in ascending order of size, 
              starting with the smallest on the left hand side.
            </mattext>
        </material>
          <render_extension>
            <ims_render_object shuffle="Yes" orientation="Row">
              <flow_label>
              <response_label ident="A">
                  <material>
                  <matimage imagtype="image/gif" uri="object1.gif">
                    </matimage>
                  </material>
              </response_label>
              <response_label ident="B">
                  <material> 
                  <matimage imagtype="image/gif" uri="object2.gif">
                    </matimage>
                  </material>
              </response_label>
              <response_label ident="C">
                  <material> 
                  <matimage imagtype="image/gif" uri="object3.gif">
                    </matimage>
                  </material>
              </response_label>
              <response_label ident="D">
                  <material> 
                  <matimage imagtype="image/gif" uri="object4.gif">
                    </matimage>
                  </material>
              </response_label>
              <response_label ident="E">
43
44
45
46
47
48
49
50
51
52
53
54
55
                  <material>
                  <matimage imagtype="image/gif" uri="object5.gif">
                    </matimage>
                  </material>
              </response_label>
              </ims_render_object>
            </render_extension>
          </flow_label>
        </response_lid>
      </flow>
    </presentation>
  </item>
</questestinterop>

Note: This example makes use of an extension i.e. ims_render_object. In a later version of the specification this extension may be adopted as part of the core specification.

This XML code is available in the file: 'ims_qtiasiv1p2/basic/oobj_i_002/oobj_i_002.xml'. The equivalent example with the response processing incorporated is available in the file: 'ims_qtiasiv1p2/basic/oobj_ir_002/oobj_ir_002.xml'.

4.1.11 Connect-the-Points

Figure 4.11 shows a typical connect-the -points question. The corresponding XML is listed after the figure. The user is expected to click on the appropriate area in the image and to draw the corresponding figure.

Connect-the-points

 

Figure 4.11 Connect-the-points.

The equivalent XML (without response processing):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<questestinterop>
  <qticomment>
    This is a standard connect-the-points example. The logical identifier response-type 
    is used. No response processing is incorporated.
  </qticomment>
  <item title="standard connect-the-points item" ident="IMS_V01_I_BasicExample018">
    <presentation label="BasicExample018">
      <flow>
        <response_lid ident="CTP01" rcardinality="Multiple" rtiming="No">
          <material>
            <mattext x0="50" width="200" y0="50" height="100">Connect the 
            appropriate number of points to create a single right-angled 
            triangle.
            </mattext>
          </material>
          <render_hotspot showdraw="Yes"> 
            <material>
              <matimage imagtype="image/gif" uri="ctpoint.gif" x0  ="0" 
                width ="400" y0="0" height="200">
              </matimage>
            <material>
            <response_label ident="A" rarea      ="Ellipse"> 300,20,1,1
            </response_label>
            <response_label ident="B" rarea      ="Ellipse"> 320,40,1,1
            </response_label>
            <response_label ident="C" rarea      ="Ellipse"> 380,100,1,1
            </response_label>
            <response_label ident="D" rarea      ="Ellipse"> 300,180,1,1
            </response_label>
            <response_label ident="E" rarea      ="Ellipse"> 240,120,1,1
            </response_label>
            <response_label ident="F" rarea      ="Ellipse"> 280,40,1,1
            </response_label>
          </render_hotspot>
        </response_lid>
      </flow>
    </presentation>
  </item>
<questestinterop>


The equivalent XML (with response processing):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<questestinterop>
  <qticomment>
    This is a standard connect-the-points example.
    The logical identifier response-type is used.
    No response processing is incorporated.
  </qticomment>
  <item title="standard connect-the-points item" ident="IMS_V01_I_BasicExample018">
    <presentation label="BasicExample018">
      <flow>
        <response_lid ident="CTP01" rcardinality="Multiple" rtiming="No">
          <material>
            <mattext x0="50" width        ="200" y0="50" height  ="100">Connect the 
            appropriate number of points to create a single right-angled 
            triangle.
            </mattext>
          </material>
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
          <render_hotspot showdraw="Yes"> 
            <material>
              <matimage imagtype="image/gif" uri        ="ctpoint.gif" x0  ="0" 
                width="400" y0="0" height            ="200">
              </matimage>
            <material>
            <response_label ident="A" rarea="Ellipse">300,20,1,1
            </response_label>
            <response_label ident="B" rarea="Ellipse">320,40,1,1
            </response_label>
            <response_label ident="C" rarea="Ellipse"380,100,1,1
            </response_label>
            <response_label ident="D" rarea="Ellipse">300,180,1,1
            </response_label>
            <response_label ident="E" rarea="Ellipse">240,120,1,1
            </response_label>
            <response_label ident="F" rarea="Ellipse">280,40,1,1
            </response_label>
          </render_hotspot>
        </response_lid>
      </flow>
    </presentation>
    <resprocessing>
      <outcomes>
        <decvar varname="CTPCHOICE" vartype="Integer" defaultval="0"/>
      </outcomes>
      <respcondition>
        <qticomment>Scoring for the correct answer.</qticomment>
        <conditionvar>
          <and>
            <varequal respident="CTP01">A</varequal>
            <varequal respident="CTP01">D</varequal>
            <or>
              <varequal respident="CTP01">B</varequal>
              <varequal respident="CTP01">C</varequal>
              <varequal respident="CTP01">E</varequal>
              <varequal respident="CTP01">F</varequal>
            </or>
          </and>
        </conditionvar>
        <setvar action="Add" varname="CTPCHOICE">3</setvar>
        <displayfeedback feedbacktype="Response" linkrefid="Correct"/>
      </respcondition>
    </resprocessing>
    <itemfeedback ident="Correct" view="Candidate">
      <material><mattext>Correct.</mattext></material>
    </itemfeedback>
  </item>
<questestinterop>


This XML code is available in the file: 'ims_qtiasiv1p2/basic/ctpt_i_001/ctpt_i_001.xml'. The equivalent example with the response processing incorporated is available in the file: 'ims_qtiasiv1p2/basic/ctpt_ir_001/ctpt_ir_001.xml'.

4.2 XY Co-ordinate

4.2.1 Standard Image Hot Spot

Figure 4.12 shows a typical image hot spot question. The corresponding XML is listed after the figure. The user is expected to click on the appropriate area in the image.

Standard image hot spot item

 

Figure 4.12 Standard image hot spot item.

The equivalent XML (without response processing):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<questestinterop>
  <qticomment>
    This is a standard image hotspot example.
    No response processing is incorporated.
  </qticomment>
  <item title="standard image hotspot item" ident="IMS_V01_I_BasicExample011">
    <presentation label="BasicExample011">
      <flow>
        <material>
          <mattext>Identify the vdu.</mattext>
        </material>
        <flow>
          <response_xy ident="IHS01" rcardinality="Single" rtiming="No">
            <render_hotspot> 
              <material>
                <matimage imagtype="image/gif" uri="ihsvdu.gif" x0="0" 
                   width="300" y0="0" height="400">
                </matimage>
              <material>
              <response_label ident="A" rarea="Rectangle">50,200,250,350
              </response_label>
            </render_hotspot>
          </response_xy>
        </flow>
      </flow>
    </presentation>
  </item>
<questestinterop>


The equivalent XML (with response processing):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<questestinterop>
  <qticomment>
    This is a standard image hotspot example.
  </qticomment>
  <item title="standard image hotspot item" ident="IMS_V01_I_BasicExample011b">
    <presentation label="BasicExample011">
      <flow>
        <material>
          <mattext>Identify the vdu.</mattext>
        </material>
        <flow>
          <response_xy ident="IHS01" rcardinality="Single" rtiming="No">
            <render_hotspot>
              <material>
                <matimage imagtype="image/gif" uri="ihsvdu.gif" x0="0" 
                  width="300" y0="0" height          ="400">
                </matimage>
              <material>
              <response_label ident="A" rarea    ="Rectangle">50,200,250,350
              </response_label>
            </render_hotspot>
          </response_xy>
        </flow>
      </flow>
    </presentation>
      <resprocessing>
      <outcomes>
        <decvar varname="IHSSCORE" vartype="Integer" defaultval="1"/>
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
      </outcomes>
      <respcondition>
        <qticomment>Scoring for the correct answer.</qticomment>
        <conditionvar>
          <varinside respident="IHS01" areatype="Rectangle">50,200,250,350 
          </varinside>
        </conditionvar>
        <setvar action="Add" varname="IHSSCORE">1</setvar>
        <displayfeedback feedbacktype="Response" linkrefid="Correct"/>
      </respcondition>
      <respcondition>
        <qticomment>Scoring for the incorrect answer.</qticomment>
        <conditionvar>
          <not>
            <varinside respident="IHS01" areatype="Rectangle">50,200,250,350 
            </varinside>
          </not>
        </conditionvar>
        <setvar action="Subtract" varname="IHSSCORE">1</setvar>
        <displayfeedback feedbacktype="Response" linkrefid="Incorrect"/>
      </respcondition>
    </resprocessing>
    <itemfeedback ident="Correct" view="Candidate">
      <flow_mat>
        <material><mattext>Correct.</mattext></material>
      </flow_mat>
    </itemfeedback>
    <itemfeedback ident="Incorrect" view="Candidate">
      <flow_mat>
        <material><mattext>No, that is not the VDU.</mattext></material>
      </flow_mat>
    </itemfeedback>
  </item>
</questestinterop>


This XML code is available in the file: 'ims_qtiasiv1p2/basic/ihsp_i_001/ihsp_i_001.xml'. The equivalent example with the response processing incorporated is available in the file: 'ims_qtiasiv1p2/basic/ihsp_ir_001/ihsp_ir_001.xml'.

4.2.2 Connect-the-Points

Figure 4.13 shows a typical connect-the -points question. The corresponding XML is listed after the figure. The user is expected to click on the appropriate area in the image and to draw the corresponding figure.

Connect-the-points

 

Figure 4.13 Connect-the-points.

The equivalent XML (without response processing):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<questestinterop>
  <qticomment>
    This is a standard connect-the-points example.
    The XY response-type is used.
  </qticomment>
  <item title="standard connect-the-points item" ident="IMS_V01_I_BasicExample019">
    <presentation label="BasicExample019">
      <flow>
        <response_xy ident="CTP02" rcardinality="Multiple" rtiming="No">
          <material>
            <mattext x0="50" width="200" y0="50" height="100">Connect the 
              appropriate number of points to create a single right-angled 
              triangle.
            </mattext>
          </material>
          <render_hotspot showdraw="Yes"> 
            <material>
              <matimage imagtype="image/gif" uri="ctpoint.gif" x0="0" 
                 width="400" y0="0" height="200">
              </matimage>
            <material>
            <response_label ident="A" rarea="Ellipse">300,20,1,1
            </response_label>
            <response_label ident="B" rarea="Ellipse">320,40,1,1
            </response_label>
            <response_label ident="C" rarea="Ellipse">380,100,1,1
            </response_label>
            <response_label ident="D" rarea="Ellipse">300,180,1,1
            </response_label>
            <response_label ident="E" rarea="Ellipse">240,120,1,1
            </response_label>
            <response_label ident="F" rarea="Ellipse">280,40,1,1
            </response_label>
          </render_hotspot>
        </response_xy>
      </flow>
    </presentation>
  </item>
<questestinterop>


The equivalent XML (with response processing):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<questestinterop>
  <qticomment>
    This is a standard connect-the-points example.
    The XY response-type is used.
  </qticomment>
  <item title="standard connect-the-points item" ident="IMS_V01_I_BasicExample019">
    <presentation label="BasicExample019">
      <flow>
        <response_xy ident="CTP02" rcardinality="Multiple" rtiming="No">
          <material>
            <mattext>Connect the appropriate number of points to create a single 
              right-angled triangle.
            </mattext>
          </material>
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
          <render_hotspot showdraw="Yes"> 
            <material>
              <matimage imagtype="image/gif" uri="ctpoint.gif" x0="0" 
                   width="400" y0="0" height="200">
              </matimage>
            <material>
            <response_label ident="A" rarea="Ellipse">300,20,1,1
            </response_label>
            <response_label ident="B" rarea="Ellipse">320,40,1,1
            </response_label>
            <response_label ident="C" rarea="Ellipse">380,100,1,1
            </response_label>
            <response_label ident="D" rarea="Ellipse">300,180,1,1
            </response_label>
            <response_label ident="E" rarea="Ellipse">240,120,1,1
            </response_label>
            <response_label ident="F" rarea="Ellipse">280,40,1,1
            </response_label>
          </render_hotspot>
        </response_xy>
      </flow>
    </presentation>
    <resprocessing>
      <outcomes>
        <decvar varname="CTPCHOICE" vartype="Integer" defaultval="0"/>
      </outcomes>
      <respcondition>
        <qticomment>Scoring for the correct answer.</qticomment>
        <conditionvar>
          <and>
            <varinside respident="CTP02" areatype="Ellipse">300,20,1,1
            </varinside>
            <varinside respident="CTP02" areatype="Ellipse">300,180,1,1
            </varinside>
            <or>
              <varinside respident="CTP02" areatype="Ellipse">320,40,1,1
              </varinside>
              <varinside respident="CTP02" areatype="Ellipse">380,100,1,1
              </varinside>
              <varinside respident="CTP02" areatype="Ellipse">240,120,1,1
              </varinside>
              <varinside respident="CTP02" areatype="Ellipse">280,40,1,1
              </varinside>
            </or>
          </and>
        </conditionvar>
        <setvar action="Add" varname="CTPCHOICE">3</setvar>
        <displayfeedback feedbacktype="Response" linkrefid="Correct"/>
      </respcondition>
    </resprocessing>
    <itemfeedback ident="Correct" view="Candidate">
      <flow_mat>
        <material>
          <mattext>Correct.</mattext>
        </material>
      </flow_mat>
    </itemfeedback>
  </item>
<questestinterop>

This XML code is available in the file: 'ims_qtiasiv1p2/basic/ctpt_i_002/ctpt_i_002.xml'. The equivalent example with the response processing incorporated is available in the file: 'ims_qtiasiv1p2/basic/ctpt_ir_002/ctpt_ir_002.xml'.

4.3 String

4.3.1 Standard Fill-in-Blank (Text)

Figure 4.14 shows a typical FIB text. The corresponding XML is listed after the figure. The user is required to type the answer into the allocated space.

Standard fill-in-blank (text) item

 

Figure 4.14 Standard fill-in-blank (text) item.

The recommended V1.2 compliant XML (with response processing) is:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<questestinterop>
  <qticomment>
    This is a standard fill-in-blank (text) example.
  </qticomment>
  <item title="Standard FIB string Item" ident="IMS_V01_I_fibs_ir_001">
    <presentation label="BasicExample012b">
      <flow>
        <material>
          <mattext>Complete the sequence: </mattext>
        </material>
        <flow>
          <material> 
            <mattext>Winter, Spring, Summer, </mattext>
          </material>
          <response_str ident="FIB01" rcardinality="Single" rtiming="No">
            <render_fib fibtype="String" prompt="Dashline" maxchars="6">
              <response_label ident="A"/>
              <material>
                <mattext>.</mattext>
              </material>
            </render_fib>
          </response_str>
        </flow>
      </flow>
    </presentation>
    <resprocessing>
      <outcomes>
        <decvar varname="FIBSCORE" vartype="Integer" defaultval="0"/>
      </outcomes>
      <respcondition>
        <qticomment>Scoring for the correct answer.</qticomment>
        <conditionvar>
          <varequal respident="FIB01" case="Yes">Autumn</varequal>
        </conditionvar>
        <setvar action="Add" varname="FIBSCORE">1</setvar>
        <displayfeedback feedbacktype="Response" linkrefid="Correct"/>
      </respcondition>
    </resprocessing>
    <itemfeedback ident="Correct" view="Candidate">
      <flow_mat>
        <material><mattext>Yes, the season of Autumn.</mattext></material>
      </flow_mat>
    </itemfeedback>
  </item>
</questestinterop>


This XML code is available in the file: 'ims_qtiasiv1p2/basic/fibs_ir_001/fibs_ir_001a.xml'.

4.3.2 Standard Multiple Fill-in-Blank (Text)

Figure 4.15 shows a typical FIB text with multiple entries. The corresponding XML is listed after the figure. The user is expected to type the answers in the allocated spaces.

Multiple fill-in-blank (text) item

 

Figure 4.15 Multiple fill-in-blank (text) item.

The recommended V1.2 compliant XML with response processing is:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<questestinterop>
  <qticomment>
    This is a standard multiple fill-in-blank (text) example.
  </qticomment>
  <item title="Standard FIB string Item" ident="IMS_V01_I_fibs_ir_002">
    <presentation label="BasicExample013b">
      <flow>
        <material>
          <mattext>Fill-in-the blanks in this text from Richard III: </mattext>
        </material>
        <flow>
          <material>
            <mattext>Now is the </mattext>
          </material>
          <response_str ident="FIB01" rcardinality="Single" rtiming="No">
            <render_fib fibtype="String" prompt="Dashline" maxchars="6">
              <response_label ident="A"/>
            </render_fib>
          </response_str>
          <material>
            <mattext> of our discontent made glorious </mattext>
          </material>
          <response_str ident="FIB02" rcardinality="Single" rtiming="No">
            <render_fib fibtype="String" prompt="Dashline" maxchars="6">
              <response_label ident="A"/>
            </render_fib>
          </response_str>
          <material>
            <mattext> by these sons of </mattext>
          </material>
          <response_str ident="FIB03" rcardinality="Single" rtiming="No">
            <render_fib fibtype="String" prompt="Dashline" maxchars="4">
              <response_label ident="A"/>
            </render_fib>
          </response_str>
        </flow>
      </flow>
    </presentation>
    <resprocessing>
      <outcomes>
        <decvar varname="FIBSCORE1" vartype="Integer" defaultval="0"/>
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
      </outcomes>
      <respcondition>
        <qticomment>Scoring for the correct answer.</qticomment>
        <conditionvar>
          <varequal respident="FIB01" case="Yes">Winter</varequal>
          <varequal respident="FIB02" case="Yes">Summer</varequal>
          <varequal respident="FIB03" case="Yes">York</varequal>
        </conditionvar>
        <setvar action="Add" varname="FIBSCORE1">3</setvar>
        <displayfeedback feedbacktype="Response" linkrefid="AllCorrect"/>
      </respcondition>
    </resprocessing>
    <resprocessing>
      <outcomes>
        <decvar varname="DUMMY"/>
      </outcomes>
      <respcondition>
        <qticomment>Detecting incorrect asnwers for feedback.</qticomment>
        <conditionvar>
          <not><varequal respident="FIB01" case="Yes">Winter</varequal></not>
        </conditionvar>
        <displayfeedback feedbacktype="Response" linkrefid="InCorrect1"/>
      </respcondition>
    </resprocessing>
    <resprocessing>
      <outcomes>
        <decvar/>
      </outcomes>
      <respcondition>
        <qticomment>Detecting incorrect asnwers for feedback.</qticomment>
        <conditionvar>
          <not><varequal respident="FIB02" case="Yes">Summer</varequal></not>
        </conditionvar>
        <displayfeedback feedbacktype="Response" linkrefid="InCorrect2"/>
      </respcondition>
    </resprocessing>
    <resprocessing>
      <outcomes>
        <decvar/>
      </outcomes>
      <respcondition>
        <qticomment>Detecting incorrect asnwers for feedback.</qticomment>
        <conditionvar>
          <not><varequal respident="FIB03" case="Yes">York</varequal></not>
        </conditionvar>
        <displayfeedback feedbacktype="Response" linkrefid="InCorrect3"/>
      </respcondition>
    </resprocessing>
    <itemfeedback ident="AllCorrect" view="Candidate">
      <flow_mat>
        <material><mattext>All correct.  Well done.</mattext></material>
      </flow_mat>
    </itemfeedback>
    <itemfeedback ident="InCorrect1" view="Candidate">
      <flow_mat>
        <material>
          <mattext>No. The correct first answer is "Winter".</mattext>
        </material>
      </flow_mat>
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
    </itemfeedback>
    <itemfeedback ident="InCorrect2" view="Candidate">
      <flow_mat>
        <material>
          <mattext>No. The correct second answer is "Summer".</mattext>
        </material>
      </flow_mat>
    </itemfeedback>
    <itemfeedback ident="InCorrect3" view="Candidate">
      <flow_mat>
        <material>
          <mattext>No. The correct third answer is "York".</mattext>
        </material>
      </flow_mat>
    </itemfeedback>
  </item>
</questestinterop>


This XML code is available in the file: 'ims_qtiasiv1p2/basic/fibs_ir_002/fibs_ir_002.xml'.

4.3.3 Standard Short Answer

Figure 4.16 shows a typical short answer question. The corresponding XML is listed after the figure. The user is expected to type text into the space supplied.

Standard short answer item

 

Figure 4.16 Standard short answer item.

The V1.0 and V1.1 compliant XML (without response processing) is:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<questestinterop>
  <qticomment>
    This is a standard fill-in-blank short answer example.
    No response processing is incorporated.
  </qticomment>
  <item title="Standard FIB short answer Item" ident="IMS_V01_I_BasicExample014">
    <presentation label="BasicExample014">
      <flow>
        <material>
          <mattext>In less than 100 words describe how you start a car.</mattext>
        </material>
        <response_str ident="FIB91" rcardinality="Ordered" rtiming="No">
          <render_fib fibtype="String" prompt="Box" rows="20" columns="80">
            <response_label ident="A"/>
          </render_fib>
        </response_str>
      </flow>
    </presentation>
  </item>
<questestinterop>


This XML code is available in the file: 'ims_qtiasiv1p2/basic/fibs_i_003/fibs_i_003.xml'. The equivalent example with the response processing incorporated is available in the file: 'ims_qtiasiv1p2/basic/fibs_ir_003/fibs_ir_003.xml'.

4.4 Numerical

4.4.1 Standard Fill-in-Blank (Decimal)

Figure 4.17 shows a typical FIB number. The corresponding XML is listed after the figure. The user is expected to type the appropriate number into the supplied box.

Standard numerical fill-in-blank item

 

Figure 4.17 Standard numerical fill-in-blank item.

The equivalent XML (without response processing) is:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<questestinterop>
  <qticomment>
    This is a standard numerical fill-in-blank (decimal) example.
    No response processing is incorporated.
  </qticomment>
  <item title="Standard FIB numerical Item" ident="IMS_V01_I_BasicExample015">
    <presentation label="BasicExample015">
      <flow>
        <material>
          <mattext charset="ascii/us">Give the value of</mattext>
          <mattext charset="greek"> p </mattext>
          <mattext charset="ascii/us"> to three decimal places: </mattext>
        </material>
        <response_num ident="NUM01" rcardinality="Single" rtiming="No">
          <render_fib fibtype="Decimal" prompt="Box" maxchars="6">
            <response_label ident="A"/>
          </render_fib>
        </response_str>
      </flow>
    </presentation>
  </item>
</questestinterop>


The equivalent XML (with response processing) is:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<questestinterop>
  <qticomment>
    This is a standard numerical fill-in-blank (decimal) example.
    No response processing is incorporated.
  </qticomment>
  <item title="Standard FIB numerical Item" 
      ident="IMS_V01_I_BasicExample015b">
    <presentation label="BasicExample015b">
      <flow>
        <material>
          <mattext charset="ascii/us">Give the value of </mattext>
          <mattext charset="greek"> p </mattext>
          <mattext charset="ascii/us"> to three decimal places: </mattext>
        </material>
        <response_num ident="NUM01" rcardinality="Single" rtiming="No" 
            numtype="Decimal">
          <render_fib fibtype="Decimal" prompt="Box" maxchars="6">
            <response_label ident="A"/>
          </render_fib>
        </response_num>
      </flow>
    </presentation>
    <resprocessing>
      <outcomes>
        <decvar varname="REALSCORE" vartype="Integer" defaultval="0"/>
      </outcomes>
      <respcondition>
        <qticomment>Scoring for the correct answer.</qticomment>
        <conditionvar>
          <vargte respident="NUM01">3.141</vargte>
          <varlte respident="NUM01">3.149</varlte>
        </conditionvar>
        <setvar action="Add" varname="REALSCORE">1</setvar>
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
        <displayfeedback feedbacktype="Response" linkrefid="Correct"/>
      </respcondition>
      <respcondition>
        <qticomment>Scoring for the incorrect answer. </qticomment>
        <conditionvar>
          <not>
            <and>
              <vargte respident="NUM01">3.141</vargte>
              <varlte respident="NUM01">3.149</varlte>
            </and>
          </not>    
        </conditionvar>
        <setvar action="Subtract" varname="REALSCORE">1</setvar>
        <displayfeedback feedbacktype="Response" linkrefid="Incorrect"/>
      </respcondition>
    </resprocessing>
    <itemfeedback ident="Correct" view="Candidate">
      <flow_mat>
        <material>
          <mattext>Yes, you are correct.  Well done.</mattext>
        </material>
      </flow_mat>
    </itemfeedback>
    <itemfeedback ident="Incorrect" view="Candidate">
      <flow_mat>
        <material>
          <mattext>No.  The correct answer is 3.142.</mattext>
        </material>
      </flow_mat>
    </itemfeedback>
  </item>
</questestinterop>


This XML code is available in the file: 'ims_qtiasiv1p2/basic/fibn_i_001/fibn_i_001.xml'. The equivalent example with the response processing incorporated is available in the file: 'ims_qtiasiv1p2/basic/fibn_ir_001/fibn_ir_001.xml'.

4.4.2 Standard Fill-in-Blank (Integer)

Figure 4.18 shows a typical numerical entry using FIB rendering. The corresponding XML is listed after the figure. The user must enter an integer.

Standard FIB (integer) item

 

Figure 4.18 Standard FIB (integer) item.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<questestinterop>
  <qticomment>
    This is a standard numerical fill-in-blank (integer) example.
    No response processing is incorporated.
  </qticomment>
  <item title="Standard FIB numerical Item" ident="IMS_V01_I_BasicExample016">
    <presentation label="BasicExample016">
      <flow>
        <material>
          <mattext charset="ascii/us">What is 13 x 13 ?</mattext>
        </material>
        <response_num ident="NUM02" rcardinality="Single" rtiming="No">
          <render_fib fibtype="Integer" prompt="Asterisk" maxchars="3">
            <response_label ident="A"/>
          </render_fib>
        </response_str>
      </flow>
    </presentation>
  </item>
</questestinterop>


This XML code is available in the file: 'ims_qtiasiv1p2/basic/fibi_i_001/fibi_i_001.xml'. The equivalent example with the response processing incorporated is available in the file: 'ims_qtiasiv1p2/basic/fibi_ir_001/fibi_ir_001.xml'.

4.4.3 Numerical Entry with Slider

Figure 4.19 shows a typical numerical FIB with slider rendering. The corresponding XML is listed after the figure. The user must move the slider until it displays the required answer.

Numerical fill-in-blank with slider item

 

Figure 4.19 Numerical fill-in-blank with slider item.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<questestinterop>
  <qticomment>
    This is a standard numerical fill-in-blank using slider rendering.
    No response processing is incorporated.
  </qticomment>
  <item title="Standard FIB numerical Item with Slider rendering" 
    ident="IMS_V01_I_BasicExample017">
    <presentation label="BasicExample017">
      <flow>
        <material>
          <mattext>How many degree are there in a triangle ?</mattext>
        <material>
        <response_num ident="NUM04" rcardinality="Single" rtiming="No">
          <render_slider lowerbound="1" upbound="360" step="1" startval="90" 
              steplabel="no" orientation  ="horizontal">
            <response_label ident="A"/>
          </render_slider>
        </response_str>
      </flow>
    </presentation>
  </item>
</questestinterop>


This XML code is available in the file: 'ims_qtiasiv1p2/basic/fibi_I_002/fibi_I_001.xml'. The equivalent example with the response processing incorporated is available in the file: 'ims_qtiasiv1p2/basic/fibi_ir_002/fibi_ir_001.xml'.

4.5 Logical Group

4.5.1 Drag-and-Drop (Images)

Figure 4.20 shows a typical drag-and-drop question. The corresponding XML is listed after the figure. The user is expected to click on the appropriate answer images and to place them in the appropriate response holders.

Drag-and-drop

 

Figure 4.20 Drag-and-drop.

The equivalent XML (without response processing) is:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<questestinterop>
  <qticomment>
This illustrates an example 'drag - drop' question.  Candidates are required to place a label showing the name of a planet in the appropriate position to identify the planets in our solar system.  Each correctly placed label gives the candidate one mark.  If one or more of the labels is incorrectly placed, feedback is given naming the planets in correct order.
  </qticomment>
  <item title="The Planets" ident="qm_1052138399372757">
    <presentation>
      <flow>
        <flow>
          <material>
            <mattext texttype="text/plain">
              Place the text markers inside the relevant boxes to identify 
              the planets of our solar system.
            </mattext>
          </material>
        </flow>
        <flow>
          <material>
            <mattext>A point will be awarded for every correct answer.
            </mattext>
          </material>
        <flow>
          <material>
            <matimage imagtype="image/jpg" uri="solar_system.jpg" 
                   height="220" width="560"/>
          </material>
        </flow>
        <response_grp ident="planets" rcardinality="Multiple">
          <render_extension>
            <ims_render_object>
              <response_label ident="earth_source" match_max="1" 
                      match_group="mercury_target, venus_target, 
                      earth_target, mars_target, jupiter_target, 
                      saturn_target, uranus_target, neptune_target, 
                      pluto_target">
                <material>
                  <matimage imagtype="image/jpg" uri="earth.jpg" 
                    height="16" width="39" x0="300" y0="0"/>
                </material>
              </response_label>
              <response_label ident="venus_source" match_max="1" 
                      match_group="mercury_target, venus_target, 
                      earth_target, mars_target, jupiter_target, 
                      saturn_target, uranus_target, neptune_target, 
                      pluto_target">
                <material>
                  <matimage imagtype="image/jpg" uri="venus.jpg"
                    height="16" width="50" x0="300" y0="50"/>
                </material>
              </response_label>
              <response_label ident=jupiter_source" match_max="1" 
                      match_group="mercury_target, venus_target, 
                      earth_target, mars_target, jupiter_target, 
                      saturn_target, uranus_target, neptune_target, 
                      pluto_target">
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
                <material>
                  <matimage imagtype="image/jpg" uri="jupiter.jpg" 
                    height="16" width="50" x0="300" y0="100"/>/>
                </material>
              </response_label>
              <response_label ident="mars_source" match_max="1" 
                      match_group="mercury_target, venus_target, 
                      earth_target, mars_target, jupiter_target, 
                      saturn_target, uranus_target, neptune_target, 
                      pluto_target">
                <material>
                  <matimage imagtype="image/jpg" uri="mars.jpg"
                    height="16" width="58" x0="300" y0="150"/>/>
                </material>
              </response_label>
              <response_label ident="neptune_source" match_max="1" 
                      match_group="mercury_target, venus_target, 
                      earth_target, mars_target, jupiter_target, 
                      saturn_target, uranus_target, neptune_target, 
                      pluto_target">
                <material>
                  <matimage imagtype="image/jpg" uri="neptune.jpg" 
                    height="16" width="56" x0="300" y0="200"/>/>
                </material>
              </response_label>
              <response_label ident="pluto_source" match_max="1" 
                      match_group="mercury_target, venus_target, 
                      earth_target, mars_target, jupiter_target, 
                      saturn_target, uranus_target, neptune_target, 
                      pluto_target">
                <material>
                  <matimage imagtype="image/jpg" uri="pluto.jpg"
                    height="16" width="34" x0="300" y0="250"/>/>
                </material>
              </response_label>
              <response_label ident="saturn_source" match_max="1" 
                      match_group="mercury_target, venus_target, 
                      earth_target, mars_target, jupiter_target, 
                      saturn_target, uranus_target, neptune_target, 
                      pluto_target">
                <material>
                  <matimage imagtype="image/jpg" uri="saturn.jpg" 
                    height="16" width="51" x0="300" y0="300"/>/>
                </material>
              </response_label>
              <response_label ident="uranus_source" match_max="1" 
                      match_group="mercury_target, venus_target, 
                      earth_target, mars_target, jupiter_target, 
                      saturn_target, uranus_target, neptune_target, 
                      pluto_target">
                <material>
                  <matimage imagtype="image/jpg" uri="uranus.jpg" 
                    height="16" width="62" x0="300" y0="350"/>/>
                </material>
              </response_label>
              <response_label ident="mercury_source" match_max="1" 
                      match_group="mercury_target, venus_target, 
                      earth_target, mars_target, jupiter_target, 
                      saturn_target, uranus_target, neptune_target, 
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
                      pluto_target">
                <material>
                  <matimage imagtype="image/jpg" uri="mercury.jpg" 
                    height="16" width="59" x0="300" y0="400"/>/>
                </material>
              </response_label>
              <response_label ident="mercury_target" rarea="Rectangle">
                40, 40, 25,80
              </response_label>
              <response_label ident="venus_target" rarea="Rectangle">
                80, 80, 25,80
              </response_label>
              <response_label ident="earth_target" rarea="Rectangle">
                120, 1200, 25,80
              </response_label>
              <response_label ident="mars_target" rarea="Rectangle">
                160, 80, 25,80
              </response_label>
              <response_label ident="jupiter_target" rarea="Rectangle">
                200, 40, 25,80
              </response_label>
              <response_label ident="saturn_target" rarea="Rectangle">
                250, 50, 25,80
              </response_label>
              <response_label ident="uranus_target" rarea="Rectangle">
                325, 60, 25,80
              </response_label>
              <response_label ident="neptune_target" rarea="Rectangle">
                425, 80, 25,80
              </response_label>
              <response_label ident="pluto_target" rarea="Rectangle">
                500, 120, 25,80
              </response_label>
            </ims_render_object>
          </render_extension>
        </response_grp>
      </flow>
    </presentation>
  </item>
<questestinterop>


This XML code is available in the file: 'ims_qtiasiv1p2/basic/dobj_i_001/dobj_i_001.xml'. The equivalent example with the response processing incorporated is available in the file: 'ims_qtiasiv1p2/basic/dobj_ir_001/dobj_ir_001.xml'.

5. Example Composite Item Types

The composite examples supplied are:

  • Multiple Choice with Fill-in-Blank;
  • Matrix-based Multiple Response.

5.1 Multiple Choice Derivatives

5.1.1 Multiple Choice with Fill-in-Blank

Figure 5.1 shows the multiple-choice question with an additional FIB response opportunity. The corresponding XML is listed after the figure.

Composite multiple choice with FIB item

 

Figure 5.1 Composite multiple choice with FIB item.

The equivalent V1.2 XML (with response processing) is:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<questestinterop>
  <qticomment>
    This is a composite item.
    It consist of a standard multiple choice question
    and a fill-in-blank alternative.
    Response processing for the Multiple-choice part is supplied.
    The free format material in the FIB should be returned for non-computer
    based marking.
  </qticomment>
  <item title="Composite Item" ident="IMS_V01_I_mcfb_ir_001">
  <presentation label="CompExample001">
      <flow>
        <material>
        <mattext>Which </mattext> 
          <matemtext>city </matemtext> 
          <mattext>is the capital of </mattext>
          <matemtext>England </matemtext>
          <mattext>and name another city in England ?</mattext>
        </material>
        <response_lid ident="Comp_MC01" rcardinality="Single" rtiming="No">
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
        <render_choice shuffle="Yes">
          <response_label ident="A"> 
              <flow_mat class="List">
                <material><mattext>Sheffield</mattext></material>
              </flow_mat>
          </response_label>
          <response_label ident="B"> 
              <flow_mat class="List">
                <material><mattext>London</mattext></material>
              </flow_mat>
          </response_label>
          <response_label ident="C"> 
              <flow_mat class="List">
                <material><mattext>Manchester</mattext></material>
              </flow_mat>
          </response_label>
          <response_label ident="D"> 
              <flow_mat class="List">
                <material><mattext>Edinburgh</mattext></material>
              </flow_mat>
          </response_label>
          </render_choice>
        </response_lid>
        <response_str ident="Comp_FIB01" rcardinality="Single" rtiming="No">
          <render_fib fibtype="String" prompt="Box">
            <material>
              <mattext>Another city:</mattext>
            </material>
            <response_label ident="A"/>
          </render_fib>
        </response_str>
      </flow>
    </presentation>
    <resprocessing>
      <outcomes>
        <decvar  varname="MCSCORE" vartype="Integer" defaultval="0"/>
      </outcomes>
      <respcondition title="Mcorrect">
        <conditionvar>
          <varequal respident="Comp_MC01">B</varequal>
        </conditionvar>
        <setvar action="Set" varname="MCSCORE">1</setvar>
        <displayfeedback feedbacktype="Response" linkrefid="Mcorrect"/>
      </respcondition>
    </resprocessing>
    <itemfeedback ident="Correct" view="Candidate">
      <flow_mat>
        <material><mattext>Yes, you are right.</mattext></material>
      </flow_mat>
    </itemfeedback>
  </item>
</questestinterop>


The string-based answer will require human marking intervention. The key differences between this instance and the V1.0 equivalent are:

  • The actual question contains emphasised text (lines 13-19);
  • The flow structure is added to the <presentation> element;
  • The <flow_mat> element is added to the <itemfeedback> element (lines 66-70).

This XML code is available in the file: 'ims_qtiasiv1p2/composite/mcfb_ir_001/mcfb_ir_001.xml'.

5.1.2 Matrix-based Multiple Response

Figure 5.2 shows a composite multiple-choice question arranged as a matrix i.e. only one answer per row is permitted. The corresponding XML is listed after the figure. The user must choose one option per row.

Composite matrix-based multiple response item

 

Figure 5.2 Composite matrix-based multiple response item.

The equivalent V1.2 XML (with response processing) is:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<questestinterop>
  <qticomment>
    This is a composite item.
    It consists of a matrix of multiple-choice questions.
  </qticomment>
  <item title="Composite Item" ident="IMS_V01_I_matx_ir_002">
  <presentation label="CompExample002b">
      <flow>
        <material>
        <mattext>
            Which of the following are used to describe the passage of time ?
        </mattext>
        </material>
        <response_lid ident="Comp_MC01" rcardinality="Single" rtiming="No">
        <render_choice shuffle="Yes">
            <flow_label>
              <response_label ident="A"> 
                <material><mattext>Hour</mattext></material>
            </response_label>
            <response_label ident="B"> 
                <material><mattext>Galleon</mattext></material>
            </response_label>
            <response_label ident="C"> 
                <material><mattext>Mile</mattext></material>
            </response_label>
            </flow_label>
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
          </render_choice>
        </response_lid>
        <response_lid ident="Comp_MC02" rcardinality="Single" rtiming="No">
        <render_choice shuffle="Yes">
            <flow_label>
              <response_label ident="A"> 
                <material><mattext>Metre</mattext></material>
            </response_label>
            <response_label ident="B"> 
                <material><mattext>Dozen</mattext></material>
            </response_label>
            <response_label ident="C"> 
                <material><mattext>Decade</mattext></material>
            </response_label>
            </flow_label>
          </render_choice>
        </response_lid>
        <response_lid ident="Comp_MC03" rcardinality="Single" rtiming="No">
        <render_choice shuffle="Yes">
            <flow_label>
              <response_label ident="A"> 
                <material><mattext>Tonne</mattext></material>
            </response_label>
            <response_label ident="B"> 
                <material><mattext>Century</mattext></material>
            </response_label>
            <response_label ident="C"> 
                <material><mattext>Score</mattext></material>
            </response_label>
            </flow_label>
          </render_choice>
        </response_lid>
      </flow>
    </presentation>
    <resprocessing>
      <outcomes>
        <decvar  varname="MCSCORE1" vartype="Integer" defaultval="0"/>
      </outcomes>
      <respcondition title="MfullCorrect">
        <conditionvar>
          <and>
            <varequal respident="Comp_MC01">A</varequal>
            <varequal respident="Comp_MC02">C</varequal>
            <varequal respident="Comp_MC03">B</varequal>
          </and>
        </conditionvar>
        <setvar action="Set" varname="MCSCORE1">3</setvar>
        <displayfeedback feedbacktype="Response" linkrefid="FullCorrect"/>
      </respcondition>
      <respcondition title="MtwoCorrect">
        <conditionvar>
          <or>
            <and>
              <varequal respident="Comp_MC01">A</varequal>
              <varequal respident="Comp_MC02">C</varequal>
              <not><varequal respident="Comp_MC03">B</varequal></not>
            </and>
            <and>
              <varequal respident="Comp_MC01">A</varequal>
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
              <varequal respident="Comp_MC02">B</varequal>
              <not><varequal respident="Comp_MC03">C</varequal></not>
            </and>
            <and>
              <varequal respident="Comp_MC01">B</varequal>
              <varequal respident="Comp_MC02">C</varequal>
              <not><varequal respident="Comp_MC03">A</varequal></not>
            </and>
          </or>
        </conditionvar>
        <setvar action="Set" varname="MCSCORE1">2</setvar>
        <displayfeedback feedbacktype="Response" linkrefid="TwoCorrect"/>
      </respcondition>
      <respcondition title="MoneCorrect">
        <conditionvar>
          <or>
            <and>
              <varequal respident="Comp_MC01">A</varequal>
              <not><varequal respident="Comp_MC02">C</varequal></not>
              <not><varequal respident="Comp_MC03">B</varequal></not>
            </and>
            <and>
              <varequal respident="Comp_MC01">C</varequal>
              <not><varequal respident="Comp_MC02">A</varequal></not>
              <not><varequal respident="Comp_MC03">B</varequal></not>
            </and>
            <and>
              <varequal respident="Comp_MC01">B</varequal>
              <not><varequal respident="Comp_MC02">C</varequal></not>
              <not><varequal respident="Comp_MC03">A</varequal></not>
            </and>
          </or>
        </conditionvar>
        <setvar action="Set" varname="MCSCORE1">1</setvar>
        <displayfeedback feedbacktype="Response" linkrefid="OneCorrect"/>
      </respcondition>
    </resprocessing>
    <itemfeedback ident="FullCorrect" view="Candidate">
      <flow_mat>
        <material><mattext>Yes, you are right.</mattext></material>
      </flow_mat>
    </itemfeedback>
    <itemfeedback ident="TwoCorrect" view="Candidate">
      <flow_mat>
        <material>
          <mattext>Only two of your answers are correct.</mattext>
        </material>
      </flow_mat>
    </itemfeedback>
    <itemfeedback ident="OneCorrect" view="Candidate">
      <flow_mat>
        <material>
          <mattext>Only one of your answers is correct.</mattext>
        </material>
      </flow_mat>
    </itemfeedback>
  </item>
</questestinterop>

This XML code is available in the file: 'ims_qtiasiv1p2/composite/matx_ir_001/matx_ir_001.xml'.

6. Example XML Schema

The examples shown herein all conform to the Version 1.2 form of the full IMS QTI specification. Specifically they include the usage of the <flow> and related elements and attributes.

6.1 Item Examples

6.1.1 Minimum Definition

The XML for the minimal single useful 'Item' is as follows (this is also shown schematically as Figure 4.1):


<questestinterop>
  <item ident="IMS_V01_I_BasicExample001a">
    <presentation label="BasicExample001a">
      <flow>
        <material>
        <mattext>Paris is the Capital of France ?</mattext>
        </material>
        <response_lid ident="TF01">
        <render_choice>
          <response_label ident="T">
              <material><mattext>Agree</mattext></material>
          </response_label>
          <response_label ident="F"> 
              <material><mattext>Disagree</mattext></material>
          </response_label>
          </render_choice>
        </response_lid>
      </flow>
  </presentation>
  </item>
</questestinterop>

6.1.2 Full Definition

The XML for a complete single useful 'Item' is as follows (this is also shown schematically as Figure 4.1 and is an extension of the XML code for the minimal single useful Item example):


<questestinterop>
  <qticomment>
    This is a simple True/False multiple-choice example.
    The rendering is a standard radio button style.
  </qticomment>
  <item ident="IMS_V01_I_BasicExample001b">
    <duration>pH1</duration>
    <itemmetadata/>
    <objectives view="Candidate">
      <flow_mat>
        <material>
          <mattext>To test your understanding of French cities.</mattext>
        </material>
      </flow_mat>
    </objectives>
    <objectives view="Scorer">
      <flow_mat>
        <material>
          <mattext>Award marks for the right answer only.</mattext>
        </material>
      </flow_mat>
    </objectives>
    <itemcontrol hintswitch="Yes"/>
    <rubric>
      <flow_mat>
        <material>
          <mattext>Attempt all questions.</mattext>
        </material>
      </flow_mat>
    </rubric>
    <presentation label="BasicExample001b">
      <flow>
        <material>
          <mattext>Paris is the Capital of France ?</mattext>
        </material>
        <response_lid ident="TF01" rcardinality="Single" rtiming="No">
          <render_choice>
            <flow_label>
              <response_label ident="T">
                <material><mattext>Agree</mattext></material>
              </response_label>
            </flow_label>
            <flow_label>
              <response_label ident="F"> 
                <material><mattext>Disagree</mattext></material>
              </response_label>
            </flow_label>
          </render_choice>
        </response_lid>
      </flow>
    </presentation>
    <resprocessing>
      <outcomes><decvar/></outcomes>
      <respcondition title="Correct">
        <conditionvar>
          <varequal respident="TF01">T</varequal>
        </conditionvar>
        <setvar action="Set">1</setvar>
        <displayfeedback feedbacktype="Response" linkrefid="Correct"/>
      </respcondition>
    </resprocessing>
    <itemfeedback ident="Correct" view="Candidate">
      <flow_mat>
        <material><mattext>Yes, you are right.</mattext></material>
      </flow_mat>
    </itemfeedback>
  </item>
</questestinterop>

This example is given in the example file: 'ims_qtiasiv1p2/basic/trfl_ir_002/trfl_ir_002.xml'

6.2 Section Examples

6.2.1 Minimum Definition

The XML for the minimal single useful 'Section' is as follows:


<questestinterop>
  <section ident="IMS_V01_S_Example001">
    <item ident="IMS_V01_I_BasicExample001">
      <presentation label="RS01">
        <flow>
          <material>
          <mattext>Paris is the Capital of France ?</mattext>
          </material>
          <response_lid ident="TF01">
          <render_choice>
            <response_label ident="T">
                <material><mattext>Agree</mattext></material>
            </response_label>
            <response_label ident="F"> 
                <material><mattext>Disagree</mattext></material>
            </response_label>
            </render_choice>
          </response_lid>
        </flow>
    </presentation>
    </item>
  </section>
</questestinterop>

The XML for the minimal multiple 'Section' (each with one 'Item') is as follows:


<questestinterop>
  <section ident="IMS_V01_S_Example001">
    <item ident="IMS_V01_I_BasicExample001">
      <presentation label="RS01">
        <flow>
          <material>
          <mattext>Paris is the Capital of France ?</mattext>
          </material>
          <response_lid ident="TF01">
          <render_choice>
            <response_label ident="T">
                <material><mattext>True</mattext></material>
            </response_label>
            <response_label ident="F"> 
                <material><mattext>False</mattext></material>
            </response_label>
            </render_choice>
          </response_lid>
        </flow>
    </presentation>
    </item>
  </section>
  <section ident="IMS_V01_S_Example002">
    <item ident="IMS_V01_I_BasicExample200">
      <presentation label="RS20">
        <flow>
          <material>
          <mattext>London is the Capital of Germany ?</mattext>
          </material>
          <response_lid ident="TF02">
          <render_choice>
            <response_label ident="T">
                <material><mattext>True</mattext></material>
            </response_label>
            <response_label ident="F"> 
                <material><mattext>False</mattext></material>
            </response_label>
            </render_choice>
          </response_lid>
        </flow>
    </presentation>
    </item>
  </section>
</questestinterop>

6.2.2 Full Definition

The XML for a complete useful 'Section' example (this contains two Items) is as follows:


<questestinterop>
  <qticomment>
    This example consists of two Sections.
  </qticomment>
  <section title="European Capitals" ident="IMS_V01_S_Example201">
    <objectives view="Candidate">
      <flow_mat>
        <material>
          <mattext>To assess knowledge of the capital cities in Europe.</mattext>
        </material>
      </flow_mat>
    </objectives>
    <objectives view="Tutor">
      <flow_mat>
        <material>
          <mattext>
            To ensure that the student knows the difference between the Capital
            cities of France, UK, Germany, Spain and Italy.
          </mattext>
        </material>
      </flow_mat>
    </objectives>
    <item title="Capital of France" ident="I01" maxattempts="6">
      <qticomment>
        This Item is also available in the accompanying example files.
      </qticomment>
      <itemmetadata/>
      <rubric view="Candidate">
        <flow_mat>
          <material>
            <mattext>Choose only one of the choices available.</mattext>
          </material>
        </flow_mat>
      </rubric>
      <presentation label="Resp001">
        <flow>
          <material>
            <mattext>What is the Capital of France ?</mattext>
          </material>
          <response_lid ident="LID01">
            <render_choice shuffle="Yes">
              <flow_label>
                <response_label ident="LID01_A">
                  <material><mattext>London</mattext></material>
                </response_label>
              </flow_label>
              <flow_label>
                <response_label ident="LID01_B">
                  <material><mattext>Paris</mattext></material>
                </response_label>
              </flow_label>
              <flow_label>
                <response_label ident="LID01_C">
                  <material><mattext>Washington</mattext></material>
                </response_label>
              </flow_label>
              <flow_label>
                <response_label ident="LID01_D" rshuffle="No">
                  <material><mattext>Berlin</mattext></material>
                </response_label>
              </flow_label>
            </render_choice>
          </response_lid>
        </flow>
      </presentation>
      <resprocessing>
        <qticomment/>
        <outcomes>
          <decvar vartype="Integer" defaultval="0"/>
        </outcomes>
        <respcondition>
          <qticomment>Scoring for the correct answer.</qticomment>
          <conditionvar>
            <varequal respident="LID01">LID01_B</varequal>
          </conditionvar>
          <setvar action="Set" varname="SCORE">10</setvar>
          <displayfeedback feedbacktype="Response" linkrefid="I01_IFBK01"/>
        </respcondition>
      </resprocessing>
      <itemfeedback title="Correct answer" ident="I01_IFBK01">
        <flow_mat>
          <material>
            <mattext>Correct answer.</mattext>
          </material>
        </flow_mat>
      </itemfeedback>
      <itemfeedback ident="I01_IFBK02">
        <solution>
          <solutionmaterial>
            <flow_mat>
              <material>
                <mattext>London is the Capital of England.</mattext>
                <mattext>Paris is the Capital of France.</mattext>
                <mattext>Washington is in the USA.</mattext>
                <mattext>Berlin is the Capital of Germany.</mattext>
              </material>
            </flow_mat>
          </solutionmaterial>
        </solution>
      </itemfeedback>
      <itemfeedback ident="I01_IFBK03" view="All">
        <hint feedbackstyle="Multilevel">
          <hintmaterial>
            <flow_mat>
              <material>
                <mattext>One of the choices is not in Europe.</mattext>
              </material>
            </flow_mat>
          </hintmaterial>
          <hintmaterial>
            <flow_mat>
              <material>
                <mattext>Berlin is the Capital of Germany.</mattext>
              </material>
            </flow_mat>
          </hintmaterial>
          <hintmaterial>
            <flow_mat>
              <material>
                <mattext>The Eiffel tower is in the Capital of France.</mattext>
              </material>
            </flow_mat>
          </hintmaterial>
        </hint>
      </itemfeedback>
    </item>
  </section>
  <section title="European Rivers" ident="IMS_V01_S_Example202">
    <objectives view="Candidate">
      <flow_mat>
        <material>
          <mattext>To assess your knowledge of the rivers in Europe.</mattext>
        </material>
      </flow_mat>
    </objectives>
    <objectives view="Assessor">
      <flow_mat>
        <material>
          <mattext>Questions on the rivers in Germany, Spain, Italy and France.
          </mattext>
        </material>
      </flow_mat>
    </objectives>
    <item title="Rivers in France question" ident="I02">
      <rubric view="Candidate">
        <flow_mat>
          <material>
            <mattext>Choose all of the correct answers.</mattext>
          </material>
        </flow_mat>
      </rubric>
      <presentation label="Resp002">
        <flow>
          <material>
            <mattext>Which rivers are in France ?</mattext>
          </material>
          <response_lid ident="LID02" rcardinality="Multiple">
            <render_choice shuffle="Yes" minnumber="1" maxnumber="2">
              <flow_label>
                <response_label ident="LID02_A">
                  <material><mattext>Seine</mattext></material>
                </response_label>
              </flow_label>
              <flow_label>
                <response_label ident="LID02_B">
                  <material><mattext>Thames</mattext></material>
                </response_label>
              </flow_label>
              <flow_label>
                <response_label ident="LID02_C">
                  <material><mattext>Danube</mattext></material>
                </response_label>
              <flow_label>
              </flow_label>
                <response_label ident="LID02_D">
                  <material><mattext>Loire</mattext></material>
                </response_label>
              </flow_label>
            </render_choice>
          </response_lid>
        </flow>
      </presentation>
    </item>
    <item title="Rivers in Germany" ident="I03"/>
      <duration>pTH02</duration>
      <rubric view="Candidate">
        <flow_mat>
          <material><mattext>Choose all of the correct answers.</mattext></material>
        </flow_mat>
      </rubric>
      <presentation label="Resp003">
        <flow>
          <material>
            <matimage imagtype="image/jpeg" uri="rivers.jpg"></matimage>
            <mattext>Which rivers are in Germany ?</mattext>
          </material>
          <response_lid ident="LID03" rcardinality="Multiple">
            <render_hotspot x0="500" y0="500" height="200" width="200">
              <response_label ident="LID03_A" rarea="Ellipse"> 10,10,2,2
              </response_label>
              <response_label ident="LID03_B" rarea="Ellipse"> 15,15,2,2
              </response_label>
              <response_label ident="LID03_C" rarea="Ellipse"> 30,30,2,2
              </response_label>
              <response_label ident="LID03_D" rarea="Ellipse"> 60,60,2,2
              </response_label>
              <response_label ident="LID03_E" rarea="Ellipse"> 70,70,2,2
              </response_label>
            </render_hotspot>
          </response_lid>
        </flow>
      </presentation>
    </item>
  </section>
</questestinterop>

This example is given in the example file: 'ims_qtiasiv1p2/section/mchc_smimr_101/mchc_smimr_101.xml'

6.3 Assessment Examples

6.3.1 Minimum Definition

The XML for the minimal single useful 'Assessment' is as follows:


<questestinterop>
  <assessment ident="IMS_V01_A_Example301">
    <section ident="IMS_V01_S_Example301">
      <item ident="IMS_V01_I_BasicExample301">
        <presentation label="RS01">
          <flow>
            <material>
              <mattext>Paris is the Capital of France ?</mattext>
            </material>
            <response_lid ident="TF01">
            <render_choice>
              <response_label ident="T">
                  <material><mattext>Agree</mattext></material>
              </response_label>
              <response_label ident="F"> 
                  <material><mattext>Disagree</mattext></material>
              </response_label>
              </render_choice>
            </response_lid>
          </flow>
      </presentation>
      </item>
    </section>
  </assessment>
</questestinterop>

6.3.2 Full Definition

The following example consists of one Assessment with two Sections. One Section contains two Items and the other contains one Item.


<questestinterop>
  <assessment title  ="European Geography" ident  ="A01">
    <qticomment>A Complex Assessment   example.</qticomment>
    <objectives view  ="Candidate  ">
      <flow  _mat  >
        <material>
          <mattext>To test your knowledge of European geography.</mattext>
        </material>
      </flow  _mat  >
    </objectives>
    <objectives view  ="Assessor  ">
      <flow_mat  >
        <material>
          <mattext>Tests the candidate's knowledge of European geography.</mattext>
        </material>
      </fow_mat>
    </objectives>
    <rubric view  ="Candidate  ">
      <flow_mat  >
        <material>
          <mattext>Attempt all questions.</mattext>
        </material>
      </flow_mat  >
    </rubric>
    <outcomes_processing   scoremodel  ="SumofScores  ">
      <qticomment>Processing of the final accumulated assessment  .</qticomment>
      <outcomes>
        <decvar/>
      </outcomes>
      <outcomes_feedback_test   title  ="Failed">
        <test_variable>
          <variable_test testoperator  ="LTE">9</variable_test>
        </test_variable>
        <displayfeedback feedbacktype="Response " linkrefid="Failed"/>
      </outcomes_feedback_test>
      <outcomes_feedback_test title="Passed">
        <test_variable>
          <variable_test testoperator  ="GT">10</variable_test>
        </test_variable>
        <displayfeedback feedbacktype  ="Response  " linkrefid  ="Passed"/>
      <outcomes_feedback_test  >    
    </outcomes_processing  >
    <assessfeedback title  ="Failed" ident  ="Failed">
      <flow_mat  >
        <material>
          <mattext>You failed the test.</mattext>
        </material>
      </flow_mat  >
    </assessfeedback>
    <assessfeedback title  ="Passed" ident  ="Passed">
      <flow_mat  >
        <material>
          <mattext>You passed the test.</mattext>
        </material>
      </flow_mat  >
    </assessfeedback>
    <section title    ="European Capitals" ident  ="S01">
      <objectives view  ="Candidate  ">
        <flow_mat  >
          <material>
            <mattext>To assess your knowledge of the capital cities in Europe.
            </mattext>
          </material>
        </flow_mat  >
      </objectives>
      <objectives view  ="Tutor  ">
        <flow_mat  >
          <material>
            <mattext>
              To ensure that the student knows the difference between the Capital 
              cities of France, UK, Germany, Spain and Italy.
            </mattext>
          </material>
        </flow_mat  >
      </objectives>
      <rubric view  ="Candidate  ">
        <flow_mat  >
          <material>
            <mattext>Attempt all questions.</mattext>
          </material>
        </flow_mat  >
      </rubric>
      <outcomes_processing   scoremodel  ="SumofScores  ">
        <qticomment>Processing of the final accumulated Section  .</qticomment>
        <outcomes>
          <decvar/>
        </outcomes>    
      </outcomes_processing  >
      <item title="Capital of France" ident  ="I01" maxattempts  ="6">
        <rubric view  ="Candidate  ">
          <flow_mat  >
            <material>
              <mattext>Choose only one of the choices available.</mattext>
            </material>
          </flow_mat  >
        </rubric>
        <presentation label  ="Resp001">
          <flow>
            <response_lid ident  ="LID01">
              <material>
                <mattext>What is the Capital of France ?</mattext>
              </material>
              <render_choice shuffle  ="Yes">
                <response_label ident  ="LID01_A">
                  <flow  _mat>
                    <material><mattext>London</mattext></material>
                  </flow    _mat>
                </response_label>
                <response_label ident  ="LID01_B">
                  <flow  _mat>
                    <material><mattext>Paris</mattext></material>
                  </flow_mat>
                </response_label>
                <response_label ident  ="LID01_C">
                  <flow_mat>
                    <material><mattext>Washington</mattext></material>
                  </flow_mat>
                </response_label>
                <response_label ident="LID01_D" rshuffle="No">
                  <flow  _mat>
                    <material><mattext>Berlin</mattext></material>
                  </flow_mat>
                </response_label>
              </render_choice>
            </response_lid>
          </flow>
        </presentation>
        <resprocessing>
          <qticomment/>
          <outcomes>
            <decvar vartype  ="Integer" defaultval  ="0"/>
          </outcomes>
          <respcondition>
            <qticomment>Scoring for the correct answer.</qticomment>
            <conditionvar>
              <varequalrespident  ="LID01">LID01_B</varequal>
            </conditionvar>
            <setvar action  ="Set" varname  ="SCORE">10</setvar>
            <displayfeedback feedbacktype="Response  " linkrefid  ="I01_IFBK01"/>
          </respcondition>
        </resprocessing>
        <itemfeedback title="Correct answer" ident="I01_IFBK01">
          <flow_mat>
            <material><mattext>Correct answer.</mattext></material>
          </flow_mat>
        </itemfeedback>
        <itemfeedback ident  ="I01_IFBK02">
          <solution>
            <solutionmaterial>
              <flow_mat>
                <material>
                  <mattext    >London is the Capital of England.</mattext>
                </material>
              </flow_mat>
              <flow  _mat  >
                <material>
                  <mattext    >Paris is the Capital of France.</mattext>
                </material>
              </flow_mat>
              <flow_mat>
                <material>
                  <mattext>Washington is in the USA.</mattext>
                </material>
              </flow_mat>            
              <flow_mat>
                <material>
                  <mattext    >Berlin is the Capital of Germany.</mattext>
                </material>
              </flow_mat>
            </solutionmaterial>
          </solution>
        </itemfeedback>
        <itemfeedback ident  ="I01_IFBK03" view  ="All">
          <hint feedbackstyle  ="Multilevel">
            <hintmaterial>
              <flow_mat>
                <material>
                  <mattext    >One of the choices is not in Europe.</mattext>
                </material>
              </flow_mat>
            </hintmaterial>
            <hintmaterial>
              <flow_mat>
                <material>
                  <mattext>Berlin is the Capital of Germany.</mattext>
                </material>
              </flow_mat>
            </hintmaterial>
            <hintmaterial>
              <flow  _mat>
                <material>
                  <mattext>The Eiffel tower is in the Capital of France.
                  </mattext>
                </material>
              </flow_mat>
            </hintmaterial>
          </hint>
        </itemfeedback>
      </item>
    </section>
    <section title    ="European Rivers" ident="SO2">
      <objectives view  ="Candidate  ">
        <flow  _mat>
          <material>
            <mattext>To assess your knowledge of the rivers in Europe.</mattext>
          </material>
        </flow_mat>
      </objectives>
      <objectives view  ="Assessor  ">
        <flow_mat>
          <material>
            <mattext>Questions on rivers in Germany, Spain, Italy and France.
            </mattext>
          </material>
        </flow_mat>
      </objectives>
      <outcomes_processing   scoremodel  ="SumofScores  ">
        <qticomment>Processing of the final accumulated Section  .</qticomment>
        <outcomes>
          <decvar/>
        </outcomes>    
      </outcomes_processing>
      <item title="Rivers in France question" ident  ="I02">
        <rubric view  ="Candidate  ">
          <flow_mat>
            <material>
              <mattext>Choose all of the correct answers.</mattext>
            </material>
          </flow_mat>  
        </rubric>
        <presentation label  ="Resp002">
          <flow>
            <material>
              <mattext>Which rivers are in France ?</mattext>
            </material>
            <response_lid ident  ="LID02" rcardinality  ="Multiple">
              <render_choice         shuffle  ="Yes" minnumber  ="1" maxnumber  ="2">
                <response_label       ident  ="LID02_A">
                  <flow_mat>
                    <material><mattext>Seine</mattext></material>
                  </flow_mat>
                </response_label>
                <response_label ident="LID02_B">
                  <flow_mat>
                    <material><mattext>Thames</mattext></material>
                  </flow_mat>
                </response_label>
                <response_label ident="LID02_C">
                  <flow_mat>
                    <material><mattext>Danube</mattext></material>
                  </flow_mat>
                </response_label>
                <response_label ident="LID02_D">
                  <flow_mat>
                    <material><mattext>Loire</mattext></material>
                  </flow_mat>
                </response_label>
              </render_choice>
            </response_lid>
          </flow>
        </presentation>
      </item>
      <item title="Rivers in Germany" ident="I03"/>
        <rubric view  ="Candidate  ">
          <flow_mat>
            <material>
              <mattext>Choose all of the correct answers.</mattext>
            </material>
          </flow_mat  >
        </rubric>
        <presentation label="Resp003">
          <flow>
            <material>
              <matimage imagtytpe="image/gif" uri  ="rivers.gif"></matimage>
              <mattext>Which rivers are in Germany ?</mattext>
            </material>
            <response_lid ident  ="LID03" rcardinality  ="Multiple">
              <render_hotspot x0  ="500" y0  ="500" height  ="200">
                <response_label ident  ="LID03_A" rarea  ="Ellipse">10,10,2,2
                </response_label>
              <response_label ident  ="LID03_B" rarea  ="Ellipse">15,15,2,2
              </response_label>
              <response_label ident  ="LID03_C" rarea  ="Ellipse">30,30,2,2
              </response_label>
              <response_label ident  ="LID03_D" rarea  ="Ellipse">60,60,2,2
              </response_label>
              <response_label ident  ="LID03_E" rarea  ="Ellipse">70,70,2,2
                </response_label>
              </render_hotspot>
            </response_lid>
          </flow>
        </presentation>
      </item>
    </section>
  </assessment>
</questestinterop>

This example is given in the example file: 'ims_qtiasiv1p2/assessment/mchc_asmimr_101/mchc_asmimr_101.xml'.

6.4 The XML Example Files

The full set of example files, as referred to in Sections 4 and 5 are available as part of the IMS QTI Resource Kit. These files are listed in Table 6.1 (V1.2 compliant basic Item examples), 6.2 (V1.2 compliant advanced Item examples), 6.3 (V1.2 compliant composite Item examples), 6.4 (V1.2 compliant Section examples) 6.5 (V1.2 compliant Assessment examples), 6.6 (V1.2 compliant QTILite examples) and 6.7 (v1.2 compliant object bank examples). Each XML example directory contains the files necessary to support an example Assessment, Section and/or Item. The XML files are denote by an '.xml' extension (the adopted naming convention is described in Appendix C). The following tables list the name of each example directory, the nature of the example in terms of data structures i.e. Assessment (A), Section (S) and/or Item (I) and a brief description of the example.

 

Table 6.1 The Q&TI V1.0/V1.1/V1.2 XML basic Item example files.

 
File Name
Nature
Description
ctpt_i_001 I(1) Standard connect-the-points using logical identifier.
ctpt_i_002 I(1) Standard connect-the-points using XY co-ordinates.
ctpt_ir_001 I(1) Standard connect-the-points using logical identifier with response processing.
ctpt_ir_002 I(1) Standard connect-the-points using XY co-ordinates with response processing.
dobj_i_001 I(1) Standard drag object source with image-based objects. Logical group-based rendering.
dobj_ir_001 I(1) Standard drag object source with image-based objects with response processing. Logical group based rendering.
fibi_i_001 I(1) Numerical (integer) using FIB rendering.
fibi_i_002 I(1) Numerical question with SLIDER rendering.
fibi_ir_001 I(1) Numerical (integer) using FIB rendering (as per fibi_I_001.xml) with response processing.
fibi_ir_002 I(1) Numerical question with SLIDER rendering (as per fibi_I_002.xml) with response processing.
fibi_ir_002a I(1) Numerical question with SLIDER rendering with flows and response processing.
fibn_i_001 I(1) Numerical (real) using FIB rendering.
fibn_ir_001 I(1) Numerical (real) using FIB rendering (as per fibn_I_001.xml) with response processing.
fibn_ir_001a I(1) Numerical (real) using FIB rendering with flows and response processing.
fibs_i_001 I(1) Standard FIB (string) using FIB rendering.
fibs_i_002 I(1) Multiple FIB (strings) using FIB rendering.
fibs_i_003 I(1) Short answer (string) using FIB rendering.
fibs_ir_001 I(1) Standard FIB (string) using FIB rendering with flows and response processing.
fibs_ir_001a I(1) Standard FIB (string) using FIB rendering (as per fibs_I_001.xml) with response processing.
fibs_ir_001b I(1) Standard FIB (string) using FIB rendering (as per fibs_I_001.xml) with alternative response processing.
fibs_ir_002 I(1) Multiple FIB (strings) using FIB rendering with flows and response processing.
fibs_ir_002a I(1) Multiple FIB (strings) using FIB rendering (as per fibs_I_002.xml) with response processing.
fibs_ir_003 I(1) Short answer (string) using FIB rendering (as per fibs_I_003.xml) with new response processing.
ihsp_i_001 I(1) Standard I using XY rendering.
ihsp_ir_001 I(1) Standard I using XY rendering (as per ihsp_I_001.xml) with new response processing.
mchc_i_001 I(1) Multiple-choice (text) with CHOICE rendering.
mchc_i_002 I(1) Multiple-choice (image) with CHOICE rendering.
mchc_i_003 I(1) Multiple-choice (audio) with CHOICE rendering.
mchc_i_004 I(1) Multiple-choice (image) with HOTSPOT rendering.
mchc_i_005 I(1) Multiple-choice (text) with SLIDER rendering.
mchc_ir_001 I(1) Multiple-choice (text) with CHOICE rendering and response processing.
mchc_ir_001a I(1) Multiple-choice (text) with CHOICE rendering, flows and response processing.
mchc_ir_002 I(1) Multiple-choice (image) with CHOICE rendering (as per mchc_I_002.xml) with response processing.
mchc_ir_003 I(1) Multiple-choice (audio) with CHOICE rendering (as per mchc_I_003.xml) with response processing.
mchc_ir_004 I(1) Multiple-choice (image) with HOTSPOT rendering (as per mchc_I_004.xml) with response processing.
mchc_ir_005 I(1) Multiple-choice (text) with SLIDER rendering (as per mchc_I_005.xml) with response processing.
mchc_ir_005a I(1) Multiple-choice (text) with SLIDER rendering with flows and response processing.
mrsp_i_001 I(1) Multiple response (text) with CHOICE rendering.
mrsp_i_002 I(1) Multiple-response (image) with HOTSPOT rendering.
mrsp_ir_001 I(1) Multiple response (text) with CHOICE rendering (as per mrsp_I_001.xml) with response processing.
mrsp_ir_002 I(1) Multiple-response (image) with HOTSPOT rendering (as per mrsp_I_002.xml) with response processing.
mrsp_ir_002a I(1) Multiple-response (image) with HOTSPOT rendering and flows with response processing.
oobj_i_001 I(1) Standard order objects (text) with proprietary (OBJECT) rendering.
oobj_i_002 I(1) Standard order objects (image) with proprietary (OBJECT) rendering.
oobj_ir_002 I(1) Standard order objects (image) with proprietary (OBJECT) rendering (as per oobj_I_002.xml) with new response processing.
oobj_ir_001 I(1) Standard order objects (text) with proprietary (OBJECT) rendering (as per oobj_I_001.xml) with response processing.
trfl_i_001 I(1) True/false with CHOICE rendering.
trfl_ir_001 I(1) True/false with CHOICE rendering and response processing
trfl_ir_001a I(1) True/false with CHOICE rendering with flows and response processing
trfl_ir_001b I(1) True/false with CHOICE rendering and response processing
trfl_ir_002 I(1) True/false with CHOICE rendering, flows and response processing

The directory for these files is: 'ims_qtiasiv1p2/basic/...'

 

Table 6.2 The Q&TI V1.0/V1.1/V1.2 XML advanced Item example files.

 
File Name
Nature
Description
fibs_ir_101a I(1) Example of using the logical AND/OR elements.
fibs_ir_101b I(1) Same example as fibs_ir_101a.xml but without the usage of AND/OR elements.
mixd_imr_101 I(8) Various multiple-choice (text) questions with response processing.
mchc_ir_102 I(3) Reading passage with 3 multiple-choice questions with response processing.
fibs_ir_102_propext I(1) Essay with Human or Machine scoring options with response processing.
mchc_ir_103_propext I(1) Multiple-choice (text) with two scoring models.
chinese examples Vary Multiple-choice Chinese writing examples with response processing.
mrsp_ir_001_rtf I(1) Multiple response using 'rtf' material with response processing.
mrsp_ir_001_rtf I(1) Multiple response using 'rtf' material with alternative response processing.
mrsp_ir_001_rtf I(1) Multiple response using 'rtf' material with alternative response processing.

The directory for these files is: 'ims_qtiasiv1p2/advanced/...'

 

Table 6.3 The Q&TI V1.0/V1.1/V1.2 XML composite example files.

 
File Name
Nature
Description
mcfb_i_001 I(1) A standard multiple-choice question with a FIB extension.
mcfb_ir_001 I(1) A standard multiple-choice question with a FIB extension with reponse processing (as per mcfb_I_001).
mcfb_ir_001a I(1) A standard multiple-choice question with a FIB extension with flows and reponse processing (as per mcfb_I_001).
matx_i_001 I(1) A matrix of multiple-choice questions.
matx_ir_001 I(1) A matrix of multiple-choice questions with response processing (as per matx_I_001).
matx_ir_001a I(1) A matrix of multiple-choice questions with flows and response processing (as per matx_I_001).

The directory for these files is: 'ims_qtiasiv1p2/composite/...'

 

Table 6.4 The Q&TI V1.2 Section XML example files.

 
File Name
Nature
Description
mixd_simr_001 S(1)I(3) Flow-based question using a commonquestion content contained within a single Section. Response processing included.
mchc_smimr_101 S(1)I(2) Flow-based multiple-choice questions contained within a single Section. Response processing included.
mchc_smimr_104 S(1)I(2) A single Section with two multiple-choice (text) questions.

The directory for these files is: 'ims_qtiasiv1p2/section/...'

 

Table 6.5 The Q&TI V1.2 Assessment XML example files.

 
File Name
Nature
Description
mchc_asmimr_101 A(1)S(1)I(2)S(1)I(1) Flow-based multiple-choice questions contained within two Sections within a single Assessment. Response processing is included.
mchc_asmimr_106 A(1) [S(2) I(2) I(1)] A complex single Assessment containing several multiple-choice questions.

The directory for these files is: 'ims_qtiasov1p2/assessment/...'

 

Table 6.6 The Q&TI V1.2 QTILite XML example (correct) files.

 
File Name
Nature
Description
trfl_ir_001 I(1) True/false question with response processing.
trfl_ir_002 I(1) True/false question with response processing and objectives.
mchc_i_001 I(1) Multiple-choice question with four options and no response processing.
mchc_i_002 I(1) Multiple-choice question with five options and no response processing.
mchc_ir_002a I(1) Multiple-choice question with five options and correct answer response processing.
mchc_ir_002b I(1) Multiple-choice question with five options, and correct and incorrect answer response processing.
mchc_ir_003 I(1) Multiple-choice question with five options, correct and incorrect answer response processing, objectives and rubric.
mchc_ir_004a I(1) Multiple-choice question with images.
mchc_ir_004b I(1) Multiple-choice question with images linked using the entityref attribute.

The directory for these files is: 'ims_qtiasiv1p2/qtilite/...'

 

Table 6.7 The Q&TI V1.2 Object bank XML example files.

 
File Name
Nature
Description
mchc_imr_001 I(8) An item bank with eight Items each with response processing included.
mchc_smimr_001 S(4)I(2) A section bank containing four Sections each with two Items with respone processing.

The directory for these files is: 'ims_qtiasiv1p2/bank/...'

7. Implementation Guidance

7.1 Assessments

7.1.1 Elements and their Attributes

 

Assessmentmetadata

The assessmentmetadata element has been removed and replaced with the qtimetadata element. This means that the IMS QTI-specific metadata for Assessments must be assigned using the vocabulary-based approach. This vocabulary is defined in Table 6.2 of the IMS ASI information Model [QTI, 02a]. An example of this approach is:


  <questestinterop>
      ...
    <assessment ident="***...***">
      ...
      <qtimetadata>
        <vocabulary uri="imsqtiv1p2_metadata.txt" vocab_type="text/plain"/>
        <qtimetadatafield>
          <fieldlabel>qmd_absolutescore_max</fieldlabel>
          <fieldentry>100</fieldentry>
        </qtimetadatafield>
        <qtimetadatafield>
          <fieldlabel> qmd_absolutescore_min</fieldlabel>
          <fieldentry>0</fieldentry>
        </qtimetadatafield>
        ...
      </qtimetadata>
      ...
    </assessment>
  </questestinterop>

Objectives

The objectives element should be used to define the objectives of the Assessment for each of the available actors. The objectives can include any type of content and so they can be presented in a wide range of forms. V1.1 includes support for flow-based content. The mechanism by which the objectives are displayed is beyond the scope of the IMS QTI specification.

Rubric

The rubric element should be used to present contextual material that is to be applied to a set of the contained Sections/Items - this information should not be used to contain an actual question or a component of a question. These descriptions can be supplied for each view that is to be supported. V1.1 includes support for flow-based content. The rubric for the views 'All' and 'Participant' must be always be displayed. In cases where there is too much information to be displayed then some form of folding display mechanism should be used to allow the participant to readily access the information no matter what page there are viewing.


Assessmentcontrol

The assessmentcontrol element should be used to define the default conditions for the display of different types of feedback to users. The Assessment level definitions of the feedbackswitch, hintswitch and solutionswitch take precedence if no lower level definition is encountered i.e. within a Section or Item. This means that the Assessment level definition acts as the default state.

 

Presentation_material

The material contained within this element should be used to contain information that is relevant to all of the evaluation objects contained within the Assessment. This material must be displayed to all of the participants. It should not be used to contain information such as rubric and objectives; there are separate elements for these types of information.

Outcomes_processing

This has been fully defined in V1.2 release of the specification - see the IMS QTI: ASI Outcomes Processing Specification [QTI, 02c].

Assessfeedback

The assessfeedback element has been totally reworked for V1.2. It can contain content that is used to inform the participant of the correctness of their answer i.e. it cannot be used to contain hints and solutions as defined within the IMS QTI context. The feedback is triggered through the outcomes_processing element i.e.


<questestinterop>
  <assessment ident  ="A01">
    ...
    <outcomes_processing   scoremodel  ="SumofScores  ">
      <outcomes>
        <decvar/>
      </outcomes>
      <outcomes_feedback_test   title  ="Passed">
        <test_variable>
          <variable_test testoperator  ="GT">10</variable_test>
        </test_variable>
        <displayfeedback feedbacktype  ="Response  " linkrefid  ="Passed"/>
      <outcomes_feedback_test  >
      <outcomes_feedback_test   title  ="Failed">
        <test_variable>
          <variable_test testoperator  ="LTE">9</variable_test>
        </test_variable>
        <displayfeedback feedbacktype  ="Response  " linkrefid  ="Failed"/>
      </outcomes_feedback_test  >  
    </outcomes_processing  >
    <assessfeedback title  ="Failed" ident  ="Failed">
      <flow_mat  >
        <material>
          <mattextYou failed the test.</mattext>
        </material>
      </flow_mat  >
    </assessfeedback>
    <assessfeedback title  ="Passed" ident  ="Passed">
      <flow_mat  >
        <material>
          <mattext>You passed the test.</mattext>
        </material>
      </flow_mat  >
    </assessfeedback>
    ...
  </assessment>
</questestinterop>

Reference

Material that is common to many evaluation objects within the Assessment e.g. a particular piece of text, an image, etc. is contained within this element. This material is then referenced from within the appropriate material elements. Material in this container may not be displayed unless the referencing element is itself triggered.

7.1.2 Groups of Elements

 

Selection & Ordering

The selection and sequencing of Sections is supported through a pre-selection mechanism using the selection_ordering element that defines the Sections/Items selected from the pool of available Sections and the order in which those Sections/Items are activated respectively. This mechanism has be defined for V1.2 in the IMS QTI:ASI Selection & Ordering Specification [QTI, 02d].

Variable Manipulation

This refers to the process of aggregated scoring for the Assessment. This has been fully defined in V1.2 release of the specification - see the IMS QTI: ASI Outcomes Processing Specification [QTI, 02c].

7.2 Sections

7.2.1 Elements and their Attributes

 

Sectiontmetadata

The sectionmetadata element has been removed and replaced with the qtimetadata element. This means that the IMS QTI-specific metadata for Sections must be assigned using the vocabulary-based approach. This vocabulary is defined in Table 6.2 of the IMS ASI information Model [QTI, 02a]. An example of this approach is:


  <questestinterop>
      ...
    <section ident="***...***">
      ...
      <qtimetadata>
        <vocabulary uri="imsqtiv1p2_metadata.txt" vocab_type="text/plain"/>
        <qtimetadatafield>
          <fieldlabel>qmd_absolutescore_max</fieldlabel>
          <fieldentry>100</fieldentry>
        </qtimetadatafield>
        <qtimetadatafield>
          <fieldlabel> qmd_absolutescore_min</fieldlabel>
          <fieldentry>0</fieldentry>
        </qtimetadatafield>
        ...
      </qtimetadata>
      ...
    </section>
  </questestinterop>

Objectives

The objectives element should be used to define the objectives of the Section for each of the available actors. The objectives can include any type of content and so they can be presented in a wide range of forms. V1.1 includes support for flow-based content. The mechanism by which the objectives are displayed is beyond the scope of the IMS QTI specification.

Rubric

The rubric element should be used to present contextual material that is to be applied to a set of the contained Sections/Items - this information should not be used to contain an actual question or a component of a question. These descriptions can be supplied for each view that is to be supported. V1.1 includes support for flow-based content. The rubric for the views 'All' and 'Participant' must be always be displayed. In cases where there is too much information to be displayed then some form of folding display mechanism should be used to allow the participant to readily access the information no matter what page there are viewing.


Sectioncontrol

The sectioncontrol element should be used to define the default conditions for the display of different types of feedback to users. The Section level definitions of the feedbackswitch, hintswitch and solutionswitch take precedence if no lower level definition is encountered i.e. within an Item. In the case of a clash with Assessment level definitions the Section level ones take precedence.

 

Presentation_material

The material contained within this element should be used to contain information that is relevant to all of the evaluation objects contained within the Section. This material must be displayed to all of the participants. It should not be used to contain information such as rubric and objectives; there are separate elements for these types of information.

Outcomes_processing

This has been fully defined in V1.2 release of the specification - see the IMS QTI: ASI Outcomes Processing Specification [QTI, 02c].

Sectionfeedback

The sectionfeedback element has been totally reworked for V1.2. It can contain content that is used to inform the participant of the correctness of their answer i.e. it cannot be used to contain hints and solutions as defined within the IMS QTI context. The feedback is triggered through the outcomes_processing element i.e.


<questestinterop>
  <sectionident="S01">
    ...
    <outcomes_processing   scoremodel  ="SumofScores  ">
      <outcomes>
        <decvar/>
      </outcomes>
      <outcomes_feedback_test   title  ="Passed">
        <test_variable>
          <variable_test testoperator  ="GT">10</variable_test>
        </test_variable>
        <displayfeedback feedbacktype  ="Response  " linkrefid  ="Passed"/>
      <outcomes_feedback_test  >
      <outcomes_feedback_test   title  ="Failed">
        <test_variable>
          <variable_test testoperator  ="LTE">9</variable_test>
        </test_variable>
        <displayfeedback feedbacktype  ="Response  " linkrefid  ="Failed"/>
      </outcomes_feedback_test  >  
    </outcomes_processing  >
    <sectionfeedback title  ="Failed" ident  ="Failed">
      <flow_mat  >
        <material>
          <mattext>You failed the topic.</mattext>

</material>

      </flow_mat>
    </sectionfeedback>
    < sectionfeedback title  ="Passed" ident  ="Passed">
      <flow_mat>
        <material>
          <mattext>You passed the topic.</mattext>
        </material>
      </flow_mat>
    </sectionfeedback>
    ...
  </section>
</questestinterop>

Reference

Material that is common to many evaluation objects e.g. a particular piece of text, an image, etc. is contained within this element. This material is then referenced from within the appropriate material elements. Material in this container may not be displayed unless the referencing element is itself triggered.

7.2.2 Groups of Elements

 

Selection & Ordering

The selection and sequencing of Sections is supported through a pre-selection mechanism using the selection_ordering element that defines the Sections/Items selected from the pool of available Sections and the order in which those Sections/Items are activated respectively. This mechanism has be defined for V1.2 in the IMS QTI:ASI Selection & Ordering Specification [QTI, 02d].

Variable Manipulation

This refers to the process of aggregated scoring for the Section. This has been fully defined in V1.2 release of the specification - see the IMS QTI: ASI Outcomes Processing Specification [QTI, 02c].

7.3 Items

7.3.1 Elements and their Attributes

Itemmetadata

 

Only the qtimetadata element within the itemmetadata element should be used. This means that the IMS QTI-specific metadata for Items should be assigned using the vocabulary-based approach. This vocabulary is defined in Table 6.2 of the IMS ASI information Model [QTI, 02a]. An example of this approach is:


  <questestinterop>
      ...
    <item ident="***...***">
      ...
      <qtimetadata>
        <vocabulary uri="imsqtiv1p2_metadata.txt" vocab_type="text/plain"/>
        <qtimetadatafield>
          <fieldlabel>qmd_absolutescore_max</fieldlabel>
          <fieldentry>100</fieldentry>
        </qtimetadatafield>
        <qtimetadatafield>
          <fieldlabel> qmd_absolutescore_min</fieldlabel>
          <fieldentry>0</fieldentry>
        </qtimetadatafield>
        ...
      </qtimetadata>
      ...
    </item>
  </questestinterop>

Objectives

The objectives element should be used to define the objectives of the Item for each of the available actors. The objectives can include any type of content and so they can be presented in a wide range of forms. V1.1 includes support for flow-based content. The mechanism by which the objectives are displayed is beyond the scope of the IMS QTI specification.

Rubric

The rubric element should be used to present material that is to be applied to a set of the contained Items. These descriptions can be supplied for each view that is to be supported. The element <itemrubric> is a supported alternative (this is a legacy issue between version 1.0 and 1.01). V1.1 includes support for flow-based content. The rubric for the views 'All' and 'Participant' must be always be displayed. In cases where there is too much information to be displayed then some form of folding display mechanism should be used to allow the participant to readily access the information no matter what page there are viewing.


Itemcontrol

The itemcontrol element should be used to define the default conditions for the display of different types of feedback to users. The Item level definitions of the feedbackswitch, hintswitch and solutionswitch take precedence over all other levels of definition.

7.3.2 Groups of Elements

 

Response and Rendering Types

There are five basic response types, as listed in Section 3.2 of the IMS Q&TI Information Model. It is important to realise that the response-type is determined by the manner in which the response is to be internally processed. A single item can have more than one response-type i.e. to create a composite response-type. If a new type of response is identified then this can be added using the proprietary extension element response_extension. The classical multiple-choice and multiple response question types can all be supported using the response_lid element.

At present there are four rendering types: render_choice, render_hotspot, render_slider and render_fib. It is important to note that the rendering type is only loosely imposed by the response-type but it is closely linked to the educational objective of the question. If a new type of rendering is identified then this can be added using the proprietary extension element render_extension. The classical multiple-choice and multiple response question types can be supported using render_choice.

The set of response and render types gives rise to twenty available combinations. The inclusion of the cardinality and timing attributes means that there is a total of 140 possible combinations. It is not possible to inspect the type of response, rendering, cardinality and timning to automatically ascertain the type of question (if the question type is a required opiece of information then this should be supplied using the IMS QTI-specfific mete-data field 'qmd_questiontype'). This reverse engineering is not possible because some combinations can be used to support more than one type of question i.e. the reverse mapping is not isomorphic.

Flows

There are three elements that support the paragraphing/blocking capabilities within QTI, namely flow, flow_label and flow_mat. The manner in which the paragraphing/blocking is sustained is dependent upon the display engine but it is assumed that these display engines process each of these elements and the many ways in which they are combined in a consistent manner. It is expected that the display engine will be able to process flows distinctly from content that does not make use of them: it should not be assumed that every display engine is capable of such differentiation. We encourage implementers to develop their own 'class' attribute vocabularies and to inform IMS of these along with the layout rules they are used to guide.

Itemfeedback

The itemfeedback element contains the hint and solution elements and its contents are triggered using the displayfeedback element. The itemfeedback element can contain multiple sets of hints, solutions and standard feedback responses. Differentiation between these is achieved using the feedbacktype and feedbackstyle attributes. The former defines the type of feedback to be displayed (hint, solution or response) while the latter indicates how the feedback material is to be revealed e.g. incrementally, etc.

Variable Manipulation

The manipulation of the scoring variables declared in the outcomes/decvar combination is contained within the conditionvar element. The variable comparisons are made individually using the elements defined as varequal, etc. and the state of these comparisons can be inverted using the logical 'NOT' element. The analysis of the period of the response activity is supported using the durequal, etc. elements (an associated default variable is not assumed). This mechanism will be developed further in V2.0 of the specification. The combination of the individual varequal, etc. elements is possible using two techniques:

  • Implicit - the sequence of varequal, etc. elements within a conditionvar element is by definition an 'AND' condition. The usage of multiple conditionvar elements is also treated as an 'AND' condition. The 'OR' condition is achieved through the use of multiple respcondition elements. The sequence of these is equivalent to a logical inclusive 'OR' condition;
  • Explicit - the usage of the logical and and or elements that combine the outcomes of each separate comparison and combine them in one consolidated state declaration for the conditionvar element.

It is recommended that the Implicit approach be used whenever possible. This approach results in more interoperable code. Examples of both approaches are given in the files: ims_qtiv1p2/advanced/fibs_ir_101a.xml (usage of the and/or elements) and ims_qtiv1p2/advanced/fibs_ir_101b.xml (implicit approach).

 

The response processing variables are declared using the decvar element. Each implementation of the IMS QTI must generate a default integer variable called 'SCORE' whose default value is zero (the IMS ASI Outcomes Processing specification provides considerably more information on the set of default variables that should be declared for every named variable). This variable is used whenever a condition test is applied and the corresponding setvar does not include a particular variable name. When supporting the response processing there are two special conditions that need to be trapped:

  • When the response has not been answered - this can be supported using two techniques namely the unanswered element or the response_na element. The unanswered element is placed within conditionvar and is activated whenever that response has not been attempted. The response_na element is a proprietary extension facility that is hosted within the each of the rendering elements i.e. render_choice, render_hotspot, etc.
  • When none of the conditions within the conditionvar element are satisfied and so some catch-all state needs to be declared. This default state is captured using the other element. When included in the conditionvar then 'true' will be returned if none of the other conditions have been invoked (this does not mean being invoked when all of the tests return the false state or when no response is offered).

 

7.4 Object Banks

An object bank is a set of evaluation objects that are grouped together and exchanged in a QTI bundle labelled as a 'bank of objects'. This labelling is achived by assigning an object bank identifier using the ident attribute. At the current time it is only possible to reference the entire object bank (from within the selection_ordering element) and not an individual component within the bank. This mechanism means that it is possible to easily reference a large group of objects by grouping them as an object bank. At the current time an object bank can consist of any combination of Sections and/or Items. An object-bank can also have meta-data assigned to it using the qtimetadata element.

7.5 Aggregated Scoring and Response Processing

The QTI specifications support scoring at three levels:

  • Item - response processing;

 
  • Section - section processing (see [QTI, 02d]);
  • Assessment - assessment processing (see [QTI, 02d]).

The response processing for Items is rich in features and as such it can support a very wide range of response-types. In the IMS QTI Information Model [QTI, 02a] the cardinality of the responses is described in Figure 3.1 and consists of 'Single', 'Multiple' and 'Ordered' responses. The relationship between these, the five core response-types (response_lid, etc.) and the types of question are shown in Table 3.1 of the same document [QTI, 02a]. This gives rise to the data set as described in Section 4.2 of the IMS QTI Information Model, and this set must be held internally by the test engine. It is this sequence of responses that is then applied to the response processing to determine the correctness or otherwise of the response, the corresponding scoring and the subsequent feedback (if any).

A key question is how the test engine is to decide the class of responses and their subsequent response processing i.e. how does an implementation ascertain the sequence in which the response tests are to be applied to an Item that expects multiple responses. Consider the most simple case of a single response multiple choice question, "Which is the first working day of the week ?". The V1.2 compliant XML QTI code is shown below:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<questestinterop>
  <item title="Single response" ident="A">
    <presentation label="BasicExample002a">
      <flow>
        <material>
          <mattext>Which is the first working day of the week ?</mattext>
        </material>
        <response_lid ident="Mcb_01" rcardinality="Single" rtiming="No">
          <render_choice>
            <response_label ident="A">
              <material><mattext>Saturday</mattext></material>
            </response_label>
            <response_label ident="B">
              <material><mattext>Monday</mattext></material>
            </response_label>
            <response_label ident="C">
              <material><mattext>Wednesday</mattext></material>
            </response_label>
            <response_label ident="D">
              <material><mattext>Tuesday</mattext></material>
            </response_label>
            <response_label ident="E"> 
              <material><mattext>Sunday</mattext></material>
          </response_label>
            <response_label ident="F"> 
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
              <material><mattext>Friday</mattext></material>
          </response_label>
            <response_label ident="G"> 
              <material><mattext>Thursday</mattext></material>
          </response_label>
          </render_choice>
        </response_lid>
      </flow>
    </presentation>
    <resprocessing>
      <outcomes><decvar/></outcomes>
      <respcondition title="Correct">
        <conditionvar>
          <varequal respident="Mcb_01">B</varequal>
        </conditionvar>
        <setvar action="Set">1</setvar>
        <displayfeedback feedbacktype="Response" linkrefid="Correct"/>
      </respcondition>
    </resprocessing>
    <itemfeedback ident="Correct" view="Candidate">
      <flow_mat>
        <material>
          <mattext>Yes, you are right.</mattext>
        </material>
      </flow_mat>
    </itemfeedback>
  </item>
</questestinterop>

The response processing test on line 39 does the check to see if the response has been 'Monday', the correct answer. The system is aware that a single response is required because of the value in line 8 of the rcardinality attribute i.e. 'Single'.

The next stage is to consider a multiple response Item in which five responses are required. The question is "Which days are NOT the week-end ?". The resulting QTI XML code is shown below:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<questestinterop>
  <item title="Multiple responses" ident="B">
    <presentation label="BasicExample002a">
      <flow>
        <material>
          <mattext>Which days are NOT the week-end ?</mattext>
        </material>
        <response_lid ident="Mcb_01" rcardinality="Multiple" rtiming="No">
          <render_choice>
            <response_label ident="A">
              <material><mattext>Saturday</mattext></material>
            </response_label>
            <response_label ident="B">
              <material><mattext>Monday</mattext></material>
            </response_label>
            <response_label ident="C">
              <material><mattext>Wednesday</mattext></material>
            </response_label>
            <response_label ident="D">
              <material><mattext>Tuesday</mattext></material>
            </response_label>
            <response_label ident="E"> 
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
              <material><mattext>Sunday</mattext></material>
          </response_label>
            <response_label ident="F"> 
              <material><mattext>Friday</mattext></material>
          </response_label>
            <response_label ident="G"> 
              <material><mattext>Thursday</mattext></material>
          </response_label>
          </render_choice>
        </response_lid>
      </flow>
    </presentation>
    <resprocessing>
      <outcomes><decvar/></outcomes>
      <respcondition title="Correct">
        <conditionvar>
          <and>
            <varequal respident="Mcb_01">B</varequal>
            <varequal respident="Mcb_01">C</varequal>
            <varequal respident="Mcb_01">D</varequal>
            <varequal respident="Mcb_01">F</varequal>
            <varequal respident="Mcb_01">G</varequal>
          </and>
        </conditionvar>
        <setvar action="Set">1</setvar>
        <displayfeedback feedbacktype="Response" linkrefid="Correct"/>
      </respcondition>
    </resprocessing>
    <itemfeedback ident="Correct" view="Candidate">
      <flow_mat>
        <material>
          <mattext>Yes, you are right.</mattext>
        </material>
      </flow_mat>
    </itemfeedback>
  </item>
</questestinterop>


The response processing test on lines 40-44 (inc.) do the check to see if the responses are 'Monday', 'Tuesday', 'Wednesday', 'Thursday' and 'Friday', the correct answer. The system is aware that several responses are required because of the value in line 8 of the rcardinality attribute i.e. 'Multiple'. The key point to note is that the set of responses must be checked against the list of responses without relying on the order of the responses or the sequence in which the tests are applied - remember this is a 'Multiple' response only and NOT an 'Ordered' one. In the conditionvar element (lines 38-46) all of the tests MUST be true for the setvar condition to be triggered (line 42).

 

The final stage is to consider an ordered response Item in which seven responses in the right order are required. The question is "Give the correct order of the days of the week starting with Sunday ?". The resulting QTI XML code is shown below:



1
2
3
4
5
6
7
8
<questestinterop>
  <item title="Multiple ordered response" ident="C">
    <presentation label="BasicExample002a">
      <flow>
        <material>
          <mattext>What is the correct order of the days of the week 
               starting with Sunday ?
          </mattext>
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
        </material>
        <response_lid ident="Mcb_01" rcardinality="Ordered" rtiming="No">
          <render_choice>
            <response_label ident="A">
              <material><mattext>Saturday</mattext></material>
            </response_label>
            <response_label ident="B">
              <material><mattext>Monday</mattext></material>
            </response_label>
            <response_label ident="C">
              <material><mattext>Wednesday</mattext></material>
            </response_label>
            <response_label ident="D">
              <material><mattext>Tuesday</mattext></material>
            </response_label>
            <response_label ident="E"> 
              <material><mattext>Sunday</mattext></material>
        </response_label>
            <response_label ident="F"> 
              <material><mattext>Friday</mattext></material>
          </response_label>
            <response_label ident="G"> 
              <material><mattext>Thursday</mattext></material>
          </response_label>
          </render_choice>
        </response_lid>
      </flow>
    </presentation>
    <resprocessing>
      <outcomes><decvar/></outcomes>
      <respcondition title="Correct">
        <conditionvar>
          <varequal respident="Mcb_01" index="1">E</varequal>
          <varequal respident="Mcb_01" index="2">>B</varequal>
          <varequal respident="Mcb_01" index="3">>D</varequal>
          <varequal respident="Mcb_01" index="4">>C</varequal>
          <varequal respident="Mcb_01" index="5">>G</varequal>
          <varequal respident="Mcb_01" index="6">>F</varequal>
          <varequal respident="Mcb_01" index="6">>A</varequal>
        </conditionvar>
        <setvar action="Set" >1</setvar>
        <displayfeedback feedbacktype="Response" linkrefid="Correct"/>
      </respcondition>
    </resprocessing>
    <itemfeedback ident="Correct" view="Candidate">
      <flow_mat>
        <material>
          <mattext>Yes, you are right.</mattext>
        </material>
      </flow_mat>
    </itemfeedback>
  </item>
</questestinterop>

 

The response processing tests on lines 41-47 (inc.) do the check to see if the responses are 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday' and 'Saturday', the correct answer. The system is aware that several responses are required in the correct order because of the value in line 10 of the rcardinality attribute i.e. 'Ordered'. The key point to note is that the set of responses must be checked against the list of responses in the order as defined by the attribute index on the test instruction (varequal). The usage of the index attribute allows partially ordered sequences to be tested. In the conditionvar element (lines 40-48) all of the tests MUST be true for the setvar condition to be triggered (line 49).

7.6 IMS Harmonization

7.6.1 IMS Meta-data

 

The IMS QTI has its own set of specific meta-data that is contained within the data structures themselves i.e. the ASIs. This meta-data vocabulary has been given its own set of names, all of which start with the characters 'qmd_' thereby ensuring there is no clash with any of the IMS Meta-data, IEEE LOM or Dublin Core elements. These IMS QTI specific meta-data elements are designed to add value to the current IMS Meta-data Specifications; both techniques should be used to complement each other.

The association of the IMS Meta-data with the appropriate IMS QTI core data object can only be supported using the IMS Content Packaging mechanism [CP, 01a], [CP, 01b], [CP, 01c]. The IMS Content Packaging specification allows IMS Meta-data to be assigned to any resource and so the appropriate IMS QTI object should be defined as a Content package resource. The granularity of the allocation of the meta-data using the IMS Content Packaging mechanism is determined by the actual resource allocation and so it is not possible to define an Assessment as a resource and then assign IMS Meta-data to any contained Section and/or Item.

The recommended way of building assigning IMS Meta-data to an Assessment and all of its contained Sections and Items is to define every object as its own resource. Each of these resources should then have the corresponding meta-data entries assigned. All of the Assessments and Sections should refer to all of their contained objects using the sectionref and itemref elements - it is these referenced objects that are contained in the same Content Package. This approach ensures that none of the object hierarchy, selection and ordering, and outcomes processing capabilities are compromised while allowing optimal meta-data labelling thereby promoting reusablility and searchability of the component evaluation objects.

7.6.2 IMS Content Packaging

The IMS Content Packaging specification is to be used for the packaging of a QTI instance both in terms of a single instance and the the aggregation of several instances. Consider the following use-case required by the QTI in which the QTI-XML instances for three assessments are to be packaged:

  • The sets of assessment have to be created i.e. in the files 'assess1.xml', 'assess2.xml' and 'assess3.xml. In each case the assessment has three associated files - a meta-data file and other material files (See Figure 7.1).

The issue becomes one of ensuring that when these three assessment sets are packaged together so that there is no name clash between:

  • The 'image1.gif' files from assessments '1' and '2';
  • The 'image2.jpg' files from assessments '2' and '3'.

The IMS Content Packaging requires that all of the packaged fields are uniquely named i.e. an explicit file directory structure has to be used to ensure that file clashes do not occur when creating the packaging manifest. The actual example is the XML used to refer to the 'image1.gif' files references in the XML instances for learner '1' and '2'.

 

Figure 7.1 Schematic representation of the files to be packaged.

The original partial XML could be of the form:

Assessement '1' - original XML instance:

  <material>
    <matimage mimetype="image/gif" encoding="uri">image1.gif</matimage>
  </material>

Assessment '2' - original XML instance:

  <material>
    <matimage mimetype="image/gif" encoding="uri">image1.gif</matimage>
  </material>

There are two possible solutions to this problem. The first requires that a naming convention including directory names is implemented. This would mean that the two examples above now become:

Assessement '1' - original XML instance:

  <material>
    <matimage mimetype="image/gif" encoding="uri">assessment1/image1.gif</matimage>
  </material>

Assessment '2' - original XML instance:

  <material>
    <matimage mimetype="image/gif" encoding="uri">assessment2/image1.gif</matimage>
  </material>

The two files now have different names and so no clash occurs. The name can include any level of directories. The issue now becomes one of ensuring that the directory structures ensure a uniquely named path.

 

The alternative method is to make use of the xml:base feature in the Content Packaging specification. This allows a base reference name to be assigned to an identified set of resources. In the case of Figure 7.1, there are nine resources split into three groups. Each group is allocated its own xml:base (this is equivalent to assigned a logical directory to the group that contains all of the related resources) and so name clashes are now avoided. It is this approach that is recommended by the IMS [IMS, 01b].

When using the IMS Content Packaging mechanism it is recommended that all of the Items and Sections as well as the Assessment are stored as their own resource (these can then have their own IMS Meta-data labelling). The Assessment and Section(s) should then use the sectionref and itemref elements to link to the externally stored objects.

7.6.3 IMS Learner Information Package

 

Version 1.0 of the IMS Learner Information Package (LIP) was released in March 2001 [LIP, 01a], [LIP, 01b], [LIP, 01c]. It contains a mechanism for exchanging an individual's summary results obtained from some form of evaluation. V1.2 of the IMS QTI also addresses this issue supports at the exchange of detailed results as well as summary results [QTI, 02e], [QTI, 02f], [QTI, 02g]. The IMS LIP mechanism is generic and so ASIs are only one possible source of summary results. The IMS QTI Results Reporting mechanism should be used to exchange results information between assessment systems whereas the reporting of information for personal profiles needs should use the IMS LIP mechanism.

7.6.4 IMS Accessibility

At the current time the amendments made to enhance support for accessibility are:

  • The material element has been changed to support multiple altmaterial elements. Each altmaterial is now permitted to contain the same information but in a different language.

For further study.

7.6.5 IMS Sequencing

At the current time theIMS Sequencing working-group is looking extending the IMS Content Packaging specification to support content sequencing. When this specification has been released the implications for the IMS QTI specification will be addressed.

For further study.

7.7 Naming Conventions

7.7.1 Identities and Labels

 

Many elements within the IMS QTI specifications require unique identities and labels. Uniqueness is particularly important when importing from multiple sources. The earlier version of the QTI specification (V1.1) recommended a 32-character naming convention. A new approach is now recommended that makes use of the IMS Persistent, Location-Independent Resource Identifier [IMS, 01a]. This recommendation is based upon the following structure:

 

 
URN:<nid>:<nss>
Where:
 

 

 
<nid> = Namespace identifier

 

 
= IMS-PLIRID-V1

 
<nss> = Namespace specific string

 

 
= <sourcelabel>:<sourceidentifier>:<schemelabel>:<schemeidentifier>

 

 
= ABCDEFGH:abcdefghijklmnop:qtiv1p2:?-***...***

 
in which:
 

 
  • 'ABCDEFGH' denotes the 1-8 character code for the organization responsible for creating the names/labels;

 
  • 'abcdefghijlkmnop' is the 1-16 character identifier assigned to the organization responsible for creating the names/labels;

 
  • 'qtilitev1p2' is the IMS specification and release version identifier for IMS QTILite;

 
  • '?' is either 'A' for Assessment, 'S' for Section, 'I' for Item or 'B' for Object-bank;

 
  • '***...***' is the 1-16 character code for the name/label of the object itself.
An example of this for an assessment identifier created by 'ETS' under the Q&TI v1.2 specification is:

 
URN:IMS-PLIRID-V1:ETS:23459:qtilitev1p2:I_TESTITEMv001
Therefore, we request that organizations wishing to create proprietary extensions register their 1-8 letter organization identifier with IMS so that IMS can ensure a unique set of identifier names.

 

Note: that there is no restriction on the charaters that can be used to form the identifier.

7.7.2 Proprietary Extensions

There are several places where proprietary extensions are made possible. It would be useful if an appropriate naming convention for these extensions can be agreed and followed by the different organisations that will wish to make them.

It is proposed that all of the proprietary elements created having the following naming convention (the elements should conform to the W3C XHTML specification in which all elements and attributes use lower-case characters.):

x_abcdefgh_v****:lmn...xyz

Where:

    • 'x_' denotes the fact that the element is a proprietary extension;
    • 'abcdefgh' is the 1-8 character code for the organisation responsible for creating the proprietary extension (this would be the same as the code assigned for the identifier and label naming convention);
    • 'v****' is the three character code identifying the version of the specification to which the extension conform i.e. 1p0, 1p01, 1p1, 1p2 etc;
    • 'lmn...xyz' denotes the name given to the proprietary extension itself.

An example of the naming convention for a new rendering element within IMS QTI version 1.0 by Question Mark Corporation becomes: <render_extension (x_qusmarkc_v01:synthspeech)>. (Note that the usage of the 'QUSMARKC' identifier is a fictional allocation used for the purposes of the example.)

The usage of the ':' implies that name-spacing could also be used. The usage of namespaced extension names is encouraged but not mandated.

7.8 Scoping Rules

7.8.1 Identities and Labels

Scoping within XML is very limited. It is possible to create globally unique identifiers within a file by using the 'ID' attribute and reference to these elements is possible through the usage of 'IDREF' and 'IDREFs'. During the development of the Q&TI specification this global uniqueness was considered too constraining and so the scoping rules listed in Table 7.1 should be followed whenever possible:

 

Table 7.1 Scoping rules for identifiers3.

 
Identifier Name
Role of the Identifier
Scoping Rule
objectbank The unique identifier for the bundled object-bank. This should be globally unique.
assessment Identifier for each Assessment. Should be unique to the organisation creating it.
section Identifier for each Section. Unique across the Assessment and for all sections within a Section. Should be unique to the organisation creating it.
item Identifier for each Item. Unique across the Assessment and Sections that contain or reference it. Should be unique to the organisation creating it.
assessfeedback Identifier for each of the Assessment-level feedback responses given to the users. Unique within the Assessment-level elements.
sectionfeedback Identifier for each of the Section-level feedback responses given to the users. Unique within the Section-level elements.
itemfeedback Identifier for each of the Item-level feedback responses given to the users. Unique within the Item-level elements.
response_lid Identifier for the response_lid response-type. This identifier is used to link the response supplied by the user and the corresponding response processing. This identifier must be unique across all of the five response_lid, etc. elements.
response_num Identifier for the response_num response-type. This identifier is used to link the response supplied by the user and the corresponding response processing. This identifier must be unique across all of the five response_lid, etc. elements.
response_str Identifier for the response_str response-type. This identifier is used to link the response supplied by the user and the corresponding response processing. This identifier must be unique across all of the five response_lid, etc. elements.
response_xy Identifier for the response_xy response-type. This identifier is used to link the response supplied by the user and the corresponding response processing. This identifier must be unique across all of the five response_lid, etc. elements.
response_grp Identifier for the response_grp response-type. This identifier is used to link the response supplied by the user and the corresponding response processing. This identifier must be unique across all of the five response_lid, etc. elements.
response_label Identifier for each of the possible responses to be made by the user. This identifier is used as part of the respcondition element processing within each resprocessing element. This identifier must be unique within the render_*** element it is used.
material Identifier for the full material block. This identifier is attached using the label attribute because not all material blocks need to be uniquely identified. This allows the material block to be defined once and then referenced from many locations using the material_ref element. This identifier must be unique to all of the material blocks used within the entire structure.
mattext Identifier for text-based material. This identifier is attached using the label attribute because not all mattext entries need to be uniquely identified. This allows the text to be defined once and then referenced from any other location using the matref element. This identifier must be unique to all of the mattext, etc. elements used internally or from the Section and Item pool.
matemtext Identifier for text-based material. This identifier is attached using the label attribute because not all matemtext entries need to be uniquely identified. This allows the text to be defined once and then referenced from any other location using the matref element. This identifier must be unique to all of the matemtext, etc. elements used internally or from the Section and Item pool.
matimage Identifier for image-based material. This identifier is attached using the label attribute because not all matimage entries need to be uniquely identified. This allows the image to be defined once and then referenced from any other location using the matref element. This identifier must be unique to all of the matimage, etc. elements used internally or from the Section and Item pool.
mataudio Identifier for audio-based material. This identifier is attached using the label attribute because not all mataudio entries need to be uniquely identified. This allows the audio to be defined once and then referenced from any other location using the matref element. This identifier must be unique to all of the mataudio, etc. elements used internally or from the Section and Item pool.
matvideo Identifier for video-based material. This identifier is attached using the label attribute because not all matvideo entries need to be uniquely identified. This allows the video to be defined once and then referenced from any other location using the matref element. This identifier must be unique to all of the matvideo, etc. elements used internally or from the Section and Item pool.
matapplication Identifier for application-based material. This identifier is attached using the label attribute because not all matapplication entries need to be uniquely identified. This allows the application to be defined once and then referenced from any other location using the matref element. This identifier must be unique to all of the matapplication, etc. elements used internally or from the Section and Item pool.
matapplet Identifier for applet-based material. This identifier is attached using the label attribute because not all matapplet entries need to be uniquely identified. This allows the applet to be defined once and then referenced from any other location using the matref element. This identifier must be unique to all of the matapplet, etc. elements used internally or from the Section and Item pool.

8. Proprietary Extensions

The proprietary extensions facilities listed in Table 8.1 are supported as elements within the specifications:

 

Table 8.1 List of proprietary extension elements.

 
Extension Element Name
Host Element
Description
assessproc_extension assessment Inclusion for alternative Accumulated Assessment level response processing as distinct from that supported in the defined assessprocessing element.
itemproc_extension item Inclusion for alternative Item level response processing algorithms as distinct from that supported in the defined resprocessing element.
mat_extension material Inclusion for styles of material that cannot be supported using the supplied elements of mattext, matemtext, matvideo, matimage, mataudio, matapplet and matapplication.
render_extension response_lid, response_xy, response_str, response_num, response_grp. Inclusion for styles of Item rendering that cannot be supported using the current elements: render_choice, render_hotspot, render_slider and render_fib.
respcond_extension resprocessing An alternative to the defined respcondition element that is responsible for the conditions applied to the activated response.
response_extension presentation Inclusion of an alternative Response format as distinct from the elements defined: response_lid, response_xy, response_str, response_num, response_grp.
response_na render_choice, render_hotspot, render_slider, render_fib. Inclusion of an alternative processing mechanism to the unanswered element.
sectionproc_extension section Inclusion for alternative Section level accumulated processing as distinct from that supported in the defined sectionprocessing element.
var_extension conditionvar Inclusion of alternative condition tests that can be applied to the user responses for an Item.

Note: These elements are only used if the suppliers of the ASIs require proprietary features that are not supported by the available range of elements. It is recommended that these elements are used sparingly. Backwards compatibility with proprietary extensions will NOT be guaranteed in future versions of these specifications.

The extension features for 'Outcomes Processing' and 'Selection & Ordering' are described in the corresponding specifications.

9. V1.x/V2.0 Issues & Compatibility

The elements listed in Table 9.1 are used to indicate where new functionality will be added in V2.0 of the specifications:

 

Table 9.1 List of V1.x/V2.0 specific elements.

 
Extension Element Name
Host Element
Description
durequal conditionvar Equivalence test for the time taken to produce the response.
durgt conditionvar Greater than test for the time taken to produce the response.
durgte conditionvar Greater than or equal to test for the time taken to produce the response.
durlt conditionvar Less than test for the time taken to produce the response.
durlte conditionvar Less than or equal to test for the time taken to produce the response.
itempostcondition item Postconditions to be applied to test the conditions under which the next Item can be activated.
itemprecondition item Preconditions to be applied to test if the Item can be activated.
sectionpostcondition section Postconditions to be applied to test the conditions under which the next Section can be activated.
sectionprecondition section Preconditions to be applied to test if the Section can be activated.

Note: The structure of these elements will change in V2.0 of these specifications. Their main role is to indicate the type of functions to be included in later releases of these specifications and as such vendors are encouraged NOT to make use of these in V1.0, V1.1 and V1.2 implementations.

9.1 Function Requirements

 

The functional developments to be considered in V2.0 are:

  • An adaptive integrated scoring model across the assessment, section and item data structures. The adaptive nature is defined as a dependence on the responses obtained from the user. This model will allow a variety of adaptive aggregation methods between Sections and Items, and Assessments and Sections;
  • Full provision for adaptive selection and ordering of sections and items. The adaptive nature is defined as a dependence on the responses obtained from the user. This will enable each Assessment to adaptively select and order the Sections within it, each Section to select and order the Sections, and Section to select and order the Items within it.

9.2 Constraints

 

The constraints to be applied to the V2.0 specifications are:

  • The core functions of the V1.x specifications will be maintained and may be compatible with the new functionality supplied within V2.0. The exceptions are (no form of compatibility is guaranteed):
    • The extension features described within V1.x
    • The V1.x/V2.0 features described in V1.0, V1.1 and V1.2

The only changes to the DTD for Items will be the addition of optional tags for the new features. Items exported from software compliant with the V1.x DTD will be able to be imported without change into software that is compliant with the V2.0 specifications.

  • Items as defined and implemented under the IMS QTI V1.0, V1.1 and V1.2 specifications MAY operate in the same manner in the V2.0 specifications;
  • V1.0 and V1.1 Sections and Assessments do not conform to the V1.2 equivalents. This is due to the completion of the selection and ordering, and outcomes processing features which alter the structure of Sections and Assessments;
  • The IMS QTILite V1.1 and V1.2 specifications do not conform to the IMS QTI V1.0 specification. The QTILite specification includes the new blocking structures i.e. the elements flow, flow_label and flow_mat, introduced in V1.1. The alternative approach avoiding the usage of these elements is not available. QTILite has been structured to ensure that the best practice for the construction of Items is compulsory.

9.3 Compatibility Map

 

The compatibility between all of the current QTI specifications is shown in Figure 9.1. At the current time four versions of the full QTI specification have been released and two versions of the QTILite. Figure 9.1 shows that any 'Item' instance file created under versions 1.0, 1.01 and 1.1 are fully compatible with version 1.2. From the QTIlite perspective, any instances created under V1.1 are not backwards compatible. QTILite V1.1 and V1.2 instances are compatible. All QTILite instances are fully compatible with full QTI V1.1 and V1.2.

In the case of QTI V1.2 the Sections and Assessments are not backwards compatible with earlier versions of the specification. This is because:

  • Selection and ordering capabilities have been included within Assessments and Sections;
  • Outcomes processing capabilities have been included within Assessments and Sections;
  • Reference and presentation materials storage capabilities have been added to Assessments and Sections.

Also note that V1.2 objects are NOT backwards compatible with any of the other versions. This is because features have been added within V1.2 to support accessibility, namely:

  • The <material> element can now contain multiple <altmaterial> elements (previously this was limited to a single occurrence at most). These new instances can also be different language equivalents to the defined material.

In the case of results reporting, this can be used to capture the results from any object defined in QTI ASI V1.0, V1.01, V1.1 and V1.2, as well as for QTILite V1.1 and V1.2 [QTI, 02e], [QTI, 02f], [QTI, 02g].

Compatibility representation of the set of released QTI specifications

 

Figure 9.1 Compatibility representation of the set of released QTI specifications.

10. Conformance

The purpose of this statement is to provide a mechanism for customers to fairly compare vendors of assessment systems, tools and content. It is not required for a vendor to support every feature of the IMS QTI specification, however, a vendor must detail their level of support with a "Conformance Statement". For example vendors may choose to accept or publish QTI data, but not choose to repackage QTI data. Compliance is determined through two documents:

  • Conformance summary - this is a summary that shows, in colloquial terms, the capabilities of a particular implementation with respect to the IMS QTI specification;
  • Interoperability statement - this is a detailed technical checklist that identifies all of the feature capabilities of the implementation in terms of the QTI specification functions.

10.1 Valid Data Issues

Vendors claiming conformance shall publish, accept, and/or repackage valid IMS QTI data as defined by the DTD including proprietary extensions where applicable. Vendors claiming their tools publish QTI shall export valid IMS QTI data. Vendors claiming their system tools accept IMS QTI data shall be able to parse and recognize valid IMS QTI data. Vendors claiming their system tools repackage IMS QTI data shall be able "pass through" valid IMS QTI data whether the tool recognizes the optional elements or not. Vendors claiming their assessment content conforms to this specification shall provide valid IMS QTI data. Publishers claiming their content conforms to IMS QTI shall provide valid IMS QTI data.

10.2 Conformance Summary

Vendors claiming conformance must provide a "Conformance Summary", detailing their level of conformance, substantially similar to the information shown below, upon a reasonable request from a member of the IMS or a prospective customer(s). It is expected that this table is a summary of the information given in the 'Interoperability statement'. The intention is for the 'Conformance Summary' to be informative in nature. Completion of the three columns is intended to reflect:

  • Publish - this implies that the XML instance contains the identified elements. If such an element is not ticked then it will not occur within the exported QTI-XML instance(s);
  • Accept - it is assumed that the ability to accept the contents of an element is accompanied by the ability to use, and if appropriate, display that content. If this is not the case but the content of the material can be exported then the 'Repackage' column can still be ticked;
  • Repackage - this is the ability to import QT-XML instances from one or more sources and to create a new instance that combines the imported information. It is not necessary for the repackaging system to be able to operate on the information supplied.

10.3 Interoperability Statement

The 'Interoperability Statement' addresses support for the various elements within the binding. The set of attributes are not considered. Inclusion of conformance with respect to attributes will be considered in later versions of the specification.

10.4 Completing a Conformance Summary

There is a close relationship between the 'Conformance Summary' and the 'Interoperability Statement'. The guidelines for completing these tables are:

  • Any entry of 'Y' in the 'Object-bank level support' part of the 'Conformance Summary' should be reflected by the accompanying 'Object-bank Interoperability Statement'. The 'Conformance Summary' gives details on the 'Meta-data', 'Section' and 'Item' parts only of the 'Interoperability Statement';
  • Any entry of 'Y' in the 'Assessment level support' part of the 'Conformance Summary' should be reflected by the accompanying 'Assessment Interoperability Statement'. The 'Conformance Summary' gives details on the 'Meta-data', 'Objectives', 'Rubric', 'Feedback' and 'Score Processing' parts only of the 'Interoperability Statement';
  • Any entry of 'Y' in the 'Section level support' part of the 'Conformance Summary' should be reflected by the accompanying 'Section Interoperability Statement'. The 'Conformance Summary' gives details on the 'Meta-data', 'Objectives', 'Rubric', 'Feedback' and 'Score Processing' parts only of the 'Interoperability Statement';
  • An Assessment must contain a Section and so support for Assessments must result in completion of both the Assessment and Section parts of the tables;
  • Any entry of 'Y' in the 'Item level support' part of the 'Conformance Summary' should be reflected by the accompanying 'Item Interoperability Statement';
  • It is the combination of answers under the 'Presentation' element within the 'Item' tables that dictate the type of questions that are supported as indicted in the 'Conformance Summary'. The key combinations required for the type of questions is:
    • Multiple-choice (including true/false) and multiple response questions require the 'response_lid' and 'render_choice' elements to be supported. Other possible renderings are 'render_slider' or 'render_hotspot'
    • Fill-in-blank and short answer questions require the 'response_str' and 'render_fib' elements to be supported
    • Numeric questions require the 'response_num' element to be supported. The rendering elements of either 'render_fib' or 'render_slider' must be supported
    • Image hot spot questions require the 'response_xy' and 'render_hotspot' elements to be supported
  • Support for response processing within an Item requires all of the 'resprocessing' sub-elements to be supported;
  • If Items can support content based upon applets and/or embedded applications then the 'Other' part of the 'Material Content' of the 'Conformance Summary' must be answered as 'Y';
  • The features that are subject to proprietary interpretation at the current time are: 'itemprecondition', 'itempostcondition', 'sectionprecondition' and 'sectionpostcondition', 'sectionselection', 'sectionsequence', 'itemselection', and 'itemsequence';
  • Backwards compatibility from V1.2 to V1.1 to V1.01 and V1.0 is limited by:
    • The 'qtimetadata' element within the 'assessmentmetadata', 'sectionmetadata' and 'itemmetadata' elements was introduced in V1.1
    • The 'rubric' element was introduced to Assessments, Sections and Items in V1.01
    • The 'flow', 'flow_mat' and 'flow_label' elements were introduced in V1.1. The lack of support for 'Flow' within the 'Conformance Summary' means that V1.1 Items are not supported
    • Emphasised text was introduced as part of the V1.1 revisions

 
    • The introduction of the 'reference', 'presentation_material', 'selection_ordering' and 'outcomes_processing' elements in V1.2 for Assessments and Sections
    • The removal of the 'assessmetadata' and 'sectionmetadata' elements from the 'assessment' and 'section' elements respectively for the V1.2
    • Support for multiple instances of the 'altmaterial' element with the 'material' element
    • The restructuring of the 'assesment' and 'section' data objects;
  • All of the extension features within the 'Interoperability Statement' tables are proprietary. If these are used then an explanatory footnote describing the nature and significance of the extension should be supplied;
  • It is important that the 'Interoperability Statement' is clear in showing what is and, perhaps more importantly, what is not supported. The usage of descriptive conformance approach has been adopted to encourage vendors to be as clear as possible when describing the capabilities of their QTI-compliant systems.

10.5 An Example Conformance Statement

Table 10.1 shows an example Conformance Summary.

 

Table 10.1 Example conformance summary.

 
 
Conformance Summary (Version 1.2)
 
Publish
(export, data)
Accept
(import, display)
Repackage Feature

Object-bank level support

N
N
N

Assessment level support

N
N
N

Section level support

N
N
N

Items supported

N
Y
N
Metadata
N
Y
N
Question types
N
Y
N
Multiple choice
-
Y
-
Drag and Drop
-
N
-
Fill in the Blank
-
Y
-
Image Hot Spot
-
Y
-
Objectives & Rubric
N
Y
N
Flow
N
Y
N
Response processing
N
Y
N
Feedback
N
Y
N
Hints & Solutions
N
Y
N
Material Content
N
Y
N
Text
N
Y
N
Emphasised text
N
Y
N
Image
N
Y
N
Video
N
N
N
Audio
N
N
N
Other
N
N
N


The system that is described by this summary has the following capabilities:

  • It imports QTI-XML instances only i.e. not exporting or repackaging;
  • It imports Items only i.e. Assessments and Sections can not be imported;
  • An Item can consist of multiple-choice (inc True/false and multiple response), FIB (short answer, numeric, string), drag-and-drop and image hot-spot.
  • Support for objectives, rubric, flows, response processing, feedback, hints and solutions is available for Items;
  • The content that can be handled includes text, emphasised text and images.

Appendix A - QTI XSDs, DTDs & XDRs

A1 - Overview

The Version 1.2 IMS Question & Test Interoperability XML Schema Definition (XSD) and Document Type Definitions (DTDs) are contained in a directory that has4:

  • xmla - the directory that contains all of the DTDs and XSDs in native XML Authority format. XML Authority (V2.2.1) is a product supplied by xtensibility Inc;
  • mac - the directory that contains all of the XSDs and DTDs in text file format. These text files are designed for usage with Macintosh systems;
  • ibm - the directory that contains all of the Xsds and DTDs in text file format. These text files are designed for usage with PC systems;
  • unix - the directory that contains all of the XSDs and DTDs in text file format. These text files are designed for usage with Unix systems.

The further directory structure under each of these directories is identical. This further structure is:

  • xsds
    • qticorencxsd - non-commented core XSD
    • qtifullxsd - full commented XSD
    • qtifullncxsd - full non-commented XSD
    • qtiitemncxsd - non-commented Item specific XSD
    • qtisectionncxsd - non-commented Section specific XSD
    • qtilitencxsd - non commented QTILite specific XSD
  • dtds
    • qticorencdtd - non-commented core DTD
    • qtifulldtd - full commented DTD
    • qtifullncdtd - full non-commented DTD
    • qtiitemncdtd - non-commented Item specific DTD
    • qtisectionncdtd - non-commented Section specific DTD
    • qtilitencdtd - non commented QTILite specific DTD

 

Within each of the XSD directories is the file: ims_qtiasiv1p2.xsd and within each of the DTD directories is the file: ims_qtiasiv1p2.dtd.

This approach means that's the different types of XSD/DTD can be applied without requiring any editing of the associated source XML files. The full directory structure is given in Appendix A of this file.

A2 - Features of the Different XSDs/DTDs/XDRs

The key features of the different XSD/DTD implementations are:

  • qtifullxsd/dtd - this is the full XSD/DTD with all of the corresponding comments. The comments correspond to those given in the IMS QTI ASI XML Binding Specification v1.2;
  • qtifullncxsd/dtd - this is the full XSD/DTD but with all of the comments removed. This makes the file smaller and it is easier to see the internal structure;
  • qticorencxsd/dtd - the core features of the XSD/DTD are as per the full versions but with ALL extension and Version 2.0 specific elements removed. This will ensure that the 'xml' files using this XSD/DTD will be compatible with future releases of the specification;
  • qtisectionncxsd/dtd - only those core elements that are used by the Section data structure are available. This means that ALL Assessment specific elements have been removed. This XSD/DTD is a further refinement of the core features;
  • qtiitemncxsd/dtd - only those core elements that are used by the Item data structure are available. This means that ALL Assessment and Section specific elements have been removed. This XSD/DTD is a further refinement of the core features;
  • qtilitencxsd/dtd - only those elements that support the QTILite specification are included. This can be considered as a constrained version of the qtiitemnc***.

A3 - Recommended Usage of the XSDs/DTDs

The recommended uses of the different XSDs/DTDs are:

  • Select the set of XSDs/DTDs that suit your system. All of the mac/unix/ibm text versions are derived from the XML Authority version and created using the BBEdit text processing application;
  • In most case only the non-commented versions need to be used. The fully commented files are intended to be informative;
  • The core set should be used if you are concerned with compatibility with later versions of the specification. However, this will prohibit the usage of proprietary extension features. The Version 2.0 specific elements are there to show where new developments to the specification are intended and you are recommended to AVOID using any xml files that require their inclusion;
  • The Section and Item specific XSDs/DTDs should be used if you intend to import/export only Sections and/or Items. These simpler files structures will also make it easier to understand the structure of the full and core XSDs/DTDs;
  • The QTILite version should be used as the initial approach when attempting to first use the specification. The minimal set of features is ideal for demonstrating the basic structure and approach of the QTI specification. Once mastered this provides an excellent basis for the usage of the more advanced features in the full specification.

A4 - Full Directory Structure

The full directory structure is:

 
xmla
xsds
qticorencxsd
ims_qtiasiv1p2.xsd
qtifullxsd
ims_qtiasiv1p2.xsd
qtifullncxsd
ims_qtiasiv1p2.xsd
qtiitemncxsd
ims_qtiasiv1p2.xsd
qtisectionncxsd
ims_qtiasiv1p2.xsd
qtilitencxsd
ims_qtiasiv1p2.xsd
dtds
qticorencdtd
ims_qtiasiv1p2.dtd
qtifulldtd
ims_qtiasiv1p2.dtd
qtifullncdtd
ims_qtiasiv1p2.dtd
qtiitemncdtd
ims_qtiasiv1p2.dtd
qtisectionncdtd
ims_qtiasiv1p2.dtd
qtilitencdtd
ims_qtiasiv1p2.dtd

 
mac
xsds
qticorencxsd
ims_qtiasiv1p2.xsd
qtifullxsd
ims_qtiasiv1p2.xsd
qtifullncxsd
ims_qtiasiv1p2.xsd
qtiitemncxsd
ims_qtiasiv1p2.xsd
qtisectionncxsd
ims_qtiasiv1p2.xsd
qtilitencxsd
ims_qtiasiv1p2.xsd
dtds
qticorencdtd
ims_qtiasiv1p2.dtd
qtifulldtd
ims_qtiasiv1p2.dtd
qtifullncdtd
ims_qtiasiv1p2.dtd
qtiitemncdtd
ims_qtiasiv1p2.dtd
qtisectionncdtd
ims_qtiasiv1p2.dtd
qtilitencdtd
ims_qtiasiv1p2.dtd

 
unix
xsds
qticorencxsd
ims_qtiasiv1p2.xsd
qtifullxsd
ims_qtiasiv1p2.xsd
qtifullncxsd
ims_qtiasiv1p2.xsd
qtiitemnc xsd
ims_qtiasiv1p2.xsd
qtisectionncxsd
ims_qtiasiv1p2.xsd
qtilitencxsd
ims_qtiasiv1p2.xsd
dtds
qticorencdtd
ims_qtiasiv1p2.dtd
qtifulldtd
ims_qtiasiv1p2.dtd
qtifullncdtd
ims_qtiasiv1p2.dtd
qtiitemncdtd
ims_qtiasiv1p2.dtd
qtisectionncdtd
ims_qtiasiv1p2.dtd
qtilitencdtd
ims_qtiasiv1p2.dtd
ibm
xsds
qticorencxsd
ims_qtiasiv1p2.xsd
qtifullxsd
ims_qtiasiv1p2.xsd
qtifullncxsd
ims_qtiasiv1p2.xsd
qtiitemncxsd
ims_qtiasiv1p2.xsd
qtisectionncxsd
ims_qtiasiv1p2.xsd
qtilitencxsd
ims_qtiasiv1p2.xsd
dtds
qticorencdtd
ims_qtiasiv1p2.dtd
qtifulldtd
ims_qtiasiv1p2.dtd
qtifullncdtd
ims_qtiasiv1p2.dtd
qtiitemncdtd
ims_qtiasiv1p2.dtd
qtisectionncdtd
ims_qtiasiv1p2.dtd
qtilitencdtd
ims_qtiasiv1p2.dtd

Appendix B - Glossary of Terms

B1 - Q&TI Elements and Attributes

action The action attribute is used by the setvar element to define the manner in which the identified variable is to be modified. The potential actions are: Set, Add, Subtract, Divide and Multiply. The default value is 'Set'.
altmaterial The altmaterial element is used to define alternative material that is to be presented should the original material be incompatible with the capabilities of the display system. While the altmaterial can support the same types as the material element it would normally be conservative in manner i.e. typically consist of text only as an alternative to video, etc. It can also be used to provide alternatives to the original material but in different language(s).
and The and element provides the mechanism by which multiple condition comparison elements (e.g. varequal, varlt, etc.) can be combined in the form of a logical 'and' condition. If each comparison element returns a 'True' state then the composite returned state is 'True' otherwise it is 'False'.
apptype The apptype attribute is used by the matapplication element to define the type of application to be invoked. The format of the string field for the apptype attribute is 'application/***' (the MIME format is to be used).
areatype The areatype attribute is used by the varinside element to define the type of area within which the location of the co-ordinate is to be tested. Three types of area are defined: ellipse (including the circle), rectangle (including the square) and a general bounded area.
assessfeedback The assessfeedback element is the sub-element of assessment that is responsible for containing the feedback material that is to be presented to the users. This feedback is triggered by the associated Assessment-level outcomes processing.
assessment The assessment element is one of the four primary interoperable data structures. An Assessment is equivalent to a test and as such it contains all of the information necessary to present, process and feedback information relevant to the Assessment. Assessments can be imported/exported.
assessmentcontrol The assessmentcontrol element is responsible for establishing the state of the available types of feedback with respect to the Assessment. Each of the hintswitch, feedbackswitch and solutionswitch attributes can be set as the default condition within the enclosed/referenced Sections and Items.
assessproc_extension The assessproc_extension element is a sub-element of the assessment element that provides a proprietary extension capability for alternatives to the supplied assessment level processing element assessprocessing.
audiotype This attribute is used in the mataudio element to define the type of audio file. The file type is assumed to take the form of 'audio/***' where '***' is indicative of the file source e.g. 'aicc' etc (the MIME format is to be used). The mapping of this to an actual file type is beyond the scope of this specification and will be vendor specific.
case The case attribute is used to define if the response evaluation processing tests have to be case sensitive or not. The default value is 'No'.
charset The charset attribute is used to define the character set that is to be used for the text presentation. The character set is typically described in the string form such as 'ascii/us' that defines the repertoire.
class The class attribute is used by the flow, flow_label and flow_mat elements. It is used to define the nature of the block - the possible values are determined using an external vocabulary contained in the file 'ims_qti_flowvocabulary.html'. The default value is 'Block' but 'List' is another common value.
columns The columns attribute is used by the render_fib element to indicate the maximum number of text columns within which a user can type their answer. This attribute is normally used when a free-form short answer or essay type of response is expected.
conditionvar This element contains the set of conditions that are to be applied to the user responses. Two mechanisms are possible for logical operations i.e. implicit and explicit. The explicit mechanism requires the usage of the and and or elements whereas the implicit approach assumes the elements contained with the conditionvar element are combined using the logical AND.
continue The continue attribute is used to control the flow of the response processing for each of the data structures. It is applied to the respcondition and scorecondition elements. When the attribute is set as 'No' then the condition processing terminates if that condition has been evaluated as 'True'.
cutvalue The cutvalue attribute is used to define the value for a score above which the participant is declared to have achieved mastery. This is an attribute to the decvar element.
decvar The decvar element is used to declare the variables that are to be required to support the ASI scoring models. The integer variable 'SCORE' is the default declaration with a value of zero. The name, type and default value of the variables is determined by the varname, vartype and defaultval attributes.
defaultval The defaultval attribute is used by the decvar element to define the start value for the variable. This value is bounded by the minvalue and maxvalue attributes, when used. The type of value is determined by the type of variable declared i.e. it should conform to the vartype attribute as used by the decvar element.
displayfeedback The displayfeedback element is the trigger for the presentation of feedback to the users. The type of feedback to be displayed is determined by the feedbacktype attribute. The linkrefid attribute is used to identify the element containing the feedback.
duration The duration element is used within the item, section and assessment elements to define the permitted duration for the enclosed activity. The duration is defined as the period between the activity's activation and completion. The ISO 8601 format is used: PnYnMnDTnHnMnS.
durequal The durequal element is the equivalence test for the time taken to produce the response. This element will be further developed as part of the V1.x/V2.0 specification. Currently it uses the index and respident attributes.
durgt The durgt element is the greater than test for the time taken to produce the response. This element will be further developed as part of the V1.x/V2.0 specification. Currently it uses the index and respident attributes.
durgte The durgte element is the greater than or equal to test for the time taken to produce the response. This element will be further developed as part of the V1.x/V2.0 specification. Currently it uses the index and respident attributes.
durlt The durlt element is the less than test for the time taken to produce the response. This element will be further developed as part of the V1.x/V2.0 specification. Currently it uses the index and respident attributes.
durlte The durlt element is the less than or equal to test for the time taken to produce the response. This element will be further developed as part of the V1.x/V2.0 specification. Currently it uses the index and respident attributes.
embedded The embedded attribute is used by the mattext, matimage, etc. elements to indicate if the material is encoded within the element itself as opposed to referenced through a URL. The string value with the attribute is used to denote the type of encoding of the material - the default type is 'base64' encoding.
encoding The encoding attribute is used to define the type of character encoding used for the entered text under the render_fib element. The default value is 'UTF-8'.
entityref The entityref attribute is used as an alternative to the uri attribute. The key difference is that the entityref refers to an XML entity whose external linkage is bound to the XML instance itself. This binding also allows the XML-capable processes to intelligently handle the material. It is recommended that this attribute be used in preference to the uri attribute.
feedbackstyle The feedbackstyle attribute is used by the solution and hint elements to denote the type of feedback information contained within the corresponding element. The range of values are complete (default), incremental, multilevel and proprietary. These values inform the display system on how to use the material e.g. multilevel means that several alternative complete hints/solutions are available whereas incremental means that one solution in several distinct parts is available.
feedbackswitch The feedbackswitch attribute is used to define the permission state of the response feedback in the associated data structure i.e. Item, Section and Assessment. This switch is used within the itemcontrol, sectioncontrol and assessmentcontrol elements.
feedbacktype The feedbacktype attribute is used by the displayfeedback element to denote the type of feedback that is to be invoked. The possible values for the feedbacktype attribute are Response, Solution and Hint. This attribute is required because the element containing the feedback may have more than one type of feedback within its body.
fibtype The fibtype attribute is used with the render_fib element to denote the type of response expected from the user. The range of values is: String, Integer, Decimal and Scientific. The last three are types of number input whereas the first denotes free format text entry.
fieldentry The fieldentry element is used within the qtimetadatafield element. It is used to contain the actual value of the meta-data identified by the fieldlabel element. This allows vocabulary-based QTI-specific meta-data to be associated with the Objectbanks, Assessments, Sections and/or Item. The content is defined as a free format string. It some cases it will be possible to use the viocabulary to define the limits to which the data must conform.
fieldlabel The field_label element is used within the qtimetadatafield element. It is used to contain the label of the associated meta-data. This allows vocabulary-based QTI-specific meta-data to be associated with the Objectbanks, Assessments, Sections and/or Item. The data entry for the label must be contained within the vocabulary (as defined by the vocabulary element) whenever such a vocabulary has been defined. The content is defined as a free format string.
flow The flow element is used within the presentation element. It is used to guide the rendering engine in laying out the encapsulated materials. Each flow should be treated as a complete block and the rendering engine must have a well defined sematics for the relationship between hierarchically related flows. The recursive nature of the flow element means that complex layouts can be constructed. The rendering of these layouts are host specific. The class attribute is used to describe the nature of the flow's block.
flow_label The flow_label element is used to encapsulate the response_label elements. It is used to influence the ways in which the encapsulated materials are displayed cf. The flow element. The recursive nature of this element means that the rendering environment's semantics for this element and the other flow elements must be well-defined. The class attribute is used to describe the nature of the flow's block
flow_mat The flow_mat element is used to encapsulate the material elements. It is used to influence the ways in which the encapsulated materials are displayed cf. The flow element. The recursive nature of this element means that the rendering environment's semantics for this element and the other flow elements must be well-defined. The class attribute is used to describe the nature of the flow's block.
height The height attribute is used to denote the total y-axis size, in pixels, of the material being presented. This attribute is normally used by the matimage element but is available to other material component elements (it is aklso available to the presentation element). If this attribute is not used then the system should determine the y-axis size from the defined x-axis size (given by the width attribute) and the subsequent scaling of the image itself to maintain its aspect ratio. If neither attribute is used then the size is determined directly by the image itself.
hint The hint element is the container within the itemfeedback element that contains all of the information relevant to hints that can be revealed to the users. The nature of the hints is defined according to the feedbackstyle attribute and the content for each type of hint is contained within the hintmaterial sub-element.
hintmaterial The hintmaterial element is the container for the actual hint content presented in the enclosed material sub-elements. Each hint can contain multiple hintmaterial sub-elements and the manner in which this sequence is treated is defined according to the feedbackstyle attribute.
hintswitch The hintswitch attribute is used to define the permission state of the availability of hint feedback to the associated data structure i.e. Item, Section and Assessment. This switch is used within the itemcontrol, sectioncontrol and assessmentcontrol elements.
ident The ident attribute is used to define the unique identifier for the element. The uniqueness of the identifier is not maintained by the XML and so a naming convention should be adopted. This identifier will be referenced by other elements and so it is essential that no logical conflicts occur within the XML file. The identifier string is typically 1-256 characters in length and there is no restriction on the available character-set.
imagtype This attribute is used in the matvideo element to define the type of video file. The file type is assumed to take the form of 'video/***' where '***' is indicative of the file source e.g. 'mpeg' etc (the MIME format will be used). The mapping of this to an actual file type is beyond the scope of this specification and will be vendor specific.
index This attribute is used by the var*** and dur*** elements to denote the ordinal nature of the condition test. The ordinal information of the user resoonse must be use when the response has been labelled as 'ordered'. The value of '1' means that the first response is used, '2' the second response, etc.
interpretvar The interpretvar element is used to describe statistical features about the associated variable. The variable that is associated is identified by the varname attribute. The primary usage for this element is to enable descriptions about the significance of the variables to be associated with their declaration - statistical parameters will be of particular importance.
item The item element is one of the four primary interoperable data structures. An Item is a combination of the question, the rendering form, the block formatting, the processing of the subsequent response and the corresponding feedback (including hints and solutions). Items can be imported/exported.
itemcontrol The itemcontrol element is responsible for establishing the state of the available types of feedback with respect to the Item. Each of the hintswitch, feedbackswitch and solutionswitch attributes can be set.
itemfeedback The itemfeedback element is used to contain the full range of materials that are to be displayed as feedback to the user. The type of feedback can be determined by the sub-elements contained e.g. hint for hints, solution for solutions and material for responses. The view attribute is used to define the actors to whom the material can be displayed.
itemmetadata This is the container for the meta-data descriptions of the corresponding Item. This meta-data is QTI specific and should be used in conjunction with the standard IMS Meta-data Specifications.
itempostcondition The itempostcondition element is responsible for determining if the next selected and sequenced Item can be activated i.e. the current postconditions are true. This element will be developed in the V2.0 specification.
itemprecondition The itemprecondition element is responsible for determining if the selected and sequenced Item can be activated i.e. its preconditions are true. This element will be developed in the V2.0 specification.
itemproc_extension This element enables the inclusion of proprietary alternative Item level response processing models as distinct from that supported in the resprocessing element. It is contained within the item element. The sub-elements should adopt the naming convention described in Section 7.
itemref The itemref element enables Items that have not been included in the associated Assessment/Section data structures to be 'pulled into scope'. This means that Items not explicitly defined can be utilised. The linkrefid attribute is used to identify the associated Item.
itemrubric The itemrubric element is a specialised form of the material element available as a sub-element to item. This provides a mechanism to supply content that can be used to describe a range of information about the Item as a whole. The content is made available as defined through the view attribute. This structure is deprecated in favour of the rubric element.
label The label attribute is intended for optionally labelling elements so that authoring tools can easily identify them. This means that elements that are to be used in similar manners should be commonly labelled e.g. all QuickTime video material could be labelled as "quicktimevideo". An editing/authoring tool could then easily search for all such instances with the file.
labelrefid The labelrefid attribute is used by the response_label element to allow the different response labels to be linked to more complex scoring models. This attribute is deprecated.
linkrefid The linkrefid attribute is used to associate Object-banks, Sections, Items and content that are defined elsewhere with a specific location within the defining data structures. This means that only a single copy of the data structure is required with multiple references to it.
lowerbound The lowerbound attribute is used by the render_slider element to define the lowest value to be displayed by the slider rendering engine.
mat_extension This is the extension facility defined as a sub-element under material. It can be used to support proprietary types of content to be presented to users as distinct from that already supported i.e. mattext, matimage, mataudio, matvideo, matapplet and matapplication.
matapplet This element is responsible for the presentation of a JAVA applet. Further study is required in V2.0 to address issues such as run time implications. Parameters to be assigned to the applet when it is launched should be passed as a CDATA block.
matapplication This element is responsible for the presentation of executable content. The type of application must be described using the apptype attribute. It is always a sub-element of material. Parameters to be assigned to the application when it is launched should be passed as a CDATA block.
mataudio This element is responsible for the presentation of audio content. The type of audio must be described using the audiotype attribute. It is always a sub-element of material. Further study is required in V2.0 to address issues such as sampling rate.
matbreak This element is used to explicitly force a break in the block/paragraph structure. The absence of the usage of this element within the material element implies that the material flows immediately sequentially. The nature of the paragraph delineation is system dependent however it should include a combination of at least one line break/carriage return combination.
match_group This attribute is used by the respone_label element, in conjunction with the response_grp element, to define the set of target objects that can be matched with the labelled source target. This is used to constrain the possible set of groups that can be created.
match_max This attribute is used by the response_label element, in conjunction with the response_grp element, to limit the number of times that a source object can be matched with target objects i.e. the number of copies of the source element that can be moved.
matemtext This element is used to define text that should be emphasised. It can be used wherever the mattext element is available and has the same attributes. The nature of the emphasis is specific to the endering engine however all text should be handled in the same way.
material This is the container for all types of content that is to be presented to the users. Each material element can have multiple types of content as defined by matbreak, mattext, matemtext, matimage, mataudio, matvideo, matapplet and matapplication. Alternative material is made available using the altmaterial element.
material_ref The material_ref element enables the full contents of the material element to be referenced by other data structures that wish to use the same content - this content could have been stored within the corresponding reference structure. The linkrefid attribute is used to identify the referenced material.
matimage This element is responsible for the presentation of graphics/image content. The type of image must be described using the imagtype attribute. It is always a sub-element of material.
matref The matref element enables components of the material element that have not been included in the associated data structures to be 'pulled into scope'. This means that material defined elsewhere can be readily utilised. The linkrefid attribute is used to identify the associated material.
mattext This element is responsible for the presentation of text content. The type of text must be described using the texttype, charset, xml:lang and encoding attributes. It is always a sub-element of material. The containing text box is located using the height, width, x0 and y0 attributes.
matvideo This element is responsible for the presentation of video content. The type of video must be described using the videotype attribute. It is always a sub-element of material. Further study is required in V2.0 to address issues such as framing and control panel.
maxattempts The maxattempts attribute is used by the item element to denote the maximum number of attempts that a user can have at answering the item. The action once this number is exceeded is not defined by this specification.
maxchars This attribute is used by the render_fib element to define the maximum number of characters that a user can enter as their response to the FIB question posed. This mechanism is one way of defining the maximum amount of information that can be submitted by a user.
maxnumber The maxnumber attribute is used to limit the maximum number of responses that a user can enter for a particular response - the response-type must have been defined as either multiple or ordered using the rcardinality attribute. One example of using the maxnumber attribute is in limiting the number of permitted answers to a multiple response question.
maxvalue The maxvalue attribute is used with the decvar element to define the maximum value that can be assigned to the declared variable. This also limits the maximum value that can be assigned as part of the processing.
members The members attribute is used by the decvar element to define the members of the set being defined. The set is described using a comma separated list without any enclosing parentheses.
minnumber The minnumber attribute is used to state the minimum number of responses that a user must enter for a particular response - the response-type will usually have been defined as either multiple or ordered using the rcardinality attribute. One example of using the minnumber attribute is in defining the minimum number of answers required from a multiple response question. A value of zero implies that the user may elect not to attempt answering that Item.
minvalue The minvalue attribute is used with the decvar element to define the minimum value that can be assigned to the declared variable. This also limits the minimum value that can be assigned as part of the processing.
not The not element provides the mechanism by which the result of a comparison elements (e.g. varequal, varlt, etc.) can be inverted. If the comparison element returns a 'True' state then the NOT returned state is 'False' and vice-versa.
numtype The numtype attribute is used with the response_num element to define the type of number to be input by the user. The potential types are: Integer, Decimal and Scientific. The default type is Integer.
objectbank This element is used to indicate that the QTI bundle should be treated as an object bank i.e. a bank of objects such as an Item bank. The object-bank can consist of Sections, Items or a mixture of both. The objectbank is one of the four core objects that can be exchanged using the IMS QTI specification.
objectives This objectives element is the container for the description of the objectives of the Assessments, Sections and Items - the context is defied by the usage. These objectives are defined with respect to the actor as defined by the view attribute.
or The or element provides the mechanism by which multiple condition comparison elements (e.g. varequal, varlt, etc.) can be combined in the form of a logical 'or' condition. If at least one comparison element returns a 'True' state then the composite returned state is 'True' otherwise it is 'False'.
orientation The orientation attribute is used with the render_slider element to define whether it is rendered vertically or horizontally. The actual graphic used in either case is question-engine specific.
other The other element is a condition test, a sub-element within the conditionvar element, used to denote any other condition i.e. a response (otherwise the unanswered element would be used) not specifically evaluated in the condition.
outcomes The outcomes element is used to contain the declaration of the variables for the Item-level response processing, and the aggregated Assessment and Section level processing. The outcomes element contains the decvar and interpretvar sub-elements to define the scoring variables.
outcomes_processing The outcomes_processing element is used to contain the aggregated processing instructions for Sections and Assessments. Multiple outcomes processing can be applied to a Section/Assessment using the associated attribute scoremodel.
presentation The presentation element contains all of the sub-elements used to present a question to a user. This includes the response-type, render-type, the material itself and the associated flows.
presentation_material This element is used within Sections and Assessments to contain material that is common to the child objects and that must be displayed to set the appropriate context for those objects.
prompt The prompt attribute is used with the render_fib element to define the type of input prompt to be rendered to the user. The types of prompt available are: Box (surrounding the area for text input), Dashline (underlining the text input position with one line per character), Asterisk (denoting the location for each character) and Underline (underlining the position for input).
qmd_computerscored This IMS QTI-specific meta-data element is used to define if the Item can be scored automatically. The usage of this element is deprecated in favour of the vocabulary-based meta-data mechanism based upon the qtimetadata.
qmd_feedbackpermitted This IMS QT- specific meta-data element is used to define if feedback is available (Yes/No). The usage of this element is deprecated in favour of the vocabulary-based meta-data mechanism based upon the qtimetadata.
qmd_hintspermitted This IMS QTI-specific meta-data element is used to define if hints are available (Yes/No). The usage of this element is deprecated in favour of the vocabulary-based meta-data mechanism based upon the qtimetadata.
qmd_itemtype This IMS QTI-specific meta-data element is used to define the type of the Item e.g. Multiple choice, connect-the-points, etc. The usage of this element is deprecated in favour of the vocabulary-based meta-data mechanism based upon the qtimetadata.
qmd_levelofdifficulty This IMS QTI-specific meta-data element is used to define the level of difficulty in terms of the anticipated educational level e.g. K-12, vocational training, etc. The usage of this element is deprecated in favour of the vocabulary-based meta-data mechanism based upon the qtimetadata.
qmd_material This IMS QTI-specific meta-data element is used to define the nature of the material that is used within the data structures e.g. video, images, text, etc. The usage of this element is deprecated in favour of the vocabulary-based meta-data mechanism based upon the qtimetadata.
qmd_maximumscore This IMS QTI specific meta-data element is used to define the maximum score that can be obtained from that Item. The usage of this element is deprecated in favour of the vocabulary-based meta-data mechanism based upon the qtimetadata.
qmd_renderingtype This IMS QTI-specific meta-data element is used to define the type of rendering used by the Item i.e. render_choice, render_hotspot, render_slider and render_fib. The usage of this element is deprecated in favour of the vocabulary-based meta-data mechanism based upon the qtimetadata.
qmd_responsetype This IMS QTI-specific meta-data element is used to define the type of responses expected from the user i.e. Single, Multiple and Ordered. The usage of this element is deprecated in favour of the vocabulary-based meta-data mechanism based upon the qtimetadata.
qmd_scoringpermitted This IMS QTI-specific meta-data element is used to define if scoring is available (Yes/No). The usage of this element is deprecated in favour of the vocabulary-based meta-data mechanism based upon the qtimetadata.
qmd_solutionspermitted This IMS QTI-specific meta-data element is used to define if solutions are available (Yes/No). The usage of this element is deprecated in favour of the vocabulary-based meta-data mechanism based upon the qtimetadata.
qmd_status This IMS QTI-specific meta-data element is used to define the status of the Item i.e. Experimental, Normal and Retired. The usage of this element is deprecated in favour of the vocabulary-based meta-data mechanism based upon the qtimetadata.
qmd_timedependence This IMS QTI-specific meta-data element is used to define if the responses are time dependent (Yes/No). The usage of this element is deprecated in favour of the vocabulary-based meta-data mechanism based upon the qtimetdata.
qmd_timelimit This IMS QTI-specific meta-data element is used to define the number of minutes that the Assessment/Item will normally take to complete. The usage of this element is deprecated in favour of the vocabulary-based meta-data mechanism based upon the qtimetadata.
qmd_toolvendor This IMS QTI-specific meta-data element is used to define the vendor of the tools creating the Assessment and/or Item. The usage of this element is deprecated in favour of the vocabulary-based meta-data mechanism based upon the qtimetadata.
qmd_topic This IMS QTI-specific meta-data element is used to define the topic being addressed within the Item. The usage of this element is deprecated in favour of the vocabulary-based meta-data mechanism based upon the qtimetadata.
qmd_typeofsolution ThisIMS QTI-specific meta-data element is used to define the type of solutions that are available i.e. Complete, Incremental, Multilevel and Proprietary. The usage of this element is deprecated in favour of the vocabulary-based meta-data mechanism based upon the qtimetadata.
qmd_weighting This IMS QTI-specific meta-data element is used to define the weighting of the Item to be applied in aggregated scoring. The usage of this element is deprecated in favour of the vocabulary-based meta-data mechanism based upon the qtimetadata.
qticomment This is the commenting facility within the XML schemas. The comments can take any form supported as #PCDATA. The key difference between this comment style and the standard '<!-- *** -->' is that the former is passed through the XML parser to the host system.
qtimetadata The qtimetadata element is used within the itemmetadata, assessment and section elements. It is used to contain the user-defined meta-data fields using an associated external vocabulary. Multiple sets of meta-data can be defined with each set using its own vocabulary.
qtimetadatafield The qtimetadatafield element is used within the qtimetadata element. It is used to contain each of the actual meta-data fields. These definitions consist of the field label (defined using the fieldlabel element) and the data itself (defined using the fieldentry element). The vocabulary is identified using the vocabulary element and is applied to all of the qtimetadatafield elements contained within the immediate qtimetadata element.
questestinterop This is the root element. The top-most elements are either the objectbank, assessment, section or item elements (excluding the comment element qticomment). Multiple Sections or Items are supported.
rarea This attribute is used with the response_label element to define the area that is to act as a hot-spot. The area can take the form of an ellipse (including a circle), rectangle (including a square) and bounded area.
rcardinality The rcardinality attribute is used by the response-type elements to indicate the number and nature of the response actions required from the user. The enumerated choices are Single, Multiple and Ordered as defined in Table 3.1 of the IMS QTI Information Model.
reference The reference element is used to contain material that is referenced by the matref element. It is used as a generic storage container for the material that is relevant to the child objects in the Section or Assessment.
render_choice The render_choice element is used to indicate that the response-type is to be presented to the user in a text-based multiple-choice/multiple response format. The rendering system is responsible for the actual selection mechanism e.g. radio buttons, check buttons, etc.
render_extension This element enables the inclusion of proprietary alternative Item rendering methods that cannot be provided by the render_choice, render_hotspot, render_slider and render_fib elements. It is contained within the response_lid, response_xy, response_str, response_num and response_grp elements. The sub-elements should adopt the naming convention described in Section 7.
render_fib The render_fib element is used to indicate that the response-type is to be presented to the user as a text entry. The specific attributes used to support this element are fibtype, rows, columns, maxchars and prompt.
render_hotspot The render_hotspot element is used to indicate that the response-type is to be rendered as graphic with hotspots. This rendering mechanism is well-suited to responses in which the xy-coordinate is important. The attributes used with this element are minnumber and maxnumber to indicate the expected range of hotspots to be identified by the user, and showdraw that is used to display the user actions.
render_slider The render_slider element is used to indicate that the response_type is to be presented as a slider graphic. This rendering mechanism is well-suited to numerical input or as an alternative to the classical multiple choice selection technique. The rendering is controlled by the orientation, lowerbound, upperbound, step, startval, steplabel, minnumber and maxnumber attributes.
respcond_extension This element enables the inclusion of proprietary alternative respcondition elements that are responsible for conditions applied to the activated response. It is contained within the resprocessing element. The sub-elements should adopt the naming convention described in Section 7.
respcondition The respcondition element is used as the container for the application of the conditions to the Item-level responses. It also contains the associated score elements (setvar) and the feedback trigger (displayfeedback). The continue attribute is used to denote if further respcondition elements should be processed.
respident The respident attribute is used by all of the condition test elements (varequal, varlt, varlte, etc.) to identify the response-type as defined by its ident attribute. This identification acts as the scope for the response_label(s) to be considered by the condition tests.
response_extension This element enables the inclusion of proprietary alternative response formats as distinct from the elements defined as response_lid, response_xy, response_str, response_num, response_grp. It is contained within the presentation element. The sub-elements should adopt the naming convention described in Section 7.
response_grp The response_grp element is the response-type associated with the selection of responses that are used to denote relationships between two or more objects. This element is used when matching/pairing objects. The key point is that this element is used whenever the responses have to be processed as groups.
response_label This element is used to present the response options to the user. The input options presented to the user are influenced by the attributes: rshuffle (used for the render_choice element), rarea (used for the render_hotspot element), rrange (used for the render_num element) and labelrefid. The response_label element is available to all of the response-types and render-types.
response_lid The response_lid element is the response-type associated with the selection of responses from a set of defined answers presented to the user. The actual content of the answer is not important. Instead the label associated with the defined answer is what will be used in the response processing.
response_na This element is used to provide a proprietary extension facility within each of the rendering elements (render_choice, etc.). This element is used to define the proprietary processing of an unanswered response. The alternative mechanism is to use the unanswered attribute within the conditionvar processing.
response_num The response_num element is the response-type associated with numerical-based questions. The user will be expected to supply a number in response to the question. The type of this number is defined by the numtype attribute and can be: integer, decimal or scientific.
response_str The response_str element is the response-type associated with string-based questions. The user will be expected to supply a string in response to the question (this can range from a single word to a long essay). The length of the string expected is defined using a combination of the rows, columns and maxchars attributes.
response_xy The response_xy element is the response-type associated with co-ordinate-based questions. The user will be expected to identify an xy-point on the display (using a mouse or other pointer) as the response to the question.
resprocessing The resprocessing element is used to contain the information on how Item responses are to be processed. This processing requires the declaration of the scoring variables, the condition processing of the responses and the associated score allocation. Multiple resprocessing elements are to be used to provide alternative response processing instructions, only one of which is invoked per instantiation.
rows The rows attribute is used by the render_fib element to indicate the maximum number of text rows within which a user can type their answer. This attribute is used when a free-form short answer or essay type of response is expected.
rrange The rrange attribute is used with the response_label element to define the expected accuracy required of the response - it is enumerated as either 'Exact' or 'Range'. This could be used with the response_num element to indicate that the number had to be exact or within a particular range.
rshuffle The rshuffle attribute is used with the response_label element in the context of the response_choice element. The rshuffle attribute is enumerated as either Yes/No and it is used to denote that the associated response must not be shuffled i.e. its location must remain fixed with respect to the number of pre and post options. This attribute only has meaning if the shuffle attribute has been defined as 'Yes' in the response_choice element.
rtiming This attribute is used with the response-type elements (response_lid, response_xy, etc.) to indicate that the time taken by a user to generate a response must be recorded. The manner and accuracy of this recording is specific to the question engine.
rubric The rubric element is a specialised form of the material element available as a sub-element to assessment, section and item. This provides a mechanism to supply content that can be used to describe a range of information about the ASI as a whole. The content is made available as defined through the View attribute.
Note: This element was added as a part of the version 1.01 revision. For reasons of backward compatibility, the itemrubric element is a valid alternative within item.
scoremodel The scoremodel attribute is used by the resprocessing and outcomes_processing elements to identify that type of scoring model being used. The current default value is 'SumOfScores'. This attribute allows vendors to clearly identify when they are using proprietary scoring models. The usage of this attribute with the resprocessing element is deprecated.
section The section element is one of the four primary interoperable data structures. A Section is a group construct and as such may contain other Sections and one or more Items. Sections can be imported/exported.
sectioncontrol The sectioncontrol element is responsible for establishing the state of the available types of feedback with respect to the Section. Each of the hintswitch, feedbackswitch and solutionswitch attributes can be set as the default condition within the enclosed/referenced Sections and Items.
sectionfeedback The sectionfeedback element is the sub-element of section that is responsible for containing the feedback material that is to be presented to the users. This feedback is triggered by the associated Section-level outcomes processing.
sectionpostcondition The sectionpostcondition element is responsible for determining if the next selected and sequenced Section can be activated i.e. the current postconditions are true. This element will be developed in the V2.0 specification.
sectionprecondition The sectionprecondition element is responsible for determining if the selected and sequenced Section can be activated i.e. its preconditions are true. This element will be developed in the V2.0 specification.
sectionproc_extension This element enables the inclusion of proprietary alternative Section level response processing instead of the sectionprocessing element. It is contained within the section element. The sub-elements should adopt the naming convention described in Section 7.
sectionref The sectionref element enables Sections that have not been included in the associated Assessment/Section data structures to be 'pulled into scope'. This means that Sections not explicitly defined can be utilised. The linkrefid attribute is used to identify the associated Section.
selection_ordering This element is used to contain all of the selection and ordering instructions that are to be applied to the host Assessment or Section structure. All of the selection and ordering instructions are contained in a single instance of the element and these instructions are only applied to the immediate children of the parent object.
setmatch The setmatch attribute is used with the varsubet element to define the nature of the set-based comparison. The options for the attribute are Exact (the default) and Partial.
setvar The setvar element is used to control the allocation of the Item level scoring as a consequence of the response condition processing within the conditionvar element. The scoring is controlled by the action attribute and the corresponding variable is identified through the varname attribute.
showdraw The showdraw attribute is used by the render_hotspot element to control the display of the points selected by the user e.g. as required in connecting-the-points. The default value is 'No'.
shuffle The shuffle attribute is used with the response_choice element. The shuffle attribute is enumerated as either Yes/No and it is used to denote whether the following response_label elements i.e. the allowed options to be chosen by the user, can be shuffled before the question is actually rendered and displayed.
solution The solution element is the container within the itemfeedback element that contains all of the information relevant to solutions that can be revealed to the users. The nature of the solutions is defined according to the feedbackstyle attribute and the content for each type of hint is contained within the solutionmaterial sub-element.
solutionmaterial The solutionmaterial element is the container for the actual solution content presented in the enclosed material sub-elements. Each solution can contain multiple solutionmaterial sub-elements and the manner in which this sequence is treated is defined according to the feedbackstyle attribute.
solutionswitch The solutionswitch attribute is used to define the permission state for the availability of the solution feedback to the associated data structure i.e. Item, Section and Assessment. This switch is used within the itemcontrol, sectioncontrol and assessmentcontrol elements.
startval The startval attribute is used by the render_slider attribute to define the start value for the slider graphic. This value must be between the lower and upper bounds of the slider and should be aligned to the increment value as defined by the step attribute.
step The step attribute is used by the render_slider element to define the increment step of the axis. This increment should allow multiple points to be labelled between the lower and upper bounds supported by the slider.
steplabel The steplabel attribute is used by the render_slider element to indicate whether or not the values on the slider should be displayed at all times (the value being indicated by the slider must be displayed).
texttype This attribute is used in the mattext and matemtext elements to define the type of text. The type of text is assumed to take the form of 'text/***' where '***' is indicative of the text source e.g. 'basic' etc (the MIME format is to be used. The inclusion of rtf and html documents also adopt this approach using 'text/rtf', 'text/html' and 'text/xhtml' respectively.
It is assumed that any html is well-formed but not necessarily complete i.e. well formed fragments are supported.
title The title attribute is an optional naming of the associated element. The title is used to help readability of the XML files. The title is usually 1-256 characters in length.
unanswered The unanswered element is a sub-element of conditionvar. It is used to indicate that the state of the condition test should take into account the situation when the question is not attempted.
upperbound The upperbound attribute is used by the render_slider element to define the maximum value to be displayed by the slider rendering engine.
uri The uri attribute is used to identify an external resource i.e. typically a file name or URL.
An alternative, and preferred method is the usage of the entityref attribute.
var_extension This element enables the inclusion of proprietary alternative condition tests that can be applied to the user responses of an Item. It is contained within the conditionvar element. The sub-elements should adopt the naming convention described in Section 7.
varequal The varequal element is the equivalence test for the response identified by the accompanying respident attribute. If equivalent the value 'True' is returned. This element may be modified by the not element and could be enclosed within the and and or elements. The comparison value is contained as the #PCDATA for the element body. The index attribute is used if the order in which the response was entered is significant.
vargt The vargt element is the greater than test for the response identified by the accompanying respident attribute. If greater then the value 'True' is returned. This element may be modified by the not element and could be enclosed within the and and or elements. The comparison value is contained as the #PCDATA for the element body. The index attribute is used if the order in which the response was entered is significant.
vargte The vargte element is the greater than or equal to test for the response identified by the accompanying respident attribute. If greater than or equal to then the value 'True' is returned. This element may be modified by the not element and could be enclosed within the and and or elements. The comparison value is contained as the #PCDATA for the element body. The index attribute is used if the order in which the response was entered is significant.
varinside The varinside element is used to test if an 'xy' co-ordinate is within a defined area. The area is defined by the areatype attribute and can be an ellipse, rectangle or irregular bounded area. The index attribute is used if the order in which the response was entered is significant.
varlt The varlt element is the less than test for the response identified by the accompanying respident attribute. If less than then the value 'True' is returned. This element may be modified by the not element and could be enclosed within the and and or elements. The comparison value is contained as the #PCDATA for the element body. The index attribute is used if the order in which the response was entered is significant.
varlte The varlte element is the less than or equal to test for the response identified by the accompanying respident attribute. If less than or equal then the value 'True' is returned. This element may be modified by the not element and could be enclosed within the and and or elements. The comparison value is contained as the #PCDATA for the element body. The index attribute is used if the order in which the response was entered is significant.
varname The varname attribute is used to define the name of the variable. This attribute is used by the decvar and interpretvar elements. The name can consist of any lowercase and uppercase characters i.e. a-z, A-Z, 0-9 and underscore (0-9 should not be used for the first character).
varsubset The varsubset element is used to test if an entity is a member of a set of predefined entities. The nature of the containment is defined using the setmatch attribute. The index attribute is used if the order in which the response was entered is significant.
varsubstring The varsubstring element is used to test if a particular string is contained within the given text. The case attribute is used to state if the comparison should be case sensitive. The index attribute is used if the order in which the response was entered is significant.
vartype The vartype attribute is used by the decvar element to define the type of variable being declared. The type of variable is: String, Boolean, Integer, Decimal, Scientific and Enumerated. The 'Enumerated' option enables the declaration of typed entries and the range of types is defined within the members attribute that must accompany the declaration.
videotype This attribute is used in the matvideo element to define the type of video file. The file type is assumed to take the form of 'video/***' where '***' is indicative of the file source e.g. 'mpeg' etc (the MIME format is to be used). The mapping of this to an actual file type is beyond the scope of this specification and will be vendor specific.
view The view attribute is used to define the 'actors' permitted to see the associated information e.g. feedback, objectives, etc. The supported actors are All (used to indicate access to all), Administrating Authority, Administrator, Assessor, Author, Candidate, Invigilator/Proctor, Psychometrician, Scorer and Tutor.
vocabulary The vocabulary element is used to provide the vocabularies to be used for the QTI-specific meta-data. The uri and entityref attributes are used to define the external file that contains the actual vocabulary.
vocab_type The vocab_type attribute is used with the vocabulary element to describe the type of vocabulary file that is referred to in the associated uri or entityref attributes. The default type of file type is 'text/plain'.
width The width attribute is used to denote the total x-axis size, in pixels, of the material being presented. This attribute is normally used by the matimage element but is available to other mat*** elements. If this attribute is not used then the system should determine the x-axis size from the defined y-axis size (given by the height attribute) and the subsequent scaling of the image itself to maintain its aspect ratio. If neither attribute is used then the size is determined directly by the image itself.
x0 The x0 attribute is used to define the 'x' co-ordinate location of the top left-hand corner of an object. This value is in terms of pixels and is expected to be in the range 0-9999 i.e. 10,000 pixels for the x-axis.
xml:lang The xml:lang attribute is used wherever the language of the entry text can be varied. This attribute is used to define the language of the associated text. The format of the attribute shows that it is one of the core attributes provided by XML itself.
y0 The y0 attribute is used to define the 'y' co-ordinate location of the top left-hand corner of an object. This value is in terms of pixels and is expected to be in the range 0-9999 i.e. 10,000 pixels for the y-axis.

Appendix C - Examples Information

C1 - Proposed Naming Convention

A request has been made to introduce a naming convention for the IMS QTI example files that is more informative. The request is for the name to reflect the nature of the content of the file.

A new naming convention is proposed. This convention is based upon two facets:

  • Directory - this will reflect the class of the example;
  • File - this will reflect the nature of the contents of the '.xml' file.           C1.1 Directory

The directory naming convention is proposed to be (the bold words are the corresponding directory names):

ims_qtiasiv1p2examples

 

basic - Basic Items examples

composite - Composite Items examples

advanced - Advanced Items examples

qtilite - QTILite examples

section - Section examples

assessment - Assessment examples

outcome - Outcomes Processing examples

selection - Selection and Ordering examples

bank - Object bank examples

C1.2 File Naming

The file naming can mow focus on the nature of the content in the files. The following convention is proposed:

[ABCD]_[A...Z]_[XYZ][*]_[<free form>]

where: [ABCD] A four-character string that reflects the type of question contained. The range of options includes-

mchc multiple choice

mrsp multiple response

fibi integer fill-in-blank

fibn numeric fill-in-blank (not integer)

fibs string fill-in-blank

trfl true/false

ihsp image hotspot

ctpt connect the points

[A...Z] A variable character string that describes the type of data structures contained. The basic convention is-

a single assessment without score processing

ar single assessment with score processing

am multiple assessments without score processing

amr multiple assessments with score processing

s single section without score processing

sr single section with score processing

sm multiple section without score processing

smr multiple section with score processing

i single item without score processing

ir single item with score processing

im multiple item without response processing

imr multiple item with response processing

Any appropriate combination is used.

[XYZ] A number in the range 001-999 (000 is reserved for later usage).

The number of the example. This should follow some form of numbering system.

[*] A single character in the range 'a' to 'z'.

This is used to denote differences between files that are alternative solutions to the same Assessment/Section/Item.

[<free form>] Free format that can be used to add any other descriptive information. It should be of alphanumeric form.

About This Document

 
Title IMS Question & Test Interoperability: ASI Best Practice & Implementation Guide
Editors Colin Smythe, Eric Shepherd, Lane Brewer, and Steve Lay
Version 1.2
Version Date 11 February 2002
Status Final Specification
Summary

This document provides additional information regarding IMS Question & Test Interoperability Best Practices and Implementation Guide. It is meant to complement the IMS Question & Test Interoperability: ASI XML Binding and IMS Question & Test Interoperability Information Model documents.

Revision Information 22 January 2002
Purpose Defines the best practice and usage of the Assessment, Section & Item XML binding for the Question & Test Interoperability Information Model specification.
Document Location http://www.imsglobal.org/question/v1p2/imsqti_asi_bestv1p2.html

List of Contributors

The following individuals contributed to the development of this document:

Russell Almond ETS, USA
Lane Brewer Galton Technologies Inc.
Todd Brewer Galton Technologies Inc.
Russell Grocott Can Studios Ltd.
Andy Heath CETIS/JISC, UK
Paul Hilton Can Studios Ltd.
Richard Johnson

Goal Design Inc

Steven Lay University of Cambridge Local Examinations Syndicate, UK
Jez Lord Can Studios Ltd.
John Kleeman Question Mark Computing Ltd.
Paul Roberts Question Mark Computing Ltd.
Nial Sclater CETIS/University of Strathclyde, UK
Eric Shepherd Question Mark Corporation
Colin Smythe Dunelm Services Ltd.

Revision History

 
Version No.
Release Date
Comments
Final Version 1.0 5 June 2000 The version 1.0 of the IMS Question & Test Interoperability XML Binding Final Specification.
Final Version 1.01 22 August 2000 An update of the version 1.0 specification.
Final Version 1.1 28 February 2001 An update of the version 1.01 specification. The core amendments were denoted by a shading of the corresponding lines in the document.
Final Version 1.2 11 February 2002 The formal release of the version 1.2 specification. The key amendments are:
  • The introduction of the exchange of object banks;
  • The introduction of the <presentation_material> element within the Assessment and Section structures to contain material to be presented to the participant;
  • The sequence of the contents within the Assessment and Section structures has been altered to better support the required functionality e.g. Section and Items can now be interleaved within a Section;
  • The metadata elements within the <assessment> and <section> structures that had been previously deprecated have been removed;
  • The introduction of the <reference> element within the Assessment and Section structures to contain reference material available to the hosted Sections and/or Items;
  • Introduction of the <outcomes_processing> element reference in the Assessment and Section data structures. This replaces the <assessprocessing> and sectionprocessing> elements;
  • The introduction of the <selection_ordering> element reference for the Section/Item selection and ordering. This replaces the Item and Section selection and sequencing elements;
  • Multiple <altmaterial> elements are now supported by the <material> structure and the 'xml:lang' attribute has been added to <altmaterial>;
  • Introduction of the <material_ref> element to enable reference to a full <material> element structure;
  • The addition of new attributes to support the <response_grp> element. This allows the possible response groups to be constrained in pairings and number of instantiations;
  • The addition of the new attribute 'index' to the <varequal>, etc. elements to enable partially ordered condition testing. The <varsubstring> element is used to support LID group response processing. The <varsubstring> element is limited to string comparisons only;

 

 
  • The x0, yO, height, width attributes have been added to the <mattext> and <matemtext> elements;
  • The xml:lang attribute has been appended to a larger range of elements to enable the corresponding language usage to be imposed at various points of the core data objects;
  • Editorial amendments -
    • Alteration of the data model diagrams to reflect the new structure (Section 3);
    • Modification of the overview (Section 1.1);
    • Changes in the compatibility statement (Section 9) to reflect the new release;
    • Alteration of the examples to use file names that are compatible with V1.2 (Sections 4, 5, 6 App A and App C);

-Removal of Appendix D. The recommendations concerning Results Reporting interoperability are described in a separate document. The core changes are shown within this document by the shading of the appropriate lines.

Index

A
Administrating Authority 1
Administrator 1
ASI 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16
Assessment 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37
Assessment Elements
     assessfeedback 1, 2, 3, 4
     assessment 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21
     assessmentcontrol 1, 2, 3, 4, 5
     assessproc_extension 1, 2
Assessor 1, 2, 3, 4
Attributes
     action 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24
     apptype 1, 2
     areatype 1, 2, 3, 4
     audiotype 1, 2, 3, 4
     case 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
     charset 1, 2, 3, 4
     class 1, 2, 3, 4, 5, 6, 7
     columns 1, 2, 3, 4, 5
     continue 1, 2
     cutvalue 1
     defaultval 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
     embedded 1, 2
     encoding 1, 2, 3
     entityref 1, 2, 3, 4
     feedbackstyle 1, 2, 3, 4, 5, 6, 7
     feedbackswitch 1, 2, 3, 4, 5, 6, 7
     feedbacktype 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26
     height 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17
     hintswitch 1, 2, 3, 4, 5, 6, 7, 8
     ident 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63
     imagtype 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18
     index 1, 2, 3, 4, 5, 6
     label 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45
     labelrefid 1, 2
     linkrefid 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27
     lowerbound 1, 2, 3, 4, 5
     match_group 1, 2, 3
     match_max 1, 2, 3
     maxattempts 1, 2, 3
     maxchars 1, 2, 3, 4, 5, 6, 7
     maxnumber 1, 2, 3, 4, 5, 6
     maxvalue 1, 2
     members 1, 2, 3
     minnumber 1, 2, 3, 4, 5, 6
     minvalue 1, 2
     numtype 1, 2, 3
     orientation 1, 2, 3, 4, 5
     prompt 1, 2, 3, 4, 5, 6, 7, 8
     rarea 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
     rcardinality 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38
     respident 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24
     rows 1, 2, 3
     rrange 1, 2, 3
     rshuffle 1, 2, 3, 4
     rtiming 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30
     scoremodel 1, 2, 3, 4, 5, 6, 7
     setmatch 1, 2
     showdraw 1, 2, 3, 4, 5, 6
     shuffle 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
     solutionswitch 1, 2, 3, 4, 5, 6, 7
     startval 1, 2, 3, 4, 5
     step 1, 2, 3, 4, 5
     testoperator 1, 2, 3
     texttype 1, 2, 3
     title 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46
     upperbound 1, 2, 3, 4
     uri 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25
     varname 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19
     vartype 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
     videotype 1, 2
     view 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35
     vocab_type 1, 2, 3, 4
     width 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16
     x0 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16
     xmllang 1, 2, 3, 4
     y0 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
Author 1
 

B
Basic 1, 2, 3

C
Candidate 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29
Common Elements
     altmaterial 1, 2, 3, 4, 5, 6
     conditionvar 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30
     decvar 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29
     displayfeedback 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27
     duration 1, 2, 3
     durequal 1, 2, 3
     durgt 1, 2
     durgte 1, 2
     durlt 1, 2
     durlte 1, 2
     fieldentry 1, 2, 3, 4, 5
     flow_mat 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39
     interpretvar 1, 2, 3
     mat_extension 1, 2
     matapplet 1, 2, 3
     matapplication 1, 2, 3, 4
     mataudio 1, 2, 3, 4, 5, 6
     matbreak 1
     matemtext 1, 2, 3, 4, 5, 6, 7
     material 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86
     material_ref 1, 2, 3
     matimage 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, <a data-cke-saved-href="/question/qtiv1p2/imsqti_asi_bestv1href=" href="/question/qtiv1p2/imsqti_asi_bestv1href=" 1p2="" imsqti_asi_bestv1p2.html#1467596"="">13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24
     matref 1, 2, 3, 4
     mattext 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62
     matvideo 1, 2, 3, 4, 5, 6
     objectives 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18
     order 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
     other 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17
     outcomes 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36
     outcomes_processing 1, 2, 3, 4, 5, 6, 7, 8, 9
     presentation_material 1, 2, 3
     qticomment 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39
     qtimetadata 1, 2, 3, 4, 5, 6, 7, 8
     qtimetadatafield 1, 2, 3, 4, 5
     reference 1, 2, 3, 4, 5, 6, 7
     rubric 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17
     selection 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
     selection_ordering 1, 2, 3, 4, 5, 6
     setvar 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26
     unanswered 1, 2, 3, 4, 5
     var_extension 1, 2
     varequal 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24
     vargt 1
     vargte 1, 2, 3
     varinside 1, 2, 3, 4
     varlt 1, 2, 3, 4
     varlte 1, 2, 3, 4
     varsubset 1
     varsubstring 1, 2
     vocabulary 1, 2, 3, 4, 5, 6, 7, 8
Composite 1, 2, 3, 4
Conformance 1, 2, 3, 4
 

E
Elements
     altmaterial 1, 2, 3, 4, 5, 6
     assessfeedback 1, 2, 3, 4
     assessment 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21
     assessmentcontrol 1, 2, 3, 4, 5
     assessproc_extension 1, 2
     conditionvar 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30
     decvar 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29
     displayfeedback 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27
     duration 1, 2, 3
     durequal 1, 2, 3
     durgt 1, 2
     durgte 1, 2
     durlt 1, 2
     durlte 1, 2
     fieldentry 1, 2, 3, 4, 5
     fieldlabel 1, 2, 3, 4, 5
     flow 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65
     flow_label 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17
     flow_mat 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39
     hint 1, 2, 3, 4, 5, 6, 7, 8
     hintmaterial 1, 2, 3, 4
     interpretvar 1, 2, 3
     itemcontrol 1, 2, 3, 4, 5, 6
     itemfeedback 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28
     itemmetadata 1, 2, 3, 4, 5, 6
     itempostcondition 1, 2, 3
     itemprecondition 1, 2, 3
     itemproc_extension 1, 2
     itemref 1, 2, 3
     itemrubric 1, 2, 3
     mat_extension 1, 2
     matapplet 1, 2, 3
     matapplication 1, 2, 3, 4
     mataudio 1, 2, 3, 4, 5, 6
     matbreak 1
     matemtext 1, 2, 3, 4, 5, 6, 7
     material 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86
     material_ref 1, 2, 3
     matimage 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24
     matref 1, 2, 3, 4
     mattext 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62
     matvideo 1, 2, 3, 4, 5, 6
     objectbank 1, 2, 3
     objectives 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18
     order 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
     other 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17
     outcomes 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36
     outcomes_feedback_test 1, 2, 3
     outcomes_processing 1, 2, 3, 4, 5, 6, 7, 8, 9
     presentation 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63
     presentation_material 1, 2, 3
     qmd_feedbackpermitted 1
     qmd_hintspermitted 1
     qmd_itemtype 1
     qmd_levelofdifficulty 1
     qmd_material 1
     qmd_maximumscore 1
     qmd_renderingtype 1
     qmd_responsetype 1
     qmd_scoringpermitted 1
     qmd_solutionspermitted 1
     qmd_status 1
     qmd_timedependence 1
     qmd_timelimit 1
     qmd_toolvendor 1
     qmd_topic 1
     qmd_typeofsolution 1
     qmd_weighting 1
     qticomment 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39
     qtimetadata 1, 2, 3, 4, 5, 6, 7, 8
     qtimetadatafield 1, 2, 3, 4, 5
     questestinterop 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52
     reference 1, 2, 3, 4, 5, 6, 7
     render_choice 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32
     render_extension 1, 2, 3, 4, 5, 6, 7, 8, 9
     render_fib 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
     render_hotspot 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17
     render_slider 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
     respcond_extension 1, 2
     respcondition 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26
     response_extension 1, 2, 3
     response_grp 1, 2, 3, 4, 5, 6, 7, 8
     response_label 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54
     response_lid 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42
     response_na 1, 2, 3
     response_num 1, 2, 3, 4, 5, 6, 7, 8, 9
     response_str 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
     response_xy 1, 2, 3, 4, 5, 6, 7, 8
     resprocessing 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32
     rubric 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17
     section 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25
     sectioncontrol 1, 2, 3, 4, 5
     sectionfeedback 1, 2, 3, 4
     sectionpostcondition 1, 2, 3
     sectionprecondition 1, 2, 3
     sectionproc_extension 1, 2
     sectionref 1, 2, 3
     selection 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
     selection_ordering 1, 2, 3, 4, 5, 6
     setvar 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26
     solution 1, 2, 3, 4, 5, 6, 7, 8
     solutionmaterial 1, 2, 3, 4, 5
     test_variable 1, 2, 3
     unanswered 1, 2, 3, 4, 5
     var_extension 1, 2
     varequal 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24
     vargt 1
     vargte 1, 2, 3
     variable_test 1, 2, 3
     varinside 1, 2, 3, 4
     varlt 1, 2, 3, 4
     varlte 1, 2, 3, 4
     varsubset 1
     vocabulary 1, 2, 3, 4, 5, 6, 7, 8
Extension Elements
     assessproc_extension 1, 2
     itemproc_extension 1, 2
     mat_extension 1, 2
     render_extension 1, 2, 3, 4, 5, 6, 7, 8, 9
     respcond_extension 1, 2
     response_extension 1, 2, 3
     sectionproc_extension 1, 2
     var_extension 1, 2
 

F
FIB 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15

H
Harmonisation
     IMS
 

Accessibility 1

Content Packaging 1, 2, 3, 4, 5, 6, 7

Learner Information Package 1, 2

Meta-data 1, 2, 3, 4 Hints 1

I
Image Hot Spot 1, 2, 3, 4, 5
Interoperability structures
     Assessment 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37
     Item 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62
     Section 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43
Invigilator 1
Item 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62
Item Elements
     flow 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65
     flow_label 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17
     hint 1, 2, 3, 4, 5, 6, 7, 8
     hintmaterial 1, 2, 3, 4
     itemcontrol 1, 2, 3, 4, 5, 6
     itemfeedback 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28
     itemmetadata 1, 2, 3, 4, 5, 6
     itempostcondition 1, 2, 3
     itemprecondition 1, 2, 3
     itemproc_extension 1, 2
     itemrubric 1, 2, 3
     presentation 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63
     render_choice 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32
     render_extension 1, 2, 3, 4, 5, 6, 7, 8, 9
     render_fib 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
     render_hotspot 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17
     render_slider 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
     respcond_extension 1, 2
     respcondition 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26
     response_extension 1, 2, 3
     response_grp 1, 2, 3, 4, 5, 6, 7, 8
     response_label 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54
     response_lid 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42
     response_num 1, 2, 3, 4, 5, 6, 7, 8, 9
     response_str 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
     response_xy 1, 2, 3, 4, 5, 6, 7, 8
     resprocessing 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32
     solution 1, 2, 3, 4, 5, 6, 7, 8
     solutionmaterial 1, 2, 3, 4, 5
 

M
Meta-data
     Description 1, 2, 3, 4, 5, 6
     Elements
 

qmd_computerscored 1

qmd_feedbackpermitted 1

qmd_hintspermitted 1

qmd_itemtype 1, 2, 3, 4

qmd_levelofdifficulty 1

qmd_material 1

qmd_maximumscore 1

qmd_renderingtype 1, 2

qmd_responsetype 1

qmd_scoringpermitted 1

qmd_solutionspermitted 1

qmd_status 1

qmd_timedependence 1

qmd_timelimit 1

qmd_toolvendor 1

qmd_topic 1

qmd_typeofsolution 1

qmd_weighting 1      Language 1
     Objectives 1, 2, 3, 4, 5
     Resource Identifier 1, 2, 3
     status 1
     Version 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
Multiple choice 1, 2, 3, 4
Multiple response 1, 2, 3
 

O
Outcomes 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
Outcomes processing
     Attributes
 

testoperator 1, 2, 3      Elements
 

outcomes 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36

outcomes_feedback_test 1, 2, 3

outcomes_processing 1, 2, 3, 4, 5, 6, 7, 8, 9

test_variable 1, 2, 3

variable_test 1, 2, 3

P
Participant
     Administrator 1
     Assessor 1, 2, 3, 4
     Author 1
     Candidate 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29
     Invigilator 1
     Proctor 1
     Psychometrician 1
     Scorer 1, 2
     Tutor 1, 2, 3, 4
Proctor 1
Psychometrician 1
 

Q
QTILite 1, 2, 3, 4, 5, 6, 7, 8, 9
Question 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12

R
Resource Identifier 1, 2, 3
Response 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39
Response processing 1, 2, 3, 4, 5, 6, 7

S
Scoring algorithms
     SumofScores 1, 2, 3, 4, 5
Section 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43
Section Elements
     itemref 1, 2, 3
     sectioncontrol 1, 2, 3, 4, 5
     sectionfeedback 1, 2, 3, 4
     sectionpostcondition 1, 2, 3
     sectionprecondition 1, 2, 3
     sectionproc_extension 1, 2
Selection & ordering 1, 2, 3, 4, 5
     Elements
 

order 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12

selection 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15

selection_ordering 1, 2, 3, 4, 5, 6 Slider 1, 2, 3, 4, 5, 6
Solution 1, 2

T
True/false 1, 2, 3
Tutor 1, 2, 3, 4

V
Version 1.01 Additions
     Elements
 

rubric 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 Version 1.1 Additions
     Attributes
 

class 1, 2, 3, 4, 5, 6, 7

entityref 1, 2, 3, 4

xmllang 1, 2, 3, 4      Elements
 

fieldentry 1, 2, 3, 4, 5

fieldlabel 1, 2, 3, 4, 5

flow 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65

flow_label 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17

flow_mat 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39

matbreak 1

matemtext 1, 2, 3, 4, 5, 6, 7

qtimetadata 1, 2, 3, 4, 5, 6, 7, 8

qtimetadatafield 1, 2, 3, 4, 5

vocabulary 1, 2, 3, 4, 5, 6, 7, 8 Version 1.2 Additions
     Attributes
 

cutvalue 1

index 1, 2, 3, 4, 5, 6

match_group 1, 2, 3

match_max 1, 2, 3

testoperator 1, 2, 3

vocab_type 1, 2, 3, 4      Elements
 

objectbank 1, 2, 3

order 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12

outcomes 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36

outcomes_feedback_test 1, 2, 3

outcomes_processing 1, 2, 3, 4, 5, 6, 7, 8, 9

presentation_material 1, 2, 3

reference 1, 2, 3, 4, 5, 6, 7

selection 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15

selection_ordering 1, 2, 3, 4, 5, 6

test_variable 1, 2, 3

variable_test 1, 2, 3

varsubstring 1, 2

X
XML 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74
XML Schema
     DTD 1, 2, 3, 4, 5, 6
     XDR 1
     XSD 1, 2, 3
XSD 1, 2, 3
 

1
We recommend that new users of the QTI specification start with the Best Practices & Implementation Guide. The examples in this document show how we intend the specification to be used whereas the other two documents (the Information Model and XML binding) contain the formal description of the structures, their syntax and semantics.
2
The XML schema trees shown in this document were generated by the XML Authority V2.2.1 product from Extensibility Inc.
3
Once it has been completed, all globally unique identifiers should conform to the IMS Persistent Location-independent Resource Identifier [IMS, 01a].
4
The XML Data Reduced (XDRs) files have been removed since the V1.1 release. XSD files are now preferred.

 

 

 

IMS Global Learning Consortium, Inc. ("IMS") is publishing the information contained in this IMS Question & Test Interoperability: ASI Best Practice & Implementation Guide ("Specification") for purposes of scientific, experimental, and scholarly collaboration only.

IMS 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 would appreciate receiving your comments and suggestions.

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

Please refer to Document Name:
IMS Question & Test Interoperability: ASI Best Practice & Implementation Guide Date: 11 February 2002