<?xml version="1.0" encoding="UTF-8"?>
<!-- filename=ims_qti_rootv1p01.xsd -->
<!-- Copyright 2001 IMS Global Learning Consortium, Inc. -->
<!-- 2001-03-29: XSD edited by Thomas Wason -->
<xsd:schema targetNamespace="http://www.imsproject.org/xsd/ims_qti_rootv1p01" xmlns="http://www.imsproject.org/xsd/ims_qti_rootv1p01" xmlns:xsd="http://www.w3.org/2000/10/XMLSchema" elementFormDefault="unqualified" version="1.01:1.0 QTI 1.01 Schema 1.0">
	<xsd:annotation>
		<xsd:documentation>IMS Question and Test Interoperability (QTI) XML-Schema control document for QTI XML Binding.</xsd:documentation>
		<xsd:documentation>Copyright 2001 IMS Global Learning Consortium, Inc.</xsd:documentation>
		<xsd:documentation>2001-03-26 Thomas. D. Wason: Inital release of XSD.</xsd:documentation>
	</xsd:annotation>
	<!--CONSOLIDATED VERSION-->
	<xsd:annotation>
		<xsd:documentation>Reused attribute declarations</xsd:documentation>
	</xsd:annotation>
	<xsd:attributeGroup name="attr.box">
		<xsd:attribute name="x0" type="displaymetricType"/>
		<xsd:attribute name="y0" type="displaymetricType"/>
		<xsd:attribute name="width" type="displaymetricType"/>
		<xsd:attribute name="height" type="displaymetricType"/>
	</xsd:attributeGroup>
	<xsd:attributeGroup name="attr.case">
		<xsd:attribute name="case" use="default" value="YesCase">
			<xsd:simpleType>
				<xsd:restriction base="xsd:string">
					<xsd:enumeration value="NoCase"/>
					<xsd:enumeration value="YesCase"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
	</xsd:attributeGroup>
	<xsd:attributeGroup name="attr.continue">
		<xsd:attribute name="continue" type="booleanType" use="default" value="No"/>
	</xsd:attributeGroup>
	<xsd:attributeGroup name="attr.embedded">
		<xsd:attribute name="embedded" type="xsd:string" use="default" value="base64"/>
	</xsd:attributeGroup>
	<xsd:attributeGroup name="attr.feedbackstyle">
		<xsd:attribute name="feedbackstyle" use="default" value="Complete">
			<xsd:simpleType>
				<xsd:restriction base="xsd:NMTOKEN">
					<xsd:enumeration value="Complete"/>
					<xsd:enumeration value="Incremental"/>
					<xsd:enumeration value="Multilevel"/>
					<xsd:enumeration value="Proprietary"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
	</xsd:attributeGroup>
	<xsd:attributeGroup name="attr.ident">
		<xsd:attribute name="ident" use="required"/>
	</xsd:attributeGroup>
	<xsd:attributeGroup name="attr.label">
		<xsd:attribute name="label">
			<xsd:simpleType>
				<xsd:restriction base="xsd:string">
					<xsd:maxLength value="256"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
	</xsd:attributeGroup>
	<xsd:attributeGroup name="attr.linkrefid.req">
		<xsd:attribute name="linkrefid" use="required">
			<xsd:simpleType>
				<xsd:restriction base="xsd:string">
					<xsd:maxLength value="33"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
	</xsd:attributeGroup>
	<xsd:attributeGroup name="attr.minmaxnumbers">
		<xsd:attribute name="minnumber">
			<xsd:simpleType>
				<xsd:restriction base="xsd:integer">
					<xsd:maxInclusive value="99"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
		<xsd:attribute name="maxnumber">
			<xsd:simpleType>
				<xsd:restriction base="xsd:integer">
					<xsd:maxInclusive value="99"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
	</xsd:attributeGroup>
	<xsd:attributeGroup name="attr.pane">
		<xsd:attributeGroup ref="attr.ref"/>
		<xsd:attributeGroup ref="attr.embedded"/>
		<xsd:attributeGroup ref="attr.box"/>
	</xsd:attributeGroup>
	<xsd:attributeGroup name="attr.rcardinality">
		<xsd:attribute name="rcardinality" use="default" value="Single">
			<xsd:simpleType>
				<xsd:restriction base="xsd:NMTOKEN">
					<xsd:enumeration value="Single"/>
					<xsd:enumeration value="Multiple"/>
					<xsd:enumeration value="Ordered"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
	</xsd:attributeGroup>
	<xsd:attributeGroup name="attr.rcrit">
		<xsd:attributeGroup ref="attr.rcardinality"/>
		<xsd:attributeGroup ref="attr.rtiming"/>
	</xsd:attributeGroup>
	<xsd:attributeGroup name="attr.ref">
		<xsd:attributeGroup ref="attr.label"/>
		<xsd:attributeGroup ref="attr.uri"/>
	</xsd:attributeGroup>
	<xsd:attributeGroup name="attr.respident">
		<xsd:attribute name="respident" use="required">
			<xsd:simpleType>
				<xsd:restriction base="xsd:string">
					<xsd:maxLength value="33"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
	</xsd:attributeGroup>
	<xsd:attributeGroup name="attr.rtiming">
		<xsd:attribute name="rtiming" type="booleanType" use="default" value="No"/>
	</xsd:attributeGroup>
	<xsd:attributeGroup name="attr.switch">
		<xsd:attribute name="hintswitch" type="booleanType" use="default" value="Yes"/>
		<xsd:attribute name="solutionswitch" type="booleanType" use="default" value="Yes"/>
		<xsd:attribute name="feedbackswitch" type="booleanType" use="default" value="Yes"/>
	</xsd:attributeGroup>
	<xsd:attributeGroup name="attr.title">
		<xsd:attribute name="title">
			<xsd:simpleType>
				<xsd:restriction base="xsd:string">
					<xsd:maxLength value="256"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
	</xsd:attributeGroup>
	<xsd:attributeGroup name="attr.uri">
		<xsd:attribute name="uri">
			<xsd:simpleType>
				<xsd:restriction base="xsd:string">
					<xsd:maxLength value="256"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
	</xsd:attributeGroup>
	<xsd:attributeGroup name="attr.varname">
		<xsd:attribute name="varname" use="default" value="SCORE">
			<xsd:simpleType>
				<xsd:restriction base="xsd:string">
					<xsd:maxLength value="16"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
	</xsd:attributeGroup>
	<xsd:attributeGroup name="attr.view">
		<xsd:attribute name="view" use="default" value="All">
			<xsd:simpleType>
				<xsd:restriction base="xsd:NMTOKEN">
					<xsd:enumeration value="All"/>
					<xsd:enumeration value="Administrator"/>
					<xsd:enumeration value="AdminAuthority"/>
					<xsd:enumeration value="Assessor"/>
					<xsd:enumeration value="Author"/>
					<xsd:enumeration value="Candidate"/>
					<xsd:enumeration value="InvigilatorProctor"/>
					<xsd:enumeration value="Psychometrician"/>
					<xsd:enumeration value="Scorer"/>
					<xsd:enumeration value="Tutor"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
	</xsd:attributeGroup>
	<!--  -->
	<xsd:annotation>
		<xsd:documentation>Reused element groups</xsd:documentation>
	</xsd:annotation>
	<xsd:group name="grp.conditionalchoice">
		<xsd:choice>
			<xsd:element ref="not"/>
			<xsd:element ref="and"/>
			<xsd:element ref="or"/>
			<xsd:element ref="unanswered"/>
			<xsd:element ref="other"/>
		</xsd:choice>
	</xsd:group>
	<xsd:group name="grp.durchoice">
		<xsd:choice>
			<xsd:element ref="durequal"/>
			<xsd:element ref="durlt"/>
			<xsd:element ref="durlte"/>
			<xsd:element ref="durgt"/>
			<xsd:element ref="durgte"/>
		</xsd:choice>
	</xsd:group>
	<xsd:group name="grp.render">
		<xsd:sequence>
			<xsd:element ref="render_choice" minOccurs="0"/>
			<xsd:element ref="render_hotspot" minOccurs="0"/>
			<xsd:element ref="render_slider" minOccurs="0"/>
			<xsd:element ref="render_fib" minOccurs="0"/>
			<xsd:element ref="render_extension" minOccurs="0"/>
		</xsd:sequence>
	</xsd:group>
	<xsd:group name="grp.varchoice">
		<xsd:choice>
			<xsd:element name="varequal" type="varequalType"/>
			<xsd:element name="varlt" type="varltType"/>
			<xsd:element name="varlte" type="varlteType"/>
			<xsd:element name="vargt" type="vargtType"/>
			<xsd:element name="vargte" type="vargteType"/>
			<xsd:element name="varsubset" type="varsubsetType"/>
			<xsd:element name="varinside" type="varinsideType"/>
		</xsd:choice>
	</xsd:group>
	<xsd:group name="grp.sectionset">
		<xsd:choice>
			<xsd:element ref="sectionref"/>
			<xsd:element ref="section"/>
		</xsd:choice>
	</xsd:group>
	<xsd:group name="grp.itemset">
		<xsd:choice>
			<xsd:element ref="itemref"/>
			<xsd:element ref="item"/>
		</xsd:choice>
	</xsd:group>
	<!--  -->
	<xsd:annotation>
		<xsd:documentation>elements</xsd:documentation>
	</xsd:annotation>
	<xsd:element name="altmaterial" type="altmaterialType">
		<xsd:annotation>
			<xsd:documentation>Explanation:	
	Alternative material to be displayed if the primary	material cannot be rendered.			
