7509 lines
315 KiB
HTML
7509 lines
315 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
|
||
<html><head>
|
||
|
||
|
||
|
||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||
|
||
|
||
<title>IMS Question and Test Interoperability Information Model v2.0</title>
|
||
<link rel="alternate" media="print" href="http://www.imsglobal.org/printer.cfm">
|
||
|
||
<link rel="stylesheet" href="imsqti_infov2p0_files/stylesheet.css" type="text/css">
|
||
</head><body>
|
||
|
||
<table summary="layout table" width="100%" border="0" cellspacing="0">
|
||
|
||
<tbody>
|
||
<tr>
|
||
|
||
<td valign="middle" width="19%"><img src="imsqti_infov2p0_files/speclogo.jpg" alt="IMS Logo" height="173" width="117"></td>
|
||
|
||
<td valign="middle" width="81%">
|
||
<h1>IMS Question and Test Interoperability Information Model</h1>
|
||
|
||
<h2>Version 2.0 Final Specification</h2>
|
||
<h2>
|
||
</h2>
|
||
</td>
|
||
|
||
</tr>
|
||
|
||
</tbody>
|
||
</table>
|
||
|
||
<p>Copyright <20> 2005 IMS Global Learning Consortium, Inc. All Rights Reserved.<br>
|
||
|
||
The IMS Logo is a registered trademark of IMS/GLC.<br>
|
||
|
||
Document Name: IMS Question and Test Interoperability Information Model<br>
|
||
|
||
Revision: 24 January 2005<br>
|
||
|
||
</p>
|
||
|
||
<hr>
|
||
<p></p>
|
||
|
||
<p></p>
|
||
|
||
<table summary="This table describes" border="0" cellpadding="5" cellspacing="0">
|
||
|
||
<tbody>
|
||
<tr>
|
||
|
||
<td>Date Issued:<br>
|
||
</td>
|
||
|
||
<td>24 January 2005<br>
|
||
</td>
|
||
|
||
</tr>
|
||
|
||
<tr>
|
||
|
||
<td>Latest version:<br>
|
||
</td>
|
||
|
||
<td><a href="http://www.imsglobal.org/question/qti_v2p0/imsqti_infov2p0.html">
|
||
http://www.imsglobal.org/question/qti_v2p0/imsqti_infov2p0.html</a><br>
|
||
</td>
|
||
|
||
</tr>
|
||
|
||
|
||
<tr>
|
||
|
||
<td>Register comments or implementations:<br>
|
||
</td>
|
||
|
||
<td><a href="http://www.imsglobal.org/developers/ims/imsforum/categories.cfm?catid=23">http://www.imsglobal.org/developers/ims/imsforum/categories.cfm?catid=23</a><br>
|
||
</td>
|
||
|
||
</tr>
|
||
|
||
|
||
<tr>
|
||
|
||
<td colspan="2" rowspan="1">
|
||
<p><b>IPR and Distribution Notices</b></p>
|
||
|
||
<p>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.</p>
|
||
|
||
<p>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: <a href="http://www.imsglobal.org/ipr/imsipr_policyFinal.pdf">http://www.imsglobal.org/ipr/imsipr_policyFinal.pdf</a>.</p>
|
||
|
||
<p>Copyright <20> IMS Global Learning Consortium
|
||
2006. All
|
||
Rights Reserved.</p>
|
||
|
||
<p>If you wish to distribute this document or use this
|
||
document
|
||
to implement a product or service, you must complete a valid license
|
||
registration with IMS and receive an email from IMS granting the
|
||
license. To register, follow the instructions on the IMS website: <a href="http://www.imsglobal.org/specificationdownload.cfm">http://www.imsglobal.org/specificationdownload.cfm</a>.</p>
|
||
|
||
<p>This document may be copied and furnished to others by
|
||
Licensee organizations registered on the IMS website provided that the
|
||
above copyright notice and this paragraph are included on all such
|
||
copies. However, this document itself may not be modified in any way,
|
||
such as by removing the copyright notice or references to IMS, except
|
||
as needed for the purpose of developing IMS specifications, under the
|
||
auspices of a chartered IMS work group.</p>
|
||
|
||
<p>Use of this specification to develop products or
|
||
services is
|
||
governed by the license with IMS found on the IMS website: <a href="http://www.imsglobal.org/question/qti_v2p0/qtiv2p0speclicense.html">http://www.imsglobal.org/question/qti_v2p0/qtiv2p0speclicense.html</a>.</p>
|
||
|
||
<p>The limited permissions granted above are perpetual and
|
||
will
|
||
not be revoked by IMS or its successors or assigns.</p>
|
||
|
||
<p>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.</p>
|
||
<p></p>
|
||
</td>
|
||
|
||
</tr>
|
||
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<h2><a name="section10000">Table of Contents</a></h2>
|
||
|
||
<dl>
|
||
|
||
<dt><a name="section10000">1. </a><a href="#section10001">Introduction</a></dt>
|
||
|
||
<dt>2. <a href="#section10002">References</a></dt>
|
||
|
||
<dt>3. <a href="#section10003">Definitions</a></dt>
|
||
|
||
<dt>4. <a href="#section10042">Items</a></dt>
|
||
|
||
<dt>5. <a href="#section10043">Item Variables</a></dt>
|
||
|
||
<dd>
|
||
<dl>
|
||
|
||
<dt>5.1. <a href="#section10044">Response Variables</a></dt>
|
||
|
||
<dt>5.2. <a href="#section10045">Outcome Variables</a></dt>
|
||
|
||
</dl>
|
||
</dd>
|
||
|
||
<dt>6. <a href="#section10046">Content Model</a></dt>
|
||
|
||
<dd>
|
||
<dl>
|
||
|
||
<dt>6.1. <a href="#section10047">Basic Classes</a></dt>
|
||
|
||
<dt>6.2. <a href="#section10048">XHTML Elements</a></dt>
|
||
|
||
<dd>
|
||
<dl>
|
||
|
||
<dt>6.2.1. <a href="#section10049">Text Elements</a></dt>
|
||
|
||
<dt>6.2.2. <a href="#section10050">List Elements</a></dt>
|
||
|
||
<dt>6.2.3. <a href="#section10051">Object Elements</a></dt>
|
||
|
||
<dt>6.2.4. <a href="#section10052">Presentation Elements</a></dt>
|
||
|
||
<dt>6.2.5. <a href="#section10053">Table Elements</a></dt>
|
||
|
||
<dt>6.2.6. <a href="#section10054">Image Element</a></dt>
|
||
|
||
<dt>6.2.7. <a href="#section10055">Hypertext Element</a></dt>
|
||
|
||
</dl>
|
||
</dd>
|
||
|
||
<dt>6.3. <a href="#section10056">MathML</a></dt>
|
||
|
||
<dd>
|
||
<dl>
|
||
|
||
<dt>6.3.1. <a href="#section10057">Combining Template Variables and MathML</a></dt>
|
||
|
||
</dl>
|
||
</dd>
|
||
|
||
<dt>6.4. <a href="#section10058">Variable Content</a></dt>
|
||
|
||
<dd>
|
||
<dl>
|
||
|
||
<dt>6.4.1. <a href="#section10059">Number Formatting Rules</a></dt>
|
||
|
||
</dl>
|
||
</dd>
|
||
|
||
<dt>6.5. <a href="#section10060">Formatting Items with Stylesheets</a></dt>
|
||
|
||
</dl>
|
||
</dd>
|
||
|
||
<dt>7. <a href="#section10061">Interactions</a></dt>
|
||
|
||
<dd>
|
||
<dl>
|
||
|
||
<dt>7.1. <a href="#section10062">Simple Interactions</a></dt>
|
||
|
||
<dt>7.2. <a href="#section10063">Text-based Interactions</a></dt>
|
||
|
||
<dt>7.3. <a href="#section10064">Graphical Interactions</a></dt>
|
||
|
||
<dt>7.4. <a href="#section10065">Miscellaneous Interactions</a></dt>
|
||
|
||
<dt>7.5. <a href="#section10066">Alternative Ways to End an Attempt</a></dt>
|
||
|
||
</dl>
|
||
</dd>
|
||
|
||
<dt>8. <a href="#section10067">Response Processing</a></dt>
|
||
|
||
<dd>
|
||
<dl>
|
||
|
||
<dt>8.1. <a href="#section10068">Response Processing Templates</a></dt>
|
||
|
||
<dd>
|
||
<dl>
|
||
|
||
<dt>8.1.1. <a href="#section10069">Standard Templates</a></dt>
|
||
|
||
</dl>
|
||
</dd>
|
||
|
||
<dt>8.2. <a href="#section10070">Generalized Response Processing</a></dt>
|
||
|
||
</dl>
|
||
</dd>
|
||
|
||
<dt>9. <a href="#section10071">Modal Feedback</a></dt>
|
||
|
||
<dt>10. <a href="#section10072">Expressions</a></dt>
|
||
|
||
<dd>
|
||
<dl>
|
||
|
||
<dt>10.1. <a href="#section10073">Operators</a></dt>
|
||
|
||
</dl>
|
||
</dd>
|
||
|
||
<dt>11. <a href="#section10074">Item Templates</a></dt>
|
||
|
||
<dd>
|
||
<dl>
|
||
|
||
<dt>11.1. <a href="#section10075">Using Template Variables in an the Item's Body</a></dt>
|
||
|
||
<dt>11.2. <a href="#section10076">Template Processing</a></dt>
|
||
|
||
</dl>
|
||
</dd>
|
||
|
||
<dt>12. <a href="#section10077">Basic Data Types</a></dt>
|
||
|
||
</dl>
|
||
|
||
|
||
<h2><a name="section10001">1. Introduction</a></h2>
|
||
|
||
|
||
<h2><a name="section10002">2. References</a></h2>
|
||
|
||
<dl>
|
||
|
||
<dt><a name="ref_CMI">CMI
|
||
</a></dt>
|
||
<dd><a name="ref_CMI">IEEE 1484.11.1, Standard for Learning Technology - Data Model for Content Object Communication
|
||
</a></dd>
|
||
<dt><a name="ref_ISO11404">ISO11404
|
||
</a></dt>
|
||
<dd><a name="ref_ISO11404">ISO11404:1996 Information technology
|
||
— Programming languages, their environments and system software
|
||
interfaces — Language-independent datatypes
|
||
</a></dd>
|
||
<dd><a name="ref_ISO11404">Published: 1996
|
||
</a></dd>
|
||
<dt><a name="ref_ISO8601">ISO8601
|
||
</a></dt>
|
||
<dd><a name="ref_ISO8601">ISO8601:2000 Data elements and interchange formats – Information interchange – Representation of dates and times
|
||
</a></dd>
|
||
<dd><a name="ref_ISO8601">Published: 2000
|
||
</a></dd>
|
||
<dt><a name="ref_ISO_9899">ISO_9899
|
||
</a></dt>
|
||
<dd><a name="ref_ISO_9899">ISO/IEC 9899:1999 Programming Languages - C
|
||
</a></dd>
|
||
<dt><a name="ref_MathML">MathML
|
||
</a></dt>
|
||
<dd><a name="ref_MathML">Mathematical Markup Language (MathML), Version Version 2.0 (Second Edition)
|
||
</a></dd>
|
||
<dd><a href="http://www.w3.org/TR/2003/REC-MathML2-20031021/">http://www.w3.org/TR/2003/REC-MathML2-20031021/</a></dd>
|
||
|
||
<dd>Published: 2003-10-21</dd>
|
||
|
||
<dt><a name="ref_RFC2045">RFC2045
|
||
</a></dt>
|
||
<dd><a name="ref_RFC2045">RFC 2045-2048 Multipurpose Internet Mail Extensions (MIME)
|
||
</a></dd>
|
||
<dt><a name="ref_RR">RR
|
||
</a></dt>
|
||
<dd><a name="ref_RR">IMS Question & Test Interoperability: Results Reporting Specification, Version 1.2
|
||
</a></dd>
|
||
<dd><a name="ref_RR">Published: 2002-02
|
||
</a></dd>
|
||
<dt><a name="ref_URI">URI
|
||
</a></dt>
|
||
<dd><a name="ref_URI">RFC 2396 Uniform Resource Identifiers (URI): Generic Syntax
|
||
</a></dd>
|
||
<dd><a name="ref_URI">Published: 1998-08
|
||
</a></dd>
|
||
<dt><a name="ref_XHTML">XHTML
|
||
</a></dt>
|
||
<dd><a name="ref_XHTML">XHTML 1.1: The Extensible HyperText Markup Language
|
||
</a></dd>
|
||
<dt><a name="ref_XHTML_MOD">XHTML_MOD
|
||
</a></dt>
|
||
<dd><a name="ref_XHTML_MOD">XHTML Modularization
|
||
</a></dd>
|
||
<dd><a href="http://www.w3.org/MarkUp/modularization">http://www.w3.org/MarkUp/modularization</a></dd>
|
||
|
||
<dt><a name="ref_XML">XML
|
||
</a></dt>
|
||
<dd><a name="ref_XML">Extensible Markup Language (XML), Version 1.0 (second edition)
|
||
</a></dd>
|
||
<dd><a name="ref_XML">Published: 2000-10
|
||
</a></dd>
|
||
<dt><a name="ref_XML_SCHEMA2">XML_SCHEMA2
|
||
</a></dt>
|
||
<dd><a name="ref_XML_SCHEMA2">XML Schema Part 2: Datatypes
|
||
</a></dd>
|
||
<dd><a href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/">http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/</a></dd>
|
||
|
||
</dl>
|
||
|
||
|
||
<h2><a name="section10003">3. Definitions</a></h2>
|
||
|
||
<p><a name="term10004"><b>Adaptive Item</b></a></p>
|
||
|
||
<p><a name="term10004">An adaptive item is an </a><a href="#term10021">Item</a> that adapts either its appearance, its scoring (<a href="#term10033">Response Processing</a>) or both in response to each of the candidate's
|
||
<a href="#term10008">Attempt</a>s. For example, an adaptive item may start by
|
||
prompting the candidate with a box for free-text entry but, on receiving an
|
||
unsatisfactory answer, present a simple choice <a href="#term10019">Interaction</a>
|
||
instead and award fewer marks for subsequently identifying the correct response.
|
||
Adaptivity allows authors to create items for use in formative situations which both
|
||
help to guide candidates through a given task while also providing an <a href="#term10031">Outcome</a> that takes into consideration their path, enabling better
|
||
subsequent content sequencing decisions to be made.</p>
|
||
|
||
<p><a name="term10005"><b>Adaptive Test</b></a></p>
|
||
|
||
<p><a name="term10005">Adaptive Tests are out of scope for this specification.</a></p>
|
||
|
||
<p><a name="term10006"><b>Assessment</b></a></p>
|
||
|
||
<p><a name="term10006">An Assessment is equivalent to a '</a><a href="#term10039">Test</a>'. It contains the collection of <a href="#term10021">Item</a>s that are used
|
||
to determine the level of mastery, or otherwise, that a participant has on a
|
||
particular subject. The Assessment contains all of the necessary instructions to
|
||
enable variable sequencing of the Items and the corresponding aggregated scoring to
|
||
produce the final test score. Assessments are out of scope for this document.</p>
|
||
|
||
<p><a name="term10007"><b>Assessment Delivery System</b></a></p>
|
||
|
||
<p><a name="term10007">A system for the administration and
|
||
delivery of assessments to candidates. See also </a><a href="#term10017">Delivery Engine</a>.</p>
|
||
|
||
<p><a name="term10008"><b>Attempt</b></a></p>
|
||
|
||
<p><a name="term10008">An attempt (at an </a><a href="#term10021">Item</a>) is the
|
||
process by which the <a href="#term10012">Candidate</a> interacts with an item in one or
|
||
more <a href="#term10013">Candidate Session</a>s, possibly assigning values to or updating
|
||
the associated <a href="#term10034">Response Variable</a>s.</p>
|
||
|
||
<p><a name="term10009"><b>Authoring System</b></a></p>
|
||
|
||
<p><a name="term10009">A system used by </a><a href="http://www.imsglobal.org/question/qti_v2p0/imsqti_oviewv2p0.html#element10004">author</a>s for creating and editing <a href="#term10021">Item</a>s.</p>
|
||
|
||
<p><a name="term10010"><b>Base-type</b></a></p>
|
||
|
||
<p><a name="term10010">A base-type is a predefined data type that
|
||
defines a value set from which values for </a><a href="#term10025">Item Variable</a>s are
|
||
drawn. These values are indivisible with respect to the <em>runtime model</em>
|
||
described by this specification.</p>
|
||
|
||
<p><a name="term10011"><b>Basic Item</b></a></p>
|
||
|
||
<p><a name="term10011">A basic item is an </a><a href="#term10021">Item</a>
|
||
that contains one and only one <a href="#term10019">Interaction</a>.</p>
|
||
|
||
<p><a name="term10012"><b>Candidate</b></a></p>
|
||
|
||
<p><a name="term10012">A person that participates in a test,
|
||
assessment or exam by answering questions. See also the actor </a><a href="http://www.imsglobal.org/question/qti_v2p0/imsqti_oviewv2p0.html#element10009">candidate</a>.</p>
|
||
|
||
<p><a name="term10013"><b>Candidate Session</b></a></p>
|
||
|
||
<p><a name="term10013">A period of time during which
|
||
the candidate is interacting with the </a><a href="#term10021">Item</a> as part of an
|
||
<a href="#term10008">Attempt</a>. An attempt may consist of more than one candidate
|
||
session. For example, candidates that are not sure of the answer to one question may
|
||
navigate to a second question in the same test and return to the first one later.
|
||
When they leave the first question they terminate the candidate session but they
|
||
<em>do not</em> terminate the <a href="#term10008">Attempt</a>. The attempt is simply
|
||
suspended until a subsequent candidate session concludes it, triggering <a href="#term10033">Response Processing</a> and (possibly) <a href="#term10018">Feedback</a>. </p>
|
||
|
||
<p><a name="term10014"><b>Cloning Engine</b></a></p>
|
||
|
||
<p><a name="term10014">A cloning engine is a system for
|
||
creating multiple similar items (</a><a href="#term10022">Item Clone</a>s) from an <a href="#term10024">Item Template</a>.</p>
|
||
|
||
<p><a name="term10015"><b>Composite Item</b></a></p>
|
||
|
||
<p><a name="term10015">A composite item is an </a><a href="#term10021">Item</a> that contains more than one <a href="#term10019">Interaction</a>.</p>
|
||
|
||
<p><a name="term10016"><b>Container</b></a></p>
|
||
|
||
<p>
|
||
<a name="term10016"> <span>A container is an aggregate data type that can contain multiple
|
||
values of the primitive </span></a><a href="#term10010">Base-type</a>s. Containers may be empty.
|
||
</p>
|
||
|
||
<p><a name="term10017"><b>Delivery Engine</b></a></p>
|
||
|
||
<p><a name="term10017">The process that coordinates the
|
||
rendering and delivery of the </a><a href="#term10021">Item</a>(s) and the evaluation of the
|
||
responses to produce scores and <a href="#term10018">Feedback</a>.</p>
|
||
|
||
<p><a name="term10018"><b>Feedback</b></a></p>
|
||
|
||
<p><a name="term10018">Any material presented to the candidate
|
||
conditionally based on the value of an </a><a href="#term10032">Outcome Variable</a>. See also
|
||
<a href="#term10020">Integrated Feedback</a> and <a href="#term10027">Modal Feedback</a>
|
||
</p>
|
||
|
||
<p><a name="term10019"><b>Interaction</b></a></p>
|
||
|
||
<p><a name="term10019">Interactions allow the candidate to
|
||
interact with the item. Through an interaction, the candidate selects or constructs
|
||
a response. See also the class </a><a href="#element10247">interaction</a>.</p>
|
||
|
||
<p><a name="term10020"><b>Integrated Feedback</b></a></p>
|
||
|
||
<p><a name="term10020">Integrated feedback is the
|
||
name given to </a><a href="#term10018">Feedback</a> that is integrated into the item's
|
||
<a href="#element10096">itemBody</a>. Unlike <a href="#term10027">Modal Feedback</a> the
|
||
candidate is free to update their responses while viewing integrated feedback.</p>
|
||
|
||
<p><a name="term10021"><b>Item</b></a></p>
|
||
|
||
<p><a name="term10021">The smallest exchangeable assessment object within this
|
||
specification. An item is more than a 'Question' in that it contains the question
|
||
and instructions to be presented, the </a><a href="#element10355">responseProcessing</a> to be
|
||
applied to the candidates response(s) and the <a href="#term10018">Feedback</a> that may
|
||
be presented (including hints and solutions). <span>In this
|
||
specification items are represented by the <a href="#element10010">assessmentItem</a>
|
||
class and the term <em>assessment item</em> is used interchangeably for <em>item</em>.</span>
|
||
</p>
|
||
|
||
<p><a name="term10022"><b>Item Clone</b></a></p>
|
||
|
||
<p><a name="term10022">Item Clones are items created by an </a><a href="#term10024">Item Template</a>.</p>
|
||
|
||
<p><a name="term10023"><b>Item Session</b></a></p>
|
||
|
||
<p><a name="term10023">An item session is the accumulation of all
|
||
the </a><a href="#term10008">Attempt</a>s made by a candidate. </p>
|
||
|
||
<p><a name="term10024"><b>Item Template</b></a></p>
|
||
|
||
<p><a name="term10024">Item templates are templates that can be
|
||
used for producing large numbers of similar </a><a href="#term10021">Item</a>s. Such items are
|
||
often called cloned items. Item templates can be used to produce items by a special
|
||
purpose <a href="#term10014">Cloning Engine</a> or, where <a href="#term10017">Delivery Engine</a>s support them, be used directly to produce a dynamically
|
||
chosen clone at the start of an <a href="#term10023">Item Session</a>. Each item cloned
|
||
from an item template is identical except for the values given to a set of <a href="#term10038">Template Variable</a>s. An item is therefore an item template if it declares one
|
||
or more template variables and a contains set of <a href="#term10037">Template Processing</a> rules for assigning them values.</p>
|
||
|
||
<p><a name="term10025"><b>Item Variable</b></a></p>
|
||
|
||
<p><a name="term10025">A variable that records part of the
|
||
state of an </a><a href="#term10023">Item Session</a>. The candidate's responses and any
|
||
outcomes assigned by <a href="#term10033">Response Processing</a> are stored in item
|
||
variables. Item variables are also used to define <a href="#term10024">Item Template</a>s.
|
||
See also the class <a href="#element10039">itemVariable</a>.</p>
|
||
|
||
<p><a name="term10026"><b>Material</b></a></p>
|
||
|
||
<p><a name="term10026">Material means all static text, image or media
|
||
objects that are intended for the user rather than being interpreted by a processing
|
||
system. </a><a href="#term10019">Interaction</a>s are not material.</p>
|
||
|
||
<p><a name="term10027"><b>Modal Feedback</b></a></p>
|
||
|
||
<p><a name="term10027">Modal feedback is the name give to
|
||
</a><a href="#term10018">Feedback</a> that is presented to the candidate on its own, as
|
||
opposed to being integrated into the item's <a href="#element10096">itemBody</a>.</p>
|
||
|
||
<p><a name="term10028"><b>Multiple Response</b></a></p>
|
||
|
||
<p><a name="term10028">A multiple response is a
|
||
</a><a href="#term10034">Response Variable</a> that is a <a href="#term10016">Container</a> for
|
||
multiple values all drawn from the value set defined by one of the <a href="#term10010">Base-type</a>s. A multiple response is processed as an unordered list of these
|
||
values. The list may be empty.</p>
|
||
|
||
<p><a name="term10029"><b>Non-adaptive Item</b></a></p>
|
||
|
||
<p><a name="term10029">An non-adaptive item is an
|
||
</a><a href="#term10021">Item</a> that does not adapt itself in response to the
|
||
candidate's <a href="#term10008">Attempt</a>s.</p>
|
||
|
||
<p><a name="term10030"><b>Ordered Response</b></a></p>
|
||
|
||
<p><a name="term10030">An ordered response is a </a><a href="#term10034">Response Variable</a> that is a <a href="#term10016">Container</a> for multiple values
|
||
all drawn from the value set defined by one of the <a href="#term10010">Base-type</a>s. An
|
||
ordered response is processed as an ordered list (sequence) of values. The list may
|
||
be empty.</p>
|
||
|
||
<p><a name="term10031"><b>Outcome</b></a></p>
|
||
|
||
<p><a name="term10031">The result of an assessment. For an </a><a href="#term10021">Item</a>, an outcome is represented by one or more <a href="#term10032">Outcome Variable</a>s.</p>
|
||
|
||
<p><a name="term10032"><b>Outcome Variable</b></a></p>
|
||
|
||
<p><a name="term10032">Outcome variables are declared by
|
||
outcome declarations. Their value is set either from a default given in the
|
||
declaration itself or by a response rule encountered during </a><a href="#term10033">Response Processing</a>. See also the class <a href="#element10095">outcomeVariable</a>. </p>
|
||
|
||
<p><a name="term10033"><b>Response Processing</b></a></p>
|
||
|
||
<p><a name="term10033">The process by which the
|
||
values of </a><a href="#term10034">Response Variable</a>s are judged (scored) and the values of
|
||
<a href="#term10032">Outcome Variable</a>s are assigned.</p>
|
||
|
||
<p><a name="term10034"><b>Response Variable</b></a></p>
|
||
|
||
<p><a name="term10034">Response variables are declared
|
||
by response declarations and bound to </a><a href="#term10019">Interaction</a>s in the
|
||
<a href="#term10021">Item</a> body, they record the candidate's responses. See also
|
||
the class <a href="#element10090">responseVariable</a>
|
||
</p>
|
||
|
||
<p><a name="term10035"><b>Scoring Engine</b></a></p>
|
||
|
||
<p><a name="term10035">The part of the assessment system that
|
||
handles the scoring based on the </a><a href="#term10012">Candidate</a>'s responses and the
|
||
<a href="#term10033">Response Processing</a> rules.</p>
|
||
|
||
<p><a name="term10036"><b>Single Response</b></a></p>
|
||
|
||
<p><a name="term10036">A single response is a </a><a href="#term10034">Response Variable</a> that can take a single value from the set of values
|
||
defined by one of the <a href="#term10010">Base-type</a>s.</p>
|
||
|
||
<p><a name="term10037"><b>Template Processing</b></a></p>
|
||
|
||
<p><a name="term10037"> A set of rules used to set
|
||
the values of the </a><a href="#term10038">Template Variable</a>s, typically involving some
|
||
random process, and thereby select the specific clone to be used for an <a href="#term10023">Item Session</a>. </p>
|
||
|
||
<p><a name="term10038"><b>Template Variable</b></a></p>
|
||
|
||
<p><a name="term10038">Template variables are declared
|
||
by template declarations and used to record the values required to instantiate an
|
||
item template. The values determine which clone from the set of similar items
|
||
defined by an </a><a href="#term10024">Item Template</a> is being used for a given <a href="#term10023">Item Session</a>.</p>
|
||
|
||
<p><a name="term10039"><b>Test</b></a></p>
|
||
|
||
<p><a name="term10039">See </a><a href="#term10006">Assessment</a>.</p>
|
||
|
||
<p><a name="term10040"><b>Time Dependent Item</b></a></p>
|
||
|
||
<p><a name="term10040">A time dependent item is an
|
||
</a><a href="#term10021">Item</a> that records the accumulated elapsed time for the
|
||
<a href="#term10013">Candidate Session</a>s in a <a href="#term10034">Response Variable</a>
|
||
that is used during <a href="#term10033">Response Processing</a>.</p>
|
||
|
||
<p><a name="term10041"><b>Time Independent Item</b></a></p>
|
||
|
||
<p><a name="term10041">A time independent item
|
||
is an </a><a href="#term10021">Item</a> that does not record the amount of time spent by the
|
||
<a href="#term10012">Candidate</a> completing it. In practice, this information may be
|
||
collected by a <a href="#term10017">Delivery Engine</a> but it is not used for <a href="#term10033">Response Processing</a> and the method by which it is reported is outside the
|
||
scope of this specification.</p>
|
||
|
||
|
||
<h2><a name="section10042">4. Items</a></h2>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10010"><b>Class</b> : <code>assessmentItem</code>
|
||
</a></p>
|
||
</div>
|
||
|
||
|
||
<a name="element10010"> </a>
|
||
<p class="class-subbody"><a name="element10011"><b>Attribute</b> : <code>identifier [1]: </code></a><a class="class-subbody" href="#element10556">string</a></p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10012"><b>Attribute</b> : <code>title [1]: </code></a><a class="class-subbody" href="#element10556">string</a><br>
|
||
|
||
The title of an <a href="#element10010">assessmentItem</a> is intended to enable the item to be selected in
|
||
situations where the full text of the <a href="#element10096">itemBody</a> is not
|
||
available, for example when a candidate is browsing a set of items to determine
|
||
the order in which to attempt them. Therefore, delivery engines may reveal the
|
||
title to candidates at any time but are not required to do so.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10013"><b>Attribute</b> : <code>label [0..1]: </code></a><a class="class-subbody" href="#element10557">string256</a></p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10014"><b>Attribute</b> : <code>lang [0..1]: </code></a><a class="class-subbody" href="#element10543">language</a></p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10015"><b>Attribute</b> : <code>adaptive [1]: </code></a><a class="class-subbody" href="#element10537">boolean</a> = false<br>
|
||
|
||
Items are classified into
|
||
<a href="#term10004">Adaptive Item</a>s and <a href="#term10029">Non-adaptive Item</a>s.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10016"><b>Attribute</b> : <code>timeDependent [1]: </code></a><a class="class-subbody" href="#element10537">boolean</a></p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10017"><b>Attribute</b> : <code>toolName [0..1]: </code></a><a class="class-subbody" href="#element10557">string256</a><br>
|
||
|
||
The tool name
|
||
attribute allows the tool creating the item to identify itself. Other processing
|
||
systems may use this information to interpret the content of application
|
||
specific data, such as <a href="#element10102">label</a>s on the elements
|
||
of the item's <a href="#element10096">itemBody</a>.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10018"><b>Attribute</b> : <code>toolVersion [0..1]: </code></a><a class="class-subbody" href="#element10557">string256</a><br>
|
||
|
||
The tool version
|
||
attribute allows the tool creating the item to identify its version. This value
|
||
must only be interpreted in the context of the <a href="#element10017">toolName</a>
|
||
</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10019"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10074">responseDeclaration</a> [*]</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10020"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10091">outcomeDeclaration</a> [*]</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10021"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10500">templateDeclaration</a> [*]</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10022"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10512">templateProcessing</a> [0..1]</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10023"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10241">stylesheet</a> [0..*]</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10024"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10096">itemBody</a> [0..1]</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10025"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10355">responseProcessing</a> [0..1]</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10026"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10376">modalFeedback</a> [*]</p>
|
||
|
||
|
||
</div>
|
||
|
||
<p align="center"><img src="imsqti_infov2p0_files/item_session.png"></p>
|
||
|
||
<p align="center">Item Sessions</p>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10027"><b>Abstract class</b> : <code>itemSession</code>
|
||
</a></p>
|
||
</div>
|
||
|
||
|
||
<a name="element10027"> </a>
|
||
<p><a name="element10027">itemSession is an abstract class to help illustrate the requirements on </a><a href="#term10017">Delivery Engine</a>s when delivering to candidates items that conform to
|
||
this specification.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10028"><b>Associated with</b> : <code></code></a><a class="class-subbody" href="#element10010">assessmentItem</a> [1]<br>
|
||
|
||
An
|
||
itemSession is associated with one and only one <a href="#element10010">assessmentItem</a>.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10029"><b>Attribute</b> : <code>completionStatus [1]: </code></a><a class="class-subbody" href="#element10541">identifier</a><br>
|
||
|
||
|
||
<a href="#term10017">Delivery Engine</a>s must maintain the value of the built-in
|
||
outcome variable <em>completionStatus</em> as part of the session
|
||
state. It starts with the reserved value "not_attempted". At the start of the
|
||
first attempt it changes the to the reserved value "unknown". It remains with
|
||
this value for the duration of the item session unless set to a different value
|
||
by a <a href="#element10372">setOutcomeValue</a> rule in <a href="#element10355">responseProcessing</a>. There are four permitted values:
|
||
<em>completed</em>, <em>incomplete</em>, <em>not_attempted</em> and
|
||
<em>unknown</em>. Any one of these values may be set during response processing,
|
||
for definitions of the meanings see <a href="#ref_CMI">[CMI]</a>. If an <a href="#term10004">Adaptive Item</a> sets completionStatus to <em>complete</em> then the
|
||
session must be placed into the closed state, however, an itemSession is
|
||
<strong>not</strong> required to wait for the complete signal before
|
||
terminating, it may terminate in response to a direct request from the
|
||
candidate, through running out of time or through some other exceptional
|
||
circumstance. Similarly, <a href="#term10029">Non-adaptive Item</a>s are not
|
||
<em>required</em> to set a value for completionStatus, however, <a href="#term10004">Adaptive Item</a>s <em>must</em> maintain a suitable value and should set
|
||
completionStatus to "complete" to indicate when the cycle of interaction,
|
||
response processing and feedback must stop. <a href="#term10017">Delivery Engine</a>s
|
||
are encouraged to use the value of completionStatus when communicating using
|
||
<a href="#ref_CMI">[CMI]</a>. See the accompanying integration guide for more
|
||
details. </p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10030"><b>Attribute</b> : <code>duration [0..1]: </code></a><a class="class-subbody" href="#element10540">float</a><br>
|
||
|
||
Systems that support
|
||
<a href="#term10040">Time Dependent Item</a>s must record the duration of the
|
||
session. The duration is defined as being the accumulated time (in seconds) of
|
||
all <a href="#term10013">Candidate Session</a>s for all <a href="#term10008">Attempt</a>s. In
|
||
other words the time between the beginning and the end of the itemSession
|
||
<strong>minus</strong> any time the itemSession was in the suspended state. The
|
||
resolution of the duration must be at least 1s and should be 0.1s or smaller. If
|
||
the resolution is denoted by <em>epsilon</em> then each value of duration
|
||
represents the range of values [duration,duration+<em>epsilon</em>). In other
|
||
words, duration values are truncated. For items that are not time dependent
|
||
duration must <span>not be used.</span>
|
||
|
||
</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10031"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10039">itemVariable</a> [*]<br>
|
||
|
||
The itemSession keeps track of
|
||
the current values assigned to all <a href="#element10039">itemVariable</a>s. The
|
||
values of <a href="#element10029">completionStatus</a> and <a href="#element10030">duration</a> are treated as special item variables. They share
|
||
the same namespace as the item variables explicitly declared through
|
||
<a href="#element10034">variableDeclaration</a>s.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10032"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10033">sessionContext</a> [1]<br>
|
||
|
||
An
|
||
itemSession is also associated with a <a href="#element10033">sessionContext</a> which
|
||
provides information about the candidate, when and where the session took place
|
||
and so on.</p>
|
||
|
||
|
||
|
||
<p>The following diagram illustrates the user-perceived states of the itemSession.
|
||
Not all states will apply to every scenario, for example feedback may not be
|
||
provided for an item or it may not be allowed in the context in which the item
|
||
is being used. Similarly, the candidate may not be permitted to review their
|
||
responses and/or examine a model solution. In practice, systems may support only
|
||
a limited number of the indicated state transitions and/or support other state
|
||
transitions not shown here.</p>
|
||
|
||
|
||
|
||
<p>For system developers, an important first step in determining which requirements
|
||
apply to their system is to identify which of the user-perceived states are
|
||
supported in their system and to match the state transitions indicated in the
|
||
diagram to their own event model.</p>
|
||
|
||
|
||
|
||
<p align="center"><img src="imsqti_infov2p0_files/lifecycle.png"></p>
|
||
|
||
<p align="center">Lifecycle of an Item Session</p>
|
||
|
||
|
||
|
||
<p>A delivery system notionally creates an instance of an itemSession object when it
|
||
first becomes eligible for delivery to the candidate. The itemSession's state is
|
||
then maintained and updated in response to the actions of the candidate until
|
||
the session is over. At this point the state of the session is turned into a
|
||
session report (or thrown away). A delivery system may also allow a session
|
||
report from a past session to be used to re-create the session in order to allow
|
||
a candidate's responses to be seen in the context of the item itself (and
|
||
possibly compared to a solution).</p>
|
||
|
||
|
||
|
||
<p>The initial state of an itemSession represents the state after it has been
|
||
determined that the item will be delivered to the candidate but before the
|
||
delivery has taken place.</p>
|
||
|
||
|
||
|
||
<p>In a typical non-<a href="#term10005">Adaptive Test</a> the items are
|
||
selected in advance and the candidate's interaction with all items is reported
|
||
at the end of the test session, regardless of whether or not the candidate
|
||
actually attempted all the items. In effect, itemSessions are created in the
|
||
initial state for all items at the start of the test and are maintained in
|
||
parallel. In an <a href="#term10005">Adaptive Test</a> the items that are to be
|
||
presented are selected during the session based on the responses and outcomes
|
||
associated with the items presented so far. Items are selected from a large pool
|
||
and the delivery engine only reports the candidate's interaction with items that
|
||
have actually been selected.</p>
|
||
|
||
|
||
|
||
<p>A candidate's interaction with an item is broken into 0 or more attempts. During
|
||
each attempt the candidate interacts with the item through one or more candidate
|
||
sessions. At the end of a candidate session the item is placed into the
|
||
suspended state ready for the next candidate session. During a candidate session
|
||
the <em>itemSession</em> is in the interacting state. Once an attempt has ended
|
||
response processing takes place, after response processing a new attempt may be started.</p>
|
||
|
||
|
||
|
||
<p>For non-adaptive items, response processing may only be invoked a limited number
|
||
of times, typically once. For adaptive items, no such limit is required because
|
||
the response processing <em>adapts</em> the values it assigns to the outcome
|
||
variables based on the path through the item. In both cases, each invocation of
|
||
response processing indicates the end of an attempt. The appearance of the
|
||
item's body, and whether any modal feedback is shown, is determined by the
|
||
values of the <a href="#element10095">outcomeVariable</a>s.</p>
|
||
|
||
|
||
|
||
<p>When no more attempts are allowed the itemSession passes into the closed state.
|
||
Once in the closed state the values of the response variables are fixed. A
|
||
delivery system or reporting tool may still allow the item to be presented after
|
||
it has reached the closed state. This type of presentation takes place in the
|
||
review state, summary feedback may also be visible at this point if response
|
||
processing has taken place and set a suitable <a href="#element10095">outcomeVariable</a>.</p>
|
||
|
||
|
||
|
||
<p>Finally, for systems that support the display of solutions, the itemSession may
|
||
pass into the solution state. In this state, the candidate's responses are
|
||
temporarily replaced by the correct values supplied in the corresponding
|
||
<a href="#element10074">responseDeclaration</a>s (or NULL if none was declared).</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10033"><b>Abstract class</b> : <code>sessionContext</code>
|
||
</a></p>
|
||
<dl>
|
||
|
||
<dt><a name="element10033">Associated classes:</a></dt>
|
||
<dd><code><a class="class-head" href="#element10027">itemSession</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p>The details of <a href="#element10033">sessionContext</a> will be application specific
|
||
and are therefore outside the scope of this document. Applications that handle
|
||
result reports using <a href="#ref_RR">[RR]</a> should consider the limits of the data
|
||
model imposed on the context element in that specification.</p>
|
||
|
||
|
||
</div>
|
||
|
||
|
||
<h2><a name="section10043">5. Item Variables</a></h2>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10034"><b>Abstract class</b> : <code>variableDeclaration</code>
|
||
</a></p>
|
||
<dl>
|
||
|
||
<dt><a name="element10034">Derived classes:</a></dt>
|
||
<dd><code><a class="class-head" href="#element10091">outcomeDeclaration</a>, <a class="class-head" href="#element10074">responseDeclaration</a>, <a class="class-head" href="#element10500">templateDeclaration</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p align="center"><img src="imsqti_infov2p0_files/types.png"></p>
|
||
|
||
<p align="center">Variable Declarations</p>
|
||
|
||
|
||
|
||
<p>Item variables are declared by variable declarations. All variables must be
|
||
declared except for the built-in session variables referred to below which are
|
||
declared implicitly. The purpose of the declaration is to associate an
|
||
identifier with the variable and to identify the runtime type of the variable's
|
||
value. At runtime (i.e., during an <a href="#element10027">itemSession</a>) the value
|
||
of the variable is notionally represented by a class derived from <a href="#element10039">itemVariable</a>
|
||
</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10035"><b>Attribute</b> : <code>identifier [1]: </code></a><a class="class-subbody" href="#element10541">identifier</a><br>
|
||
|
||
The identifiers of
|
||
the built-in session variables are reserved. They are <a href="#element10029">completionStatus</a> and <a href="#element10030">duration</a>. All item variables declared in an item share the
|
||
same namespace. Different items have different namespaces.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10036"><b>Attribute</b> : <code>cardinality [1]: </code></a><a class="class-subbody" href="#element10049">cardinality</a><br>
|
||
|
||
Each variable is
|
||
either single valued or multi-valued. Multi-valued variables are referred to as
|
||
containers and come in <span>ordered, unordered and record</span>
|
||
types. See <a href="#element10049">cardinality</a> for more information.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10037"><b>Attribute</b> : <code>baseType [0..1]: </code></a><a class="class-subbody" href="#element10054">baseType</a><br>
|
||
|
||
The value space from
|
||
which the variable's value can be drawn (or in the case of containers, from
|
||
which the individual values are drawn) is identified with a <a href="#element10054">baseType</a>. The baseType selects one of a small set of predefined types
|
||
that are considered to have atomic values within the runtime data model. <span>Variables with <a href="#element10053">record</a>
|
||
cardinality have no base-type.</span>
|
||
</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10038"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10046">defaultValue</a> [0..1]<br>
|
||
|
||
An optional
|
||
default value for the variable. The point at which a variable is set to its
|
||
default value varies depending on the type of item variable.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10039"><b>Abstract class</b> : <code>itemVariable</code>
|
||
</a></p>
|
||
<dl>
|
||
|
||
<dt><a name="element10039">Derived classes:</a></dt>
|
||
<dd><code><a class="class-head" href="#element10095">outcomeVariable</a>, <a class="class-head" href="#element10090">responseVariable</a>, <a class="class-head" href="#element10503">templateVariable</a></code></dd>
|
||
|
||
<dt>Associated classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10027">itemSession</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10040"><b>Associated with</b> : <code></code></a><a class="class-subbody" href="#element10034">variableDeclaration</a> [1]<br>
|
||
|
||
At runtime, item variables are created in the
|
||
<a href="#element10027">itemSession</a> each corresponding to a <a href="#element10034">variableDeclaration</a> in the corresponding <a href="#element10010">assessmentItem</a>.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10041"><b>Attribute</b> : <code>identifier [1]: </code></a><a class="class-subbody" href="#element10541">identifier</a><br>
|
||
|
||
The purpose of an itemVariable is to
|
||
associate the runtime value of the variable with the variable's identifier and
|
||
declaration. At runtime the variable has the <a href="#element10036">cardinality</a> and <a href="#element10037">baseType</a> given in the associated declaration</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10042"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10043">value</a> [*]<br>
|
||
|
||
An itemVariable may have no
|
||
value at all, in which case it is said to have the special value NULL. For
|
||
example, if the candidate has not yet had an opportunity to respond to an
|
||
<a href="#element10247">interaction</a> then any associated <a href="#element10090">responseVariable</a> will have a NULL value.
|
||
<span>Empty containers and empty strings are always treated as
|
||
NULL values.</span>
|
||
</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10043"><b>Class</b> : <code>value</code>
|
||
</a></p>
|
||
<dl>
|
||
|
||
<dt><a name="element10043">Associated classes:</a></dt>
|
||
<dd><code><a class="class-head" href="http://www.imsglobal.org/question/qti_v2p0/imsqti_mdudv2p0.html#element10615">ordinaryStatistic</a>, <a class="class-head" href="#element10046">defaultValue</a>, <a class="class-head" href="#element10078">correctResponse</a>, <a class="class-head" href="#element10039">itemVariable</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p>A class that can represent a single value of any <a href="#element10054">baseType</a>
|
||
<span>in variable declarations. The base-type is defined by the
|
||
<a href="#element10037">baseType</a> attribute of the
|
||
declaration except in the case of variables with <a href="#element10053">record</a> cardinality.</span>
|
||
</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10044"><b>Attribute</b> : <code>fieldIdentifier [0..1]: </code></a><a class="class-subbody" href="#element10541">identifier</a><br>
|
||
|
||
|
||
This attribute is used for specifying the field identifier for a value that
|
||
forms part of a <a href="#element10053">record</a>. </p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10045"><b>Attribute</b> : <code>baseType [0..1]: </code></a><a class="class-subbody" href="#element10054">baseType</a><br>
|
||
|
||
This
|
||
attribute is used for specifying the base-type of a value that forms part of a
|
||
<a href="#element10053">record</a>. </p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10046"><b>Class</b> : <code>defaultValue</code>
|
||
</a></p>
|
||
<dl>
|
||
|
||
<dt><a name="element10046">Associated classes:</a></dt>
|
||
<dd><code><a class="class-head" href="#element10034">variableDeclaration</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10047"><b>Attribute</b> : <code>interpretation [0..1]: </code></a><a class="class-subbody" href="#element10556">string</a><br>
|
||
|
||
A human readable
|
||
interpretation of the default value.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10048"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10043">value</a> [1..*]</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<h4><a name="element10049">Enumeration: <code>cardinality</code></a></h4>
|
||
|
||
</div>
|
||
|
||
|
||
<a name="element10049"> </a>
|
||
<p class="class-subbody"><a name="element10050"><code>single</code></a></p>
|
||
|
||
|
||
<a name="element10050"> </a>
|
||
<p class="class-subbody"><a name="element10051"><code>multiple</code></a></p>
|
||
|
||
|
||
<a name="element10051"> </a>
|
||
<p class="class-subbody"><a name="element10052"><code>ordered</code></a></p>
|
||
|
||
|
||
<a name="element10052"> </a>
|
||
<p class="class-subbody"><a name="element10053"><code>record</code></a></p>
|
||
|
||
|
||
<a name="element10053"> </a>
|
||
<p><a name="element10053">An </a><a href="#element10382">expression</a> or <a href="#element10039">itemVariable</a> can
|
||
either be single-valued or multi-valued. A multi-valued expression (or variable)
|
||
is called a container. A container contains a list of values, this list may be
|
||
empty in which case it is
|
||
<span>treated as NULL</span>. All the values in a <span>multiple or ordered</span> container are drawn from the same
|
||
value set, however, containers may contain multiple occurrences of the
|
||
<em>same</em> value. In other words, [A,B,B,C] is an acceptable value for a
|
||
container. A container with cardinality multiple and value [A,B,C] is equivalent
|
||
to a similar one with value [C,B,A] whereas these two values would be considered
|
||
distinct for containers with cardinality ordered. When used as the value of a
|
||
<a href="#element10090">responseVariable</a> this distinction is typified by the
|
||
difference between selecting choices in a multi-response multi-choice task and
|
||
ranking choices in an order objects task. In the language of <a href="#ref_ISO11404">[ISO11404]</a> a container with multiple cardinality is a "bag-type", a
|
||
container with ordered cardinality is a "sequence-type" <span>and a
|
||
container with record cardinality is a "record-type"</span>.</p>
|
||
|
||
|
||
|
||
<p>The record container type is a special container that contains a set
|
||
of independent values each identified by its own identifier and having its own
|
||
base-type. This specification does not make use of the record type directly
|
||
however it is provided to enable <a href="#element10352">customInteraction</a>s to
|
||
manipulate more complex responses and <a href="#element10496">customOperator</a>s to
|
||
return more complex values.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<h4><a name="element10054">Enumeration: <code>baseType</code></a></h4>
|
||
|
||
</div>
|
||
|
||
|
||
<a name="element10054"> </a>
|
||
<p><a name="element10054">A base-type is simply a description of a set of atomic values (atomic to this
|
||
specification). Note that several of the baseTypes used to define the runtime
|
||
data model have identical definitions to those of the basic data types used to
|
||
define the values for attributes in the specification itself. The use of an
|
||
enumeration to define the set of baseTypes used in the <em>runtime</em> model,
|
||
as opposed to the use of classes with similar names, is designed to help
|
||
distinguish between these two distinct levels of modeling.</a></p>
|
||
|
||
|
||
<a name="element10054"> </a>
|
||
<p class="class-subbody"><a name="element10055"><code>identifier</code><br>
|
||
|
||
The set of identifier values is the same as the set of
|
||
values defined by the </a><a href="#element10541">identifier</a> class</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10056"><code>boolean</code><br>
|
||
|
||
The set of boolean values is the same as the set of values
|
||
defined by the </a><a href="#element10537">boolean</a> class. </p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10057"><code>integer</code><br>
|
||
|
||
The set of integer values is the same as the set of values
|
||
defined by the </a><a href="#element10542">integer</a> class.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10058"><code>float</code><br>
|
||
|
||
The set of float values is the same as the set of values defined
|
||
by the </a><a href="#element10540">float</a> class.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10059"><code>string</code><br>
|
||
|
||
The set of string values is the same as the set of values
|
||
defined by the </a><a href="#element10556">string</a> class.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10060"><code>point</code><br>
|
||
|
||
A point value represents an integer tuple corresponding to a
|
||
graphic point. The two integers correspond to the horizontal (x-axis) and
|
||
vertical (y-axis) positions respectively. The up/down and left/right senses of
|
||
the axes are context dependent.</a></p>
|
||
|
||
|
||
<a name="element10060"> </a>
|
||
<p class="class-subbody"><a name="element10061"><code>pair</code><br>
|
||
|
||
A pair value represents a pair of identifiers corresponding to an
|
||
association between two objects. The association is undirected so (A,B) and
|
||
(B,A) are equivalent.</a></p>
|
||
|
||
|
||
<a name="element10061"> </a>
|
||
<p class="class-subbody"><a name="element10062"><code>directedPair</code><br>
|
||
|
||
A directedPair value represents a pair of identifiers
|
||
corresponding to a directed association between two objects. The two identifiers
|
||
correspond to the source and destination objects.</a></p>
|
||
|
||
|
||
<a name="element10062"> </a>
|
||
<p class="class-subbody"><a name="element10063"><code>duration</code><br>
|
||
|
||
A duration value specifies a distance (in time) between two
|
||
time points. In other words, a time period as defined by </a><a href="#ref_ISO8601">[ISO8601]</a>. Durations are measured in seconds and may have a fractional part.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10064"><code>file</code><br>
|
||
|
||
A file value is any sequence of octets (bytes) qualified by a
|
||
content-type and an optional filename given to the file (for example, by the
|
||
candidate when uploading it as part of an </a><a href="#element10247">interaction</a>).
|
||
The content type of the file is one of the MIME types defined by <a href="#ref_RFC2045">[RFC2045]</a>.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10065"><code>uri</code><br>
|
||
|
||
A URI value is a Uniform Resource Identifier as defined by </a><a href="#ref_URI">[URI]</a>.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10066"><b>Class</b> : <code>mapping</code>
|
||
</a></p>
|
||
<dl>
|
||
|
||
<dt><a name="element10066">Associated classes:</a></dt>
|
||
<dd><code><a class="class-head" href="#element10074">responseDeclaration</a>, <a class="class-head" href="http://www.imsglobal.org/question/qti_v2p0/imsqti_mdudv2p0.html#element10617">categorizedStatistic</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p>A special class used to create a mapping from a source set of any <a href="#element10054">baseType</a> to a single float. When mapping containers the result is the
|
||
<em>sum</em> of the mapped values from the target set. See <a href="#element10391">mapResponse</a> for details.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10067"><b>Attribute</b> : <code>lowerBound [0..1]: </code></a><a class="class-subbody" href="#element10540">float</a><br>
|
||
|
||
The lower bound for
|
||
the result of mapping a container. If unspecified there is no lower-bound.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10068"><b>Attribute</b> : <code>upperBound [0..1]: </code></a><a class="class-subbody" href="#element10540">float</a><br>
|
||
|
||
The upper bound for
|
||
the result of mapping a container. If unspecified there is no upper-bound.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10069"><b>Attribute</b> : <code>defaultValue [1]: </code></a><a class="class-subbody" href="#element10540">float</a> = 0<br>
|
||
|
||
The default
|
||
value from the target set to be used when no explicit mapping for a source value
|
||
is given.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10070"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10071">mapEntry</a> [1..*]<br>
|
||
|
||
The map is defined
|
||
by a set of mapEntries, each of which maps a single value from the source set
|
||
onto a single float.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10071"><b>Class</b> : <code>mapEntry</code>
|
||
</a></p>
|
||
<dl>
|
||
|
||
<dt><a name="element10071">Associated classes:</a></dt>
|
||
<dd><code><a class="class-head" href="#element10066">mapping</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10072"><b>Attribute</b> : <code>mapKey [1]: </code></a><a class="class-subbody" href="#element10043">value</a><br>
|
||
|
||
The source value</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10073"><b>Attribute</b> : <code>mappedValue [1]: </code></a><a class="class-subbody" href="#element10540">float</a><br>
|
||
|
||
The mapped value</p>
|
||
|
||
|
||
</div>
|
||
|
||
<h3><a name="section10044">5.1. Response Variables</a></h3>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10074"><b>Class</b> : <code>responseDeclaration (</code></a><a class="class-head" href="#element10034">variableDeclaration</a>)
|
||
</p>
|
||
<dl>
|
||
|
||
<dt>Associated classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10010">assessmentItem</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p>Response variables are declared by response declarations and bound to
|
||
<a href="#element10247">interaction</a>s in the <a href="#element10096">itemBody</a>.</p>
|
||
|
||
|
||
|
||
<p>
|
||
<a href="#element10027">itemSession</a> defines one built-in pre-bound response
|
||
variable: <a href="#element10030">duration</a>.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10075"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10078">correctResponse</a> [0..1]<br>
|
||
|
||
A
|
||
response declaration may assign an optional correctResponse. This value may
|
||
indicate the only possible value of the response variable to be considered
|
||
correct or merely just <em>a</em> correct value. For responses that are
|
||
being measured against a more complex scale <span>than
|
||
correct/incorrect</span> this value should be set to the <span>(or an)</span> optimal value. Finally, for responses for
|
||
which no such optimal value is defined the correctResponse must be omitted.
|
||
If a delivery system supports the display of a solution then it should
|
||
display the correct values of responses (where defined) to the candidate.
|
||
When correct values are displayed they must be clearly distinguished from
|
||
the candidate's own responses (which may be hidden completely if necessary).</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10076"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10066">mapping</a> [0..1]<br>
|
||
|
||
The mapping
|
||
provides a mapping from the set of base values to a set of numeric values
|
||
for the purposes of response processing. See <a href="#element10391">mapResponse</a> for information on how to use the mapping.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10077"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10081">areaMapping</a> [0..1]<br>
|
||
|
||
The
|
||
areaMapping, which may only be present in declarations of variables with
|
||
<a href="#element10054">baseType</a> point, provides an alternative form of
|
||
mapping which tests against areas of the coordinate space instead of mapping
|
||
single values (i.e., single points).</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10078"><b>Class</b> : <code>correctResponse</code>
|
||
</a></p>
|
||
<dl>
|
||
|
||
<dt><a name="element10078">Associated classes:</a></dt>
|
||
<dd><code><a class="class-head" href="#element10074">responseDeclaration</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10079"><b>Attribute</b> : <code>interpretation [0..1]: </code></a><a class="class-subbody" href="#element10556">string</a><br>
|
||
|
||
A human
|
||
readable interpretation of the correct value.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10080"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10043">value</a> [1..*]</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10081"><b>Class</b> : <code>areaMapping</code>
|
||
</a></p>
|
||
<dl>
|
||
|
||
<dt><a name="element10081">Associated classes:</a></dt>
|
||
<dd><code><a class="class-head" href="#element10074">responseDeclaration</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p>A special class used to create a mapping from a source set of <a href="#element10060">point</a> values to a target set of float values. When mapping
|
||
containers the result is the <em>sum</em> of the mapped values from the
|
||
target set. See <a href="#element10393">mapResponsePoint</a> for details. The
|
||
attributes have the same meaning as the similarly named attributes on
|
||
<a href="#element10066">mapping</a>.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10082"><b>Attribute</b> : <code>lowerBound [0..1]: </code></a><a class="class-subbody" href="#element10540">float</a></p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10083"><b>Attribute</b> : <code>upperBound [0..1]: </code></a><a class="class-subbody" href="#element10540">float</a></p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10084"><b>Attribute</b> : <code>defaultValue [1]: </code></a><a class="class-subbody" href="#element10540">float</a> = 0</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10085"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10086">areaMapEntry</a> [1..*] {ordered}<br>
|
||
|
||
The map is defined by a set of areaMapEntries, each of
|
||
which maps an area of the coordinate space onto a single float. When mapping
|
||
points each area is tested in turn, with those listed first taking priority
|
||
in the case where areas overlap and a point falls in the intersection.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10086"><b>Class</b> : <code>areaMapEntry</code>
|
||
</a></p>
|
||
<dl>
|
||
|
||
<dt><a name="element10086">Associated classes:</a></dt>
|
||
<dd><code><a class="class-head" href="#element10081">areaMapping</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10087"><b>Attribute</b> : <code>shape [1]: </code></a><a class="class-subbody" href="#element10550">shape</a><br>
|
||
|
||
The shape of the area.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10088"><b>Attribute</b> : <code>coords [1]: </code></a><a class="class-subbody" href="#element10538">coords</a><br>
|
||
|
||
The size and position of the area,
|
||
interpreted in conjunction with the shape.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10089"><b>Attribute</b> : <code>mappedValue [1]: </code></a><a class="class-subbody" href="#element10540">float</a><br>
|
||
|
||
The mapped value</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10090"><b>Abstract class</b> : <code>responseVariable (</code></a><a class="class-head" href="#element10039">itemVariable</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p>At runtime, response variables are instantiated as part of an <a href="#element10027">itemSession</a>. Their values are always initialized to NULL (no value)
|
||
regardless of whether or not a default value is given in the declaration. A
|
||
response variable with a NULL value indicates that the candidate has not
|
||
offered a response, either because they have not attempted the item at all
|
||
or because they have attempted it and chosen not to provide a response.
|
||
|
||
</p>
|
||
|
||
|
||
|
||
<p>If a default value has been provided for a response variable then the
|
||
variable is set to this value at the start of the first attempt. If the
|
||
candidate never attempts the item, in other words, the <a href="#element10027">itemSession</a> passes straight from the initial state to the closed
|
||
state without going through the interacting state, then the response
|
||
variable remains NULL and the default value is never used.</p>
|
||
|
||
|
||
|
||
<p>Implementors of <a href="#term10017">Delivery Engine</a>'s should take care when
|
||
implementing user interfaces for items with default response variable
|
||
values. If the associated interaction is left in the default state (i.e.,
|
||
representing the default value) then it is important that the system is
|
||
confident that the candidate intended to submit this value and has not
|
||
simply failed to notice that a default has been provided. This is especially
|
||
true if the candidate's attempt ended due to some external event, such as
|
||
running out of time. The techniques required to distinguish between these
|
||
cases are an issue for user interface design and are therefore out of scope
|
||
for this specification.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<h3><a name="section10045">5.2. Outcome Variables</a></h3>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10091"><b>Class</b> : <code>outcomeDeclaration (</code></a><a class="class-head" href="#element10034">variableDeclaration</a>)
|
||
</p>
|
||
<dl>
|
||
|
||
<dt>Associated classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10010">assessmentItem</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p>Outcome variables are declared by outcome declarations. Their value is set
|
||
either from a default given in the declaration itself or by a <a href="#element10359">responseRule</a> during <a href="#element10355">responseProcessing</a>.</p>
|
||
|
||
|
||
|
||
<p>
|
||
<a href="#element10027">itemSession</a> defines one built-in outcome variable:
|
||
<a href="#element10029">completionStatus</a>. </p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10092"><b>Attribute</b> : <code>interpretation [0..1]: </code></a><a class="class-subbody" href="#element10556">string</a><br>
|
||
|
||
A human
|
||
interpretation of the variable's value.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10093"><b>Attribute</b> : <code>longInterpretation [0..1]: </code></a><a class="class-subbody" href="#element10558">uri</a><br>
|
||
|
||
An optional
|
||
link to an extended interpretation of the outcome variable's value.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10094"><b>Attribute</b> : <code>normalMaximum [0..1]: </code></a><a class="class-subbody" href="#element10540">float</a><br>
|
||
|
||
|
||
The normalMaximum attribute optionally defines the maximum
|
||
<em>magnitude</em> of numeric outcome variables, it must be a positive
|
||
value. If given, the outcome's value can be divided by normalMaximum and
|
||
then truncated (if necessary) to obtain a normalized score in the range
|
||
[-1.0,1.0]. normalMaximum has no affect on <a href="#element10355">responseProcessing</a> or the values that the outcome variable itself
|
||
can take.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10095"><b>Abstract class</b> : <code>outcomeVariable (</code></a><a class="class-head" href="#element10039">itemVariable</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p>Outcome variables are instantiated as part of an <a href="#element10027">itemSession</a>. Their values may be initialized with a default value
|
||
and/or set during <a href="#element10355">responseProcessing</a>. If no default
|
||
value is given in the declaration then the outcome variable is initialized
|
||
to NULL <em>unless</em> the outcome is of a numeric type (<a href="#element10057">integer</a> or <a href="#element10058">float</a>) in which
|
||
case it is initialized to 0.</p>
|
||
|
||
|
||
|
||
<p>For <a href="#term10029">Non-adaptive Item</a>s, the values of the outcome variables
|
||
are reset to their default values prior to each invocation of <a href="#element10355">responseProcessing</a>. For <a href="#term10004">Adaptive Item</a>s the
|
||
outcome variables <em>retain</em> the values that were assigned to them
|
||
during the previous invocation of response processing. For more information,
|
||
see <a href="#section10067">Response Processing</a>.</p>
|
||
|
||
|
||
</div>
|
||
|
||
|
||
<h2><a name="section10046">6. Content Model</a></h2>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10096"><b>Class</b> : <code>itemBody (</code></a><a class="class-head" href="#element10098">bodyElement</a>)
|
||
</p>
|
||
<dl>
|
||
|
||
<dt>Associated classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10010">assessmentItem</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10097"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10105">block</a> [*]</p>
|
||
|
||
|
||
|
||
<p>The item body contains the text, graphics, media objects and interactions that
|
||
describe the item's content and information about how it is structured. The body
|
||
is presented by combining it with stylesheet information, either explicitly or
|
||
implicitly using the default style rules of the delivery or authoring system.</p>
|
||
|
||
|
||
|
||
<p>The body must be presented to the candidate when the associated <a href="#element10027">itemSession</a> is in the interacting state. In this state, the candidate
|
||
must be able to interact with each of the visible <a href="#element10247">interaction</a>s and therefore set or update the values of the associated
|
||
<a href="#element10090">responseVariable</a>s. The body may be presented to the
|
||
candidate when the item session is in the closed or review state. In these
|
||
states, although the candidate's responses should be visible, the interactions
|
||
must be disabled so as to prevent the candidate from setting or updating the
|
||
values of the associated response variables. Finally, the body may be presented
|
||
to the candidate in the solution state, in which case the correct values of the
|
||
response variables must be visible and the associated interactions disabled.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<p>The content model employed by this specification uses many concepts taken directly
|
||
from <a href="#ref_XHTML">[XHTML]</a>. In effect, this part of the specification defines a
|
||
profile of XHTML. Only some of the elements defined in XHTML are allowable in an
|
||
<a href="#element10010">assessmentItem</a> and of those that are, some have additional
|
||
constraints placed on their attributes. Finally, this specification defines some new
|
||
elements which are used to represent the <a href="#element10247">interaction</a>s and to
|
||
control the display of <a href="#term10020">Integrated Feedback</a> and content restricted
|
||
to one or more of the defined content <a href="#element10559">view</a>s.</p>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10098"><b>Abstract class</b> : <code>bodyElement</code>
|
||
</a></p>
|
||
<dl>
|
||
|
||
<dt><a name="element10098">Derived classes:</a></dt>
|
||
<dd><code><a class="class-head" href="#element10115">atomicBlock</a>, <a class="class-head" href="#element10114">atomicInline</a>, <a class="class-head" href="#element10180">caption</a>, <a class="class-head" href="#element10254">choice</a>, <a class="class-head" href="#element10182">col</a>, <a class="class-head" href="#element10183">colgroup</a>, <a class="class-head" href="#element10127">div</a>, <a class="class-head" href="#element10145">dl</a>, <a class="class-head" href="#element10147">dlElement</a>, <a class="class-head" href="#element10174">hr</a>, <a class="class-head" href="#element10247">interaction</a>, <a class="class-head" href="#element10096">itemBody</a>, <a class="class-head" href="#element10156">li</a>, <a class="class-head" href="#element10158">object</a>, <a class="class-head" href="#element10152">ol</a>, <a class="class-head" href="#element10237">printedVariable</a>, <a class="class-head" href="#element10252">prompt</a>, <a class="class-head" href="#element10112">simpleBlock</a>, <a class="class-head" href="#element10110">simpleInline</a>, <a class="class-head" href="#element10185">table</a>, <a class="class-head" href="#element10193">tableCell</a>, <a class="class-head" href="#element10206">tbody</a>, <a class="class-head" href="#element10504">templateElement</a>, <a class="class-head" href="#element10209">tfoot</a>, <a class="class-head" href="#element10212">thead</a>, <a class="class-head" href="#element10214">tr</a>, <a class="class-head" href="#element10154">ul</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p>The root class of all content objects in the item content model is the
|
||
bodyElement. It defines a number of attributes that are common to all elements
|
||
of the content model.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10099"><b>Attribute</b> : <code>id [0..1]: </code></a><a class="class-subbody" href="#element10541">identifier</a><br>
|
||
|
||
The id of a body element
|
||
must be unique within the item.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10100"><b>Attribute</b> : <code>class [*]: </code></a><a class="class-subbody" href="#element10246">styleclass</a><br>
|
||
|
||
Classes
|
||
can be assigned to individual body elements. Multiple class names can be given.
|
||
These class names identify the element as being a member of the listed classes.
|
||
Membership of a class can be used by authoring systems to distinguish between
|
||
content objects that are not differentiated by this specification. Typically,
|
||
this information is used to apply different formatting based on definitions in
|
||
an associated stylesheet.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10101"><b>Attribute</b> : <code>lang [0..1]: </code></a><a class="class-subbody" href="#element10543">language</a><br>
|
||
|
||
The main
|
||
language of the element. This attribute is optional and will usually be
|
||
inherited from the enclosing element.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10102"><b>Attribute</b> : <code>label [0..1]: </code></a><a class="class-subbody" href="#element10557">string256</a><br>
|
||
|
||
The label attribute
|
||
provides authoring systems with a mechanism for labeling elements of the
|
||
content model with application specific data. If an item uses labels then values
|
||
for the associated <a href="#element10017">toolName</a> and
|
||
<a href="#element10018">toolVersion</a> attributes must also be provided.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<h3><a name="section10047">6.1. Basic Classes</a></h3>
|
||
|
||
<p><a name="section10047">Underpinning the content model are a number of abstract classes
|
||
that are used to group elements of the body into categories that define peer-groups.</a></p>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10103"><b>Abstract class</b> : <code>objectFlow</code>
|
||
</a></p>
|
||
<dl>
|
||
|
||
<dt><a name="element10103">Derived classes:</a></dt>
|
||
<dd><code><a class="class-head" href="#element10106">flow</a>, <a class="class-head" href="#element10164">param</a></code></dd>
|
||
|
||
<dt>Associated classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10158">object</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p>Elements that can appear within an <a href="#element10158">object</a>.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10104"><b>Abstract class</b> : <code>inline</code>
|
||
</a></p>
|
||
<dl>
|
||
|
||
<dt><a name="element10104">Derived classes:</a></dt>
|
||
<dd><code><a class="class-head" href="#element10249">inlineInteraction</a>, <a class="class-head" href="#element10107">inlineStatic</a></code></dd>
|
||
|
||
<dt>Associated classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10110">simpleInline</a>, <a class="class-head" href="#element10148">dt</a>, <a class="class-head" href="#element10180">caption</a>, <a class="class-head" href="#element10115">atomicBlock</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p>Elements that behave as spans of text, such as the contents of paragraphs.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10105"><b>Abstract class</b> : <code>block</code>
|
||
</a></p>
|
||
<dl>
|
||
|
||
<dt><a name="element10105">Derived classes:</a></dt>
|
||
<dd><code><a class="class-head" href="#element10250">blockInteraction</a>, <a class="class-head" href="#element10108">blockStatic</a>, <a class="class-head" href="#element10352">customInteraction</a>, <a class="class-head" href="#element10338">positionObjectStage</a></code></dd>
|
||
|
||
<dt>Associated classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10096">itemBody</a>, <a class="class-head" href="#element10112">simpleBlock</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p>Elements that provide structure to the text, such as paragraphs, tables etc.
|
||
Most elements are either <a href="#element10104">inline</a> or <a href="#element10105">block</a> elements.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10106"><b>Abstract class</b> : <code>flow (</code></a><a class="class-head" href="#element10103">objectFlow</a>)
|
||
</p>
|
||
<dl>
|
||
|
||
<dt>Derived classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10250">blockInteraction</a>, <a class="class-head" href="#element10352">customInteraction</a>, <a class="class-head" href="#element10109">flowStatic</a>, <a class="class-head" href="#element10249">inlineInteraction</a></code></dd>
|
||
|
||
<dt>Associated classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10193">tableCell</a>, <a class="class-head" href="#element10127">div</a>, <a class="class-head" href="#element10150">dd</a>, <a class="class-head" href="#element10156">li</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p>Elements that can appear inside list items, table cells, etc. which includes
|
||
block-type and inline-type elements.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10107"><b>Abstract class</b> : <code>inlineStatic (</code></a><a class="class-head" href="#element10104">inline</a>)
|
||
</p>
|
||
<dl>
|
||
|
||
<dt>Derived classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10114">atomicInline</a>, <a class="class-head" href="#element10286">gap</a>, <a class="class-head" href="#element10310">hottext</a>, <a class="class-head" href="#element10225">math</a>, <a class="class-head" href="#element10158">object</a>, <a class="class-head" href="#element10237">printedVariable</a>, <a class="class-head" href="#element10110">simpleInline</a>, <a class="class-head" href="#element10510">templateInline</a>, <a class="class-head" href="#element10117">textRun</a></code></dd>
|
||
|
||
<dt>Associated classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10310">hottext</a>, <a class="class-head" href="#element10252">prompt</a>, <a class="class-head" href="#element10510">templateInline</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p>A sub-class of <a href="#element10104">inline</a> that excludes <a href="#element10247">interaction</a>s.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10108"><b>Abstract class</b> : <code>blockStatic (</code></a><a class="class-head" href="#element10105">block</a>)
|
||
</p>
|
||
<dl>
|
||
|
||
<dt>Derived classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10115">atomicBlock</a>, <a class="class-head" href="#element10127">div</a>, <a class="class-head" href="#element10145">dl</a>, <a class="class-head" href="#element10174">hr</a>, <a class="class-head" href="#element10225">math</a>, <a class="class-head" href="#element10152">ol</a>, <a class="class-head" href="#element10112">simpleBlock</a>, <a class="class-head" href="#element10185">table</a>, <a class="class-head" href="#element10508">templateBlock</a>, <a class="class-head" href="#element10154">ul</a></code></dd>
|
||
|
||
<dt>Associated classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10508">templateBlock</a>, <a class="class-head" href="#element10282">gapMatchInteraction</a>, <a class="class-head" href="#element10307">hottextInteraction</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p>A sub-class of <a href="#element10105">block</a> that excludes <a href="#element10247">interaction</a>s.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10109"><b>Abstract class</b> : <code>flowStatic (</code></a><a class="class-head" href="#element10106">flow</a>)
|
||
</p>
|
||
<dl>
|
||
|
||
<dt>Derived classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10115">atomicBlock</a>, <a class="class-head" href="#element10114">atomicInline</a>, <a class="class-head" href="#element10127">div</a>, <a class="class-head" href="#element10145">dl</a>, <a class="class-head" href="#element10310">hottext</a>, <a class="class-head" href="#element10174">hr</a>, <a class="class-head" href="#element10225">math</a>, <a class="class-head" href="#element10158">object</a>, <a class="class-head" href="#element10152">ol</a>, <a class="class-head" href="#element10237">printedVariable</a>, <a class="class-head" href="#element10112">simpleBlock</a>, <a class="class-head" href="#element10110">simpleInline</a>, <a class="class-head" href="#element10185">table</a>, <a class="class-head" href="#element10508">templateBlock</a>, <a class="class-head" href="#element10510">templateInline</a>, <a class="class-head" href="#element10117">textRun</a>, <a class="class-head" href="#element10154">ul</a></code></dd>
|
||
|
||
<dt>Associated classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10277">simpleAssociableChoice</a>, <a class="class-head" href="#element10376">modalFeedback</a>, <a class="class-head" href="#element10267">simpleChoice</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p>A sub-class of <a href="#element10106">flow</a> that excludes <a href="#element10247">interaction</a>s.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<p>The following classes define a small number of common element types
|
||
used by XHTML.</p>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10110"><b>Abstract class</b> : <code>simpleInline (</code></a><a class="class-head" href="#element10098">bodyElement</a>, <a class="class-head" href="#element10109">flowStatic</a>, <a class="class-head" href="#element10107">inlineStatic</a>)
|
||
</p>
|
||
<dl>
|
||
|
||
<dt>Derived classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10222">a</a>, <a class="class-head" href="#element10118">abbr</a>, <a class="class-head" href="#element10119">acronym</a>, <a class="class-head" href="#element10172">b</a>, <a class="class-head" href="#element10173">big</a>, <a class="class-head" href="#element10124">cite</a>, <a class="class-head" href="#element10125">code</a>, <a class="class-head" href="#element10126">dfn</a>, <a class="class-head" href="#element10129">em</a>, <a class="class-head" href="#element10234">feedbackInline</a>, <a class="class-head" href="#element10175">i</a>, <a class="class-head" href="#element10136">kbd</a>, <a class="class-head" href="#element10139">q</a>, <a class="class-head" href="#element10141">samp</a>, <a class="class-head" href="#element10176">small</a>, <a class="class-head" href="#element10142">span</a>, <a class="class-head" href="#element10143">strong</a>, <a class="class-head" href="#element10177">sub</a>, <a class="class-head" href="#element10178">sup</a>, <a class="class-head" href="#element10179">tt</a>, <a class="class-head" href="#element10144">var</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10111"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10104">inline</a> [*]</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10112"><b>Abstract class</b> : <code>simpleBlock (</code></a><a class="class-head" href="#element10108">blockStatic</a>, <a class="class-head" href="#element10098">bodyElement</a>, <a class="class-head" href="#element10109">flowStatic</a>)
|
||
</p>
|
||
<dl>
|
||
|
||
<dt>Derived classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10121">blockquote</a>, <a class="class-head" href="#element10233">feedbackBlock</a>, <a class="class-head" href="#element10235">rubricBlock</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10113"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10105">block</a> [*]</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10114"><b>Abstract class</b> : <code>atomicInline (</code></a><a class="class-head" href="#element10098">bodyElement</a>, <a class="class-head" href="#element10109">flowStatic</a>, <a class="class-head" href="#element10107">inlineStatic</a>)
|
||
</p>
|
||
<dl>
|
||
|
||
<dt>Derived classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10123">br</a>, <a class="class-head" href="#element10216">img</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10115"><b>Abstract class</b> : <code>atomicBlock (</code></a><a class="class-head" href="#element10108">blockStatic</a>, <a class="class-head" href="#element10098">bodyElement</a>, <a class="class-head" href="#element10109">flowStatic</a>)
|
||
</p>
|
||
<dl>
|
||
|
||
<dt>Derived classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10120">address</a>, <a class="class-head" href="#element10130">h1</a>, <a class="class-head" href="#element10131">h2</a>, <a class="class-head" href="#element10132">h3</a>, <a class="class-head" href="#element10133">h4</a>, <a class="class-head" href="#element10134">h5</a>, <a class="class-head" href="#element10135">h6</a>, <a class="class-head" href="#element10137">p</a>, <a class="class-head" href="#element10138">pre</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10116"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10104">inline</a> [*]</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10117"><b>Class</b> : <code>textRun (</code></a><a class="class-head" href="#element10109">flowStatic</a>, <a class="class-head" href="#element10107">inlineStatic</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p>A text run is simply a run of characters. Unlike all other elements in the
|
||
content model it is not a sub-class of <a href="#element10098">bodyElement</a>. To
|
||
assign attributes to a run of text you must use the <a href="#element10142">span</a> element instead.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<h3><a name="section10048">6.2. XHTML Elements</a></h3>
|
||
|
||
<p><a name="section10048">The structural elements of the content model that are taken from </a><a href="#ref_XHTML">[XHTML]</a> are documented in groups according to their suggested
|
||
classification in <a href="#ref_XHTML_MOD">[XHTML_MOD]</a>. Only those attributes listed here
|
||
may be used (including attributes inherited from parent classes). By default,
|
||
elements and attributes have the same interpretation and restrictions as the
|
||
corresponding elements and attributes in <a href="#ref_XHTML">[XHTML]</a>.</p>
|
||
|
||
<h4><a name="section10049">6.2.1. Text Elements</a></h4>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10118"><b>Class</b> : <code>abbr (</code></a><a class="class-head" href="#element10110">simpleInline</a>)
|
||
</p>
|
||
</div>
|
||
|
||
Note that
|
||
the title attribute defined by XHTML is not supported.</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10119"><b>Class</b> : <code>acronym (</code></a><a class="class-head" href="#element10110">simpleInline</a>)
|
||
</p>
|
||
</div>
|
||
|
||
Note
|
||
that the title attribute defined by XHTML is not supported.</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10120"><b>Class</b> : <code>address (</code></a><a class="class-head" href="#element10115">atomicBlock</a>)
|
||
</p>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10121"><b>Class</b> : <code>blockquote (</code></a><a class="class-head" href="#element10112">simpleBlock</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10122"><b>Attribute</b> : <code>cite [0..1]: </code></a><a class="class-subbody" href="#element10558">uri</a></p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10123"><b>Class</b> : <code>br (</code></a><a class="class-head" href="#element10114">atomicInline</a>)
|
||
</p>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10124"><b>Class</b> : <code>cite (</code></a><a class="class-head" href="#element10110">simpleInline</a>)
|
||
</p>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10125"><b>Class</b> : <code>code (</code></a><a class="class-head" href="#element10110">simpleInline</a>)
|
||
</p>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10126"><b>Class</b> : <code>dfn (</code></a><a class="class-head" href="#element10110">simpleInline</a>)
|
||
</p>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10127"><b>Class</b> : <code>div (</code></a><a class="class-head" href="#element10108">blockStatic</a>, <a class="class-head" href="#element10098">bodyElement</a>, <a class="class-head" href="#element10109">flowStatic</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10128"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10106">flow</a> [*]</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10129"><b>Class</b> : <code>em (</code></a><a class="class-head" href="#element10110">simpleInline</a>)
|
||
</p>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10130"><b>Class</b> : <code>h1 (</code></a><a class="class-head" href="#element10115">atomicBlock</a>)
|
||
</p>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10131"><b>Class</b> : <code>h2 (</code></a><a class="class-head" href="#element10115">atomicBlock</a>)
|
||
</p>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10132"><b>Class</b> : <code>h3 (</code></a><a class="class-head" href="#element10115">atomicBlock</a>)
|
||
</p>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10133"><b>Class</b> : <code>h4 (</code></a><a class="class-head" href="#element10115">atomicBlock</a>)
|
||
</p>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10134"><b>Class</b> : <code>h5 (</code></a><a class="class-head" href="#element10115">atomicBlock</a>)
|
||
</p>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10135"><b>Class</b> : <code>h6 (</code></a><a class="class-head" href="#element10115">atomicBlock</a>)
|
||
</p>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10136"><b>Class</b> : <code>kbd (</code></a><a class="class-head" href="#element10110">simpleInline</a>)
|
||
</p>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10137"><b>Class</b> : <code>p (</code></a><a class="class-head" href="#element10115">atomicBlock</a>)
|
||
</p>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10138"><b>Class</b> : <code>pre (</code></a><a class="class-head" href="#element10115">atomicBlock</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p>Although pre inherits from atomicBlock it must not contain, either
|
||
directly or indirectly, any of the following objects: <a href="#element10216">img</a>, <a href="#element10158">object</a>, <a href="#element10173">big</a>,
|
||
<a href="#element10176">small</a>, <a href="#element10177">sub</a>, <a href="#element10178">sup</a>.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10139"><b>Class</b> : <code>q (</code></a><a class="class-head" href="#element10110">simpleInline</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10140"><b>Attribute</b> : <code>cite [0..1]: </code></a><a class="class-subbody" href="#element10558">uri</a></p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10141"><b>Class</b> : <code>samp (</code></a><a class="class-head" href="#element10110">simpleInline</a>)
|
||
</p>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10142"><b>Class</b> : <code>span (</code></a><a class="class-head" href="#element10110">simpleInline</a>)
|
||
</p>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10143"><b>Class</b> : <code>strong (</code></a><a class="class-head" href="#element10110">simpleInline</a>)
|
||
</p>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10144"><b>Class</b> : <code>var (</code></a><a class="class-head" href="#element10110">simpleInline</a>)
|
||
</p>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<h4><a name="section10050">6.2.2. List Elements</a></h4>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10145"><b>Class</b> : <code>dl (</code></a><a class="class-head" href="#element10108">blockStatic</a>, <a class="class-head" href="#element10098">bodyElement</a>, <a class="class-head" href="#element10109">flowStatic</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10146"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10147">dlElement</a> [*]</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10147"><b>Abstract class</b> : <code>dlElement (</code></a><a class="class-head" href="#element10098">bodyElement</a>)
|
||
</p>
|
||
<dl>
|
||
|
||
<dt>Derived classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10150">dd</a>, <a class="class-head" href="#element10148">dt</a></code></dd>
|
||
|
||
<dt>Associated classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10145">dl</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10148"><b>Class</b> : <code>dt (</code></a><a class="class-head" href="#element10147">dlElement</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10149"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10104">inline</a> [*]</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10150"><b>Class</b> : <code>dd (</code></a><a class="class-head" href="#element10147">dlElement</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10151"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10106">flow</a> [*]</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10152"><b>Class</b> : <code>ol (</code></a><a class="class-head" href="#element10108">blockStatic</a>, <a class="class-head" href="#element10098">bodyElement</a>, <a class="class-head" href="#element10109">flowStatic</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10153"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10156">li</a> [*]</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10154"><b>Class</b> : <code>ul (</code></a><a class="class-head" href="#element10108">blockStatic</a>, <a class="class-head" href="#element10098">bodyElement</a>, <a class="class-head" href="#element10109">flowStatic</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10155"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10156">li</a> [*]</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10156"><b>Class</b> : <code>li (</code></a><a class="class-head" href="#element10098">bodyElement</a>)
|
||
</p>
|
||
<dl>
|
||
|
||
<dt>Associated classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10154">ul</a>, <a class="class-head" href="#element10152">ol</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10157"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10106">flow</a> [*]</p>
|
||
|
||
|
||
</div>
|
||
|
||
<h4><a name="section10051">6.2.3. Object Elements</a></h4>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10158"><b>Class</b> : <code>object (</code></a><a class="class-head" href="#element10098">bodyElement</a>, <a class="class-head" href="#element10109">flowStatic</a>, <a class="class-head" href="#element10107">inlineStatic</a>)
|
||
</p>
|
||
<dl>
|
||
|
||
<dt>Associated classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10348">drawingInteraction</a>, <a class="class-head" href="#element10334">positionObjectInteraction</a>, <a class="class-head" href="#element10338">positionObjectStage</a>, <a class="class-head" href="#element10319">graphicInteraction</a>, <a class="class-head" href="#element10290">gapImg</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10159"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10103">objectFlow</a> [*]</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10160"><b>Attribute</b> : <code>data [1]: </code></a><a class="class-subbody" href="#element10556">string</a><br>
|
||
|
||
The
|
||
data attribute provides a URI for locating the data associated with the object.</p>
|
||
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10161"><b>Attribute</b> : <code>type [1]: </code></a><a class="class-subbody" href="#element10545">mimeType</a></p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10162"><b>Attribute</b> : <code>width [0..1]: </code></a><a class="class-subbody" href="#element10544">length</a></p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10163"><b>Attribute</b> : <code>height [0..1]: </code></a><a class="class-subbody" href="#element10544">length</a></p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10164"><b>Class</b> : <code>param (</code></a><a class="class-head" href="#element10103">objectFlow</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10165"><b>Attribute</b> : <code>name [1]: </code></a><a class="class-subbody" href="#element10556">string</a><br>
|
||
|
||
The name of the parameter, as
|
||
interpreted by the object.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10166"><b>Attribute</b> : <code>value [1]: </code></a><a class="class-subbody" href="#element10556">string</a><br>
|
||
|
||
The value to pass to
|
||
the object for the named parameter. This value is subject to template
|
||
variable expansion. If the value is the name of a template variable that
|
||
was declared with the <a href="#element10501">paramVariable</a> set to <em>true</em> then the
|
||
template variable's <em>value</em> is passed to the object as the value
|
||
for the given parameter.</p>
|
||
|
||
|
||
|
||
<p>When expanding a template variable as a parameter value, types other than
|
||
<a href="#element10055">identifier</a>s, <a href="#element10059">string</a>s and <a href="#element10065">uri</a>s must
|
||
be converted to strings. Numeric types are converted to strings using
|
||
the "%i" or "%G" formats as appropriate (see <a href="#element10237">printedVariable</a> for a discussion of numeric formatting). Values
|
||
of base-type <a href="#element10056">boolean</a> are expanded to one
|
||
of the strings "true" or "false". Values of base-type <a href="#element10060">point</a> are expanded to two space-separated integers in
|
||
the order horizontal coordinate, vertical coordinate, using "%i" format.
|
||
Values of base-type <a href="#element10061">pair</a> and <a href="#element10062">directedPair</a> are converted to a string consisting of
|
||
the two identifiers, space separated. Values of base-type <a href="#element10063">duration</a> are converted using "%G" format. Values of
|
||
base-type <a href="#element10064">file</a> cannot be used in
|
||
parameter expansion.</p>
|
||
|
||
|
||
|
||
<p>If the <a href="#element10167">valuetype</a> is <em>REF</em> the template
|
||
variable must be of base-type <a href="#element10065">uri</a>.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10167"><b>Attribute</b> : <code>valuetype [1]: </code></a><a class="class-subbody" href="#element10169">paramType</a> = DATA<br>
|
||
|
||
This
|
||
specification supports the use of <em>DATA</em> and <em>REF</em> but <strong>not</strong>
|
||
<em>OBJECT</em>.
|
||
</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10168"><b>Attribute</b> : <code>type [0..1]: </code></a><a class="class-subbody" href="#element10545">mimeType</a><br>
|
||
|
||
Used to provide a
|
||
type for values <span>
|
||
<a href="#element10167">valuetype</a> REF.</span>
|
||
|
||
</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<h6><a name="element10169">Enumeration: <code>paramType</code></a></h6>
|
||
|
||
</div>
|
||
|
||
|
||
<a name="element10169"> </a>
|
||
<p class="class-subbody"><a name="element10170"><code>DATA</code></a></p>
|
||
|
||
|
||
<a name="element10170"> </a>
|
||
<p class="class-subbody"><a name="element10171"><code>REF</code></a></p>
|
||
|
||
|
||
<a name="element10171">
|
||
</a></div>
|
||
|
||
<h4><a name="section10052">6.2.4. Presentation Elements</a></h4>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10172"><b>Class</b> : <code>b (</code></a><a class="class-head" href="#element10110">simpleInline</a>)
|
||
</p>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10173"><b>Class</b> : <code>big (</code></a><a class="class-head" href="#element10110">simpleInline</a>)
|
||
</p>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10174"><b>Class</b> : <code>hr (</code></a><a class="class-head" href="#element10108">blockStatic</a>, <a class="class-head" href="#element10098">bodyElement</a>, <a class="class-head" href="#element10109">flowStatic</a>)
|
||
</p>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10175"><b>Class</b> : <code>i (</code></a><a class="class-head" href="#element10110">simpleInline</a>)
|
||
</p>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10176"><b>Class</b> : <code>small (</code></a><a class="class-head" href="#element10110">simpleInline</a>)
|
||
</p>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10177"><b>Class</b> : <code>sub (</code></a><a class="class-head" href="#element10110">simpleInline</a>)
|
||
</p>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10178"><b>Class</b> : <code>sup (</code></a><a class="class-head" href="#element10110">simpleInline</a>)
|
||
</p>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10179"><b>Class</b> : <code>tt (</code></a><a class="class-head" href="#element10110">simpleInline</a>)
|
||
</p>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<h4><a name="section10053">6.2.5. Table Elements</a></h4>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10180"><b>Class</b> : <code>caption (</code></a><a class="class-head" href="#element10098">bodyElement</a>)
|
||
</p>
|
||
<dl>
|
||
|
||
<dt>Associated classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10185">table</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10181"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10104">inline</a> [*]</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10182"><b>Class</b> : <code>col (</code></a><a class="class-head" href="#element10098">bodyElement</a>)
|
||
</p>
|
||
<dl>
|
||
|
||
<dt>Associated classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10185">table</a>, <a class="class-head" href="#element10183">colgroup</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10183"><b>Class</b> : <code>colgroup (</code></a><a class="class-head" href="#element10098">bodyElement</a>)
|
||
</p>
|
||
<dl>
|
||
|
||
<dt>Associated classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10185">table</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10184"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10182">col</a> [*]</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10185"><b>Class</b> : <code>table (</code></a><a class="class-head" href="#element10108">blockStatic</a>, <a class="class-head" href="#element10098">bodyElement</a>, <a class="class-head" href="#element10109">flowStatic</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10186"><b>Attribute</b> : <code>summary [0..1]: </code></a><a class="class-subbody" href="#element10556">string</a></p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10187"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10180">caption</a> [0..1]</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10188"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10182">col</a> [*]<br>
|
||
|
||
If a table <em>directly</em> contains a
|
||
col then it must not contain any <a href="#element10183">colgroup</a> elements.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10189"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10183">colgroup</a> [*]<br>
|
||
|
||
If a table contains a colgroup
|
||
it must not <em>directly</em> contain any <a href="#element10182">col</a> elements.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10190"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10212">thead</a> [0..1]</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10191"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10209">tfoot</a> [0..1]</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10192"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10206">tbody</a> [1..*]</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10193"><b>Abstract class</b> : <code>tableCell (</code></a><a class="class-head" href="#element10098">bodyElement</a>)
|
||
</p>
|
||
<dl>
|
||
|
||
<dt>Derived classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10208">td</a>, <a class="class-head" href="#element10211">th</a></code></dd>
|
||
|
||
<dt>Associated classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10214">tr</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p>In XHTML, table cells are represented by either <a href="#element10211">th</a> or <a href="#element10208">td</a> and these share the following
|
||
attributes and content model:</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10194"><b>Attribute</b> : <code>headers [*]: </code></a><a class="class-subbody" href="#element10541">identifier</a></p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10195"><b>Attribute</b> : <code>scope [0..1]: </code></a><a class="class-subbody" href="#element10201">tableCellScope</a></p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10196"><b>Attribute</b> : <code>abbr [0..1]: </code></a><a class="class-subbody" href="#element10556">string</a></p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10197"><b>Attribute</b> : <code>axis [0..1]: </code></a><a class="class-subbody" href="#element10556">string</a></p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10198"><b>Attribute</b> : <code>rowspan [0..1]: </code></a><a class="class-subbody" href="#element10542">integer</a></p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10199"><b>Attribute</b> : <code>colspan [0..1]: </code></a><a class="class-subbody" href="#element10542">integer</a></p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10200"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10106">flow</a> [*]</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<h6><a name="element10201">Enumeration: <code>tableCellScope</code></a></h6>
|
||
|
||
</div>
|
||
|
||
|
||
<a name="element10201"> </a>
|
||
<p class="class-subbody"><a name="element10202"><code>row</code></a></p>
|
||
|
||
|
||
<a name="element10202"> </a>
|
||
<p class="class-subbody"><a name="element10203"><code>col</code></a></p>
|
||
|
||
|
||
<a name="element10203"> </a>
|
||
<p class="class-subbody"><a name="element10204"><code>rowgroup</code></a></p>
|
||
|
||
|
||
<a name="element10204"> </a>
|
||
<p class="class-subbody"><a name="element10205"><code>colgroup</code></a></p>
|
||
|
||
|
||
<a name="element10205"> </a></div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10206"><b>Class</b> : <code>tbody (</code></a><a class="class-head" href="#element10098">bodyElement</a>)
|
||
</p>
|
||
<dl>
|
||
|
||
<dt>Associated classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10185">table</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10207"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10214">tr</a> [1..*]</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10208"><b>Class</b> : <code>td (</code></a><a class="class-head" href="#element10193">tableCell</a>)
|
||
</p>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10209"><b>Class</b> : <code>tfoot (</code></a><a class="class-head" href="#element10098">bodyElement</a>)
|
||
</p>
|
||
<dl>
|
||
|
||
<dt>Associated classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10185">table</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10210"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10211">th</a> [1..*]</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10211"><b>Class</b> : <code>th (</code></a><a class="class-head" href="#element10193">tableCell</a>)
|
||
</p>
|
||
<dl>
|
||
|
||
<dt>Associated classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10209">tfoot</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10212"><b>Class</b> : <code>thead (</code></a><a class="class-head" href="#element10098">bodyElement</a>)
|
||
</p>
|
||
<dl>
|
||
|
||
<dt>Associated classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10185">table</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10213"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10214">tr</a> [1..*]</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10214"><b>Class</b> : <code>tr (</code></a><a class="class-head" href="#element10098">bodyElement</a>)
|
||
</p>
|
||
<dl>
|
||
|
||
<dt>Associated classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10206">tbody</a>, <a class="class-head" href="#element10212">thead</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10215"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10193">tableCell</a> [1..*]</p>
|
||
|
||
|
||
</div>
|
||
|
||
<h4><a name="section10054">6.2.6. Image Element</a></h4>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10216"><b>Class</b> : <code>img (</code></a><a class="class-head" href="#element10114">atomicInline</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10217"><b>Attribute</b> : <code>src [1]: </code></a><a class="class-subbody" href="#element10558">uri</a></p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10218"><b>Attribute</b> : <code>alt [1]: </code></a><a class="class-subbody" href="#element10557">string256</a></p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10219"><b>Attribute</b> : <code>longdesc [0..1]: </code></a><a class="class-subbody" href="#element10558">uri</a></p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10220"><b>Attribute</b> : <code>height [0..1]: </code></a><a class="class-subbody" href="#element10544">length</a></p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10221"><b>Attribute</b> : <code>width [0..1]: </code></a><a class="class-subbody" href="#element10544">length</a></p>
|
||
|
||
|
||
</div>
|
||
|
||
<h4><a name="section10055">6.2.7. Hypertext Element</a></h4>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10222"><b>Class</b> : <code>a (</code></a><a class="class-head" href="#element10110">simpleInline</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p>Although <a href="#element10222">a</a> inherits from <a href="#element10110">simpleInline</a> it must not contain, either directly or
|
||
indirectly, another <a href="#element10222">a</a>.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10223"><b>Attribute</b> : <code>href [1]: </code></a><a class="class-subbody" href="#element10558">uri</a></p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10224"><b>Attribute</b> : <code>type [0..1]: </code></a><a class="class-subbody" href="#element10545">mimeType</a></p>
|
||
|
||
|
||
</div>
|
||
|
||
<h3><a name="section10056">6.3. MathML</a></h3>
|
||
|
||
<p>
|
||
<a name="section10056"> </a><a href="#ref_MathML">[MathML]</a> defines a Markup Language for describing mathematical
|
||
notation using XML. The primary purpose of MathML is to provide a language for
|
||
embedding mathematical expressions into other documents, in particular into HTML documents.</p>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10225"><b>Class</b> : <code>math (</code></a><a class="class-head" href="#element10108">blockStatic</a>, <a class="class-head" href="#element10109">flowStatic</a>, <a class="class-head" href="#element10107">inlineStatic</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p>The math class is defined externally by the MathML specification. It can
|
||
behave in the item's content model as an inline, block or flow element.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<h4><a name="section10057">6.3.1. Combining Template Variables and MathML</a></h4>
|
||
|
||
<p><a name="section10057">It is often desirable to vary elements of a mathematical expression when
|
||
creating item templates. Although it is impossible to embed objects such as
|
||
</a><a href="#element10237">printedVariable</a> defined for that purpose within a
|
||
<a href="#element10225">math</a> object the techniques described in this
|
||
section can be used to achieve a similar effect.</p>
|
||
|
||
<p>In MathML, numbers are represented either by the <mn> or
|
||
<cn> elements, for presentation or content representation
|
||
respectively. Similarly, <mi> and <ci> represent
|
||
identifiers. If <a href="#element10502">mathVariable</a> is
|
||
set in a template variable's declaration then all instances of
|
||
<mi> and <ci> that match the name of the
|
||
template variable must be replaced by <mn> and
|
||
<cn> respectively with the template variable's value as their content.</p>
|
||
|
||
<p>It is possible that this technique of expanding template variables will be
|
||
extended to other elements of MathML in future.</p>
|
||
|
||
<h3><a name="section10058">6.4. Variable Content</a></h3>
|
||
|
||
<p><a name="section10058">This specification defines two methods by which the content of an </a><a href="#element10010">assessmentItem</a> can vary depending on the state of the <a href="#element10027">itemSession</a>.</p>
|
||
|
||
<p>The first method is based on the value of an <a href="#element10095">outcomeVariable</a>.</p>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10226"><b>Abstract class</b> : <code>feedbackElement</code>
|
||
</a></p>
|
||
<dl>
|
||
|
||
<dt><a name="element10226">Derived classes:</a></dt>
|
||
<dd><code><a class="class-head" href="#element10233">feedbackBlock</a>, <a class="class-head" href="#element10234">feedbackInline</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10227"><b>Attribute</b> : <code>outcomeIdentifier [1]: </code></a><a class="class-subbody" href="#element10541">identifier</a><br>
|
||
|
||
The
|
||
identifier of an outcome variable that must have a base-type of <a href="#element10055">identifier</a> and be of either <a href="#element10050">single</a> or <a href="#element10051">multiple</a>
|
||
cardinality. The visibility of the feedbackElement is controlled by
|
||
assigning a value (or values) to this outcome variable during <a href="#element10355">responseProcessing</a>.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10228"><b>Attribute</b> : <code>showHide [1]: </code></a><a class="class-subbody" href="#element10230">showHide</a> = show<br>
|
||
|
||
The
|
||
showHide attribute determines how the visibility of the feedbackElement is
|
||
controlled. If set to <a href="#element10231">show</a> then the feedback
|
||
is hidden by default and shown only if the associated outcome variable
|
||
matches, or contains, the value of the <a href="#element10229">identifier</a> attribute. If set to <a href="#element10232">hide</a> then the feedback is shown by default and hidden if
|
||
the associated outcome variable matches, or contains, the value of the
|
||
<a href="#element10229">identifier</a> attribute.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10229"><b>Attribute</b> : <code>identifier [1]: </code></a><a class="class-subbody" href="#element10541">identifier</a><br>
|
||
|
||
The identifier
|
||
that determines the visibility of the feedback in conjunction with the
|
||
<a href="#element10228">showHide</a> attribute.</p>
|
||
|
||
|
||
|
||
<p>A feedback element that forms part of a <a href="#term10029">Non-adaptive Item</a>
|
||
must not contain an <a href="#element10247">interaction</a> object, either
|
||
directly or indirectly.</p>
|
||
|
||
|
||
|
||
<p>When an <a href="#element10247">interaction</a> is contained in a hidden feedback
|
||
element it must also be hidden. The candidate must not be able to set or
|
||
update the value of the associated <a href="#element10090">responseVariable</a>.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<h5><a name="element10230">Enumeration: <code>showHide</code></a></h5>
|
||
|
||
</div>
|
||
|
||
|
||
<a name="element10230"> </a>
|
||
<p class="class-subbody"><a name="element10231"><code>show</code></a></p>
|
||
|
||
|
||
<a name="element10231"> </a>
|
||
<p class="class-subbody"><a name="element10232"><code>hide</code></a></p>
|
||
|
||
|
||
<a name="element10232"> </a></div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10233"><b>Class</b> : <code>feedbackBlock (</code></a><a class="class-head" href="#element10226">feedbackElement</a>, <a class="class-head" href="#element10112">simpleBlock</a>)
|
||
</p>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10234"><b>Class</b> : <code>feedbackInline (</code></a><a class="class-head" href="#element10226">feedbackElement</a>, <a class="class-head" href="#element10110">simpleInline</a>)
|
||
</p>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10235"><b>Class</b> : <code>rubricBlock (</code></a><a class="class-head" href="#element10112">simpleBlock</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10236"><b>Attribute</b> : <code>view [1..*]: </code></a><a class="class-subbody" href="#element10559">view</a><br>
|
||
|
||
The views in which the
|
||
rubric block's content are to be shown.</p>
|
||
|
||
|
||
|
||
<p>A rubric block identifies part of an <a href="#element10010">assessmentItem</a>'s
|
||
<a href="#element10096">itemBody</a> that represents instructions to one or
|
||
more of the actors that view the item. Although rubric blocks are defined as
|
||
<a href="#element10112">simpleBlock</a>s they must not contain <a href="#element10247">interaction</a>s.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<p>The visibility of nested <a href="#element10098">bodyElement</a>s or <a href="#element10235">rubricBlock</a>s is determined by the outermost element. In other words, if
|
||
an element is determined to be hidden then all of its content is hidden
|
||
including conditionally visible elements for which the conditions are satisfied
|
||
and that therefore would otherwise be visible.</p>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10237"><b>Class</b> : <code>printedVariable (</code></a><a class="class-head" href="#element10098">bodyElement</a>, <a class="class-head" href="#element10109">flowStatic</a>, <a class="class-head" href="#element10107">inlineStatic</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10238"><b>Attribute</b> : <code>identifier [1]: </code></a><a class="class-subbody" href="#element10541">identifier</a><br>
|
||
|
||
The <a href="#element10095">outcomeVariable</a> or <a href="#element10503">templateVariable</a> that must
|
||
have been defined and have <a href="#element10050">single</a>
|
||
cardinality. The values of <a href="#element10090">responseVariable</a>s cannot be
|
||
printed directly as their values are implicitly known to the candidate
|
||
through the <a href="#element10247">interaction</a>s they are bound to. If
|
||
necessary, their values can be assigned to <a href="#element10095">outcomeVariable</a>s during <a href="#element10355">responseProcessing</a>
|
||
and displayed to the candidate as part of a <a href="#element10098">bodyElement</a> visible only in the appropriate feedback states.</p>
|
||
|
||
|
||
|
||
<p>If the variable's value is NULL then the element is ignored.</p>
|
||
|
||
|
||
|
||
<p>Variables of <a href="#element10054">baseType</a>
|
||
<a href="#element10059">string</a> are treated as simple runs of text.</p>
|
||
|
||
|
||
|
||
<p>Variables of <a href="#element10054">baseType</a>
|
||
<a href="#element10057">integer</a> or <a href="#element10058">float</a> are converted to runs of text (strings) using the
|
||
|
||
<span>formatting rules described below. Float values should
|
||
only be formatted in the e, E, f, g, G, r or R styles.</span>.</p>
|
||
|
||
|
||
|
||
<p>Variables of <a href="#element10054">baseType</a>
|
||
<a href="#element10063">duration</a> are
|
||
<span>treated as floats, representing the duration in seconds</span>.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10239"><b>Attribute</b> : <code>format [0..1]: </code></a><a class="class-subbody" href="#element10557">string256</a><br>
|
||
|
||
|
||
The format conversion specifier to use when converting numerical values to
|
||
strings. See <a href="#section10059">Number Formatting Rules</a> for details. </p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10240"><b>Attribute</b> : <code>base [0..1]: </code></a><a class="class-subbody" href="#element10542">integer</a> = 10<br>
|
||
|
||
The number base to use when converting integer variables to
|
||
strings with the <em>i</em> conversion type code.</p>
|
||
|
||
|
||
|
||
<p>Variables of <a href="#element10054">baseType</a>
|
||
<a href="#element10064">file</a> are rendered using a control that
|
||
enables the user to open the file. The control should display the name
|
||
associated with the file, if any.</p>
|
||
|
||
|
||
|
||
<p>Variables of <a href="#element10054">baseType</a>
|
||
<a href="#element10065">uri</a> are rendered using a control that enables
|
||
the user to open the identified resource, for example, by following a
|
||
hypertext link in the case of a URL.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<h4><a name="section10059">6.4.1. Number Formatting Rules</a></h4>
|
||
|
||
<p><a name="section10059">The syntax of the </a><a href="#element10239">format</a> attribute is
|
||
based on the format conversion specifiers defined in the C programming
|
||
language <a href="#ref_ISO_9899">[ISO_9899]</a> for use with <em>printf</em> and related functions.</p>
|
||
|
||
<p>Each conversion specifier starts with a '%' character and is followed by zero
|
||
or more flag characters (#, 0, -, " " <em>[space]</em> and +), an optional
|
||
digit string indicating the minimum field width, an optional precision
|
||
(consisting of a "." followed by zero or more digits) and finally one of the
|
||
conversion type codes: E, e, f, G, g, r, R, i, o, X, or x. These are
|
||
interpreted according to the C standard with the exception of <em>i</em>,
|
||
which may be used to format numbers in bases other than 10 using the
|
||
<a href="#element10240">base</a> attribute, and
|
||
<em>r</em>/<em>R</em> which round to the number of significant figures given
|
||
by the precision in the same way as <em>g</em>/<em>G</em> except that
|
||
scientific format is <em>only</em> used if the requested number of
|
||
significant figures is less than the number of digits to the left of the
|
||
decimal point.</p>
|
||
|
||
<h3><a name="section10060">6.5. Formatting Items with Stylesheets</a></h3>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10241"><b>Class</b> : <code>stylesheet</code>
|
||
</a></p>
|
||
<dl>
|
||
|
||
<dt><a name="element10241">Associated classes:</a></dt>
|
||
<dd><code><a class="class-head" href="#element10010">assessmentItem</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p>Used to associate an external stylesheet with an <a href="#element10010">assessmentItem</a>.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10242"><b>Attribute</b> : <code>href [1]: </code></a><a class="class-subbody" href="#element10558">uri</a><br>
|
||
|
||
The identifier or location of
|
||
the external stylesheet.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10243"><b>Attribute</b> : <code>type [1]: </code></a><a class="class-subbody" href="#element10545">mimeType</a><br>
|
||
|
||
The type of the external stylesheet.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10244"><b>Attribute</b> : <code>media [0..1]: </code></a><a class="class-subbody" href="#element10556">string</a><br>
|
||
|
||
An optional media
|
||
descriptor that describes the media to which this stylesheet applies.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10245"><b>Attribute</b> : <code>title [0..1]: </code></a><a class="class-subbody" href="#element10556">string</a><br>
|
||
|
||
An optional title for
|
||
the stylesheet.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<h5><a name="element10246">Datatype: <code>styleclass</code></a></h5>
|
||
|
||
</div>
|
||
|
||
<a name="element10246">The type used when referring to a class definition, for example
|
||
in a stylesheet. Class names cannot contain spaces.</a></div>
|
||
|
||
|
||
<h2><a name="section10061">7. Interactions</a></h2>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10247"><b>Abstract class</b> : <code>interaction (</code></a><a class="class-head" href="#element10098">bodyElement</a>)
|
||
</p>
|
||
<dl>
|
||
|
||
<dt>Derived classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10250">blockInteraction</a>, <a class="class-head" href="#element10352">customInteraction</a>, <a class="class-head" href="#element10249">inlineInteraction</a>, <a class="class-head" href="#element10334">positionObjectInteraction</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p>Interactions allow the candidate to <em>interact</em> with the item. Through an
|
||
interaction, the candidate selects or constructs a response. The candidate's
|
||
responses are stored in the <a href="#element10090">responseVariable</a>s. Each
|
||
interaction is associated with (at least) one response variable.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10248"><b>Attribute</b> : <code>responseIdentifier [1]: </code></a><a class="class-subbody" href="#element10541">identifier</a><br>
|
||
|
||
The response variable
|
||
associated with the interaction.</p>
|
||
|
||
|
||
|
||
<p>The state of the interaction reflects the value of the associated response
|
||
variable.
|
||
</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10249"><b>Abstract class</b> : <code>inlineInteraction (</code></a><a class="class-head" href="#element10106">flow</a>, <a class="class-head" href="#element10104">inline</a>, <a class="class-head" href="#element10247">interaction</a>)
|
||
</p>
|
||
<dl>
|
||
|
||
<dt>Derived classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10353">endAttemptInteraction</a>, <a class="class-head" href="#element10293">inlineChoiceInteraction</a>, <a class="class-head" href="#element10303">textEntryInteraction</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p>An interaction that appears <a href="#element10104">inline</a>.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10250"><b>Abstract class</b> : <code>blockInteraction (</code></a><a class="class-head" href="#element10105">block</a>, <a class="class-head" href="#element10106">flow</a>, <a class="class-head" href="#element10247">interaction</a>)
|
||
</p>
|
||
<dl>
|
||
|
||
<dt>Derived classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10269">associateInteraction</a>, <a class="class-head" href="#element10259">choiceInteraction</a>, <a class="class-head" href="#element10348">drawingInteraction</a>, <a class="class-head" href="#element10304">extendedTextInteraction</a>, <a class="class-head" href="#element10282">gapMatchInteraction</a>, <a class="class-head" href="#element10319">graphicInteraction</a>, <a class="class-head" href="#element10307">hottextInteraction</a>, <a class="class-head" href="#element10273">matchInteraction</a>, <a class="class-head" href="#element10263">orderInteraction</a>, <a class="class-head" href="#element10341">sliderInteraction</a>, <a class="class-head" href="#element10350">uploadInteraction</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p>An interaction that behaves like a <a href="#element10105">block</a> in the content
|
||
model. Most interactions are of this type.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10251"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10252">prompt</a> [0..1]<br>
|
||
|
||
An optional prompt for
|
||
the interaction.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10252"><b>Class</b> : <code>prompt (</code></a><a class="class-head" href="#element10098">bodyElement</a>)
|
||
</p>
|
||
<dl>
|
||
|
||
<dt>Associated classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10250">blockInteraction</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10253"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10107">inlineStatic</a> [*]<br>
|
||
|
||
A prompt must
|
||
not contain any <span>nested</span>
|
||
<a href="#element10247">interaction</a>s.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10254"><b>Abstract class</b> : <code>choice (</code></a><a class="class-head" href="#element10098">bodyElement</a>)
|
||
</p>
|
||
<dl>
|
||
|
||
<dt>Derived classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10257">associableChoice</a>, <a class="class-head" href="#element10316">hotspotChoice</a>, <a class="class-head" href="#element10310">hottext</a>, <a class="class-head" href="#element10296">inlineChoice</a>, <a class="class-head" href="#element10267">simpleChoice</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p>Many of the interactions involve choosing one or more predefined choices. These
|
||
choices all have the following attributes in common:</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10255"><b>Attribute</b> : <code>identifier [1]: </code></a><a class="class-subbody" href="#element10541">identifier</a><br>
|
||
|
||
The identifier of
|
||
the choice. This identifier must not be used by any other choice <em>or item variable</em>.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10256"><b>Attribute</b> : <code>fixed [0..1]: </code></a><a class="class-subbody" href="#element10537">boolean</a> = false<br>
|
||
|
||
If fixed
|
||
is true for a choice then the position of this choice within the interaction
|
||
must not be changed by the delivery engine even if the immediately enclosing
|
||
interaction supports the shuffling of choices. If no value is specified then the
|
||
choice is free to be shuffled.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10257"><b>Abstract class</b> : <code>associableChoice (</code></a><a class="class-head" href="#element10254">choice</a>)
|
||
</p>
|
||
<dl>
|
||
|
||
<dt>Derived classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10317">associableHotspot</a>, <a class="class-head" href="#element10286">gap</a>, <a class="class-head" href="#element10287">gapChoice</a>, <a class="class-head" href="#element10277">simpleAssociableChoice</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p>Other interactions involve associating pairs of predefined choices. These choices
|
||
all have the following attribute in common:</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10258"><b>Attribute</b> : <code>matchGroup [0..*]: </code></a><a class="class-subbody" href="#element10541">identifier</a><br>
|
||
|
||
A set of choices
|
||
that this choice may be associated with, all others are excluded. If no
|
||
matchGroup is given, or if it is empty, then all other choices may be associated
|
||
with this one subject to their own matching constraints.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<h3><a name="section10062">7.1. Simple Interactions</a></h3>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10259"><b>Class</b> : <code>choiceInteraction (</code></a><a class="class-head" href="#element10250">blockInteraction</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p>The choice interaction presents a set of choices to the candidate. The
|
||
candidate's task is to select one or more of the choices, up to a maximum of
|
||
<a href="#element10261">maxChoices</a>. There is no
|
||
corresponding minimum number of choices. The interaction is always
|
||
initialized with no choices selected.
|
||
</p>
|
||
|
||
|
||
|
||
<p>The choiceInteraction must be bound to a <a href="#element10090">responseVariable</a> with a <a href="#element10054">baseType</a> of
|
||
<a href="#element10055">identifier</a> and <a href="#element10050">single</a> or <a href="#element10051">multiple</a> cardinality.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10260"><b>Attribute</b> : <code>shuffle [1]: </code></a><a class="class-subbody" href="#element10537">boolean</a> = false<br>
|
||
|
||
If the shuffle
|
||
attribute is true then the delivery engine must randomize the order in which
|
||
the choices are presented subject to the <a href="#element10256">fixed</a> attribute.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10261"><b>Attribute</b> : <code>maxChoices [1]: </code></a><a class="class-subbody" href="#element10542">integer</a> = 1<br>
|
||
|
||
The maximum number of
|
||
choices that the candidate is allowed to select. <span>If
|
||
maxChoices is 0 then there is no restriction.</span>
|
||
<span>If maxChoices is greater than 1 (or 0) then the
|
||
interaction must be bound to a response with <a href="#element10051">multiple</a> cardinality.</span>
|
||
</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10262"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10267">simpleChoice</a> [1..*]<br>
|
||
|
||
An
|
||
ordered list of the choices that are displayed to the user. The order is the
|
||
order of the choices presented to the user unless <a href="#element10260">shuffle</a> is true.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10263"><b>Class</b> : <code>orderInteraction (</code></a><a class="class-head" href="#element10250">blockInteraction</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p>In an order interaction the candidate's task is to reorder the choices, the
|
||
order in which the choices are displayed initially is significant.</p>
|
||
|
||
|
||
|
||
<p>If a default value is specified for the response variable
|
||
associated with an order interaction then its value should be used to
|
||
override the order of the choices specified here.</p>
|
||
|
||
|
||
|
||
<p>By its nature, an order interaction may be difficult to render in
|
||
an unanswered state so implementors should be aware of the issues concerning
|
||
the use of default values described in the section on <a href="#element10090">responseVariable</a>s.</p>
|
||
|
||
|
||
|
||
<p>The orderInteraction must be bound to a <a href="#element10090">responseVariable</a> with a <a href="#element10054">baseType</a> of
|
||
<a href="#element10055">identifier</a> and <a href="#element10052">ordered</a> cardinality only.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10264"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10267">simpleChoice</a> [1..*]<br>
|
||
|
||
An
|
||
ordered list of the choices that are displayed to the user. The order is the
|
||
initial order of the choices presented to the user unless <a href="#element10265">shuffle</a> is true.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10265"><b>Attribute</b> : <code>shuffle [1]: </code></a><a class="class-subbody" href="#element10537">boolean</a> = false<br>
|
||
|
||
If the shuffle
|
||
attribute is true then the delivery engine must randomize the order in which
|
||
the choices are initially presented subject to the <a href="#element10256">fixed</a> attribute.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10266"><b>Attribute</b> : <code>orientation [0..1]: </code></a><a class="class-subbody" href="#element10546">orientation</a><br>
|
||
|
||
The orientation attribute provides a hint to rendering systems
|
||
that the ordering has an inherent <a href="#element10547">vertical</a>
|
||
or <a href="#element10548">horizontal</a> interpretation.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10267"><b>Class</b> : <code>simpleChoice (</code></a><a class="class-head" href="#element10254">choice</a>)
|
||
</p>
|
||
<dl>
|
||
|
||
<dt>Associated classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10263">orderInteraction</a>, <a class="class-head" href="#element10259">choiceInteraction</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10268"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10109">flowStatic</a> [*]</p>
|
||
|
||
|
||
|
||
<p>simpleChoice is a choice that contains <a href="#element10109">flowStatic</a>
|
||
objects. <span>A simpleChoice must not contain any nested interactions.</span>
|
||
|
||
</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10269"><b>Class</b> : <code>associateInteraction (</code></a><a class="class-head" href="#element10250">blockInteraction</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p>An associate interaction is a <a href="#element10250">blockInteraction</a> that
|
||
presents candidates with a number of choices and allows them to create
|
||
associations between them.</p>
|
||
|
||
|
||
|
||
<p>The associateInteraction must be bound to a <a href="#element10090">responseVariable</a> with base-type <a href="#element10061">pair</a>
|
||
and either <a href="#element10050">single</a> or <a href="#element10051">multiple</a> cardinality.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10270"><b>Attribute</b> : <code>shuffle [1]: </code></a><a class="class-subbody" href="#element10537">boolean</a> = false<br>
|
||
|
||
If the shuffle
|
||
attribute is true then the delivery engine must randomize the order in which
|
||
the choices are presented subject to the <a href="#element10256">fixed</a>
|
||
attribute of the choice.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10271"><b>Attribute</b> : <code>maxAssociations [1]: </code></a><a class="class-subbody" href="#element10542">integer</a> = 1<br>
|
||
|
||
The maximum number
|
||
of associations that the candidate is allowed to make. <span>If
|
||
maxAssociations is 0 then there is no restriction.</span>
|
||
<span>If maxAssociations is greater than 1 (or 0) then the
|
||
interaction must be bound to a response with <a href="#element10051">multiple</a> cardinality.</span>
|
||
</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10272"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10277">simpleAssociableChoice</a> [1..*]<br>
|
||
|
||
An ordered set of choices.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10273"><b>Class</b> : <code>matchInteraction (</code></a><a class="class-head" href="#element10250">blockInteraction</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p>A match interaction is a <a href="#element10250">blockInteraction</a> that presents
|
||
candidates with two sets of choices and allows them to create associates
|
||
between pairs of choices in the two sets, but not between pairs of choices
|
||
in the same set. Further restrictions can still be placed on the allowable
|
||
associations using the <a href="#element10278">matchMax</a>
|
||
and <a href="#element10258">matchGroup</a> attributes of the choices.</p>
|
||
|
||
|
||
|
||
<p>The matchInteraction must be bound to a <a href="#element10090">responseVariable</a> with base-type <a href="#element10062">directedPair</a> and either <a href="#element10050">single</a> or <a href="#element10051">multiple</a> cardinality.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10274"><b>Attribute</b> : <code>shuffle [1]: </code></a><a class="class-subbody" href="#element10537">boolean</a> = false<br>
|
||
|
||
If the shuffle
|
||
attribute is true then the delivery engine must randomize the order in which
|
||
the choices are presented within each set, subject to the <a href="#element10256">fixed</a> attribute of the choices themselves.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10275"><b>Attribute</b> : <code>maxAssociations [1]: </code></a><a class="class-subbody" href="#element10542">integer</a> = 1<br>
|
||
|
||
The maximum number
|
||
of associations that the candidate is allowed to make. <span>If
|
||
maxAssociations is 0 then there is no restriction.</span>
|
||
<span>If maxAssociations is greater than 1 (or 0) then the
|
||
interaction must be bound to a response with <a href="#element10051">multiple</a> cardinality.</span>
|
||
</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10276"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10280">simpleMatchSet</a> [2]<br>
|
||
|
||
The
|
||
two sets of choices, the first set defines the source choices and the second
|
||
set the targets.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10277"><b>Class</b> : <code>simpleAssociableChoice (</code></a><a class="class-head" href="#element10257">associableChoice</a>)
|
||
</p>
|
||
<dl>
|
||
|
||
<dt>Associated classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10269">associateInteraction</a>, <a class="class-head" href="#element10280">simpleMatchSet</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10278"><b>Attribute</b> : <code>matchMax [1]: </code></a><a class="class-subbody" href="#element10542">integer</a><br>
|
||
|
||
The maximum number of choices this
|
||
choice may be associated with. <span>If matchMax is 0 then there
|
||
is no restriction.</span>
|
||
</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10279"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10109">flowStatic</a> [*]</p>
|
||
|
||
|
||
|
||
<p>associableChoice is a choice that contains <a href="#element10109">flowStatic</a>
|
||
objects, it must <em>not</em> contain nested interactions.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10280"><b>Class</b> : <code>simpleMatchSet</code>
|
||
</a></p>
|
||
<dl>
|
||
|
||
<dt><a name="element10280">Associated classes:</a></dt>
|
||
<dd><code><a class="class-head" href="#element10273">matchInteraction</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10281"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10277">simpleAssociableChoice</a> [*]<br>
|
||
|
||
An
|
||
ordered set of choices for the set.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10282"><b>Class</b> : <code>gapMatchInteraction (</code></a><a class="class-head" href="#element10250">blockInteraction</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p>A gap
|
||
<span>match</span> interaction is a <a href="#element10250">blockInteraction</a> that contains a number gaps that the candidate can
|
||
fill from an associated set of choices. The candidate must be able to review
|
||
the content with the gaps filled in context, as indicated by their choices.</p>
|
||
|
||
|
||
|
||
<p>The gapMatchInteraction must be bound to a <a href="#element10090">responseVariable</a> with base-type <a href="#element10062">directedPair</a> and either <a href="#element10050">single</a> or <a href="#element10051">multiple</a>
|
||
cardinality, depending on the number of gaps. The choices represent the
|
||
source of the pairing and gaps the targets. Each gap can have at most one
|
||
choice associated with it. The maximum occurrence of the choices is
|
||
controlled by the <a href="#element10288">matchMax</a> attribute of
|
||
<a href="#element10287">gapChoice</a>.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10283"><b>Attribute</b> : <code>shuffle [1]: </code></a><a class="class-subbody" href="#element10537">boolean</a> = false<br>
|
||
|
||
If the
|
||
shuffle attribute is true then the delivery engine must randomize the order
|
||
in which the choices are presented (not the gaps), subject to the
|
||
<a href="#element10256">fixed</a> attribute of the choices themselves.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10284"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10287">gapChoice</a> [1..*]<br>
|
||
|
||
An ordered
|
||
list of choices for filling the gaps. There may be fewer choices than gaps
|
||
if required.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10285"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10108">blockStatic</a> [1..*]<br>
|
||
|
||
The
|
||
content of the interaction is simply a piece of content that contains the
|
||
gaps. <span>If the block contains more than one <a href="#element10286">gap</a> then the interaction must be bound to a response with
|
||
<a href="#element10051">multiple</a> cardinality.</span>
|
||
</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10286"><b>Class</b> : <code>gap (</code></a><a class="class-head" href="#element10257">associableChoice</a>, <a class="class-head" href="#element10107">inlineStatic</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p>gap is an <span>
|
||
<a href="#element10107">inlineStatic</a> element</span> that must only appear
|
||
within a <a href="#element10282">gapMatchInteraction</a>.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10287"><b>Abstract class</b> : <code>gapChoice (</code></a><a class="class-head" href="#element10257">associableChoice</a>)
|
||
</p>
|
||
<dl>
|
||
|
||
<dt>Derived classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10290">gapImg</a>, <a class="class-head" href="#element10289">gapText</a></code></dd>
|
||
|
||
<dt>Associated classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10282">gapMatchInteraction</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p>The choices that are used to fill the gaps in a <a href="#element10282">gapMatchInteraction</a> are either simple runs of text or single image
|
||
objects, both derived from gapChoice.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10288"><b>Attribute</b> : <code>matchMax [1]: </code></a><a class="class-subbody" href="#element10542">integer</a><br>
|
||
|
||
The maximum number of choices this
|
||
choice may be associated with. <span>If matchMax is 0 there is
|
||
no restriction.</span>
|
||
</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10289"><b>Class</b> : <code>gapText (</code></a><a class="class-head" href="#element10287">gapChoice</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p>A simple run of text to be inserted into a gap by the user.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10290"><b>Class</b> : <code>gapImg (</code></a><a class="class-head" href="#element10287">gapChoice</a>)
|
||
</p>
|
||
<dl>
|
||
|
||
<dt>Associated classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10331">graphicGapMatchInteraction</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p>A gap image contains a single image object to be inserted into a gap by the candidate.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10291"><b>Attribute</b> : <code>objectLabel [0..1]: </code></a><a class="class-subbody" href="#element10556">string</a><br>
|
||
|
||
An
|
||
optional label for the image object to be inserted.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10292"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10158">object</a> [1]</p>
|
||
|
||
|
||
</div>
|
||
|
||
<h3><a name="section10063">7.2. Text-based Interactions</a></h3>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10293"><b>Class</b> : <code>inlineChoiceInteraction (</code></a><a class="class-head" href="#element10249">inlineInteraction</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p>A inline choice is an <a href="#element10249">inlineInteraction</a> that presents
|
||
the user with a set of choices, each of which is a simple piece of text. The
|
||
candidate's task is to select one of the choices. Unlike the <a href="#element10259">choiceInteraction</a>, the delivery engine must allow the candidate to
|
||
review their choice within the context of the surrounding text.</p>
|
||
|
||
|
||
|
||
<p>The inlineChoiceInteraction must be bound to a <a href="#element10090">responseVariable</a> with a <a href="#element10054">baseType</a> of
|
||
<a href="#element10055">identifier</a> and <a href="#element10050">single</a> cardinality only.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10294"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10296">inlineChoice</a> [1..*]<br>
|
||
|
||
An
|
||
ordered list of the choices that are displayed to the user. The order is the
|
||
order of the choices presented to the user unless <a href="#element10295">shuffle</a> is true.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10295"><b>Attribute</b> : <code>shuffle [1]: </code></a><a class="class-subbody" href="#element10537">boolean</a> = false<br>
|
||
|
||
If the shuffle
|
||
attribute is true then the delivery engine must randomize the order in which
|
||
the choices are presented subject to the <a href="#element10256">fixed</a> attribute.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10296"><b>Class</b> : <code>inlineChoice (</code></a><a class="class-head" href="#element10254">choice</a>)
|
||
</p>
|
||
<dl>
|
||
|
||
<dt>Associated classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10293">inlineChoiceInteraction</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p>A simple run of text to be displayed to the user.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10297"><b>Abstract class</b> : <code>stringInteraction</code>
|
||
</a></p>
|
||
<dl>
|
||
|
||
<dt><a name="element10297">Derived classes:</a></dt>
|
||
<dd><code><a class="class-head" href="#element10304">extendedTextInteraction</a>, <a class="class-head" href="#element10303">textEntryInteraction</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p>String interactions can be bound to numeric response variables, instead of
|
||
strings, if desired.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10298"><b>Attribute</b> : <code>base [0..1]: </code></a><a class="class-subbody" href="#element10542">integer</a> = 10<br>
|
||
|
||
If the
|
||
string interaction is bound to a numeric response variable then the base
|
||
attribute must be used to set the <span>number</span> base in
|
||
which to interpret the value entered by the candidate.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10299"><b>Attribute</b> : <code>stringIdentifier [0..1]: </code></a><a class="class-subbody" href="#element10541">identifier</a><br>
|
||
|
||
If the
|
||
string interaction is bound to a numeric response variable then the actual
|
||
string entered by the candidate can also be captured by binding the
|
||
interaction to a <em>second</em> response variable (of base-type
|
||
<a href="#element10059">string</a>).</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10300"><b>Attribute</b> : <code>expectedLength [0..1]: </code></a><a class="class-subbody" href="#element10542">integer</a><br>
|
||
|
||
The
|
||
expectedLength attribute provides a hint to the candidate as to the expected
|
||
overall length of the desired response. A <a href="#term10017">Delivery Engine</a>
|
||
should use the value of this attribute to set the size of the response box,
|
||
where applicable.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10301"><b>Attribute</b> : <code>patternMask [0..1]: </code></a><a class="class-subbody" href="#element10556">string</a><br>
|
||
|
||
If given, the
|
||
pattern mask specifies a regular expression that the candidate's response
|
||
must match in order to be considered valid. The regular expression language
|
||
used is defined in Appendix F of <a href="#ref_XML_SCHEMA2">[XML_SCHEMA2]</a>.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10302"><b>Attribute</b> : <code>placeholderText [0..1]: </code></a><a class="class-subbody" href="#element10556">string</a><br>
|
||
|
||
|
||
In visual environments, string interactions are typically represented by
|
||
empty boxes into which the candidate writes or types. However, in speech
|
||
based environments it is helpful to have some placeholder text that can be
|
||
used to vocalize the interaction. Delivery engines should use the value of
|
||
this attribute (if provided) instead of their default placeholder text when
|
||
this is required. Implementors should be aware of the issues concerning the
|
||
use of default values described in the section on <a href="#element10090">responseVariable</a>s. </p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10303"><b>Class</b> : <code>textEntryInteraction (</code></a><a class="class-head" href="#element10249">inlineInteraction</a>, <a class="class-head" href="#element10297">stringInteraction</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p>A textEntry interaction is an <a href="#element10249">inlineInteraction</a> that
|
||
obtains a simple piece of text from the candidate. Like <a href="#element10293">inlineChoiceInteraction</a>, the delivery engine must allow the
|
||
candidate to review their choice within the context of the surrounding text.</p>
|
||
|
||
|
||
|
||
<p>The textEntryInteraction must be bound to a <a href="#element10090">responseVariable</a> with <a href="#element10050">single</a>
|
||
cardinality only. The <a href="#element10054">baseType</a> must be one of
|
||
<a href="#element10059">string</a>, <a href="#element10057">integer</a> or <a href="#element10058">float</a>.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10304"><b>Class</b> : <code>extendedTextInteraction (</code></a><a class="class-head" href="#element10250">blockInteraction</a>, <a class="class-head" href="#element10297">stringInteraction</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p>An extended text interaction is a <a href="#element10250">blockInteraction</a> that
|
||
allows the candidate to enter an extended amount of text.</p>
|
||
|
||
|
||
|
||
<p>The extendedTextInteraction must be bound to a <a href="#element10090">responseVariable</a> with <a href="#element10054">baseType</a> of
|
||
<a href="#element10059">string</a>, <a href="#element10057">integer</a> or <a href="#element10058">float</a>. When
|
||
bound to response variable with <a href="#element10050">single</a>
|
||
cardinality a single string of text is required from the candidate. When
|
||
bound to a response variable with <a href="#element10051">multiple</a>
|
||
or <a href="#element10052">ordered</a> cardinality several
|
||
<em>separate</em> text strings may be required, see <a href="#element10305">maxStrings</a> below.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10305"><b>Attribute</b> : <code>maxStrings [0..1]: </code></a><a class="class-subbody" href="#element10542">integer</a><br>
|
||
|
||
The maxStrings
|
||
attribute is required when the interaction is bound to a response variable
|
||
that is a container. A <a href="#term10017">Delivery Engine</a> must use the value
|
||
of this attribute to control the maximum number of separate strings accepted
|
||
from the candidate. When multiple strings are accepted, <a href="#element10300">expectedLength</a> applies to <em>each</em> string.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10306"><b>Attribute</b> : <code>expectedLines [0..1]: </code></a><a class="class-subbody" href="#element10542">integer</a><br>
|
||
|
||
|
||
The expectedLines attribute provides a hint to the candidate as to the
|
||
expected number of lines of input required. A <a href="#term10017">Delivery Engine</a> should use the value of this attribute to set the
|
||
size of the response box, where applicable. </p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10307"><b>Class</b> : <code>hottextInteraction (</code></a><a class="class-head" href="#element10250">blockInteraction</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p>The hottext interaction presents a set of choices to the candidate
|
||
represented as selectable runs of text embedded within a surrounding
|
||
context, such as a simple passage of text. Like <a href="#element10259">choiceInteraction</a>, the candidate's task is to select one or more of
|
||
the choices, up to a maximum of <a href="#element10308">maxChoices</a>. The interaction is initialized from
|
||
the <a href="#element10046">defaultValue</a> of the associated <a href="#element10090">responseVariable</a>, a NULL value indicating that no choices are
|
||
selected (the usual case).
|
||
</p>
|
||
|
||
|
||
|
||
<p>The hottextInteraction must be bound to a <a href="#element10090">responseVariable</a> with a <a href="#element10054">baseType</a> of
|
||
<a href="#element10055">identifier</a> and <a href="#element10050">single</a> or <a href="#element10051">multiple</a> cardinality.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10308"><b>Attribute</b> : <code>maxChoices [1]: </code></a><a class="class-subbody" href="#element10542">integer</a> = 1<br>
|
||
|
||
The maximum number of
|
||
choices that can be selected by the candidate. <span>If
|
||
matchChoices is 0 there is no restriction.</span>
|
||
<span>If maxChoices is greater than 1 (or 0) then the
|
||
interaction must be bound to a response with <a href="#element10051">multiple</a> cardinality.</span>
|
||
</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10309"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10108">blockStatic</a> [1..*]<br>
|
||
|
||
The
|
||
content of the interaction is simply a piece of content, such as a simple
|
||
passage of text, that contains the <a href="#element10310">hottext</a> areas.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10310"><b>Class</b> : <code>hottext (</code></a><a class="class-head" href="#element10254">choice</a>, <a class="class-head" href="#element10109">flowStatic</a>, <a class="class-head" href="#element10107">inlineStatic</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p>A hottext area is used within the content of an <a href="#element10307">hottextInteraction</a> to provide the individual choices. It <em>must not</em> contain any <span>nested</span>
|
||
<a href="#element10247">interaction</a>s or other <a href="#element10310">hottext</a> areas.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10311"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10107">inlineStatic</a> [*]</p>
|
||
|
||
|
||
</div>
|
||
|
||
<h3><a name="section10064">7.3. Graphical Interactions</a></h3>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10312"><b>Abstract class</b> : <code>hotspot</code>
|
||
</a></p>
|
||
<dl>
|
||
|
||
<dt><a name="element10312">Derived classes:</a></dt>
|
||
<dd><code><a class="class-head" href="#element10317">associableHotspot</a>, <a class="class-head" href="#element10316">hotspotChoice</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p>Some of the graphic interactions involve images with specially defined areas
|
||
or <em>hotspots</em>.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10313"><b>Attribute</b> : <code>shape [1]: </code></a><a class="class-subbody" href="#element10550">shape</a><br>
|
||
|
||
The shape of the hotspot.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10314"><b>Attribute</b> : <code>coords [1]: </code></a><a class="class-subbody" href="#element10538">coords</a><br>
|
||
|
||
The size and position of the hotspot,
|
||
interpreted in conjunction with the shape.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10315"><b>Attribute</b> : <code>hotspotLabel [0..1]: </code></a><a class="class-subbody" href="#element10557">string256</a><br>
|
||
|
||
The
|
||
alternative text for this (hot) area of the image, if specified it
|
||
<em>must</em> be treated in the same way as alternative text for
|
||
<a href="#element10216">img</a>. For hidden hotspots this label is ignored.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10316"><b>Class</b> : <code>hotspotChoice (</code></a><a class="class-head" href="#element10254">choice</a>, <a class="class-head" href="#element10312">hotspot</a>)
|
||
</p>
|
||
<dl>
|
||
|
||
<dt>Associated classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10321">hotspotInteraction</a>, <a class="class-head" href="#element10326">graphicOrderInteraction</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10317"><b>Class</b> : <code>associableHotspot (</code></a><a class="class-head" href="#element10257">associableChoice</a>, <a class="class-head" href="#element10312">hotspot</a>)
|
||
</p>
|
||
<dl>
|
||
|
||
<dt>Associated classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10328">graphicAssociateInteraction</a>, <a class="class-head" href="#element10331">graphicGapMatchInteraction</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10318"><b>Attribute</b> : <code>matchMax [1]: </code></a><a class="class-subbody" href="#element10542">integer</a><br>
|
||
|
||
The maximum number of choices this
|
||
choice may be associated with. <span>If matchMax is 0 there is
|
||
no restriction.</span>
|
||
</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10319"><b>Abstract class</b> : <code>graphicInteraction (</code></a><a class="class-head" href="#element10250">blockInteraction</a>)
|
||
</p>
|
||
<dl>
|
||
|
||
<dt>Derived classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10328">graphicAssociateInteraction</a>, <a class="class-head" href="#element10331">graphicGapMatchInteraction</a>, <a class="class-head" href="#element10326">graphicOrderInteraction</a>, <a class="class-head" href="#element10321">hotspotInteraction</a>, <a class="class-head" href="#element10324">selectPointInteraction</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10320"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10158">object</a> [1]<br>
|
||
|
||
Each graphical
|
||
interaction has an associated image which is given as an object that must be
|
||
of an <em>image</em> type, as specified by the <a href="#element10161">type</a> attribute.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10321"><b>Class</b> : <code>hotspotInteraction (</code></a><a class="class-head" href="#element10319">graphicInteraction</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p>A hotspot interaction is a graphical interaction with a corresponding set of
|
||
choices that are defined as areas of the graphic image. The candidate's task
|
||
is to select one or more of the areas (hotspots). The hotspot interaction
|
||
should only be used when the spatial relationship of the choices with
|
||
respect to each other (as represented by the graphic image) is important to
|
||
the needs of the item. Otherwise, <a href="#element10259">choiceInteraction</a>
|
||
should be used instead with separate material for each option.</p>
|
||
|
||
|
||
|
||
<p>The delivery engine must clearly indicate the selected area(s) of the image
|
||
and may also indicate the unselected areas as well. Interactions with hidden
|
||
hotspots are achieved with the <a href="#element10324">selectPointInteraction</a>.</p>
|
||
|
||
|
||
|
||
<p>The hotspot interaction must be bound to a <a href="#element10090">responseVariable</a> with a <a href="#element10054">baseType</a> of
|
||
<a href="#element10055">identifier</a> and <a href="#element10050">single</a> or <a href="#element10051">multiple</a> cardinality.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10322"><b>Attribute</b> : <code>maxChoices [1]: </code></a><a class="class-subbody" href="#element10542">integer</a> = 1<br>
|
||
|
||
The maximum number of
|
||
choices that the candidate is allowed to select. <span>If
|
||
maxChoices is 0 there is no restriction.</span>
|
||
<span>If maxChoices is greater than 1 (or 0) then the
|
||
interaction must be bound to a response with <a href="#element10051">multiple</a> cardinality.</span>
|
||
</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10323"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10316">hotspotChoice</a> [1..*] {ordered}<br>
|
||
|
||
The hotspots that define the choices that can be
|
||
selected by the candidate. If the delivery system does not support
|
||
pointer-based selection then the order in which the choices are given must
|
||
be the order in which they are offered to the candidate for selection. For
|
||
example, the 'tab order' in simple keyboard navigation. If hotspots overlap
|
||
then those listed first hide overlapping hotspots that appear later. The
|
||
default hotspot, if defined, must appear last.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10324"><b>Class</b> : <code>selectPointInteraction (</code></a><a class="class-head" href="#element10319">graphicInteraction</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p>Like <a href="#element10321">hotspotInteraction</a>, a select point interaction is
|
||
a graphic interaction. The candidate's task is to select one or more points.
|
||
The associated response <em>may</em> have an <a href="#element10081">areaMapping</a> that scores the response on the basis of comparing it
|
||
against predefined areas but the delivery engine <em>must not</em> indicate
|
||
these areas of the image. Only the actual point(s) selected by the candidate
|
||
shall be indicated.</p>
|
||
|
||
|
||
|
||
<p>The select point interaction must be bound to a <a href="#element10090">responseVariable</a> with a <a href="#element10054">baseType</a> of
|
||
<a href="#element10060">point</a> and <a href="#element10050">single</a> or <a href="#element10051">multiple</a> cardinality.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10325"><b>Attribute</b> : <code>maxChoices [1]: </code></a><a class="class-subbody" href="#element10542">integer</a> = 1<br>
|
||
|
||
This attribute is
|
||
interpreted as the maximum number of points that the candidate is allowed to
|
||
select. <span>If maxChoices is 0 there is no restriction.</span>
|
||
<span>If maxChoices is greater than 1 (or 0) then the
|
||
interaction must be bound to a response with <a href="#element10051">multiple</a> cardinality.</span>
|
||
</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10326"><b>Class</b> : <code>graphicOrderInteraction (</code></a><a class="class-head" href="#element10319">graphicInteraction</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p>A graphic order interaction is a graphic interaction with a corresponding set
|
||
of choices that are defined as areas of the graphic image. The candidate's
|
||
task is to impose an ordering on the areas (hotspots). The order hotspot
|
||
interaction should only be used when the spacial relationship of the choices
|
||
with respect to each other (as represented by the graphic image) is
|
||
important to the needs of the item. Otherwise, <a href="#element10263">orderInteraction</a> should be used instead with separate material for
|
||
each option.</p>
|
||
|
||
|
||
|
||
<p>The delivery engine must clearly indicate all defined area(s) of the image.</p>
|
||
|
||
|
||
|
||
<p>The order hotspot interaction must be bound to a <a href="#element10090">responseVariable</a> with a <a href="#element10054">baseType</a> of
|
||
<a href="#element10055">identifier</a> and <a href="#element10052">ordered</a> cardinality.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10327"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10316">hotspotChoice</a> [1..*]<br>
|
||
|
||
The
|
||
hotspots that define the choices that are to be ordered by the candidate. If
|
||
the delivery system does not support pointer-based selection then the order
|
||
in which the choices are given must be the order in which they are offered
|
||
to the candidate for selection. For example, the 'tab order' in simple
|
||
keyboard navigation.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10328"><b>Class</b> : <code>graphicAssociateInteraction (</code></a><a class="class-head" href="#element10319">graphicInteraction</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p>A graphic associate interaction is a graphic interaction with a corresponding
|
||
set of choices that are defined as areas of the graphic image. The
|
||
candidate's task is to associate the areas (hotspots) with each other. The
|
||
graphic associate interaction should only be used when the graphical
|
||
relationship of the choices with respect to each other (as represented by
|
||
the graphic image) is important to the needs of the item. Otherwise,
|
||
<a href="#element10269">associateInteraction</a> should be used instead with
|
||
separate <a href="#term10026">Material</a> for each option.</p>
|
||
|
||
|
||
|
||
<p>The delivery engine must clearly indicate all defined area(s) of the image.</p>
|
||
|
||
|
||
|
||
<p>The associateHotspotInteraction must be bound to a <a href="#element10090">responseVariable</a> with base-type <a href="#element10061">pair</a>
|
||
and either <a href="#element10050">single</a> or <a href="#element10051">multiple</a> cardinality.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10329"><b>Attribute</b> : <code>maxAssociations [1]: </code></a><a class="class-subbody" href="#element10542">integer</a> = 1<br>
|
||
|
||
The maximum number
|
||
of associations that the candidate is allowed to make. <span>If
|
||
maxAssociations is 0 there is no restriction.</span>
|
||
<span>If maxAssociations is greater than 1 (or 0) then the
|
||
interaction must be bound to a response with <a href="#element10051">multiple</a> cardinality.</span>
|
||
</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10330"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10317">associableHotspot</a> [1..*]<br>
|
||
|
||
The hotspots that define the choices that are to be
|
||
associated by the candidate. If the delivery system does not support
|
||
pointer-based selection then the order in which the choices are given must
|
||
be the order in which they are offered to the candidate for selection. For
|
||
example, the 'tab order' in simple keyboard navigation.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10331"><b>Class</b> : <code>graphicGapMatchInteraction (</code></a><a class="class-head" href="#element10319">graphicInteraction</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p>A graphic gap-match interaction is a graphical interaction with a set of gaps
|
||
that are defined as areas (hotspots) of the graphic image and an additional
|
||
set of gap choices that are defined outside the image. The candidate must
|
||
associate the gap choices with the gaps in the image and be able to review
|
||
the image with the gaps filled in context, as indicated by their choices.
|
||
Care should be taken when designing these interactions to ensure that the
|
||
gaps in the image are a suitable size to receive the required gap choices.
|
||
It must be clear to the candidate which hotspot each choice has been
|
||
associated with. When associated, choices must appear wholly inside the gaps
|
||
if at all possible and, where overlaps are required, should not hide each
|
||
other completely. If the candidate indicates the association by positioning
|
||
the choice over the gap (e.g., drag and drop) the system should 'snap' it to
|
||
the nearest position that satisfies these requirements. </p>
|
||
|
||
|
||
|
||
<p>The graphicGapMatchInteraction must be bound to a <a href="#element10090">responseVariable</a> with base-type <a href="#element10062">directedPair</a> and
|
||
<a href="#element10051">multiple</a> cardinality. The choices
|
||
represent the source of the pairing and the gaps in the image (the hotspots)
|
||
the targets. Unlike the simple <a href="#element10282">gapMatchInteraction</a>,
|
||
each gap can have several choices associated with it if desired,
|
||
furthermore, the same choice may be associated with an <a href="#element10317">associableHotspot</a> multiple times, in which case the corresponding
|
||
directed pair appears multiple times in the value of the response variable.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10332"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10290">gapImg</a> [1..*]<br>
|
||
|
||
An ordered list of
|
||
choices for filling the gaps. There may be fewer choices than gaps if required.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10333"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10317">associableHotspot</a> [1..*]<br>
|
||
|
||
The hotspots that define the gaps that are to be filled
|
||
by the candidate. If the delivery system does not support pointer-based
|
||
selection then the order in which the gaps is given must be the order in
|
||
which they are offered to the candidate for selection. For example, the 'tab
|
||
order' in simple keyboard navigation. The default hotspot must not be defined.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10334"><b>Class</b> : <code>positionObjectInteraction (</code></a><a class="class-head" href="#element10247">interaction</a>)
|
||
</p>
|
||
<dl>
|
||
|
||
<dt>Associated classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10338">positionObjectStage</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p>The position object interaction consists of a single image which must be
|
||
positioned on another graphic image (the stage) by the candidate. Like
|
||
<a href="#element10324">selectPointInteraction</a>, the associated response
|
||
<em>may</em> have an <a href="#element10081">areaMapping</a> that scores the
|
||
response on the basis of comparing it against predefined areas but the
|
||
delivery engine <em>must not</em> indicate these areas of the stage. Only
|
||
the actual position(s) selected by the candidate shall be indicated.</p>
|
||
|
||
|
||
|
||
<p>The position object interaction must be bound to a <a href="#element10090">responseVariable</a> with a <a href="#element10054">baseType</a> of
|
||
<a href="#element10060">point</a> and <a href="#element10050">single</a> or <a href="#element10051">multiple</a>
|
||
cardinality. The point records the coordinates, with respect to the stage,
|
||
of the center point of the image being positioned.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10335"><b>Attribute</b> : <code>centerPoint [0..2]: </code></a><a class="class-subbody" href="#element10542">integer</a><br>
|
||
|
||
|
||
The centrePoint attribute defines the point on the image being positioned
|
||
that is to be treated as the center as an offset from the top-left corner of
|
||
the image in horizontal, vertical order. By default this is the center of
|
||
the image's bounding rectangle.</p>
|
||
|
||
|
||
|
||
<p>The stage on which the image is to be positioned may be shared amongst
|
||
several position object interactions and is therefore defined in a class of
|
||
its own: <a href="#element10338">positionObjectStage</a>.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10336"><b>Attribute</b> : <code>maxChoices [1]: </code></a><a class="class-subbody" href="#element10542">integer</a> = 1<br>
|
||
|
||
The maximum number of
|
||
positions (on the stage) that the image can be placed. <span>If
|
||
matchChoices is 0 there is no limit.</span>
|
||
|
||
<span>If maxChoices is greater than 1 (or 0) then the
|
||
interaction must be bound to a response with <a href="#element10051">multiple</a> cardinality.</span>
|
||
</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10337"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10158">object</a> [1]<br>
|
||
|
||
The image to be
|
||
positioned on the stage by the candidate.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10338"><b>Class</b> : <code>positionObjectStage (</code></a><a class="class-head" href="#element10105">block</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10339"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10158">object</a> [1]<br>
|
||
|
||
The image to be used
|
||
as a stage onto which individual <a href="#element10334">positionObjectInteraction</a>s allow the candidate to place their objects.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10340"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10334">positionObjectInteraction</a> [1..*]</p>
|
||
|
||
|
||
</div>
|
||
|
||
<h3><a name="section10065">7.4. Miscellaneous Interactions</a></h3>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10341"><b>Class</b> : <code>sliderInteraction (</code></a><a class="class-head" href="#element10250">blockInteraction</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p>The slider interaction presents the candidate with a control for selecting a
|
||
numerical value between a lower and upper bound. It must be bound to a
|
||
response variable with <a href="#element10050">single</a> cardinality
|
||
with a base-type of either <a href="#element10057">integer</a> or
|
||
<a href="#element10058">float</a>.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10342"><b>Attribute</b> : <code>lowerBound [1]: </code></a><a class="class-subbody" href="#element10540">float</a><br>
|
||
|
||
If the associated
|
||
response variable is of type <a href="#element10057">integer</a> then the
|
||
lowerBound must be rounded down to the greatest integer less than or equal
|
||
to the value given.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10343"><b>Attribute</b> : <code>upperBound [1]: </code></a><a class="class-subbody" href="#element10540">float</a><br>
|
||
|
||
If the associated
|
||
response variable is of type <a href="#element10057">integer</a> then the
|
||
upperBound must be rounded up to the least integer greater than or equal to
|
||
the value given.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10344"><b>Attribute</b> : <code>step [0..1]: </code></a><a class="class-subbody" href="#element10542">integer</a><br>
|
||
|
||
The steps that the
|
||
control moves in. For example, if the <a href="#element10342">lowerBound</a> and <a href="#element10343">upperBound</a> are [0,10] and step is 2 then the
|
||
response would be constrained to the set of values {0,2,4,6,8,10}. If bound
|
||
to an <a href="#element10057">integer</a> response the default step is 1,
|
||
otherwise the slider is assumed to operate on an approximately continuous scale.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10345"><b>Attribute</b> : <code>stepLabel [0..1]: </code></a><a class="class-subbody" href="#element10537">boolean</a> = false<br>
|
||
|
||
By default, sliders are labeled only at their ends. The
|
||
stepLabel attribute controls whether or not each step on the slider should
|
||
also be labeled. It is unlikely that delivery engines will be able to
|
||
guarantee to label steps so this attribute should be treated only as request.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10346"><b>Attribute</b> : <code>orientation [0..1]: </code></a><a class="class-subbody" href="#element10546">orientation</a><br>
|
||
|
||
The
|
||
orientation attribute provides a hint to rendering systems that the slider
|
||
is being used to indicate the value of a quantity with an inherent
|
||
<a href="#element10547">vertical</a> or <a href="#element10548">horizontal</a> interpretation. For example, an interaction
|
||
that is used to indicate the value of height might set the orientation to
|
||
vertical to indicate that rendering it horizontally could spuriously
|
||
increase the difficulty of the item.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10347"><b>Attribute</b> : <code>reverse [0..1]: </code></a><a class="class-subbody" href="#element10537">boolean</a><br>
|
||
|
||
The reverse
|
||
attribute provides a hint to rendering systems that the slider is being used
|
||
to indicate the value of a quantity for which the normal sense of the upper
|
||
and lower bounds is reversed. For example, an interaction that is used to
|
||
indicate a depth below sea level might specify both a vertical orientation
|
||
and set reverse.</p>
|
||
|
||
|
||
|
||
<p>Note that a slider interaction does not have a default or initial position
|
||
except where specified by a default value for the associated <a href="#element10090">responseVariable</a>. The currently selected value, if any,
|
||
<em>must</em> be clearly indicated to the candidate .</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10348"><b>Class</b> : <code>drawingInteraction (</code></a><a class="class-head" href="#element10250">blockInteraction</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p>The drawing interaction allows the candidate to use a common set of drawing
|
||
tools to modify a given graphical image (the canvas). It must be bound to a
|
||
<a href="#element10090">responseVariable</a> with base-type <a href="#element10064">file</a> and <a href="#element10050">single</a>
|
||
cardinality. The result is a file in the same format as the original image.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10349"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10158">object</a> [1]<br>
|
||
|
||
The image that acts as
|
||
the canvas on which the drawing takes place is given as an object which must
|
||
be of an <em>image</em> type, as specified by the <a href="#element10161">type</a> attribute.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10350"><b>Class</b> : <code>uploadInteraction (</code></a><a class="class-head" href="#element10250">blockInteraction</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p>The upload interaction allows the candidate to upload a pre-prepared file
|
||
representing their response. It must be bound to a <a href="#element10090">responseVariable</a> with base-type <a href="#element10064">file</a>
|
||
and <a href="#element10050">single</a> cardinality.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10351"><b>Attribute</b> : <code>type [0..1]: </code></a><a class="class-subbody" href="#element10545">mimeType</a><br>
|
||
|
||
The expected
|
||
mime-type of the uploaded file.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10352"><b>Class</b> : <code>customInteraction (</code></a><a class="class-head" href="#element10105">block</a>, <a class="class-head" href="#element10106">flow</a>, <a class="class-head" href="#element10247">interaction</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p>The custom interaction provides an opportunity for extensibility of this
|
||
specification to include support for interactions not currently documented.</p>
|
||
|
||
|
||
|
||
</div>
|
||
|
||
<h3><a name="section10066">7.5. Alternative Ways to End an Attempt</a></h3>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10353"><b>Class</b> : <code>endAttemptInteraction (</code></a><a class="class-head" href="#element10249">inlineInteraction</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p>The end attempt interaction is a special type of interaction which allows
|
||
item authors to provide the candidate with control over the way in which the
|
||
candidate terminates an attempt. The candidate can use the interaction to
|
||
terminate the attempt (triggering response processing) immediately,
|
||
typically to request a hint. It must be bound to a <a href="#element10090">responseVariable</a> with base-type <a href="#element10056">boolean</a> and <a href="#element10050">single</a> cardinality.</p>
|
||
|
||
|
||
|
||
<p>If the candidate invokes response processing using an <a href="#element10353">endAttemptInteraction</a> then the associated response variable is set
|
||
to true. If response processing is invoked in any other way, either through
|
||
a different <a href="#element10353">endAttemptInteraction</a> or through the
|
||
default method for the delivery engine, then the associated response
|
||
variable is set to false. The default value of the response variable is
|
||
always ignored.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10354"><b>Attribute</b> : <code>title [1]: </code></a><a class="class-subbody" href="#element10556">string</a><br>
|
||
|
||
The string that should be
|
||
displayed to the candidate as a prompt for ending the attempt using this
|
||
interaction. This should be short, preferably one word. A typical value
|
||
would be "Hint". For example, in a graphical environment it would be
|
||
presented as the label on a button that, when pressed, ends the attempt.</p>
|
||
|
||
|
||
</div>
|
||
|
||
|
||
<h2><a name="section10067">8. Response Processing</a></h2>
|
||
|
||
<p><a name="section10067">Response processing is the process by which the </a><a href="#term10017">Delivery Engine</a>
|
||
assigns outcomes to the <a href="#element10027">itemSession</a> based on the candidate's
|
||
responses. The outcomes may be used to provide feedback to the candidate. Feedback
|
||
is either provided immediately following the end of the candidate's attempt or it is
|
||
provided at some later time, perhaps as part of a summary report on the <a href="#element10027">itemSession</a>.</p>
|
||
|
||
<p>The end of an attempt, and therefore response processing, must only take place in
|
||
direct response to a user action or in response to some expected event, such as the
|
||
end of a test. An <a href="#element10027">itemSession</a> that enters the suspended state
|
||
may have values for the <a href="#element10090">responseVariable</a>s that have yet to be
|
||
submitted for response processing.</p>
|
||
|
||
<p>For a <a href="#term10029">Non-adaptive Item</a> the values of the <a href="#element10095">outcomeVariable</a>s are reset to their default values (or NULL if no default
|
||
is given) before <em>each</em> invocation of response processing. However, although
|
||
a <a href="#term10017">Delivery Engine</a>
|
||
<em>may</em> invoke response processing multiple times for a <a href="#term10029">Non-adaptive Item</a> it <strong>must</strong> only report the <em>first</em> set
|
||
of outcomes produced or limit the number of attempts to some predefined limit agreed
|
||
outside the scope of this specification.</p>
|
||
|
||
<p>For an <a href="#term10004">Adaptive Item</a> the values of the <a href="#element10095">outcomeVariable</a>s are <strong>not</strong> reset to their defaults. A
|
||
<a href="#term10017">Delivery Engine</a> that supports <a href="#term10004">Adaptive Item</a>s
|
||
<em>must</em> allow the candidate to revise and submit their responses for response
|
||
processing and <em>must</em> only report the <em>last</em> set of outcomes produced.
|
||
Furthermore, it must present <strong>all</strong> applicable modal
|
||
<strong>and</strong> integrated feedback to the candidate. Subsequent response
|
||
processing may take into consideration the feedback seen by the candidate when
|
||
updating the session outcomes. An adaptive item can signal to the delivery engine
|
||
that the candidate has completed the interaction and no more attempts are to be
|
||
allowed by setting the built-in outcome variable <a href="#element10029">completionStatus</a> to <em>complete</em>.</p>
|
||
|
||
<p align="center"><img src="imsqti_infov2p0_files/feedback.png"></p>
|
||
|
||
<p align="center">Feedback Followed by Further Interaction</p>
|
||
|
||
<h3><a name="section10068">8.1. Response Processing Templates</a></h3>
|
||
|
||
<p><a name="section10068">Response processing involves the application of a set of </a><a href="#element10359">responseRule</a>s, including the testing of <a href="#element10360">responseCondition</a>s and the evaluation of expressions involving the item
|
||
variables. For delivery engines that are only designed to support very simple
|
||
use cases the implementation of a system for carrying out this evaluation,
|
||
conditional testing and processing may pose a barrier to the adoption of the specification.</p>
|
||
|
||
<p>To alleviate this problem, the implementation of generalized response processing
|
||
is an optional feature. Engines that don't support it can instead implement a
|
||
smaller number of standard response processors called <em>response processing
|
||
templates</em> described below. These templates are described using the
|
||
processing language defined in this specification and are distributed (in XML
|
||
form) along with it. Delivery engines that support generalized response
|
||
processing do not need to implement special mechanisms to support them as a
|
||
template file can be parsed directly while processing the <a href="#element10010">assessmentItem</a> that refers to it.</p>
|
||
|
||
<p>Delivery engines that do not support generalized response processing but do
|
||
support response processing mechanisms that go beyond the standard templates
|
||
described below
|
||
<span>should, where possible,</span> define templates of their
|
||
own. Authors wishing to write items for those delivery engines can then refer to
|
||
these custom templates. Publishing these custom templates will then ensure that
|
||
these items can be used with delivery engines that do support generalized
|
||
response processing.</p>
|
||
|
||
<h4><a name="section10069">8.1.1. Standard Templates</a></h4>
|
||
|
||
<p><a name="auxFile.matchCorrect"><b>Match Correct</b><br>
|
||
|
||
<code></code></a><a href="http://www.imsglobal.org/question/qti_v2p0/rptemplates/match_correct.xml">rptemplates/match_correct.xml</a></p>
|
||
|
||
|
||
|
||
<p>Full template URI: <code>http://www.imsglobal.org/question/qti_v2p0/rptemplates/match_correct</code>
|
||
</p>
|
||
|
||
|
||
|
||
<p>The match correct response processing template uses the <a href="#element10436">match</a> operator to match the value of a response variable
|
||
<em>RESPONSE</em> with its correct value. It sets the outcome variable
|
||
<em>SCORE</em> to either 0 or 1 depending on the outcome of the test. A
|
||
response variable with called <em>RESPONSE</em> must have been declared
|
||
and have an associated correct value. Similarly, the outcome variable
|
||
<em>SCORE</em> must also have been declared. The template applies to
|
||
responses of <em>any</em>
|
||
<a href="#element10054">baseType</a> and <a href="#element10049">cardinality</a>
|
||
though bear in mind the limitations of matching more complex data types.
|
||
This template shouldn't be used for testing the numerical equality of
|
||
responses with base-type <a href="#element10058">float</a>.</p>
|
||
|
||
|
||
|
||
<p>Note that this template always sets a value for <em>SCORE</em>, even if
|
||
no <em>RESPONSE</em> was given.</p>
|
||
|
||
|
||
|
||
<p><a name="auxFile.mapResponse"><b>Map Response</b><br>
|
||
|
||
<code></code></a><a href="http://www.imsglobal.org/question/qti_v2p0/rptemplates/map_response.xml">rptemplates/map_response.xml</a></p>
|
||
|
||
|
||
|
||
<p>Full template URI: <code>http://www.imsglobal.org/question/qti_v2p0/rptemplates/map_response</code>
|
||
</p>
|
||
|
||
|
||
|
||
<p>The map response processing template uses the <a href="#element10391">mapResponse</a> operator to map the value of a response variable
|
||
<em>RESPONSE</em> onto a value for the outcome <em>SCORE</em>. Both
|
||
variables must have been declared and <em>RESPONSE</em> must have an
|
||
associated <a href="#element10066">mapping</a>. The template applies to
|
||
responses of <em>any</em>
|
||
<a href="#element10054">baseType</a> and <a href="#element10049">cardinality</a>.
|
||
See the notes about <a href="#element10391">mapResponse</a> for details of its
|
||
behavior when applied to containers.</p>
|
||
|
||
|
||
|
||
<p>If <em>RESPONSE</em> was NULL the <em>SCORE</em> is set to 0.</p>
|
||
|
||
|
||
|
||
<p><a name="auxFile.mapResponsePoint"><b>Map Response Point</b><br>
|
||
|
||
<code></code></a><a href="http://www.imsglobal.org/question/qti_v2p0/rptemplates/map_response_point.xml">rptemplates/map_response_point.xml</a></p>
|
||
|
||
|
||
|
||
<p>Full template URI: <code>http://www.imsglobal.org/question/qti_v2p0/rptemplates/map_response_point</code>
|
||
</p>
|
||
|
||
|
||
|
||
<p>The map response point processing template uses the <a href="#element10393">mapResponsePoint</a> operator to map the value of a response
|
||
variable <em>RESPONSE</em> onto a value for the outcome <em>SCORE</em>.
|
||
Both variables must been declared and <em>RESPONSE</em> must have
|
||
<a href="#element10054">baseType</a>
|
||
<a href="#element10060">point</a>. See the notes about <a href="#element10393">mapResponsePoint</a> for details of its behavior when applied to containers.</p>
|
||
|
||
|
||
|
||
<p>If <em>RESPONSE</em> was NULL the <em>SCORE</em> is set to 0.</p>
|
||
|
||
|
||
|
||
<h3><a name="section10070">8.2. Generalized Response Processing</a></h3>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10355"><b>Class</b> : <code>responseProcessing</code>
|
||
</a></p>
|
||
<dl>
|
||
|
||
<dt><a name="element10355">Associated classes:</a></dt>
|
||
<dd><code><a class="class-head" href="#element10010">assessmentItem</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10356"><b>Attribute</b> : <code>template [0..1]: </code></a><a class="class-subbody" href="#element10558">uri</a><br>
|
||
|
||
If a template
|
||
identifier is given it may be used to locate an externally defined
|
||
responseProcessing template. The rules obtained from the external template
|
||
may be used instead of the rules defined within the item itself, though if
|
||
both are given the internal rules are still preferred.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10357"><b>Attribute</b> : <code>templateLocation [0..1]: </code></a><a class="class-subbody" href="#element10558">uri</a><br>
|
||
|
||
In practice,
|
||
the <a href="#element10356">template</a> attribute may well
|
||
contain a URN or the URI of a template stored on a remote web server, such
|
||
as the standard response processing templates defined by this specification.
|
||
When processing an <a href="#element10010">assessmentItem</a> tools working
|
||
offline will not be able to obtain the template from a URN or remote URI.
|
||
The templateLocation attribute provides an alternative URI, typically a
|
||
relative URI to be resolved relative to the location of the assessmentItem
|
||
itself, that can be used to obtain a copy of the response processing template.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10358"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10359">responseRule</a> [*]</p>
|
||
|
||
|
||
|
||
<p>The mapping from values assigned to <a href="#term10034">Response Variable</a>s by
|
||
the candidate onto appropriate values for the item's <a href="#term10032">Outcome Variable</a>s is achieved through a number of rules.</p>
|
||
|
||
|
||
|
||
<p align="center"><img src="imsqti_infov2p0_files/response_processing.png"></p>
|
||
|
||
<p align="center">Response Processing</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10359"><b>Abstract class</b> : <code>responseRule</code>
|
||
</a></p>
|
||
<dl>
|
||
|
||
<dt><a name="element10359">Derived classes:</a></dt>
|
||
<dd><code><a class="class-head" href="#element10375">exitResponse</a>, <a class="class-head" href="#element10360">responseCondition</a>, <a class="class-head" href="#element10372">setOutcomeValue</a></code></dd>
|
||
|
||
<dt>Associated classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10370">responseElse</a>, <a class="class-head" href="#element10364">responseIf</a>, <a class="class-head" href="#element10355">responseProcessing</a>, <a class="class-head" href="#element10367">responseElseIf</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p>A response rule is either a <a href="#element10360">responseCondition</a> or a
|
||
simple action. Response rules define the light-weight programming language
|
||
necessary for deriving outcomes from responses (i.e., scoring). Note that
|
||
this programming language contains a minimal number of control structures,
|
||
more complex scoring rules must be coded in other languages and referred to
|
||
using <span>a <a href="#element10496">customOperator</a>
|
||
</span>.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10360"><b>Class</b> : <code>responseCondition (</code></a><a class="class-head" href="#element10359">responseRule</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10361"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10364">responseIf</a> [1]</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10362"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10367">responseElseIf</a> [*]</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10363"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10370">responseElse</a> [0..1]</p>
|
||
|
||
|
||
|
||
<p>If the expression given in a responseIf or responseElseIf evaluates to true
|
||
then the sub-rules contained within it are followed and any following
|
||
responseElseIf or responseElse parts are ignored for this response condition.</p>
|
||
|
||
|
||
|
||
<p>If the expression given in a responseIf or responseElseIf does not evaluate
|
||
to true then consideration passes to the next responseElseIf or, if there
|
||
are no more responseElseIf parts then the sub-rules of the responseElse are
|
||
followed (if specified).</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10364"><b>Class</b> : <code>responseIf</code>
|
||
</a></p>
|
||
<dl>
|
||
|
||
<dt><a name="element10364">Associated classes:</a></dt>
|
||
<dd><code><a class="class-head" href="#element10360">responseCondition</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10365"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [1]</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10366"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10359">responseRule</a> [*]</p>
|
||
|
||
|
||
|
||
<p>A responseIf part consists of an expression which must have an effective
|
||
<a href="#element10054">baseType</a> of <a href="#element10056">boolean</a>
|
||
and <a href="#element10050">single</a> cardinality. For more
|
||
information about the runtime data model employed see <a href="#section10072">Expressions</a>. It also contains a set of sub-rules. If the expression
|
||
is true then the sub-rules are processed, otherwise they are skipped
|
||
(including if the expression is NULL) and the following <a href="#element10367">responseElseIf</a> or <a href="#element10370">responseElse</a> parts (if any)
|
||
are considered instead.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10367"><b>Class</b> : <code>responseElseIf</code>
|
||
</a></p>
|
||
<dl>
|
||
|
||
<dt><a name="element10367">Associated classes:</a></dt>
|
||
<dd><code><a class="class-head" href="#element10360">responseCondition</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10368"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [1]</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10369"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10359">responseRule</a> [*]</p>
|
||
|
||
|
||
|
||
<p>responseElseIf is defined in an identical way to <a href="#element10364">responseIf</a>.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10370"><b>Class</b> : <code>responseElse</code>
|
||
</a></p>
|
||
<dl>
|
||
|
||
<dt><a name="element10370">Associated classes:</a></dt>
|
||
<dd><code><a class="class-head" href="#element10360">responseCondition</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10371"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10359">responseRule</a> [*]</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10372"><b>Class</b> : <code>setOutcomeValue (</code></a><a class="class-head" href="#element10359">responseRule</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10373"><b>Attribute</b> : <code>identifier [1]: </code></a><a class="class-subbody" href="#element10541">identifier</a><br>
|
||
|
||
The <a href="#element10095">outcomeVariable</a> to be set.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10374"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [1]<br>
|
||
|
||
An expression
|
||
which must have an effective <a href="#element10054">baseType</a> and <a href="#element10049">cardinality</a> that matches the base-type and cardinality of the
|
||
<a href="#element10095">outcomeVariable</a> being set.</p>
|
||
|
||
|
||
|
||
<p>The setOutcomeValue rule sets the value of an <a href="#element10095">outcomeVariable</a> to the value obtained from the associated
|
||
<a href="#element10382">expression</a>. An outcome variable can be updated
|
||
with reference to a previously assigned value, in other words, the
|
||
outcomeVariable being set may appear in the <a href="#element10382">expression</a>
|
||
where it takes the value previously assigned to it.</p>
|
||
|
||
|
||
|
||
<p>Special care is required when using the numeric base-types
|
||
because floating point values can <strong>not</strong> be assigned to
|
||
integer variables and vice-versa. The <a href="#element10490">truncate</a>,
|
||
<a href="#element10492">round</a> or <a href="#element10494">integerToFloat</a>
|
||
operators must be used to achieve numeric type conversion.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10375"><b>Class</b> : <code>exitResponse (</code></a><a class="class-head" href="#element10359">responseRule</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p>The exit response rule terminates response processing immediately (for this invocation).</p>
|
||
|
||
|
||
</div>
|
||
|
||
|
||
<h2><a name="section10071">9. Modal Feedback</a></h2>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10376"><b>Class</b> : <code>modalFeedback</code>
|
||
</a></p>
|
||
<dl>
|
||
|
||
<dt><a name="element10376">Associated classes:</a></dt>
|
||
<dd><code><a class="class-head" href="#element10010">assessmentItem</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p>Modal feedback is shown to the candidate directly following response processing.
|
||
The value of an <a href="#element10095">outcomeVariable</a> is used in conjunction
|
||
with the <a href="#element10378">showHide</a> and <a href="#element10379">identifier</a> attributes to determine whether or not the
|
||
feedback is shown in a similar way to <a href="#element10226">feedbackElement</a>.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10377"><b>Attribute</b> : <code>outcomeIdentifier [1]: </code></a><a class="class-subbody" href="#element10541">identifier</a></p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10378"><b>Attribute</b> : <code>showHide [1]: </code></a><a class="class-subbody" href="#element10230">showHide</a></p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10379"><b>Attribute</b> : <code>identifier [1]: </code></a><a class="class-subbody" href="#element10541">identifier</a></p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10380"><b>Attribute</b> : <code>title [0..1]: </code></a><a class="class-subbody" href="#element10556">string</a><br>
|
||
|
||
Delivery
|
||
engines are not required to present the title to the candidate but may do so,
|
||
for example as the title of a modal pop-up window. </p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10381"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10109">flowStatic</a> [*]<br>
|
||
|
||
The content of the
|
||
modalFeedback must not contain any <a href="#element10247">interaction</a>s. </p>
|
||
|
||
|
||
</div>
|
||
|
||
|
||
<h2><a name="section10072">10. Expressions</a></h2>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10382"><b>Abstract class</b> : <code>expression</code>
|
||
</a></p>
|
||
<dl>
|
||
|
||
<dt><a name="element10382">Derived classes:</a></dt>
|
||
<dd><code><a class="class-head" href="#element10428">and</a>,
|
||
<a class="class-head todo" href="#element10432">anyN</a>,
|
||
<a class="class-head" href="#element10383">baseValue</a>,
|
||
<a class="class-head" href="#element10421">contains</a>,
|
||
<a class="class-head" href="#element10389">correct</a>,
|
||
<a class="class-head todo" href="#element10496">customOperator</a>,
|
||
<a class="class-head todo" href="#element10387">default</a>,
|
||
<a class="class-head todo" href="#element10419">delete</a>,
|
||
<a class="class-head" href="#element10482">divide</a>,
|
||
<a class="class-head todo" href="#element10474">durationGTE</a>,
|
||
<a class="class-head todo" href="#element10472">durationLT</a>,
|
||
<a class="class-head" href="#element10445">equal</a>,
|
||
<a class="class-head todo" href="#element10453">equalRounded</a>,
|
||
<a class="class-head todo" href="#element10412">fieldValue</a>,
|
||
<a class="class-head" href="#element10466">gt</a>,
|
||
<a class="class-head" href="#element10470">gte</a>,
|
||
<a class="class-head todo" href="#element10409">index</a>,
|
||
<a class="class-head todo" href="#element10460">inside</a>,
|
||
<a class="class-head" href="#element10486">integerDivide</a>,
|
||
<a class="class-head todo" href="#element10488">integerModulus</a>,
|
||
<a class="class-head todo" href="#element10494">integerToFloat</a>,
|
||
<a class="class-head" href="#element10407">isNull</a>,
|
||
<a class="class-head" href="#element10464">lt</a>,
|
||
<a class="class-head" href="#element10468">lte</a>,
|
||
<a class="class-head" href="#element10391">mapResponse</a>,
|
||
<a class="class-head todo" href="#element10393">mapResponsePoint</a>,
|
||
<a class="class-head" href="#element10436">match</a>,
|
||
<a class="class-head todo" href="#element10417">member</a>,
|
||
<a class="class-head" href="#element10403">multiple</a>,
|
||
<a class="class-head" href="#element10426">not</a>,
|
||
<a class="class-head" href="#element10395">null</a>,
|
||
<a class="class-head" href="#element10430">or</a>,
|
||
<a class="class-head" href="#element10405">ordered</a>,
|
||
<a class="class-head todo" href="#element10442">patternMatch</a>,
|
||
<a class="class-head todo" href="#element10484">power</a>,
|
||
<a class="class-head" href="#element10478">product</a>,
|
||
<a class="class-head todo" href="#element10415">random</a>,
|
||
<a class="class-head" href="#element10400">randomFloat</a>,
|
||
<a class="class-head" href="#element10396">randomInteger</a>,
|
||
<a class="class-head" href="#element10492">round</a>,
|
||
<a class="class-head todo" href="#element10438">stringMatch</a>,
|
||
<a class="class-head todo" href="#element10423">substring</a>,
|
||
<a class="class-head" href="#element10480">subtract</a>,
|
||
<a class="class-head" href="#element10476">sum</a>,
|
||
<a class="class-head todo" href="#element10490">truncate</a>,
|
||
<a class="class-head" href="#element10385">variable</a></code></dd>
|
||
|
||
<dt>Associated classes:</dt>
|
||
<dd><code><a class="class-head todo" href="#element10428">and</a>,
|
||
<a class="class-head" href="#element10466">gt</a>,
|
||
<a class="class-head" href="#element10405">ordered</a>,
|
||
<a class="class-head" href="#element10482">divide</a>,
|
||
<a class="class-head todo" href="#element10530">setCorrectResponse</a>,
|
||
<a class="class-head todo" href="#element10415">random</a>,
|
||
<a class="class-head" href="#element10364">responseIf</a>,
|
||
<a class="class-head todo" href="#element10423">substring</a>,
|
||
<a class="class-head todo" href="#element10453">equalRounded</a>,
|
||
<a class="class-head todo" href="#element10409">index</a>,
|
||
<a class="class-head" href="#element10486">integerDivide</a>,
|
||
<a class="class-head" href="#element10470">gte</a>,
|
||
<a class="class-head todo" href="#element10472">durationLT</a>,
|
||
<a class="class-head" href="#element10421">contains</a>,
|
||
<a class="class-head todo" href="#element10474">durationGTE</a>,
|
||
<a class="class-head todo" href="#element10417">member</a>,
|
||
<a class="class-head" href="#element10464">lt</a>,
|
||
<a class="class-head" href="#element10436">match</a>,
|
||
<a class="class-head todo" href="#element10519">templateIf</a>,
|
||
<a class="class-head" href="#element10478">product</a>,
|
||
<a class="class-head" href="#element10403">multiple</a>,
|
||
<a class="class-head todo" href="#element10484">power</a>,
|
||
<a class="class-head todo" href="#element10494">integerToFloat</a>,
|
||
<a class="class-head todo" href="#element10533">setDefaultValue</a>,
|
||
<a class="class-head todo" href="#element10496">customOperator</a>,
|
||
<a class="class-head todo" href="#element10438">stringMatch</a>,
|
||
<a class="class-head todo" href="#element10527">setTemplateValue</a>,
|
||
<a class="class-head" href="#element10372">setOutcomeValue</a>,
|
||
<a class="class-head" href="#element10426">not</a>,
|
||
<a class="class-head todo" href="#element10522">templateElseIf</a>,
|
||
<a class="class-head todo" href="#element10488">integerModulus</a>,
|
||
<a class="class-head" href="#element10480">subtract</a>,
|
||
<a class="class-head" href="#element10367">responseElseIf</a>,
|
||
<a class="class-head todo" href="#element10432">anyN</a>,
|
||
<a class="class-head" href="#element10492">round</a>,
|
||
<a class="class-head todo" href="#element10460">inside</a>,
|
||
<a class="class-head" href="#element10445">equal</a>,
|
||
<a class="class-head todo" href="#element10412">fieldValue</a>,
|
||
<a class="class-head" href="#element10407">isNull</a>,
|
||
<a class="class-head todo" href="#element10442">patternMatch</a>,
|
||
<a class="class-head" href="#element10468">lte</a>,
|
||
<a class="class-head" href="#element10476">sum</a>,
|
||
<a class="class-head todo" href="#element10490">truncate</a>,
|
||
<a class="class-head" href="#element10430">or</a>,
|
||
<a class="class-head todo" href="#element10419">delete</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p>Expressions are used to assign values to item variables and to control
|
||
conditional actions in response and template processing.</p>
|
||
|
||
|
||
|
||
<p>An expression can be a simple reference to the value of an <a href="#element10039">itemVariable</a>, a constant value from one of the value sets defined by
|
||
<a href="#element10054">baseType</a>s or a hierarchical expression operator. Like
|
||
<a href="#element10039">itemVariable</a>s, each expression can also have the
|
||
special value NULL.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10383"><b>Class</b> : <code>baseValue (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10384"><b>Attribute</b> : <code>baseType [1]: </code></a><a class="class-subbody" href="#element10054">baseType</a><br>
|
||
|
||
The base-type of the value.</p>
|
||
|
||
|
||
|
||
<p>The simplest expression returns a <a href="#element10050">single</a> value
|
||
from the set defined by the given <a href="#element10054">baseType</a>.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10385"><b>Class</b> : <code>variable (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10386"><b>Attribute</b> : <code>identifier [1]: </code></a><a class="class-subbody" href="#element10541">identifier</a></p>
|
||
|
||
|
||
|
||
<p>This expression looks up the value of an <a href="#element10039">itemVariable</a> that
|
||
has been declared in a corresponding <a href="#element10034">variableDeclaration</a>
|
||
or is one of the built-in variables. The result has the base-type and
|
||
cardinality declared for the variable.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10387"><b>Class</b> : <code><span class="todo">default</span> (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10388"><b>Attribute</b> : <code>identifier [1]: </code></a><a class="class-subbody" href="#element10541">identifier</a></p>
|
||
|
||
|
||
|
||
<p>This expression looks up the declaration of an <a href="#element10039">itemVariable</a>
|
||
and returns the associated <a href="#element10046">defaultValue</a> or NULL if no
|
||
default value was declared.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10389"><b>Class</b> : <code>correct (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10390"><b>Attribute</b> : <code>identifier [1]: </code></a><a class="class-subbody" href="#element10541">identifier</a></p>
|
||
|
||
|
||
|
||
<p>This expression looks up the declaration of a <a href="#element10090">responseVariable</a> and returns the associated <a href="#element10078">correctResponse</a> or NULL if no correct value was declared.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10391"><b>Class</b> : <code>mapResponse (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10392"><b>Attribute</b> : <code>identifier [1]: </code></a><a class="class-subbody" href="#element10541">identifier</a></p>
|
||
|
||
|
||
|
||
<p>This expression looks up the value of a <a href="#element10090">responseVariable</a>
|
||
and then transforms it using the associated <a href="#element10076">mapping</a>, which must have been declared. The result
|
||
is a single <a href="#element10058">float</a>. If the response variable has
|
||
<a href="#element10050">single</a> cardinality then the value returned
|
||
is simply the mapped target value from the map. If the response variable <span>has <a href="#element10050">single</a> or <a href="#element10051">multiple</a> cardinality</span> then the value returned is
|
||
<em>the sum</em> of the mapped target values. <span>This
|
||
expression cannot be applied to variables of <a href="#element10053">record</a> cardinality.</span>
|
||
</p>
|
||
|
||
|
||
|
||
<p>For example, if a mapping associates the identifiers {A,B,C,D} with the values
|
||
{0,1,0.5,0} respectively then mapResponse will map the single value 'C' to the
|
||
numeric value 0.5 and the set of values {C,B} to the value 1.5.</p>
|
||
|
||
|
||
|
||
<p>If a container contains multiple instances of the <strong>same</strong> value
|
||
then that value is counted <strong>once only</strong>. To continue the example
|
||
above {B,B,C} would still map to 1.5 and <strong>not</strong> 2.5.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10393"><b>Class</b> : <code><span class="todo">mapResponsePoint</span> (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10394"><b>Attribute</b> : <code>identifier</span> [1]: </code></a><a class="class-subbody" href="#element10541">identifier</a></p>
|
||
|
||
|
||
|
||
<p>This expression looks up the value of a <a href="#element10090">responseVariable</a>
|
||
that must be of base-type
|
||
<span>
|
||
<a href="#element10060">point</a>
|
||
</span>, and transforms it using the associated <a href="#element10077">areaMapping</a>. The transformation is similar to
|
||
<a href="#element10391">mapResponse</a> except that the points are tested against
|
||
each area in turn. When mapping containers each <strong>area</strong> can be
|
||
mapped <strong>once only</strong>. For example, if the candidate identified two
|
||
points that both fall in the same area then the <a href="#element10089">mappedValue</a> is still added to the calculated total just once.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10395"><b>Class</b> : <code>null (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p>null is a simple expression that returns the NULL value - the null value is
|
||
treated as if it is of any desired baseType.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10396"><b>Class</b> : <code>randomInteger (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p>Selects a random integer from the specified range <span>[min,max]
|
||
satisfying min + step * n for some integer <em>n</em>. For example, with
|
||
min=2, max=11 and step=3 the values {2,5,8,11} are possible</span>.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10397"><b>Attribute</b> : <code>min [1]: </code></a><a class="class-subbody" href="#element10542">integer</a> = 0</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10398"><b>Attribute</b> : <code>max [1]: </code></a><a class="class-subbody" href="#element10542">integer</a></p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10399"><b>Attribute</b> : <code>step [0..1]: </code></a><a class="class-subbody" href="#element10542">integer</a> = 1</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10400"><b>Class</b> : <code>randomFloat (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p>Selects a random float from the specified range <span>[min,max]</span>.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10401"><b>Attribute</b> : <code>min [1]: </code></a><a class="class-subbody" href="#element10540">float</a> = 0</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10402"><b>Attribute</b> : <code>max [1]: </code></a><a class="class-subbody" href="#element10540">float</a></p>
|
||
|
||
|
||
</div>
|
||
|
||
<h3><a name="section10073">10.1. Operators</a></h3>
|
||
|
||
<p><a name="section10073">Operators are a family of classes derived from </a><a href="#element10382">expression</a>
|
||
that obtain their value (referred to as their result) either by modifying a
|
||
single sub-expression or by combining two or more sub-expressions in a specified
|
||
way. Operators never effect the values of <a href="#element10039">itemVariable</a>s
|
||
directly, in other words, there are no 'side effects'.</p>
|
||
|
||
<p>All operators have a <a href="#element10054">baseType</a> and <a href="#element10049">cardinality</a> though these may be dependent on the sub-expression(s) they contain.</p>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10403"><b>Class</b> : <code>multiple (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10404"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [*]</p>
|
||
|
||
|
||
|
||
<p>The multiple operator takes 0 or more sub-expressions all of which must have
|
||
either <a href="#element10050">single</a> or <a href="#element10051">multiple</a> cardinality. Although the sub-expressions may
|
||
be of any base-type they must all be of <em>the same</em> base-type. The
|
||
result is a container with <a href="#element10051">multiple</a>
|
||
cardinality containing the values of the sub-expressions, sub-expressions
|
||
with multiple cardinality have their individual values added to the result:
|
||
<em>containers cannot contain other containers</em>.
|
||
For example, when applied to A, B and {C,D} the multiple operator
|
||
results in {A,B,C,D}. All sub-expressions with NULL values are ignored.
|
||
If no sub-expressions are given (or all are NULL) then the result is
|
||
NULL.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10405"><b>Class</b> : <code>ordered (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10406"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [*]</p>
|
||
|
||
|
||
|
||
<p>The ordered operator takes 0 or more sub-expressions all of which must have
|
||
either <a href="#element10050">single</a> or <a href="#element10052">ordered</a> cardinality. Although the sub-expressions may
|
||
be of any base-type they must all be of <em>the same</em> base-type. The
|
||
result is a container with <a href="#element10052">ordered</a>
|
||
cardinality containing the values of the sub-expressions, sub-expressions
|
||
with ordered cardinality have their individual values added (in order) to
|
||
the result: <em>contains cannot contain other containers</em>. For example,
|
||
when applied to A, B, {C,D} the ordered operator results in {A,B,C,D}. Note
|
||
that the ordered operator never results in an empty container. All
|
||
sub-expressions with NULL values are ignored. If no sub-expressions are
|
||
given (or all are NULL) then the result is NULL</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10407"><b>Class</b> : <code>isNull (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10408"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [1]</p>
|
||
|
||
|
||
|
||
<p>The isNull operator takes a sub-expression with any base-type and
|
||
cardinality. The result is a single boolean with a value of true if the
|
||
sub-expression is NULL and false otherwise. <span>Note that
|
||
empty containers and empty strings are both treated as NULL.</span>
|
||
</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10409"><b>Class</b> : <code><span class="todo">index</span> (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10410"><b>Attribute</b> : <code>n [1]: </code></a><a class="class-subbody" href="#element10542">integer</a></p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10411"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [1]</p>
|
||
|
||
|
||
|
||
<p>The index operator takes a sub-expression with an <span>ordered</span> container value and any base-type. The result
|
||
is the nth value of the container. The result has the same base-type as the
|
||
sub-expression but <a href="#element10050">single</a> cardinality. The
|
||
first value of a container has index 1, the second 2 and so on. n must be a
|
||
positive integer. If n exceeds the number of values in the container then
|
||
the result of the index operator is NULL.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10412"><b>Class</b> : <code><span class="todo">fieldValue</span> (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10413"><b>Attribute</b> : <code>fieldIdentifier [1]: </code></a><a class="class-subbody" href="#element10541">identifier</a><br>
|
||
|
||
The
|
||
identifier of the field to be selected. </p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10414"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [1]</p>
|
||
|
||
|
||
|
||
<p>The field-value operator takes a sub-expression with a <a href="#element10053">record</a> container value. The result is the value of the
|
||
field with the specified <a href="#element10413">fieldIdentifier</a>.
|
||
If there is no field with that identifier then the result of the operator is NULL.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10415"><b>Class</b> : <code><span class="todo">random</span> (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10416"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [1]</p>
|
||
|
||
|
||
|
||
<p>The random operator takes a sub-expression with a <span>multiple or ordered</span> container value and any
|
||
base-type. The result is a single value randomly selected from the
|
||
container. The result has the same base-type as the sub-expression but
|
||
<a href="#element10050">single</a> cardinality. If the
|
||
sub-expression is NULL then the result is also NULL.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10417"><b>Class</b> : <code><span class="todo">member</span> (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10418"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [2]</p>
|
||
|
||
|
||
|
||
<p>The member operator takes two sub-expressions which must both have the same
|
||
base-type. The first sub-expression must have <a href="#element10050">single</a> cardinality and the second must be a <span>multiple or ordered</span> container. The result is a
|
||
single boolean with a value of true if the value given by the first
|
||
sub-expression is in the container defined by the second sub-expression. If
|
||
either sub-expression is NULL then the result of the operator is NULL.</p>
|
||
|
||
|
||
|
||
<p>The member operator should not be used on sub-expressions with a base-type of
|
||
<a href="#element10058">float</a> because of the poorly defined
|
||
comparison of values. It <strong>must</strong> not be used on
|
||
sub-expressions with a base-type of <a href="#element10063">duration</a>.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10419"><b>Class</b> : <code><span class="todo">delete</span> (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10420"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [2]</p>
|
||
|
||
|
||
|
||
<p>The delete operator takes two sub-expressions which must both have the same
|
||
base-type. The first sub-expression must have <a href="#element10050">single</a> cardinality and the second must be a <span>multiple or ordered</span> container. The result is a new
|
||
container derived from the second sub-expression with <em>all</em> instances
|
||
of the first sub-expression removed. For example, when applied to A and
|
||
{B,A,C,A} the result is the container {B,C}.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10421"><b>Class</b> : <code>contains (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10422"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [2]</p>
|
||
|
||
|
||
|
||
<p>The contains operator takes two sub-expressions which must both have the same
|
||
base-type and cardinality - <span>either multiple or
|
||
ordered</span>. The result is a single boolean with a value of true if the
|
||
container given by the first sub-expression contains the value given by the
|
||
second sub-expression and false if it doesn't. Note that the contains
|
||
operator works differently depending on the <a href="#element10049">cardinality</a> of the two sub-expressions. For unordered containers
|
||
the values are compared without regard for ordering, for example, [A,B,C]
|
||
contains [C,A]. Note that [A,B,C] does not contain [B,B] but that [A,B,B,C]
|
||
does. For ordered containers the second sub-expression must be a strict
|
||
sub-sequence within the first. In other words, [A,B,C] does not contain
|
||
[C,A] but it does contain [B,C].</p>
|
||
|
||
|
||
|
||
<p>If either sub-expression is NULL then the result of the operator is NULL.
|
||
Like the member operator, the contains operator should not be used on
|
||
sub-expressions with a base-type of <a href="#element10058">float</a> and
|
||
<strong>must</strong> not be used on sub-expressions with a base-type of
|
||
<a href="#element10063">duration</a>.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10423"><b>Class</b> : <code><span class="todo">substring</span> (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10424"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [2]</p>
|
||
|
||
|
||
|
||
<p>The substring operator takes two sub-expressions which must both have an
|
||
effective base-type of <a href="#element10059">string</a> and
|
||
<a href="#element10050">single</a> cardinality. The result is a
|
||
single boolean with a value of true if the first expression is a substring
|
||
of the second expression and false if it isn't. If either sub-expression is
|
||
NULL then the result of the operator is NULL.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10425"><b>Attribute</b> : <code>caseSensitive [1]: </code></a><a class="class-subbody" href="#element10537">boolean</a> = true<br>
|
||
|
||
Used to control
|
||
whether or not the substring is matched case sensitively. If true then the
|
||
match is case sensitive and, for example, "Hell" is not a substring of
|
||
"Shell". If false then the match is not case sensitive and "Hell"
|
||
<em>is</em> a substring of "Shell".</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10426"><b>Class</b> : <code>not (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10427"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [1]</p>
|
||
|
||
|
||
|
||
<p>The not operator takes a single sub-expression with a base-type of
|
||
<a href="#element10056">boolean</a> and <a href="#element10050">single</a> cardinality. The result is a single boolean with
|
||
a value obtained by the logical negation of the sub-expression's value. If
|
||
the sub-expression is NULL then the not operator also results in NULL.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10428"><b>Class</b> : <code>and (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10429"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [1..*]</p>
|
||
|
||
|
||
|
||
<p>The and operator takes one or more sub-expressions each with a base-type of
|
||
<a href="#element10056">boolean</a> and <a href="#element10050">single</a> cardinality. The result is a single boolean
|
||
which is true if all sub-expressions are true and false if any of them are
|
||
false. If one or more sub-expressions are NULL and all others are true then
|
||
the operator also results in NULL.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10430"><b>Class</b> : <code>or (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10431"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [1..*]</p>
|
||
|
||
|
||
|
||
<p>The or operator takes one or more sub-expressions each with a base-type of
|
||
<a href="#element10056">boolean</a> and <a href="#element10050">single</a> cardinality. The result is a single boolean
|
||
which is true if any of the sub-expressions are true and false if all of
|
||
them are false. If one or more sub-expressions are NULL and all the others
|
||
are false then the operator also results in NULL.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10432"><b>Class</b> : <code><span class="todo">anyN</span> (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10433"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [1..*]</p>
|
||
|
||
|
||
|
||
<p>The anyN operator takes one or more sub-expressions each with a base-type of
|
||
<a href="#element10056">boolean</a> and <a href="#element10050">single</a> cardinality. The result is a single boolean
|
||
which is true if at least <a href="#element10434">min</a> of the
|
||
sub-expressions are true and at most <a href="#element10435">max</a>
|
||
of the sub-expressions are true. If more than n - min sub-expressions
|
||
are false (where n is the total number of sub-expressions) or more than
|
||
max sub-expressions are true then the result is false. If one or more
|
||
sub-expressions are NULL then it is possible that neither of these
|
||
conditions is satisfied, in which case the operator results in NULL.
|
||
For example, if min is 3 and max is 4 and the sub-expressions have
|
||
values {true,true,false,NULL} then the operator results in NULL whereas
|
||
{true,false,false,NULL} results in false and {true,true,true,NULL}
|
||
results in true. The result NULL indicates that the correct value for
|
||
the operator cannot be determined.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10434"><b>Attribute</b> : <code>min [1]: </code></a><a class="class-subbody" href="#element10542">integer</a><br>
|
||
|
||
The minimum number of sub-expressions that
|
||
must be true.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10435"><b>Attribute</b> : <code>max [1]: </code></a><a class="class-subbody" href="#element10542">integer</a><br>
|
||
|
||
The maximum number of sub-expressions that
|
||
may be true.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10436"><b>Class</b> : <code>match (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10437"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [2]</p>
|
||
|
||
|
||
|
||
<p>The match operator takes two sub-expressions which must both have the same
|
||
base-type and cardinality. The result is a single boolean with a value of
|
||
true if the two expressions represent the same value and false if they do
|
||
not. If either sub-expression is NULL then the operator results in NULL.</p>
|
||
|
||
|
||
|
||
<p>The match operator must not be confused with broader notions of equality such
|
||
as numerical equality. To avoid confusion, the match operator should not be
|
||
used to compare subexpressions with base-types of <a href="#element10058">float</a> and <strong>must</strong> not be used on
|
||
sub-expressions with a base-type of <a href="#element10063">duration</a>.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10438"><b>Class</b> : <code><span class="todo">stringMatch</span> (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10439"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [2]</p>
|
||
|
||
|
||
|
||
<p>The stringMatch operator takes two sub-expressions which must have
|
||
<a href="#element10050">single</a> and a base-type of <a href="#element10059">string</a>. The result is a single boolean with a value of
|
||
true if the two strings match according to the comparison rules defined by
|
||
the attributes below and false if they don't. If either sub-expression is
|
||
NULL then the operator results in NULL.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10440"><b>Attribute</b> : <code>caseSensitive [1]: </code></a><a class="class-subbody" href="#element10537">boolean</a><br>
|
||
|
||
Whether or not the match is to be
|
||
carried out case sensitively.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10441"><b>Attribute</b> : <code>substring [1]: </code></a><a class="class-subbody" href="#element10537">boolean</a> = false<br>
|
||
|
||
If true, then the
|
||
comparison returns true if the first string <em>contains</em> the second
|
||
one, otherwise it returns true only if they match entirely.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10442"><b>Class</b> : <code><span class="todo">patternMatch</span> (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10443"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [1]</p>
|
||
|
||
|
||
|
||
<p>The patternMatch operator takes a sub-expression which must have <a href="#element10050">single</a> cardinality and a base-type of <a href="#element10059">string</a>. The result is a single boolean with a value of
|
||
true if the sub-expression matches the regular expression given by
|
||
<a href="#element10444">pattern</a> and false if it doesn't. If
|
||
the sub-expression is NULL then the operator results in NULL.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10444"><b>Attribute</b> : <code>pattern [1]: </code></a><a class="class-subbody" href="#element10556">string</a><br>
|
||
|
||
The syntax for the regular expression
|
||
language is as defined in Appendix F of <a href="#ref_XML_SCHEMA2">[XML_SCHEMA2]</a>.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10445"><b>Class</b> : <code>equal (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10446"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [2]</p>
|
||
|
||
|
||
|
||
<p>The equal operator takes two sub-expressions which must both have
|
||
<a href="#element10050">single</a> cardinality and have a
|
||
numerical base-type. The result is a single boolean with a value of true if
|
||
the two expressions are numerically equal and false if they are not. If
|
||
either sub-expression is NULL then the operator results in NULL.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10447"><b>Attribute</b> : <code class="todo">toleranceMode [1]: </code></a><a class="class-subbody" href="#element10449">toleranceMode</a> = exact<br>
|
||
|
||
When comparing two floating point numbers for equality it
|
||
is often desirable to have a tolerance to ensure that spurious errors in
|
||
scoring are not introduced by rounding errors. The tolerance mode determines
|
||
whether the comparison is done exactly, using an absolute range or a
|
||
relative range. </p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10448"><b>Attribute</b> : <code class="todo">tolerance [0..2]: </code></a><a class="class-subbody" href="#element10540">float</a><br>
|
||
|
||
If the tolerance
|
||
mode is <a href="#element10451">absolute</a> or <a href="#element10452">relative</a> then the tolerance must be specified. The
|
||
tolerance consists of two positive numbers, <em>t0</em> and <em>t1</em>,
|
||
that define the lower and upper bounds. If only one value is given it is
|
||
used for both.</p>
|
||
|
||
|
||
|
||
<p>In absolute mode the result of the comparison is true if the value of the
|
||
second expression, <em>y</em> is within the following range defined by the
|
||
first value, <em>x</em>.</p>
|
||
|
||
|
||
|
||
<pre>[x-t0,x+t1]</pre>
|
||
|
||
|
||
|
||
<p>In relative mode, <em>t0</em> and <em>t1</em> are treated as percentages and
|
||
the following range is used instead.</p>
|
||
|
||
|
||
|
||
<pre>[x*(1-t0/100),x*(1+t1/100)]</pre>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<h5><a name="element10449">Enumeration: <code>toleranceMode</code></a></h5>
|
||
|
||
</div>
|
||
|
||
|
||
<a name="element10449"> </a>
|
||
<p class="class-subbody"><a name="element10450"><code>exact</code></a></p>
|
||
|
||
|
||
<a name="element10450"> </a>
|
||
<p class="class-subbody"><a name="element10451"><code>absolute</code></a></p>
|
||
|
||
|
||
<a name="element10451"> </a>
|
||
<p class="class-subbody"><a name="element10452"><code>relative</code></a></p>
|
||
|
||
|
||
<a name="element10452"> </a></div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10453"><b>Class</b> : <code><span class="todo">equalRounded</span> (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10454"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [2]</p>
|
||
|
||
|
||
|
||
<p>The equalRounded operator takes two sub-expressions which must both have
|
||
<a href="#element10050">single</a> cardinality and have a
|
||
numerical base-type. The result is a single boolean with a value of true if
|
||
the two expressions are numerically equal after rounding and false if they
|
||
are not. If either sub-expression is NULL then the operator results in NULL.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10455"><b>Attribute</b> : <code>roundingMode [1]: </code></a><a class="class-subbody" href="#element10457">roundingMode</a> = significantFigures<br>
|
||
|
||
Numbers are rounded to a given number of
|
||
<a href="#element10458">significantFigures</a> or <a href="#element10459">decimalPlaces</a>. </p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10456"><b>Attribute</b> : <code>figures [1]: </code></a><a class="class-subbody" href="#element10542">integer</a><br>
|
||
|
||
The number of figures
|
||
to round to.</p>
|
||
|
||
|
||
|
||
<p>For example, if the two values are 1.56 and 1.6 and <a href="#element10458">significantFigures</a> mode is used with <a href="#element10456">figures</a>=2 then the result would be true.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<h5><a name="element10457">Enumeration: <code>roundingMode</code></a></h5>
|
||
|
||
</div>
|
||
|
||
|
||
<a name="element10457"> </a>
|
||
<p class="class-subbody"><a name="element10458"><code>significantFigures</code></a></p>
|
||
|
||
|
||
<a name="element10458"> </a>
|
||
<p class="class-subbody"><a name="element10459"><code>decimalPlaces</code></a></p>
|
||
|
||
|
||
<a name="element10459"> </a></div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10460"><b>Class</b> : <code><span class="todo">inside</span> (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10461"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [1]</p>
|
||
|
||
|
||
|
||
<p>The inside operator takes a single sub-expression which must have a baseType
|
||
of <a href="#element10060">point</a>. The result is a single boolean with
|
||
a value of true if the given point is inside the area defined by
|
||
<a href="#element10462">shape</a> and <a href="#element10463">coords</a>. If the sub-expression is a container the result is
|
||
true if <em>any</em> of the points are inside the area. If either
|
||
sub-expression is NULL then the operator results in NULL.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10462"><b>Attribute</b> : <code>shape [1]: </code></a><a class="class-subbody" href="#element10550">shape</a><br>
|
||
|
||
The shape of the area.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10463"><b>Attribute</b> : <code>coords [1]: </code></a><a class="class-subbody" href="#element10538">coords</a><br>
|
||
|
||
The size and position of the area,
|
||
interpreted in conjunction with the shape.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10464"><b>Class</b> : <code>lt (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10465"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [2]</p>
|
||
|
||
|
||
|
||
<p>The lt operator takes two sub-expressions which must both have <a href="#element10050">single</a> cardinality and have a numerical base-type. The
|
||
result is a single boolean with a value of true if the first expression is
|
||
numerically less than the second and false if it is greater than or equal to
|
||
the second. If either sub-expression is NULL then the operator results in NULL.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10466"><b>Class</b> : <code>gt (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10467"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [2]</p>
|
||
|
||
|
||
|
||
<p>The gt operator takes two sub-expressions which must both have <a href="#element10050">single</a> cardinality and have a numerical base-type. The
|
||
result is a single boolean with a value of true if the first expression is
|
||
numerically greater than the second and false if it is less than or equal to
|
||
the second. If either sub-expression is NULL then the operator results in NULL.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10468"><b>Class</b> : <code>lte (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10469"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [2]</p>
|
||
|
||
|
||
|
||
<p>The lte operator takes two sub-expressions which must both have <a href="#element10050">single</a> cardinality and have a numerical base-type. The
|
||
result is a single boolean with a value of true if the first expression is
|
||
numerically less than or equal to the second and false if it is greater than
|
||
the second. If either sub-expression is NULL then the operator results in NULL.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10470"><b>Class</b> : <code>gte (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10471"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [2]</p>
|
||
|
||
|
||
|
||
<p>The gte operator takes two sub-expressions which must both have <a href="#element10050">single</a> cardinality and have a numerical base-type. The
|
||
result is a single boolean with a value of true if the first expression is
|
||
numerically less than or equal to the second and false if it is greater than
|
||
the second. If either sub-expression is NULL then the operator results in NULL.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10472"><b>Class</b> : <code><span class="todo">durationLT</span> (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10473"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [2]</p>
|
||
|
||
|
||
|
||
<p>The durationLT operator takes two sub-expressions which must both have
|
||
<a href="#element10050">single</a> cardinality and base-type
|
||
<a href="#element10063">duration</a>. The result is a single boolean
|
||
with a value of true if the first duration is shorter than the second and
|
||
false if it is longer than (or equal) to the second. If either
|
||
sub-expression is NULL then the operator results in NULL.</p>
|
||
|
||
|
||
|
||
<p>There is no 'durationLTE' or 'durationGT' because equality of duration is
|
||
meaningless given the variable precision allowed by <a href="#element10063">duration</a>. Given that duration values are obtained by
|
||
truncation rather than rounding it makes sense to test only less-than or
|
||
greater-than-equal inequalities only. For example, if we want to determine
|
||
if a candidate took less than 10 seconds to complete a task in a system that
|
||
reports durations to a resolution of <em>epsilon</em> seconds
|
||
(<em>epsilon</em><1) then a value equal to 10 would cover all
|
||
durations in the range [10,10+epsilon).</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10474"><b>Class</b> : <code><span class="todo">durationGTE</span> (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10475"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [2]</p>
|
||
|
||
|
||
|
||
<p>The durationGTE operator takes two sub-expressions which must both have
|
||
<a href="#element10050">single</a> cardinality and base-type
|
||
<a href="#element10063">duration</a>. The result is a single boolean
|
||
with a value of true if the first duration is longer (or equal, within the
|
||
limits imposed by truncation as described above) than the second and false
|
||
if it is shorter than the second. If either sub-expression is NULL then the
|
||
operator results in NULL.</p>
|
||
|
||
|
||
|
||
<p>See <a href="#element10472">durationLT</a> for more information about testing the
|
||
equality of durations.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10476"><b>Class</b> : <code>sum (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10477"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [1..*]</p>
|
||
|
||
|
||
|
||
<p>The sum operator takes 1 or more sub-expressions which all have <a href="#element10050">single</a> cardinality and have numerical base-types. The
|
||
result is a single float or, if all sub-expressions are of <a href="#element10057">integer</a> type, a single integer that corresponds to the sum
|
||
of the numerical values of the sub-expressions. If any of the
|
||
sub-expressions are NULL then the operator results in NULL.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10478"><b>Class</b> : <code>product (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10479"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [1..*]</p>
|
||
|
||
|
||
|
||
<p>The product operator takes 1 or more sub-expressions which all have
|
||
<a href="#element10050">single</a> cardinality and have numerical
|
||
base-types. The result is a single float or, if all sub-expressions are of
|
||
<a href="#element10057">integer</a> type, a single integer that
|
||
corresponds to the product of the numerical values of the sub-expressions.
|
||
If any of the sub-expressions are NULL then the operator results in NULL.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10480"><b>Class</b> : <code>subtract (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10481"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [2]</p>
|
||
|
||
|
||
|
||
<p>The subtract operator takes 2 sub-expressions which all have <a href="#element10050">single</a> cardinality and numerical base-types. The result
|
||
is a single float or, if both sub-expressions are of <a href="#element10057">integer</a> type, a single integer that corresponds to the
|
||
first value minus the second. If either of the sub-expressions is NULL then
|
||
the operator results in NULL.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10482"><b>Class</b> : <code>divide (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10483"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [2]</p>
|
||
|
||
|
||
|
||
<p>The divide operator takes 2 sub-expressions which both have <a href="#element10050">single</a> cardinality and numerical base-types. The result
|
||
is a single float that corresponds to the first expression divided by the
|
||
second expression. If either of the sub-expressions is NULL then the
|
||
operator results in NULL.</p>
|
||
|
||
|
||
|
||
<p>Item authors should make every effort to ensure that the value of the second
|
||
expression is never 0, however, if it is zero or the resulting value is
|
||
outside the value set defined by <a href="#element10058">float</a> (not
|
||
including positive and negative infinity) then the operator should result in NULL.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10484"><b>Class</b> : <code><span class="todo">power</span> (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10485"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [2]</p>
|
||
|
||
|
||
|
||
<p>The power operator takes 2 sub-expression which both have <a href="#element10050">single</a> cardinality and numerical base-types. The result
|
||
is a single float that corresponds to the first expression raised to the
|
||
power of the second. If either or the sub-expressions is NULL then the
|
||
operator results in NULL.</p>
|
||
|
||
|
||
|
||
<p>If the resulting value is outside the value set defined by <a href="#element10058">float</a> (not including positive and negative infinity) then
|
||
the operator shall result in NULL.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10486"><b>Class</b> : <code>integerDivide (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10487"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [2]</p>
|
||
|
||
|
||
|
||
<p>The integer divide operator takes 2 sub-expressions which both have
|
||
<a href="#element10050">single</a> cardinality and base-type
|
||
<a href="#element10057">integer</a>. The result is the single integer
|
||
that corresponds to the first expression (x) divided by the second
|
||
expression (y) rounded down to the greatest integer (i) such that
|
||
i<=(x/y). If y is 0, or if either of the sub-expressions is NULL then
|
||
the operator results in NULL.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10488"><b>Class</b> : <code><span class="todo">integerModulus</span> (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10489"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [2]</p>
|
||
|
||
|
||
|
||
<p>The integer modulus operator takes 2 sub-expressions which both have
|
||
<a href="#element10050">single</a> cardinality and base-type
|
||
<a href="#element10057">integer</a>. The result is the single integer
|
||
that corresponds to the remainder when the first expression (x) is divided
|
||
by the second expression (y). If z is the result of the corresponding
|
||
<a href="#element10486">integerDivide</a> operator then the result is x-z*y.
|
||
If y is 0, or if either of the sub-expressions is NULL then the operator
|
||
results in NULL.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10490"><b>Class</b> : <code><span class="todo">truncate</span> (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10491"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [1]</p>
|
||
|
||
|
||
|
||
<p>The truncate operator takes a single sub-expression which must have
|
||
<a href="#element10050">single</a> cardinality and base-type
|
||
<a href="#element10058">float</a>. The result is a value of base-type
|
||
<a href="#element10057">integer</a> formed by truncating the value of
|
||
the sub-expression towards zero. For example, the value 6.8 becomes 6 and
|
||
the value -6.8 becomes -6. If the sub-expression is NULL then the operator
|
||
results in NULL.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10492"><b>Class</b> : <code>round (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10493"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [1]</p>
|
||
|
||
|
||
|
||
<p>The round operator takes a single sub-expression which must have <a href="#element10050">single</a> cardinality and base-type <a href="#element10058">float</a>. The result is a value of base-type <a href="#element10057">integer</a> formed by rounding the value of the
|
||
sub-expression. The result is the integer <em>n</em> for all input values in
|
||
the range [n-0.5,n+0.5). In other words, 6.8 and 6.5 both round up to 7,
|
||
6.49 rounds down to 6 and -6.5 rounds up to <strong>-6</strong>. If the
|
||
sub-expression is NULL then the operator results in NULL.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10494"><b>Class</b> : <code><span class="todo">integerToFloat</span> (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10495"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [1]</p>
|
||
|
||
|
||
|
||
<p>The integer to float conversion operator takes a single sub-expression which
|
||
must have <a href="#element10050">single</a> cardinality and base-type
|
||
<a href="#element10057">integer</a>. The result is a value of base
|
||
type <a href="#element10058">float</a> with the same numeric value. If
|
||
the sub-expression is NULL then the operator results in NULL.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10496"><b>Class</b> : <code><span class="todo">customOperator</span> (</code></a><a class="class-head" href="#element10382">expression</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p>The custom operator provides an extension mechanism for defining operations
|
||
not currently supported by this specification.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10497"><b>Attribute</b> : <code>class [0..1]: </code></a><a class="class-subbody" href="#element10541">identifier</a><br>
|
||
|
||
The class
|
||
attribute allows simple sub-classes to be named. The definition of a
|
||
sub-class is tool specific and may be inferred from <a href="#element10017">toolName</a> and <a href="#element10018">toolVersion</a>. </p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10498"><b>Attribute</b> : <code>definition [0..1]: </code></a><a class="class-subbody" href="#element10558">uri</a><br>
|
||
|
||
A URI that
|
||
identifies the definition of the custom operator in the global namespace. </p>
|
||
|
||
|
||
|
||
<p>In addition to the <a href="#element10497">class</a> and
|
||
<a href="#element10498">definition</a> attributes, sub-classes
|
||
may add any number of attributes of their own.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10499"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [*]<br>
|
||
|
||
Custom
|
||
operators can take any number of sub-expressions of any type to be treated
|
||
as parameters.</p>
|
||
|
||
|
||
</div>
|
||
|
||
|
||
<h2><a name="section10074">11. Item Templates</a></h2>
|
||
|
||
<p><a name="section10074">Item templates are templates that can be used for producing large numbers of similar
|
||
items. Such items are often called cloned items. Item templates can be used to
|
||
produce items by special purpose </a><a href="#term10014">Cloning Engine</a>s or, where
|
||
delivery engines support them, be used directly to produce a dynamically chosen
|
||
clone at the start of an <a href="#element10027">itemSession</a>.</p>
|
||
|
||
<p>Each item cloned from an item template is identical except for the values given to a
|
||
set of <a href="#element10503">templateVariable</a>s. An <a href="#element10010">assessmentItem</a> is therefore an item template if it contains one or more
|
||
<a href="#element10500">templateDeclaration</a>s and a set of <a href="#element10512">templateProcessing</a> rules for assigning them values.</p>
|
||
|
||
<p>A cloning engine that creates cloned items must assign a different <a href="#element10011">identifier</a> to each clone and record the values of the
|
||
template variables used to create it. A report of an <a href="#element10027">itemSession</a> with such a clone can then be transformed into an equivalent
|
||
report for the original item template by substituting the item template's
|
||
<a href="#element10011">identifier</a> for the cloned item's
|
||
<a href="#element10011">identifier</a> and adding the values of the
|
||
template variables to the report.</p>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10500"><b>Class</b> : <code>templateDeclaration (</code></a><a class="class-head" href="#element10034">variableDeclaration</a>)
|
||
</p>
|
||
<dl>
|
||
|
||
<dt>Associated classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10010">assessmentItem</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p>Template declarations declare item variables that are to be used specifically for
|
||
the purposes of cloning items. They can have their value set only during
|
||
<a href="#element10512">templateProcessing</a>. They are referred to within the
|
||
<a href="#element10096">itemBody</a> in order to individualize the clone and
|
||
possibly also within the <a href="#element10355">responseProcessing</a> rules if the
|
||
cloning process affects the way the item is scored.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10501"><b>Attribute</b> : <code>paramVariable [1]: </code></a><a class="class-subbody" href="#element10537">boolean</a><br>
|
||
|
||
This
|
||
attribute determines whether or not the template variable's value should be
|
||
substituted for object parameter values that match its name. See <a href="#element10164">param</a> for more information. </p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10502"><b>Attribute</b> : <code>mathVariable [1]: </code></a><a class="class-subbody" href="#element10537">boolean</a> = false<br>
|
||
|
||
This attribute determines whether or not the template variable's
|
||
value should be substituted for identifiers that match its name in MathML
|
||
expressions. See <a href="#section10057">Combining Template Variables and MathML</a> for more information. </p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10503"><b>Abstract class</b> : <code>templateVariable (</code></a><a class="class-head" href="#element10039">itemVariable</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p>Template variables are instantiated as part of an <a href="#element10027">itemSession</a>. Their values are initialized during <a href="#element10512">templateProcessing</a> and thereafter behave as constants within the session.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<h3><a name="section10075">11.1. Using Template Variables in an the Item's Body</a></h3>
|
||
|
||
<p><a name="section10075">Template variables can be referred to by </a><a href="#element10237">printedVariable</a>
|
||
objects in the item body. The value of the template variable is used to create
|
||
an appropriate run of text that is displayed. Template variables can also be
|
||
used to conditionally control content through the two <a href="#element10504">templateElement</a>s in a similar way to outcome variables with
|
||
<a href="#element10226">feedbackElement</a>s. </p>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10504"><b>Abstract class</b> : <code>templateElement (</code></a><a class="class-head" href="#element10098">bodyElement</a>)
|
||
</p>
|
||
<dl>
|
||
|
||
<dt>Derived classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10508">templateBlock</a>, <a class="class-head" href="#element10510">templateInline</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10505"><b>Attribute</b> : <code>templateIdentifier [1]: </code></a><a class="class-subbody" href="#element10541">identifier</a><br>
|
||
|
||
The
|
||
identifier of a template variable that must have a base-type of <a href="#element10055">identifier</a> and be of either <a href="#element10050">single</a> or <a href="#element10051">multiple</a>
|
||
cardinality. The visibility of the templateElement is controlled by the
|
||
value of the variable.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10506"><b>Attribute</b> : <code>showHide [1]: </code></a><a class="class-subbody" href="#element10230">showHide</a> = show</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10507"><b>Attribute</b> : <code>identifier [1]: </code></a><a class="class-subbody" href="#element10541">identifier</a></p>
|
||
|
||
|
||
|
||
<p>The showHide and identifier attributes determine how the visibility of the
|
||
templateElement is controlled in the same way as the similarly named
|
||
<a href="#element10228">showHide</a> and <a href="#element10229">identifier</a> attributes of <a href="#element10226">feedbackElement</a>.</p>
|
||
|
||
|
||
|
||
<p>A template element must not contain any interactions, either directly or indirectly.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10508"><b>Class</b> : <code>templateBlock (</code></a><a class="class-head" href="#element10108">blockStatic</a>, <a class="class-head" href="#element10109">flowStatic</a>, <a class="class-head" href="#element10504">templateElement</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10509"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10108">blockStatic</a> [*]</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10510"><b>Class</b> : <code>templateInline (</code></a><a class="class-head" href="#element10109">flowStatic</a>, <a class="class-head" href="#element10107">inlineStatic</a>, <a class="class-head" href="#element10504">templateElement</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10511"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10107">inlineStatic</a> [*]</p>
|
||
|
||
|
||
</div>
|
||
|
||
<h3><a name="section10076">11.2. Template Processing</a></h3>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10512"><b>Class</b> : <code>templateProcessing</code>
|
||
</a></p>
|
||
<dl>
|
||
|
||
<dt><a name="element10512">Associated classes:</a></dt>
|
||
<dd><code><a class="class-head" href="#element10010">assessmentItem</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10513"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10514">templateRule</a> [1..*]<br>
|
||
|
||
|
||
Template processing consists of one or more <a href="#element10514">templateRule</a>s that are followed by the cloning engine or delivery
|
||
system in order to assign values to the <a href="#element10503">templateVariable</a>s. Template processing is identical in form to
|
||
<a href="#element10355">responseProcessing</a> except that the purpose is to
|
||
assign values to <a href="#term10038">Template Variable</a>s, not <a href="#element10095">outcomeVariable</a>s.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10514"><b>Abstract class</b> : <code>templateRule</code>
|
||
</a></p>
|
||
<dl>
|
||
|
||
<dt><a name="element10514">Derived classes:</a></dt>
|
||
<dd><code><a class="class-head" href="#element10536">exitTemplate</a>, <a class="class-head" href="#element10530">setCorrectResponse</a>, <a class="class-head" href="#element10533">setDefaultValue</a>, <a class="class-head" href="#element10527">setTemplateValue</a>, <a class="class-head" href="#element10515">templateCondition</a></code></dd>
|
||
|
||
<dt>Associated classes:</dt>
|
||
<dd><code><a class="class-head" href="#element10512">templateProcessing</a>, <a class="class-head" href="#element10522">templateElseIf</a>, <a class="class-head" href="#element10519">templateIf</a>, <a class="class-head" href="#element10525">templateElse</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p>A template rule is either a <a href="#element10515">templateCondition</a> or a
|
||
simple action. Template rules define the light-weight programming language
|
||
necessary for creating cloned items. Note that this programming language
|
||
contains a minimal number of control structures, more complex cloning rules
|
||
are outside the scope of this specification. </p>
|
||
|
||
|
||
|
||
<p>An <a href="#element10382">expression</a> used in a templateRule must not refer to
|
||
the value of a <a href="#element10090">responseVariable</a> or <a href="#element10095">outcomeVariable</a>. It may only refer to the values of the
|
||
<a href="#element10503">templateVariable</a>s.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10515"><b>Class</b> : <code>templateCondition (</code></a><a class="class-head" href="#element10514">templateRule</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10516"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10519">templateIf</a> [1]</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10517"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10522">templateElseIf</a> [*]</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10518"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10525">templateElse</a> [0..1]</p>
|
||
|
||
|
||
|
||
<p>If the expression given in the templateIf or templateElseIf evaluates to true
|
||
then the sub-rules contained within it are followed and any following
|
||
templateElseIf or templateElse parts are ignored for this template condition.</p>
|
||
|
||
|
||
|
||
<p>If the expression given in the templateIf or templateElseIf does not evaluate
|
||
to true then consideration passes to the next templateElseIf or, if there
|
||
are no more templateElseIf parts then the sub-rules of the templateElse are
|
||
followed (if specified).</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10519"><b>Class</b> : <code><span class="todo">templateIf</span></code>
|
||
</a></p>
|
||
<dl>
|
||
|
||
<dt><a name="element10519">Associated classes:</a></dt>
|
||
<dd><code><a class="class-head" href="#element10515">templateCondition</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10520"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [1]</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10521"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10514">templateRule</a> [*]</p>
|
||
|
||
|
||
|
||
<p>A templateIf part consists of an expression which must have an effective
|
||
<a href="#element10054">baseType</a> of <a href="#element10056">boolean</a>
|
||
and <a href="#element10050">single</a> cardinality. For more
|
||
information about the runtime data model employed see <a href="#section10072">Expressions</a>. It also contains a set of sub-rules. If the expression
|
||
is true then the sub-rules are processed, otherwise they are skipped
|
||
(including if the expression is NULL) and the following <a href="#element10522">templateElseIf</a> or <a href="#element10525">templateElse</a> parts (if any)
|
||
are considered instead.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10522"><b>Class</b> : <code><span class="todo">templateElseIf</span></code>
|
||
</a></p>
|
||
<dl>
|
||
|
||
<dt><a name="element10522">Associated classes:</a></dt>
|
||
<dd><code><a class="class-head" href="#element10515">templateCondition</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10523"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [1]</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10524"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10514">templateRule</a> [*]</p>
|
||
|
||
|
||
|
||
<p>templateElseIf is defined in an identical way to <a href="#element10519">templateIf</a>.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10525"><b>Class</b> : <code><span class="todo">templateElse</span></code>
|
||
</a></p>
|
||
<dl>
|
||
|
||
<dt><a name="element10525">Associated classes:</a></dt>
|
||
<dd><code><a class="class-head" href="#element10515">templateCondition</a></code></dd>
|
||
|
||
</dl>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10526"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10514">templateRule</a> [*]</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10527"><b>Class</b> : <code>setTemplateValue (</code></a><a class="class-head" href="#element10514">templateRule</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10528"><b>Attribute</b> : <code>identifier [1]: </code></a><a class="class-subbody" href="#element10541">identifier</a><br>
|
||
|
||
The <a href="#element10503">templateVariable</a> to be set.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10529"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [1]<br>
|
||
|
||
An expression
|
||
which must have an effective <a href="#element10054">baseType</a> and <a href="#element10049">cardinality</a> that matches the base-type and cardinality of the
|
||
<a href="#element10503">templateVariable</a> being set.</p>
|
||
|
||
|
||
|
||
<p>The setTemplateValue rules sets the value of a <a href="#element10503">templateVariable</a> to the value obtained from the associated
|
||
<a href="#element10382">expression</a>. A template variable can be updated
|
||
with reference to a previously assigned value, in other words, the
|
||
templateVariable being set may appear in the <a href="#element10382">expression</a> where it takes the value previously assigned to it.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10530"><b>Class</b> : <code><span class="todo">setCorrectResponse</span> (</code></a><a class="class-head" href="#element10514">templateRule</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10531"><b>Attribute</b> : <code>identifier [1]: </code></a><a class="class-subbody" href="#element10541">identifier</a><br>
|
||
|
||
The <a href="#element10090">responseVariable</a> to have its correct value set.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10532"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [1]</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10533"><b>Class</b> : <code>setDefaultValue (</code></a><a class="class-head" href="#element10514">templateRule</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10534"><b>Attribute</b> : <code>identifier [1]: </code></a><a class="class-subbody" href="#element10541">identifier</a><br>
|
||
|
||
The <a href="#element10090">responseVariable</a> or <a href="#element10095">outcomeVariable</a> to have
|
||
its default value set.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10535"><b>Contains</b> : <code></code></a><a class="class-subbody" href="#element10382">expression</a> [1]</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<p class="class-head"><a name="element10536"><b>Class</b> : <code>exitTemplate (</code></a><a class="class-head" href="#element10514">templateRule</a>)
|
||
</p>
|
||
</div>
|
||
|
||
|
||
|
||
<p>The exit template rule terminates template processing immediately.</p>
|
||
|
||
|
||
</div>
|
||
|
||
|
||
<h2><a name="section10077">12. Basic Data Types</a></h2>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<h4><a name="element10537">Datatype: <code>boolean</code></a></h4>
|
||
|
||
</div>
|
||
|
||
|
||
<a name="element10537"> </a>
|
||
<p><a name="element10537">A boolean value is either true or false. Note that lexical bindings to strings
|
||
such as "Yes", "TRUE", "1", etc. are outside the scope of this document.</a></p>
|
||
|
||
|
||
<a name="element10537"> </a></div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<h4><a name="element10538">Datatype: <code>coords</code></a></h4>
|
||
|
||
</div>
|
||
|
||
|
||
<a name="element10538"> </a>
|
||
<p><a name="element10538">The coords type provides the coordinates that determine the size and location of
|
||
an area defined by a corresponding </a><a href="#element10550">shape</a>.</p>
|
||
|
||
|
||
|
||
<p>The coordinates themselves are an ordered list of lengths (as
|
||
defined in <a href="#ref_XHTML">[XHTML]</a>). The interpretation of each length value is
|
||
dependent on the value of the associated shape as follows.</p>
|
||
|
||
|
||
|
||
<ul>
|
||
|
||
|
||
<li>
|
||
<a href="#element10552">rect</a>: left-x, top-y, right-x, bottom-y.</li>
|
||
|
||
|
||
<li>
|
||
<a href="#element10553">circle</a>: center-x, center-y, radius. Note. When
|
||
the radius value is a percentage value, user agents should calculate the
|
||
final radius value based on the associated object's width and height. The
|
||
radius should be the smaller value of the two.</li>
|
||
|
||
|
||
<li>
|
||
<a href="#element10554">poly</a>: x1, y1, x2, y2, ..., xN, yN. The first x
|
||
and y coordinate pair and the last should be the same to close the polygon.
|
||
When these coordinate values are not the same, user agents should infer an
|
||
additional coordinate pair to close the polygon.</li>
|
||
|
||
|
||
<li>
|
||
<a href="#element10555">ellipse</a>: center-x, center-y, h-radius, v-radius.
|
||
Note that the ellipse shape is deprecated as it is not defined by <a href="#ref_XHTML">[XHTML]</a>.</li>
|
||
|
||
|
||
<li>
|
||
<a href="#element10551">default</a>: no coordinates should be given.</li>
|
||
|
||
|
||
|
||
</ul>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<h4><a name="element10539">Datatype: <code>date</code></a></h4>
|
||
|
||
</div>
|
||
|
||
|
||
<a name="element10539"> </a>
|
||
<p><a name="element10539">A fully-specified calendar date, including year, month and day of month from the
|
||
reference system defined in </a><a href="#ref_ISO8601">[ISO8601]</a>.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<h4><a name="element10540">Datatype: <code>float</code></a></h4>
|
||
|
||
</div>
|
||
|
||
|
||
<a name="element10540"> </a>
|
||
<p><a name="element10540">The IEEE double-precision 64-bit floating point type.</a></p>
|
||
|
||
|
||
<a name="element10540"> </a></div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<h4><a name="element10541">Datatype: <code>identifier</code></a></h4>
|
||
|
||
</div>
|
||
|
||
|
||
<a name="element10541"> </a>
|
||
<p><a name="element10541"> An identifier is simply a logical reference to another object in the item, such
|
||
as an </a><a href="#element10039">itemVariable</a> or <a href="#element10254">choice</a>. An
|
||
identifier is a string of characters that must start with a Letter or an
|
||
underscore ('_') and contain only Letters, underscores, hyphens ('-'), period
|
||
('.', a.k.a. full-stop), Digits, CombiningChars and Extenders. Identifiers
|
||
containing the period character are reserved for future use. The character
|
||
classes Letter, Digit, CombiningChar and Extender are defined in the Extensible
|
||
Markup Language (XML) 1.0 (Second Edition) <a href="#ref_XML">[XML]</a>. Note
|
||
particularly that identifiers may not contain the colon (':') character.
|
||
Identifiers <span>should </span>
|
||
have no more than 32 characters. <span> for compatibility with version 1</span>
|
||
<span>They are always compared case-sensitively.</span>
|
||
</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<h4><a name="element10542">Datatype: <code>integer</code></a></h4>
|
||
|
||
</div>
|
||
|
||
|
||
<a name="element10542"> </a>
|
||
<p><a name="element10542"> An integer value is a whole number in the range [-2147483648,2147483647]. This
|
||
is the range of a twos-complement 32-bit integer.</a></p>
|
||
|
||
|
||
<a name="element10542"> </a></div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<h4><a name="element10543">Datatype: <code>language</code></a></h4>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<h4><a name="element10544">Datatype: <code>length</code></a></h4>
|
||
|
||
</div>
|
||
|
||
|
||
<a name="element10544"> </a>
|
||
<p><a name="element10544">The length datatype is as defined in </a><a href="#ref_XHTML">[XHTML]</a>.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<h4><a name="element10545">Datatype: <code>mimeType</code></a></h4>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<h4><a name="element10546">Enumeration: <code>orientation</code></a></h4>
|
||
|
||
</div>
|
||
|
||
|
||
<a name="element10546"> </a>
|
||
<p class="class-subbody"><a name="element10547"><code>vertical</code></a></p>
|
||
|
||
|
||
<a name="element10547"> </a>
|
||
<p class="class-subbody"><a name="element10548"><code>horizontal</code></a></p>
|
||
|
||
|
||
<a name="element10548"> </a></div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<h4><a name="element10549">Datatype: <code>sign</code></a></h4>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<h4><a name="element10550">Enumeration: <code>shape</code></a></h4>
|
||
|
||
</div>
|
||
|
||
|
||
<a name="element10550"> </a>
|
||
<p><a name="element10550">A value of a shape is alway accompanied by coordinates (see </a><a href="#element10538">coords</a> and an associated image which provides a context for
|
||
interpreting them.</p>
|
||
|
||
|
||
|
||
<p class="class-subbody"><a name="element10551"><code>default</code><br>
|
||
|
||
The default shape refers to the entire area of the associated image.</a></p>
|
||
|
||
|
||
<a name="element10551"> </a>
|
||
<p class="class-subbody"><a name="element10552"><code>rect</code><br>
|
||
|
||
A rectangular region.</a></p>
|
||
|
||
|
||
<a name="element10552"> </a>
|
||
<p class="class-subbody"><a name="element10553"><code>circle</code><br>
|
||
|
||
A circular region</a></p>
|
||
|
||
|
||
<a name="element10553"> </a>
|
||
<p class="class-subbody"><a name="element10554"><code>poly</code><br>
|
||
|
||
An arbitrary polygonal region</a></p>
|
||
|
||
|
||
<a name="element10554"> </a>
|
||
<p class="class-subbody"><a name="element10555"><code>ellipse</code><br>
|
||
|
||
This value is deprecated, but is included for compatibility
|
||
with version of 1 of the QTI specification. Systems should use </a><a href="#element10553">circle</a> or <a href="#element10554">poly</a> shapes instead.</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<h4><a name="element10556">Datatype: <code>string</code></a></h4>
|
||
|
||
</div>
|
||
|
||
|
||
<a name="element10556"> </a>
|
||
<p><a name="element10556">A string value is any sequence of characters. A character is anything in the
|
||
class Char defined in Extensible Markup Language (XML) 1.0 (Second Edition).</a></p>
|
||
|
||
|
||
<a name="element10556"> </a></div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<h4><a name="element10557">Datatype: <code>string256</code></a></h4>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<h4><a name="element10558">Datatype: <code>uri</code></a></h4>
|
||
|
||
</div>
|
||
|
||
|
||
<a name="element10558"> </a>
|
||
<p><a name="element10558">A Uniform Resource Identifier as defined in </a><a href="#ref_URI">[URI]</a>
|
||
</p>
|
||
|
||
|
||
</div>
|
||
|
||
<div class="class-body">
|
||
<div class="class-head">
|
||
<h4><a name="element10559">Enumeration: <code>view</code></a></h4>
|
||
|
||
</div>
|
||
|
||
|
||
<a name="element10559"> </a>
|
||
<p class="class-subbody"><a name="element10560"><code>author</code></a></p>
|
||
|
||
|
||
<a name="element10560"> </a>
|
||
<p class="class-subbody"><a name="element10561"><code>candidate</code></a></p>
|
||
|
||
|
||
<a name="element10561"> </a>
|
||
<p class="class-subbody"><a name="element10562"><code>proctor</code><br>
|
||
|
||
Sometimes referred to as an <em>invigilator</em>
|
||
</a></p>
|
||
|
||
|
||
<a name="element10562"> </a>
|
||
<p class="class-subbody"><a name="element10563"><code>scorer</code></a></p>
|
||
|
||
|
||
<a name="element10563"> </a>
|
||
<p class="class-subbody"><a name="element10564"><code>tutor</code></a></p>
|
||
|
||
|
||
<a name="element10564"> </a></div>
|
||
|
||
|
||
<a name="element10564"><br>
|
||
|
||
<br>
|
||
|
||
</a>
|
||
<h2><a name="element10564">About This Document</a></h2>
|
||
|
||
<p></p>
|
||
|
||
<table summary="This table describes the document properties" border="1" cellpadding="5" cellspacing="0">
|
||
|
||
<tbody>
|
||
<tr>
|
||
|
||
<td><strong>Title</strong><br>
|
||
</td>
|
||
|
||
<td>IMS Question and Test Interoperability Information Model<br>
|
||
</td>
|
||
|
||
</tr>
|
||
|
||
<tr>
|
||
|
||
<td><strong>Editor</strong><br>
|
||
</td>
|
||
|
||
<td>Steve Lay (University of Cambridge)<br>
|
||
</td>
|
||
|
||
</tr>
|
||
|
||
<tr>
|
||
|
||
<td><strong>Version</strong><br>
|
||
</td>
|
||
|
||
<td>2.0<br>
|
||
</td>
|
||
|
||
</tr>
|
||
|
||
<tr>
|
||
|
||
<td><strong>Version Date</strong><br>
|
||
</td>
|
||
|
||
<td>24 January 2005<br>
|
||
</td>
|
||
|
||
</tr>
|
||
|
||
<tr>
|
||
|
||
<td><strong>Status</strong><br>
|
||
</td>
|
||
|
||
<td><strong>Final Specification</strong><br>
|
||
</td>
|
||
|
||
</tr>
|
||
|
||
<tr>
|
||
|
||
<td><strong>Summary</strong><br>
|
||
</td>
|
||
|
||
<td>This document describes the QTI Information Model specification.<br>
|
||
</td>
|
||
|
||
</tr>
|
||
|
||
<tr>
|
||
|
||
<td><strong>Revision Information</strong><br>
|
||
</td>
|
||
|
||
<td>24 January 2005<br>
|
||
</td>
|
||
|
||
</tr>
|
||
|
||
<tr>
|
||
|
||
<td><strong>Purpose</strong><br>
|
||
</td>
|
||
|
||
<td>This document has been approved by the IMS Technical Board and is made available for adoption.<br>
|
||
</td>
|
||
|
||
</tr>
|
||
|
||
<tr>
|
||
|
||
<td><strong>Document Location</strong><br>
|
||
</td>
|
||
|
||
<td><a href="http://www.imsglobal.org/question/qti_v2p0/imsqti_infov2p0.html">
|
||
http://www.imsglobal.org/question/qti_v2p0/imsqti_infov2p0.html</a><br>
|
||
</td>
|
||
|
||
</tr>
|
||
|
||
</tbody>
|
||
</table>
|
||
|
||
<p></p>
|
||
|
||
<p></p>
|
||
|
||
<p></p>
|
||
|
||
<table summary="This table describes" border="1" cellpadding="5" cellspacing="0">
|
||
|
||
<tbody>
|
||
<tr>
|
||
|
||
<td>To register any comments or questions about this specification please visit: <a href="http://www.imsglobal.org/developers/ims/imsforum/categories.cfm?catid=23">
|
||
http://www.imsglobal.org/developers/ims/imsforum/categories.cfm?catid=23</a><br>
|
||
</td>
|
||
|
||
</tr>
|
||
|
||
</tbody>
|
||
</table>
|
||
|
||
<p></p>
|
||
|
||
<p></p>
|
||
|
||
<h3><a name="element10564">List of Contributors</a></h3>
|
||
|
||
<p><a name="element10564">The following individuals contributed to the development of this document:</a></p>
|
||
|
||
<p></p>
|
||
|
||
<table summary="This table describes The list of contributors for this document" border="0" cellpadding="5" cellspacing="0">
|
||
|
||
<tbody>
|
||
<tr>
|
||
|
||
<th scope="col"><strong>Name</strong></th>
|
||
|
||
<th scope="col">
|
||
<strong>Organization</strong></th>
|
||
|
||
<th scope="col"><strong>Name</strong></th>
|
||
|
||
<th scope="col">
|
||
<strong>Organization</strong></th>
|
||
|
||
</tr>
|
||
|
||
<tr>
|
||
|
||
<td>Niall Barr<br>
|
||
</td>
|
||
|
||
<td>CETIS<br>
|
||
</td>
|
||
|
||
<td>Joshua Marks<br>
|
||
</td>
|
||
|
||
<td>McGraw-Hill<br>
|
||
</td>
|
||
|
||
</tr>
|
||
|
||
<tr>
|
||
|
||
<td>Sam Easterby-Smith<br>
|
||
</td>
|
||
|
||
<td>Canvas Learning<br>
|
||
</td>
|
||
|
||
<td>David Poor<br>
|
||
</td>
|
||
|
||
<td>McGraw-Hill<br>
|
||
</td>
|
||
|
||
</tr>
|
||
|
||
<tr>
|
||
|
||
<td>Jeanne Ferrante<br>
|
||
</td>
|
||
|
||
<td>ETS<br>
|
||
</td>
|
||
|
||
<td>Greg Quirus<br>
|
||
</td>
|
||
|
||
<td>ETS<br>
|
||
</td>
|
||
|
||
</tr>
|
||
|
||
<tr>
|
||
|
||
<td>Pierre Gorissen<br>
|
||
</td>
|
||
|
||
<td>SURF<br>
|
||
</td>
|
||
|
||
<td>Niall Sclater<br>
|
||
</td>
|
||
|
||
<td>CETIS<br>
|
||
</td>
|
||
|
||
</tr>
|
||
|
||
<tr>
|
||
|
||
<td>Regina Hoag<br>
|
||
</td>
|
||
|
||
<td>ETS<br>
|
||
</td>
|
||
|
||
<td>Colin Smythe<br>
|
||
</td>
|
||
|
||
<td>IMS<br>
|
||
</td>
|
||
|
||
</tr>
|
||
|
||
<tr>
|
||
|
||
<td>Christian Kaefer<br>
|
||
</td>
|
||
|
||
<td>McGraw-Hill<br>
|
||
</td>
|
||
|
||
<td>GT Springer<br>
|
||
</td>
|
||
|
||
<td>Texas Instruments<br>
|
||
</td>
|
||
|
||
</tr>
|
||
|
||
<tr>
|
||
|
||
<td>John Kleeman<br>
|
||
</td>
|
||
|
||
<td>Question Mark<br>
|
||
</td>
|
||
|
||
<td>Colin Tattersall<br>
|
||
</td>
|
||
|
||
<td>OUNL<br>
|
||
</td>
|
||
|
||
</tr>
|
||
|
||
<tr>
|
||
|
||
<td>Steve Lay<br>
|
||
</td>
|
||
|
||
<td>UCLES<br>
|
||
</td>
|
||
|
||
<td>Rowin Young<br>
|
||
</td>
|
||
|
||
<td>CETIS<br>
|
||
</td>
|
||
|
||
</tr>
|
||
|
||
<tr>
|
||
|
||
<td>Jez Lord<br>
|
||
</td>
|
||
|
||
<td>Canvas Learning<br>
|
||
</td>
|
||
|
||
<td><br>
|
||
</td>
|
||
|
||
<td><br>
|
||
</td>
|
||
|
||
</tr>
|
||
|
||
</tbody>
|
||
</table>
|
||
|
||
<h2><a name="element10564">Revision History</a></h2>
|
||
|
||
<p></p>
|
||
|
||
<table summary="This table describes document revision history" border="1" cellpadding="5" cellspacing="0">
|
||
|
||
<tbody>
|
||
<tr bgcolor="#cccccc">
|
||
|
||
<th scope="col"><strong>Version No.</strong></th>
|
||
|
||
<th scope="col"><strong>Release Date</strong></th>
|
||
|
||
<th scope="col"><strong>Comments</strong></th>
|
||
|
||
</tr>
|
||
|
||
<tr>
|
||
|
||
<td>Base Document 2.0<br>
|
||
</td>
|
||
|
||
<td>09 March 2004<br>
|
||
</td>
|
||
|
||
<td>The first version of the QTI Item v2.0 specification.<br>
|
||
</td>
|
||
|
||
</tr>
|
||
|
||
<tr>
|
||
|
||
<td>Public Draft 2.0<br>
|
||
</td>
|
||
|
||
<td>07 June 2004<br>
|
||
</td>
|
||
|
||
<td>The Public Draft version 2.0 of the QTI Item Specification.<br>
|
||
</td>
|
||
|
||
</tr>
|
||
|
||
<tr>
|
||
|
||
<td>Final 2.0<br>
|
||
</td>
|
||
|
||
<td>24 January 2005<br>
|
||
</td>
|
||
|
||
<td>The Final version 2.0 of the QTI specification.<br>
|
||
</td>
|
||
|
||
</tr>
|
||
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<center>
|
||
<p><a name="element10564"> </a></p>
|
||
|
||
<p><a name="element10564"> </a></p>
|
||
|
||
<p><a name="element10564"> </a></p>
|
||
|
||
<p><a name="element10564"><em>IMS Global Learning Consortium, Inc. ("IMS/GLC") is publishing the information contained in this</em> IMS Question and Test Interoperability Information Model <em>("Specification") for purposes of scientific, experimental, and scholarly collaboration only.<br>
|
||
|
||
<br>
|
||
|
||
IMS/GLC makes no warranty or representation regarding the accuracy or completeness of the Specification.<br>
|
||
|
||
This material is provided on an "As Is" and "As Available" basis.<br>
|
||
|
||
<br>
|
||
|
||
The Specification is at all times subject to change and revision without notice.<br>
|
||
|
||
<br>
|
||
|
||
It is your sole responsibility to evaluate the usefulness, accuracy, and completeness of the Specification as it relates to you.<br>
|
||
|
||
<br>
|
||
|
||
IMS/GLC would appreciate receiving your comments and suggestions.<br>
|
||
|
||
<br>
|
||
|
||
Please contact IMS/GLC through our website at </em></a><em><a href="http://www.imsglobal.org/">http://www.imsglobal.org</a><br>
|
||
|
||
<br>
|
||
|
||
Please refer to Document Name:</em> IMS Question and Test Interoperability Information Model <em>Revision:</em> 24 January 2005</p>
|
||
|
||
</center>
|
||
|
||
<hr>
|
||
</body></html> |