Type:
	PCDATA
Notes:</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="and" type="andType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	The logical 'AND' operation.
Type:					
	
Notes:					
	Returns a 'True' statement if all conditions are 'True'.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="assessfeedback" type="assessfeedbackType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Feedback of the assessment processing conclusion.
Type:	
	
Notes:	
	The feedback will be determined by the conditions.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="assessment" type="assessmentType">
		<xsd:annotation>
			<xsd:documentation>This is the ASSESSMENT object.</xsd:documentation>
			<xsd:documentation>The Assessment object contains all of the information to	make the use of individual Items meaningful i.e. apart from	the Items the object includes the relationship between the Items, the group evaluation processing and the corresponding feedback.
Defined Elements				
================				
1.	assessmentmetadata			
2.	assessmentcontrol			
3.	assessprocessing			
4.	scores				
5.	assesscondition			
6.	assessfeedback			
7.	sectionselection			
8.	sectionsequence			
9.	sectionref				
Defined Attributes				
==================				
1.	title - title of the assessment		
2.	Identity - mandatory label for the Assessment</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="assessmentcontrol" type="assessmentcontrolType">
		<xsd:annotation>
			<xsd:documentation>Explanation:	
	Switches to be set for the Assessment.
Type:
	
Notes:
	These switches should be used to control the operation of the Assessment related conditions. These switches are defined per actor.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="assessmentmetadata" type="assessmentmetadataType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Assessment metadata descriptions.
Type:
	
Notes:
	Defined as per the metadata definition.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="assessproc_extension" type="extensionType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Proprietary extension support Assessment processing.
Type:
	Any valid element, PCDATA.
Notes:
	Acts as an extension element for any extensions to Assessment processing.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="assessprocessing" type="assessprocessingType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Assessment accumulated processing and feedback.
Type:
	
Notes:
	This element is similar in nature to the ResProcessing and SectionProcessing elements.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="condition_extension" type="extensionType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Proprietary extension to support conditions.
Type:
	Any valid element, PCDATA.
Notes:
	Acts as an extension element for any extensions to Section/Assessment processing.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="conditionvar" type="conditionvarType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	The conditions to be applied to the variables as a part of their processing.
Type:
	
Notes:
	Each of the conditions provides a boolean test.	Consecutive conditions are linked as an 'AND' condition.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="decvar" type="decvarType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Declaration of variables to be used.
Type:
	
Notes:
	Each type of variable must be declared before it is	used.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="displayfeedback" type="displayfeedbackType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Display feedback trigger.
Type:
	
Notes:	</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="duration" type="durationType">
		<xsd:annotation>
			<xsd:documentation>Explanation:	
	Permitted duration of the activity.
Type:
	
Notes:
	Defined as per ISO8601.  Use the text based layout with the corresponding interpretation.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="durequal" type="durequalType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Duration equivalence comparison test.
Type:
	
Notes:
	'True' is returned if equivalent. For further study in V2.0.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="durgt" type="durgtType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Duration greater than comparison test.
Type:
	
Notes:
	'True' is returned if greater than the value. For further study in V2.0.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="durgte" type="durgteType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Duration greater than or equal to comparison test.
Type:
	
Notes:
	'True' returned if greater or equal to the value. For further study in V2.0.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="durlt" type="durltType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Duration less than comparison test.
Type:

Notes:
	'True' is returned if less than the value. For further study in V2.0.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="durlte" type="durlteType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Duration less than or equal to comparison test.
Type:

Notes:
	'True' is returned if less than the value. For further study in V2.0.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="hint" type="hintType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	The Hint that can be presented to the user.
Type:

Notes:</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="hintmaterial" type="hintmaterialType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Container for the set of contents to be revealed as a hint.
Type:

Notes:</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="interpretvar" type="interpretvarType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	The interpretation to be applied to the variable in terms relevant to an actor.
Type:

Notes:
	The variable must have be defined.  This element will be refined in Version 2.0.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="item" type="itemType">
		<xsd:annotation>
			<xsd:documentation>This is the Item object.</xsd:documentation>
			<xsd:documentation>An Item object contains all of the information for the presentation of a question and its subsequent processing to the user.  The structure of the Item includes the actual question and its presentation format, the range of possible responses, the ways in which the responses are to be processed, and the possible solutions and hints to the Item.</xsd:documentation>
			<xsd:documentation>Defined Elements
================
1.	itemmetadata
2.	itemcontrol
3.	itemprecondition
4.	itempostcondition
5.	itemrubric
6.	presentation
7.	response_lid
8.	response_xy
9.	response_str
10.	response_num
11.	response_grp
12.	response_label
13.	render_choice
14.	render_hotspot
15.	render_slider
16.	render_fib
17.	resprocessing
18.	respcondition
19.	outcomes
20.	itemfeedback
21.	solution
22.	solutionmaterial
23.	hint
24.	hintmaterial
Defined Attributes
==================
1.	title - title of the Item
2.	ident - the unique Item identifier</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="itemcontrol" type="itemcontrolType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Switches to be set for the Item.
Type:
	
Notes:
	These switches should be used to control the operation of the Section related conditions. Defined per actor.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="itemfeedback" type="itemfeedbackType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Feedback in response to the evaluation.
Type:
	
Notes:
	Feedback in response to a trigger of response, processing, hints and solutions.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="itemmetadata" type="itemmetadataType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Item metadata descriptions.
Type:

Notes:
	Defined as per the metadata definition.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="itempostcondition" type="itempostconditionType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Postcondition decision after the Item has been completed.
Type:
	For further study in V2.0.
Notes:
	For further study in V2.0.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="itemprecondition" type="itempreconditionType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Precondition decision before activating the Item.
Type:
	For further study in V2.0.
Notes:
	For further study in V2.0</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="itemproc_extension" type="extensionType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Proprietary extension support Item processing.
Type:
	Any valid element, PCDATA.
Notes:
	Acts as an extension element for any extensions to Item processing.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="itemref" type="itemrefType">
		<xsd:annotation>
			<xsd:documentation>	Explanation:
	To pull into scope the Items that are not defined within this Section block.
Type:

Notes:
	The referenced Item must be available somewhere otherwise execution errors will occur.  Binding is outside the scope of this specification.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="itemrubric" type="itemrubricType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	The view specific description of how to attempt the questions.
Type:
	Standard CONTENT.
Notes:
	Will not normally contain content specific to a question.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="itemselection" type="itemselectionType">
		<xsd:annotation>
			<xsd:documentation>	Explanation:
	Deciding which Items are required.
Type:
	For further study in V2.0.
Notes:
	For further study in V2.0.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="itemsequence" type="itemsequenceType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Deciding the sequence Items are to be used.
Type:
	For further study in V2.0.
Notes:
	For further study in V2.0.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="mat_extension" type="extensionType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Proprietary extension support for materials.
Type:
	Any valid element, PCDATA.
Notes:
	Acts as a high level element for any extensions to the data objects.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="matapplet" type="matappletType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Java applet material to be presented.
Type:
	PCDATA
Notes:</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="matapplication" type="matapplicationType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Application material to be presented.
Type:
	PCDATA
Notes:					
</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="mataudio" type="mataudioType">
		<xsd:annotation>
			<xsd:documentation>Explanation:	
	Audio material to be presented.
Type:
	PCDATA
Notes:
	Default type is basic.  The parsers must be capable of handling other types in the form '***/***'.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="material" type="materialType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	The container for material to be presented.
Type:
	
Notes:
	Each type of material has its own sub-element.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="matimage" type="matimageType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Graphic/image material to be presented.
Type
	PCDATA
Notes:
	Default type is jpeg.  The parser must be capable of handling others in the format of '***/***'.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="matref" type="matrefType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Reference to material that is defined elsewhere within the file.				
Type:
	PCDATA
Notes:
</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="mattext" type="mattextType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Textual material to be presented.
Type:
	PCDATA
Notes:
	</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="matvideo" type="matvideoType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Video material to be presented.
Type:
	PCDATA
Notes:
	Default type is 'avi'.  The parsers must be capable of handling other types in the form '***/***'.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="not" type="notType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	To invert the value of the enclosed variable test.
Type:

Notes:
</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="objectives" type="objectivesType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Assessment/Section/Item objectives presented to the user.
Type:

Notes:
	Each objective will be defined with respect to a view e.g. tutor, candidate, etc.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="or" type="orType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	The logical 'OR' operation.
Type:

Notes:
	Returns a 'True' statement if one conditions is 'True'.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="other" type="otherType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Condition for conditions not defined.
Type:

Notes:
	'True' returned if not defined condition occurs.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="outcomes" type="outcomesType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Declaration of the Item scoring variables.
Type:

Notes:
</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="presentation" type="presentationType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	The question response and rendering container.	
Type:
	
Notes:
	Each Presentation will consist of response types and rendering forms  A simple presentation has just one ResponseType whereas complex responses will be based upon several ResponseTypes.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="qmd_absolutescore" type="qmd_absolutescoreType">
		<xsd:annotation>
			<xsd:documentation>Explanation:	
	Range of scoring for the Assessment.	
Type:	
						
Notes:	
	The range of scores that the user may attain i.e. max score and min score.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="qmd_assessmenttype" type="qmd_assessmenttypeType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	The role of the Assessment.
Type:

Notes:
	The options are: "Examination", "Survey", "Tutorial", "Self-assessment", "Proprietary".</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="qmd_computerscored" type="qmd_computerscoredType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Whether or not the Item can be scored by computer.
Type:

Notes:
	Yes/No entry.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="qmd_feedbackavailable" type="qmd_feedbackavailableType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Whether or not feedback is available.
Type:

Notes:
	Yes/No entry.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="qmd_hintsavailable" type="qmd_hintsavailableType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Whether or not hints are available.
Type:

Notes:
	Yes/No entry.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="qmd_itemselection" type="qmd_itemselectionType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Support for Item selection.
Type:

Notes:
	Yes/No support for Item selection.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="qmd_itemsequence" type="qmd_itemsequenceType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Support for Item sequencing.
Type:

Notes:
	Yes/No support for Item sequencing.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="qmd_itemtype" type="qmd_itemtypeType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	The type of Item used.
Type:

Notes:
	The options are: "Logical Identifier", "XY-coordinate", "String", "Numerical" and "Logical Group".</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="qmd_levelofdifficulty" type="qmd_levelofdifficultyType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	The education level for which the Item is intended.
Type:

Notes:
	The options are: "Pre-school", "School" or "HE/FE", "Vocational" and "Professional Development".</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="qmd_material" type="qmd_materialType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	The type of material used within the Item.
Type:

Notes:
	The style of the list is as per the MIME formats. The full range of text, video, audio, etc. formats used.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="qmd_maximumscore" type="qmd_maximumscoreType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	The maximum score possible from that Item.
Type:

Notes:
	An integer or real number.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="qmd_numberofitems" type="qmd_numberofitemsType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	The number of Items contained by the object.
Type:

Notes:
	An integer number.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="qmd_renderingtype" type="qmd_renderingtypeType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	The type of rendering used within the Item.
Type:

Notes:
	The options are: "Choice", "Hotspot", "Slider", "String", and "Proprietary".</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="qmd_responsetype" type="qmd_responsetypeType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	The class of response expected for the Item.
Type:

Notes:
	The options are: "SIngle", "Multiple" or "Ordered".</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="qmd_scoretype" type="qmd_scoretypeType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	The type of scoring used.
Type:

Notes:
	The options are: "Absolute", "Percentage", "Unscored" and "Multidimensional".</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="qmd_scoringavailable" type="qmd_scoringavailableType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Whether or not scroing is used.
Type:
	
Notes:
	Yes/No entry.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="qmd_sectionselection" type="qmd_sectionselectionType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Support for Section selection.
Type:
	
Notes:
	Yes/No support for Section selection.		
			</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="qmd_sectionsequence" type="qmd_sectionsequenceType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Support for Section sequencing.
Type:

Notes:
	Yes/No support for Section sequencing.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="qmd_sectionsincluded" type="qmd_sectionsincludedType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Whether or not Sections are included available.
Type:

Notes:
	Yes/No entry.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="qmd_solutionsavailable" type="qmd_solutionsavailableType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Whether or not solutions are available.
Type:

Notes:
	Yes/No entry.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="qmd_status" type="qmd_statusType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	The status of the Item.
Type:

Notes:
	The options are: "Experimental", "Normal" or "Retired".</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="qmd_timedependence" type="qmd_timedependenceType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Whether or not the response are timed.
Type:

Notes:
	A Yes/No statement.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="qmd_timelimit" type="qmd_timelimitType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	The number of minutes or an unlimited duration.
Type:

Notes:					
	Either an integer number of minutes or the string "Unlimited".</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="qmd_toolvendor" type="qmd_toolvendorType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	The name of the vendor of the tool creating the Assessment.
Type:

Notes:
</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="qmd_topic" type="qmd_topicType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	A brief description of the topic covered by the Item.
Type:

Notes:
	Text-based description of the Item's topic.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="qmd_typeofsolution" type="qmd_typeofsolutionType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	The type of solution available in the Item.
Type:

Notes:
	The options to be used are: "Complete", "Incremental", "Multilevel" and "Proprietary".</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="qmd_weighting" type="qmd_weightingType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	The weighting of the Item score.
Type:

Notes:
	The weighting that  is applied to the scoring algorithm used for the Item.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="qticomment" type="qticommentType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Comments used to annotate the XML file.
Type:

Notes:
	Comments should be used to aid human readability of the XML file itself.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="questestinterop" type="questestinteropType">
		<xsd:annotation>
			<xsd:documentation>This is the Root element.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="render_choice" type="render_choiceType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Proprietary extension support Section processing.
Type:
	Any valid element, PCDATA.
Notes:
	Acts as an extension element for any extensions to Section processing.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="render_extension" type="extensionType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Proprietary extension support for rendering types.
Type:
	Any valid element, PCDATA.
Notes:
	Acts as a high level element for any extensions to the rendering objects.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="render_fib" type="render_fibType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	The Fill-in-blank (FIB) rendering.
Type:

Notes:
</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="render_hotspot" type="render_hotspotType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	The image hot spot rendering.
Type:

Notes:
	Defines the images to which the responses are referenced.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="render_slider" type="render_sliderType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Slider rendering format.
Type:

Notes:
</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="respcond_extension" type="extensionType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Control of the Item response evaluation.
Type:

Notes:
</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="respcondition" type="respconditionType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Control of the Item response evaluation.
Type:

Notes:
</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="response_extension" type="extensionType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Proprietary extension support for response types.
Type:
	Any valid element, PCDATA.
Notes:
	Acts as a high level element for any extensions to the response objects.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="response_grp" type="response_grpType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	The GRP type of response expected and its possible renderings.
Type:

Notes:
	The grouped identifiers of the selected response(s).</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="response_label" type="response_labelType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	The range of possible responses available.
Type:

Notes:
	The attributes used depend upon the form of rendering.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="response_lid" type="response_lidType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	The LID type of response expected and its possible rendering.
Type:

Notes:
	Logical identifier of the selected response(s).</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="response_na" type="extensionType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Proprietary extension for unanswered Response labels.
Type:

Notes:
</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="response_num" type="response_numType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	The NUM type of response expected and its possible renderings.
Type:

Notes:
	The number entered by the user as the response(s).</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="response_str" type="response_strType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	The STR type of response expected and its possible renderings.
Type:

Notes:
	The string entered by the user as the response(s).</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="response_xy" type="response_xyType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	The XY type of response expected and its possible renderings.
Type:

Notes:
	XY co-ordinates of the selected response(s).</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="resprocessing" type="resprocessingType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Evaluation processing of the user Item responses.
Type:

Notes:
</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="rubric" type="rubricType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	The view specific description of how to attempt the questions.
Type:
	Standard CONTENT.
Notes:
	Will not normally contain content specific to a question.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="scorecondition" type="scoreconditionType">
		<xsd:annotation>
			<xsd:documentation/>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="scorecondition_extension" type="extensionType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Proprietary extension to support scoring conditions.
Type:
	Any valid element, PCDATA.
Notes:
	Acts as an extension element for any extensions to Score conditions in Section/Assessment processing.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="scores" type="scoresType">
		<xsd:annotation>
			<xsd:documentation>			Explanation:					
				Creation of the response scoring variables.		
			Type:					
								
			Notes:					
				The assessment accumulated processing variable group.	</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="section" type="sectionType">
		<xsd:annotation>
			<xsd:documentation>This is the SECTION object.
The Section object contains all of the information to meaningfully group together Items i.e. apart from the Items the object includes the relationships between the Items and the selection criteria of the Items.
Defined Elements
=============
1.	sectionmetadata
2.	sectionprecondition
3.	sectionpostcondition
4.	sectioncontrol
5.	itemref
6.	itemselection
7.	itemsequence
8.	sectionprocessing
9.	sectionfeedback
Defined Attributes
==============
1.	title - title of the Section
2.	ident - the unique Section identifier</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="sectioncontrol" type="sectioncontrolType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Switches to be set for the Section.
Type:

Notes:
	These switches should be used to control the operation of the Section related conditions. Defined per actor.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="sectionfeedback" type="sectionfeedbackType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Feedback of the Section processing conclusions.
Type:

Notes:
	For further study in V2.0.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="sectionmetadata" type="sectionmetadataType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Section metadata descriptions.
Type:

Notes:
	Defined as per the metadata definition.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="sectionpostcondition" type="xsd:string">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Precondition decision before activating the Section.
Type:
	For further study in V2.0.
Notes:
	For further study in V2.0.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="sectionprecondition" type="xsd:string">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Postcondition decision activated after the Section has been completed.
Type:
	For further study in V2.0.
Notes:
	For further study in V2.0.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="sectionproc_extension" type="extensionType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Proprietary extension support Section processing.
Type:
	Any valid element, PCDATA.
Notes:
	Acts as an extension element for any extensions to Section processing.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="sectionprocessing" type="sectionprocessingType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Processing of the Section accumulated responses and scores.
Type:
	For further study in V2.0.
Notes:
	For further study in V2.0.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="sectionref" type="sectionrefType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	To pull into scope the Sections that are not defined within this Assessment block.
Type:

Notes:
	The referenced Section must be available somewhere otherwise execution errors will occur.  Binding is outside the scope of this specification.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="sectionselection" type="xsd:string">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Deciding which Sections are required.
Type:
	For further study in V2.0.
Notes:
	For further study in V2.0.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="sectionsequence" type="xsd:string">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Deciding the sequencing of the Sections.
Type:
	For further study in V2.0.
Notes:
	For further study in V2.0.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="setvar" type="setvarType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	The type of processing to be applied to the variable.
Type:

Notes:
	The variable must have be defined.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="solution" type="solutionType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	The Solution to be revealed to the user.
Type:

Notes:
	If the type is 'Complete' then only a single SOLUTIONMATERIAL should be supplied.  If the type is 'Multilevel' then each SOLUTIONMATERIAL is treated as a separate solution.  If the type is 'Incremental' then a series of steps are presented.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="solutionmaterial" type="solutionmaterialType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Container for the set of contents to be revealed as a solution.
Type:

Notes:
</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="unanswered" type="unansweredType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Condition for an unanswered response.
Type:
	
Notes:
	'True' returned if no response supplied.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="var_extension" type="extensionType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Proprietary extension support for variable condition comparisons.
Type:
	Any valid element, PCDATA.
Notes:
	Acts as a high level element for any extensions to the data objects.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="varequal" type="varequalType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Variable equivalence comparison test.
Type:

Notes:
	'True' is returned if equivalent.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="vargt" type="vargtType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Variable greater than comparison test.
Type:

Notes:
	'True' is returned if greater than the value.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="vargte" type="vargteType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Variable greater than or equal to comparison test.
Type:

Notes:
	'True' returned if greater or equal to the value.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="varinside" type="varinsideType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Determination if variable is within a defined area.
Type:

Notes:
	'True' returned if the XY-coord is within the area.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="varlt" type="varltType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Variable less than comparison test.
Type:

Notes:
	'True' is returned if less than the value.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="varlte" type="varlteType">
		<xsd:annotation>
			<xsd:documentation>Explanation:
	Variable less than or equal to comparison test.
Type:

Notes:
	'True' returned if less than or equal to the value.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="varsubset" type="varsubsetType">
		<xsd:annotation>
			<xsd:documentation>Explanation:	
	Variable comparison to a predefined set.	
Type:
	
Notes:	
	'True' returned if a member of the set.	</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<!--  -->
	<xsd:annotation>
		<xsd:documentation>simpleTypes</xsd:documentation>
	</xsd:annotation>
	<xsd:simpleType name="booleanType">
		<xsd:restriction base="xsd:NMTOKEN">
			<xsd:enumeration value="Yes"/>
			<xsd:enumeration value="No"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="durationType">
		<xsd:restriction base="xsd:string"/>
	</xsd:simpleType>
	<xsd:simpleType name="durequalType">
		<xsd:restriction base="xsd:string"/>
	</xsd:simpleType>
	<xsd:simpleType name="durgteType">
		<xsd:restriction base="xsd:string"/>
	</xsd:simpleType>
	<xsd:simpleType name="durgtType">
		<xsd:restriction base="xsd:string"/>
	</xsd:simpleType>
	<xsd:simpleType name="durlteType">
		<xsd:restriction base="xsd:string"/>
	</xsd:simpleType>
	<xsd:simpleType name="durltType">
		<xsd:restriction base="xsd:string"/>
	</xsd:simpleType>
	<xsd:simpleType name="itempostconditionType">
		<xsd:restriction base="xsd:string"/>
	</xsd:simpleType>
	<xsd:simpleType name="itempreconditionType">
		<xsd:restriction base="xsd:string"/>
	</xsd:simpleType>
	<xsd:simpleType name="itemselectionType">
		<xsd:restriction base="xsd:string"/>
	</xsd:simpleType>
	<xsd:simpleType name="itemsequenceType">
		<xsd:restriction base="xsd:string"/>
	</xsd:simpleType>
	<xsd:simpleType name="otherType">
		<xsd:restriction base="xsd:string"/>
	</xsd:simpleType>
	<xsd:simpleType name="displaymetricType">
		<xsd:restriction base="xsd:integer">
			<xsd:minExclusive value="0"/>
			<xsd:maxInclusive value="9999"/>
		</xsd:restriction>
	</xsd:simpleType>
	<!--  -->
	<xsd:annotation>
		<xsd:documentation>complexTypes </xsd:documentation>
	</xsd:annotation>
	<xsd:complexType name="altmaterialType">
		<xsd:sequence>
			<xsd:element ref="qticomment" minOccurs="0"/>
			<xsd:choice minOccurs="0" maxOccurs="unbounded">
				<xsd:element ref="mattext"/>
				<xsd:element ref="matimage"/>
				<xsd:element ref="mataudio"/>
				<xsd:element ref="matvideo"/>
				<xsd:element ref="matapplet"/>
				<xsd:element ref="matapplication"/>
				<xsd:element ref="mat_extension"/>
			</xsd:choice>
			<xsd:element ref="matref"/>
		</xsd:sequence>
		<xsd:attributeGroup ref="attr.linkrefid.req"/>
	</xsd:complexType>
	<xsd:complexType name="andType">
		<xsd:choice minOccurs="2" maxOccurs="unbounded">
			<xsd:group ref="grp.varchoice"/>
			<xsd:element ref="var_extension"/>
			<xsd:group ref="grp.durchoice"/>
			<xsd:element ref="and"/>
			<xsd:element ref="or"/>
			<xsd:element ref="not"/>
		</xsd:choice>
	</xsd:complexType>
	<xsd:complexType name="assessfeedbackType">
		<xsd:sequence>
			<xsd:element ref="qticomment" minOccurs="0"/>
			<xsd:element ref="material" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attributeGroup ref="attr.title"/>
		<xsd:attributeGroup ref="attr.ident"/>
		<xsd:attributeGroup ref="attr.view"/>
	</xsd:complexType>
	<xsd:complexType name="assessmentcontrolType">
		<xsd:sequence>
			<xsd:element ref="qticomment" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attributeGroup ref="attr.view"/>
		<xsd:attributeGroup ref="attr.switch"/>
	</xsd:complexType>
	<xsd:complexType name="assessmentmetadataType">
		<xsd:sequence>
			<xsd:element ref="qmd_absolutescore" minOccurs="0"/>
			<xsd:element ref="qmd_assessmenttype" minOccurs="0"/>
			<xsd:element ref="qmd_feedbackavailable" minOccurs="0"/>
			<xsd:element ref="qmd_hintsavailable" minOccurs="0"/>
			<xsd:element ref="qmd_scoretype"/>
			<xsd:element ref="qmd_solutionsavailable" minOccurs="0"/>
			<xsd:element ref="qmd_sectionselection" minOccurs="0"/>
			<xsd:element ref="qmd_sectionsequence" minOccurs="0"/>
			<xsd:element ref="qmd_itemselection" minOccurs="0"/>
			<xsd:element ref="qmd_itemsequence" minOccurs="0"/>
			<xsd:element ref="qmd_timelimit" minOccurs="0"/>
			<xsd:element ref="qmd_toolvendor" minOccurs="0"/>
			<xsd:element ref="qmd_material" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="assessmentType">
		<xsd:sequence>
			<xsd:element ref="qticomment" minOccurs="0"/>
			<xsd:element ref="duration" minOccurs="0"/>
			<xsd:element ref="assessmentmetadata" minOccurs="0"/>
			<xsd:element ref="objectives" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="rubric" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="assessmentcontrol" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="assessprocessing" minOccurs="0"/>
			<xsd:element ref="assessproc_extension" minOccurs="0"/>
			<xsd:element ref="assessfeedback" maxOccurs="unbounded"/>
			<xsd:element ref="sectionselection" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="sectionsequence" minOccurs="0"/>
			<xsd:element ref="sectionref" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="section" maxOccurs="unbounded"/>
			<!-- note: differs from DTD -->
			<!--xsd:group ref="grp.sectionset" maxOccurs="unbounded"/-->
		</xsd:sequence>
		<xsd:attributeGroup ref="attr.title"/>
		<xsd:attributeGroup ref="attr.ident"/>
	</xsd:complexType>
	<xsd:complexType name="assessprocessingType">
		<xsd:sequence>
			<xsd:element ref="qticomment" minOccurs="0"/>
			<xsd:element ref="scores"/>
			<xsd:element ref="scorecondition"/>
			<xsd:element ref="condition_extension" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="scoremodel" type="xsd:string" use="default" value="SumofScores"/>
	</xsd:complexType>
	<xsd:complexType name="conditionvarType">
		<xsd:sequence>
			<xsd:group ref="grp.varchoice" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="varsubset" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="var_extension"/>
			<xsd:group ref="grp.durchoice" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:group ref="grp.conditionalchoice" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="decvarType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:attributeGroup ref="attr.varname"/>
				<xsd:attribute name="vartype" use="default" value="Integer">
					<xsd:simpleType>
						<xsd:restriction base="xsd:NMTOKEN">
							<xsd:enumeration value="Integer"/>
							<xsd:enumeration value="String"/>
							<xsd:enumeration value="Decimal"/>
							<xsd:enumeration value="Scientific"/>
							<xsd:enumeration value="Boolean"/>
							<xsd:enumeration value="Enumerated"/>
							<xsd:enumeration value="Set"/>
						</xsd:restriction>
					</xsd:simpleType>
				</xsd:attribute>
				<xsd:attribute name="defaultval" type="xsd:string" use="default" value="0"/>
				<xsd:attribute name="minvalue" type="xsd:string"/>
				<xsd:attribute name="maxvalue" type="xsd:string"/>
				<xsd:attribute name="members" type="xsd:string"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="displayfeedbackType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:attribute name="feedbacktype" use="default" value="Response">
					<xsd:simpleType>
						<xsd:restriction base="xsd:NMTOKEN">
							<xsd:enumeration value="Response"/>
							<xsd:enumeration value="Solution"/>
							<xsd:enumeration value="Hint"/>
						</xsd:restriction>
					</xsd:simpleType>
				</xsd:attribute>
				<xsd:attributeGroup ref="attr.linkrefid.req"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="extensionType">
		<xsd:sequence>
			<xsd:any namespace="##any"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="hintmaterialType">
		<xsd:sequence>
			<xsd:element ref="material"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="hintType">
		<xsd:sequence>
			<xsd:element ref="qticomment" minOccurs="0"/>
			<xsd:element ref="hintmaterial" maxOccurs="unbounded"/>
		</xsd:sequence>
		<xsd:attributeGroup ref="attr.feedbackstyle"/>
		<xsd:attributeGroup ref="attr.view"/>
	</xsd:complexType>
	<xsd:complexType name="interpretvarType">
		<xsd:sequence>
			<xsd:element ref="material" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attributeGroup ref="attr.varname"/>
		<xsd:attributeGroup ref="attr.view"/>
	</xsd:complexType>
	<xsd:complexType name="itemcontrolType">
		<xsd:attributeGroup ref="attr.view"/>
		<xsd:attributeGroup ref="attr.switch"/>
	</xsd:complexType>
	<xsd:complexType name="itemfeedbackType">
		<xsd:sequence>
			<xsd:element ref="material" minOccurs="0"/>
			<xsd:element ref="solution" minOccurs="0"/>
			<xsd:element ref="hint" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attributeGroup ref="attr.title"/>
		<xsd:attributeGroup ref="attr.ident"/>
		<xsd:attributeGroup ref="attr.view"/>
	</xsd:complexType>
	<xsd:complexType name="itemmetadataType">
		<xsd:sequence>
			<xsd:element ref="qmd_computerscored" minOccurs="0"/>
			<xsd:element ref="qmd_feedbackavailable" minOccurs="0"/>
			<xsd:element ref="qmd_hintsavailable" minOccurs="0"/>
			<xsd:element ref="qmd_itemtype"/>
			<xsd:element ref="qmd_levelofdifficulty" minOccurs="0"/>
			<xsd:element ref="qmd_maximumscore"/>
			<xsd:element ref="qmd_renderingtype" maxOccurs="unbounded"/>
			<xsd:element ref="qmd_responsetype" maxOccurs="unbounded"/>
			<xsd:element ref="qmd_scoringavailable" minOccurs="0"/>
			<xsd:element ref="qmd_solutionsavailable" minOccurs="0"/>
			<xsd:element ref="qmd_sectionselection" minOccurs="0"/>
			<xsd:element ref="qmd_sectionsequence" minOccurs="0"/>
			<xsd:element ref="qmd_itemselection" minOccurs="0"/>
			<xsd:element ref="qmd_itemsequence" minOccurs="0"/>
			<xsd:element ref="qmd_status" minOccurs="0"/>
			<xsd:element ref="qmd_timedependence" minOccurs="0"/>
			<xsd:element ref="qmd_timelimit" minOccurs="0"/>
			<xsd:element ref="qmd_toolvendor" minOccurs="0"/>
			<xsd:element ref="qmd_topic" minOccurs="0"/>
			<xsd:element ref="qmd_material" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="qmd_typeofsolution" minOccurs="0"/>
			<xsd:element ref="qmd_weighting" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="itemrefType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:attributeGroup ref="attr.linkrefid.req"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="itemrubricType">
		<xsd:sequence>
			<xsd:element ref="material"/>
		</xsd:sequence>
		<xsd:attributeGroup ref="attr.view"/>
	</xsd:complexType>
	<xsd:complexType name="itemType">
		<xsd:sequence>
			<xsd:element ref="qticomment" minOccurs="0"/>
			<xsd:element ref="duration" minOccurs="0"/>
			<xsd:element ref="itemmetadata" minOccurs="0"/>
			<xsd:element ref="objectives" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="itemprecondition" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="itempostcondition" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="itemcontrol" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:choice minOccurs="0" maxOccurs="unbounded">
				<xsd:element ref="itemrubric"/>
				<xsd:element ref="rubric"/>
			</xsd:choice>
			<xsd:element ref="presentation" minOccurs="0"/>
			<xsd:element ref="resprocessing" minOccurs="0"/>
			<xsd:element ref="itemproc_extension" minOccurs="0"/>
			<xsd:element ref="itemfeedback" maxOccurs="unbounded"/>
		</xsd:sequence>
		<xsd:attributeGroup ref="attr.title"/>
		<xsd:attributeGroup ref="attr.ident"/>
		<xsd:attributeGroup ref="attr.label"/>
		<xsd:attribute name="maxattempts" type="xsd:integer"/>
	</xsd:complexType>
	<xsd:complexType name="matappletType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:attributeGroup ref="attr.ident"/>
				<xsd:attributeGroup ref="attr.pane"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="matapplicationType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:attribute name="apptype" type="xsd:string"/>
				<xsd:attributeGroup ref="attr.ident"/>
				<xsd:attributeGroup ref="attr.label"/>
				<xsd:attributeGroup ref="attr.uri"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="mataudioType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:attribute name="audiotype" type="xsd:string" use="default" value="audio/base"/>
				<xsd:attributeGroup ref="attr.ident"/>
				<xsd:attributeGroup ref="attr.label"/>
				<xsd:attributeGroup ref="attr.uri"/>
				<xsd:attributeGroup ref="attr.embedded"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="materialType">
		<xsd:sequence>
			<xsd:element ref="qticomment" minOccurs="0"/>
			<xsd:choice minOccurs="0" maxOccurs="unbounded">
				<xsd:element ref="mattext"/>
				<xsd:element ref="matimage"/>
				<xsd:element ref="mataudio"/>
				<xsd:element ref="matvideo"/>
				<xsd:element ref="matapplet"/>
				<xsd:element ref="matapplication"/>
				<xsd:element ref="matref"/>
			</xsd:choice>
			<xsd:element ref="mat_extension" minOccurs="0"/>
			<xsd:element ref="altmaterial" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attributeGroup ref="attr.label"/>
	</xsd:complexType>
	<xsd:complexType name="matimageType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:attributeGroup ref="attr.ident"/>
				<xsd:attribute name="imagtype" type="xsd:string" use="default" value="image/jpeg"/>
				<xsd:attributeGroup ref="attr.pane"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="matrefType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:attributeGroup ref="attr.linkrefid.req"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="mattextType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:attribute name="texttype" type="xsd:string" use="default" value="text/plain"/>
				<xsd:attributeGroup ref="attr.ident"/>
				<xsd:attributeGroup ref="attr.label"/>
				<xsd:attribute name="charset" type="xsd:string" use="default" value="ascii-us"/>
				<xsd:attributeGroup ref="attr.uri"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="matvideoType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:attributeGroup ref="attr.ident"/>
				<xsd:attribute name="videotype" type="xsd:string" use="default" value="video/avi"/>
				<xsd:attributeGroup ref="attr.pane"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="notType">
		<xsd:choice>
			<xsd:group ref="grp.varchoice"/>
			<xsd:element ref="var_extension"/>
			<xsd:group ref="grp.durchoice"/>
			<xsd:element ref="and"/>
			<xsd:element ref="or"/>
		</xsd:choice>
	</xsd:complexType>
	<xsd:complexType name="objectivesType">
		<xsd:sequence>
			<xsd:element ref="qticomment" minOccurs="0"/>
			<xsd:element ref="material"/>
		</xsd:sequence>
		<xsd:attributeGroup ref="attr.view"/>
	</xsd:complexType>
	<xsd:complexType name="orType">
		<xsd:choice minOccurs="2" maxOccurs="unbounded">
			<xsd:group ref="grp.varchoice"/>
			<xsd:element ref="var_extension"/>
			<xsd:group ref="grp.durchoice"/>
			<xsd:element ref="and"/>
			<xsd:element ref="or"/>
			<xsd:element ref="not"/>
		</xsd:choice>
	</xsd:complexType>
	<xsd:complexType name="outcomesType">
		<xsd:sequence>
			<xsd:element ref="qticomment" minOccurs="0"/>
			<xsd:element ref="decvar" maxOccurs="unbounded"/>
			<xsd:element ref="interpretvar" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="presentationType">
		<xsd:sequence>
			<xsd:element ref="qticomment" minOccurs="0"/>
			<xsd:element ref="material" minOccurs="0"/>
			<xsd:sequence maxOccurs="unbounded">
				<xsd:choice>
					<xsd:element ref="response_lid"/>
					<xsd:element ref="response_xy"/>
					<xsd:element ref="response_str"/>
					<xsd:element ref="response_num"/>
					<xsd:element ref="response_grp"/>
				</xsd:choice>
				<xsd:element ref="response_extension"/>
			</xsd:sequence>
		</xsd:sequence>
		<xsd:attributeGroup ref="attr.ident"/>
		<xsd:attributeGroup ref="attr.label"/>
	</xsd:complexType>
	<xsd:complexType name="qmd_absolutescoreType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string"/>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="qmd_assessmenttypeType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string"/>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="qmd_computerscoredType">
		<xsd:simpleContent>
			<xsd:extension base="booleanType"/>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="qmd_feedbackavailableType">
		<xsd:simpleContent>
			<xsd:extension base="booleanType"/>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="qmd_hintsavailableType">
		<xsd:simpleContent>
			<xsd:extension base="booleanType"/>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="qmd_itemselectionType">
		<xsd:simpleContent>
			<xsd:extension base="booleanType"/>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="qmd_itemsequenceType">
		<xsd:simpleContent>
			<xsd:extension base="booleanType"/>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="qmd_itemtypeType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string"/>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="qmd_levelofdifficultyType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string"/>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="qmd_materialType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string"/>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="qmd_maximumscoreType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string"/>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="qmd_numberofitemsType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string"/>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="qmd_renderingtypeType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string"/>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="qmd_responsetypeType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string"/>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="qmd_scoretypeType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string"/>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="qmd_scoringavailableType">
		<xsd:simpleContent>
			<xsd:extension base="booleanType"/>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="qmd_sectionselectionType">
		<xsd:simpleContent>
			<xsd:extension base="booleanType"/>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="qmd_sectionsequenceType">
		<xsd:simpleContent>
			<xsd:extension base="booleanType"/>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="qmd_sectionsincludedType">
		<xsd:simpleContent>
			<xsd:extension base="booleanType"/>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="qmd_solutionsavailableType">
		<xsd:simpleContent>
			<xsd:extension base="booleanType"/>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="qmd_statusType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string"/>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="qmd_timedependenceType">
		<xsd:simpleContent>
			<xsd:extension base="booleanType"/>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="qmd_timelimitType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string"/>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="qmd_toolvendorType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string"/>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="qmd_topicType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string"/>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="qmd_Type">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string"/>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="qmd_typeofsolutionType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string"/>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="qmd_weightingType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string"/>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="qticommentType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string"/>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="questestinteropType">
		<xsd:sequence>
			<xsd:element ref="qticomment" minOccurs="0"/>
			<xsd:choice maxOccurs="unbounded">
				<xsd:element ref="assessment"/>
				<xsd:element ref="section"/>
				<xsd:element ref="item"/>
			</xsd:choice>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="render_choiceType">
		<xsd:sequence>
			<xsd:element ref="material" minOccurs="0"/>
			<xsd:element ref="response_label" maxOccurs="unbounded"/>
			<xsd:element ref="response_na" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="shuffle" type="booleanType" use="default" value="Yes"/>
		<xsd:attributeGroup ref="attr.minmaxnumbers"/>
	</xsd:complexType>
	<xsd:complexType name="render_fibType">
		<xsd:sequence>
			<xsd:element ref="response_label" maxOccurs="unbounded"/>
			<xsd:element ref="response_na" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="encoding" type="xsd:string" use="default" value="UTF_8"/>
		<xsd:attribute name="fibtype" use="default" value="String">
			<xsd:simpleType>
				<xsd:restriction base="xsd:NMTOKEN">
					<xsd:enumeration value="String"/>
					<xsd:enumeration value="Integer"/>
					<xsd:enumeration value="Decimal"/>
					<xsd:enumeration value="Scientific"/>
					<xsd:enumeration value="Boolean"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
		<xsd:attribute name="rows" type="displaymetricType"/>
		<xsd:attribute name="columns" type="displaymetricType"/>
		<xsd:attribute name="maxchars">
			<xsd:simpleType>
				<xsd:restriction base="xsd:integer">
					<xsd:minInclusive value="1"/>
					<xsd:maxExclusive value="9999999"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
		<xsd:attribute name="prompt" use="default" value="Box">
			<xsd:simpleType>
				<xsd:restriction base="xsd:NMTOKEN">
					<xsd:enumeration value="Box"/>
					<xsd:enumeration value="Dashline"/>
					<xsd:enumeration value="Asterisk"/>
					<xsd:enumeration value="Underline"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
		<xsd:attribute name="charset" type="xsd:string" use="default" value="ascii-us"/>
		<xsd:attributeGroup ref="attr.minmaxnumbers"/>
	</xsd:complexType>
	<xsd:complexType name="render_hotspotType">
		<xsd:sequence>
			<xsd:element ref="material" maxOccurs="unbounded"/>
			<xsd:element ref="response_label" maxOccurs="unbounded"/>
			<xsd:element ref="response_na" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attributeGroup ref="attr.minmaxnumbers"/>
		<xsd:attribute name="showdraw" type="booleanType" use="default" value="No"/>
	</xsd:complexType>
	<xsd:complexType name="render_sliderType">
		<xsd:sequence>
			<xsd:element ref="response_label" maxOccurs="unbounded"/>
			<xsd:element ref="response_na" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="orientation">
			<xsd:simpleType>
				<xsd:restriction base="xsd:NMTOKEN">
					<xsd:enumeration value="Horizontal"/>
					<xsd:enumeration value="Vertical"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
		<xsd:attribute name="lowerbound" type="xsd:string" use="required"/>
		<xsd:attribute name="upperbound" type="xsd:string" use="required"/>
		<xsd:attribute name="step" type="xsd:string"/>
		<xsd:attribute name="startval" type="xsd:string"/>
		<xsd:attribute name="steplabel" type="booleanType" use="default" value="Yes"/>
		<xsd:attributeGroup ref="attr.minmaxnumbers"/>
	</xsd:complexType>
	<xsd:complexType name="respconditionType">
		<xsd:sequence>
			<xsd:element ref="qticomment" minOccurs="0"/>
			<xsd:element ref="conditionvar" maxOccurs="unbounded"/>
			<xsd:element ref="setvar" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="displayfeedback" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="respcond_extension" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attributeGroup ref="attr.continue"/>
		<xsd:attributeGroup ref="attr.title"/>
	</xsd:complexType>
	<xsd:complexType name="response_grpType">
		<xsd:sequence>
			<xsd:element ref="material" minOccurs="0"/>
			<xsd:group ref="grp.render"/>
		</xsd:sequence>
		<xsd:attributeGroup ref="attr.ident"/>
		<xsd:attributeGroup ref="attr.rcrit"/>
	</xsd:complexType>
	<xsd:complexType name="response_labelType" mixed="true">
		<xsd:sequence>
			<xsd:element ref="material" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attributeGroup ref="attr.ident"/>
		<xsd:attribute name="rshuffle" type="booleanType" use="default" value="No"/>
		<xsd:attribute name="rarea">
			<xsd:simpleType>
				<xsd:restriction base="xsd:NMTOKEN">
					<xsd:enumeration value="Ellipse"/>
					<xsd:enumeration value="Rectangle"/>
					<xsd:enumeration value="Bounded"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
		<xsd:attribute name="rrange" use="default" value="Exact">
			<xsd:simpleType>
				<xsd:restriction base="xsd:NMTOKEN">
					<xsd:enumeration value="Exact"/>
					<xsd:enumeration value="Range"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
	</xsd:complexType>
	<xsd:complexType name="response_lidType">
		<xsd:sequence>
			<xsd:element ref="material" minOccurs="0"/>
			<xsd:group ref="grp.render"/>
			<xsd:element ref="material" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attributeGroup ref="attr.ident"/>
		<xsd:attributeGroup ref="attr.rcrit"/>
	</xsd:complexType>
	<xsd:complexType name="response_numType">
		<xsd:sequence>
			<xsd:element ref="material" minOccurs="0"/>
			<xsd:group ref="grp.render"/>
		</xsd:sequence>
		<xsd:attributeGroup ref="attr.ident"/>
		<xsd:attributeGroup ref="attr.rcrit"/>
		<xsd:attribute name="numtype" use="default" value="Integer">
			<xsd:simpleType>
				<xsd:restriction base="xsd:NMTOKEN">
					<xsd:enumeration value="Integer"/>
					<xsd:enumeration value="Decimal"/>
					<xsd:enumeration value="Scientific"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
	</xsd:complexType>
	<xsd:complexType name="response_strType">
		<xsd:sequence>
			<xsd:element ref="material" minOccurs="0"/>
			<xsd:group ref="grp.render"/>
		</xsd:sequence>
		<xsd:attributeGroup ref="attr.ident"/>
		<xsd:attributeGroup ref="attr.rcrit"/>
	</xsd:complexType>
	<xsd:complexType name="response_xyType">
		<xsd:sequence>
			<xsd:element ref="material" minOccurs="0"/>
			<xsd:group ref="grp.render"/>
		</xsd:sequence>
		<xsd:attributeGroup ref="attr.ident"/>
		<xsd:attributeGroup ref="attr.rcrit"/>
	</xsd:complexType>
	<xsd:complexType name="resprocessingType">
		<xsd:sequence>
			<xsd:element ref="qticomment" minOccurs="0"/>
			<xsd:element ref="outcomes"/>
			<xsd:element ref="respcondition" maxOccurs="unbounded"/>
			<xsd:element ref="respcond_extension"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="rubricType">
		<xsd:sequence>
			<xsd:element ref="material"/>
		</xsd:sequence>
		<xsd:attributeGroup ref="attr.view"/>
	</xsd:complexType>
	<xsd:complexType name="scoreconditionType">
		<xsd:sequence>
			<xsd:element ref="qticomment" minOccurs="0"/>
			<xsd:element ref="conditionvar" maxOccurs="unbounded"/>
			<xsd:element ref="setvar" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="displayfeedback" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="scorecondition_extension" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attributeGroup ref="attr.title"/>
		<xsd:attributeGroup ref="attr.continue"/>
	</xsd:complexType>
	<xsd:complexType name="scoresType">
		<xsd:sequence>
			<xsd:element ref="qticomment" minOccurs="0"/>
			<xsd:element ref="decvar" maxOccurs="unbounded"/>
			<xsd:element ref="interpretvar" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="sectioncontrolType">
		<xsd:sequence>
			<xsd:element ref="qticomment" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attributeGroup ref="attr.switch"/>
		<xsd:attributeGroup ref="attr.view"/>
	</xsd:complexType>
	<xsd:complexType name="sectionfeedbackType">
		<xsd:sequence>
			<xsd:element ref="qticomment" minOccurs="0"/>
			<xsd:element ref="material" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attributeGroup ref="attr.view"/>
		<xsd:attributeGroup ref="attr.ident"/>
		<xsd:attributeGroup ref="attr.title"/>
	</xsd:complexType>
	<xsd:complexType name="sectionmetadataType">
		<xsd:sequence>
			<xsd:element ref="qmd_numberofitems"/>
			<xsd:element ref="qmd_sectionsincluded"/>
			<xsd:element ref="qmd_sectionselection" minOccurs="0"/>
			<xsd:element ref="qmd_sectionsequence" minOccurs="0"/>
			<xsd:element ref="qmd_itemselection" minOccurs="0"/>
			<xsd:element ref="qmd_itemsequence" minOccurs="0"/>
			<xsd:element ref="qmd_timelimit" minOccurs="0"/>
			<xsd:element ref="qmd_material" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="sectionprocessingType">
		<xsd:sequence>
			<xsd:element ref="qticomment" minOccurs="0"/>
			<xsd:element ref="scores"/>
			<xsd:element ref="scorecondition" maxOccurs="unbounded"/>
			<xsd:element ref="condition_extension" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="scoremodel" type="xsd:string" use="default" value="SumofScores"/>
	</xsd:complexType>
	<xsd:complexType name="sectionrefType">
		<xsd:sequence/>
		<xsd:attributeGroup ref="attr.linkrefid.req"/>
	</xsd:complexType>
	<xsd:complexType name="sectionType">
		<xsd:sequence>
			<xsd:element ref="qticomment" minOccurs="0"/>
			<xsd:element ref="duration" minOccurs="0"/>
			<xsd:element ref="sectionmetadata" minOccurs="0"/>
			<xsd:element ref="objectives" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="rubric" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="sectionprecondition" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="sectionpostcondition" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="sectioncontrol" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="sectionselection" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="sectionsequence" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:group ref="grp.sectionset" minOccurs="0" maxOccurs="unbounded">
				<!--Differs from DTD-->
			</xsd:group>
			<xsd:element ref="itemselection" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="itemsequence" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:group ref="grp.itemset" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="sectionprocessing" minOccurs="0"/>
			<xsd:element ref="sectionproc_extension" minOccurs="0"/>
			<xsd:element ref="sectionfeedback" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
		<xsd:attribute name="title" type="xsd:string"/>
		<xsd:attributeGroup ref="attr.ident"/>
	</xsd:complexType>
	<xsd:complexType name="setvarType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:attributeGroup ref="attr.varname"/>
				<xsd:attribute name="action" use="default" value="Set">
					<xsd:simpleType>
						<xsd:restriction base="xsd:NMTOKEN">
							<xsd:enumeration value="Set"/>
							<xsd:enumeration value="Add"/>
							<xsd:enumeration value="Subtract"/>
							<xsd:enumeration value="Multiply"/>
							<xsd:enumeration value="Divide"/>
						</xsd:restriction>
					</xsd:simpleType>
				</xsd:attribute>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="solutionmaterialType">
		<xsd:sequence>
			<xsd:element ref="material"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="solutionType">
		<xsd:sequence>
			<xsd:element ref="qticomment" minOccurs="0"/>
			<xsd:element ref="solutionmaterial" maxOccurs="unbounded"/>
		</xsd:sequence>
		<xsd:attributeGroup ref="attr.feedbackstyle"/>
		<xsd:attributeGroup ref="attr.view"/>
	</xsd:complexType>
	<xsd:complexType name="unansweredType">
		<xsd:complexContent>
			<xsd:extension base="respidentstringType"/>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="varequalType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:attributeGroup ref="attr.case"/>
				<xsd:attributeGroup ref="attr.respident"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="vargteType">
		<xsd:complexContent>
			<xsd:extension base="respidentstringType"/>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="vargtType">
		<xsd:complexContent>
			<xsd:extension base="respidentstringType"/>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="varinsideType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:attribute name="areatype" use="required">
					<xsd:simpleType>
						<xsd:restriction base="xsd:NMTOKEN">
							<xsd:enumeration value="Ellipse"/>
							<xsd:enumeration value="Rectangle"/>
							<xsd:enumeration value="Bounded"/>
						</xsd:restriction>
					</xsd:simpleType>
				</xsd:attribute>
				<xsd:attributeGroup ref="attr.respident"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="varlteType">
		<xsd:complexContent>
			<xsd:extension base="respidentstringType"/>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="varltType">
		<xsd:complexContent>
			<xsd:extension base="respidentstringType"/>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="varsubsetType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:attributeGroup ref="attr.case"/>
				<xsd:attributeGroup ref="attr.respident"/>
				<xsd:attribute name="setmatch" use="default" value="Exact">
					<xsd:simpleType>
						<xsd:restriction base="xsd:NMTOKEN">
							<xsd:enumeration value="Exact"/>
							<xsd:enumeration value="Partial"/>
						</xsd:restriction>
					</xsd:simpleType>
				</xsd:attribute>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<!--Abstract Types-->
	<xsd:complexType name="respidentstringType" abstract="true">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:attributeGroup ref="attr.respident"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
</xsd:schema>

