<?xml version = "1.0" encoding = "UTF-8"?>
<xs:schema xmlns = "http://www.imsglobal.org/xsd/ims_qtiasiv1p2"
	 targetNamespace = "http://www.imsglobal.org/xsd/ims_qtiasiv1p2"
	 xmlns:xs = "http://www.w3.org/2001/XMLSchema"
	 version = "IMS QTI ASI 1.2.1"
	 elementFormDefault = "qualified">
	<xs:import namespace = "http://www.w3.org/XML/1998/namespace" schemaLocation = "http://www.w3.org/2001/xml.xsd"/>
	<xs:annotation>
		<xs:documentation>
			XSD Data File Information
			-------------------------
			Author:         Colin Smythe
			Date:           25th January, 2008
			Version:        1.0
			Status:         Draft
			Description:    This is the XSD for the IMS ASI Question and Test Interoperability v1.2.1 specification.
							This defines how questions (Items) and Tests (Assessments) are to be exchanged.  It
							includes the definition of the item, section, assessment and objectbank structures.
			
			History:        This is the first attempt to create the XSD description of the QTIv1.2.1 specification.
			
			Copyright:      2005-2008 (c) IMS Global Learning Consortium Inc.  All Rights Reserved.
							IMS Global Learning Consortium, Inc. (IMS GLC) is publishing the information
							contained in this binding ("Specification") for purposes of scientific
							experimental and scholarly collaboration only.  IMS GLC makes no warranty or 
							representation regarding the accuracy or completeness of the Specification.
							This material is provided on an "As Is" and "As Available basis".
							The Specification is at all times subject to change and revision without
							notice. It is your sole responsibility to evaluate the usefulness, accuracy
							and completeness of the Specification as it relates to you.  IMS GLC would
							appreciate receiving your comments and suggestions.  Please contact IMS GLC
							through our website at: http://www.imsglobal.org.	
		</xs:documentation>
	</xs:annotation>

	<!-- ****************** -->
	<!-- ** Root Element ** -->
	<!-- ****************** -->
	
	<xs:element name = "questestinterop" type = "questestinteropType"/>
	
	<!-- ************************** -->
	<!-- ** Element Declarations ** -->
	<!-- ************************** -->
	
	<xs:element name = "altmaterial" type = "altmaterialType"/>
	<xs:element name = "and" type = "andType"/>
	<xs:element name = "and_objects" type = "and_objectsType"/>
	<xs:element name = "and_selection" type = "and_selectionType"/>
	<xs:element name = "and_test" type = "and_testType"/>
	<xs:element name = "assessfeedback" type = "assessfeedbackType"/>
	<xs:element name = "assessment" type = "assessmentType"/>
	<xs:element name = "assessmentcontrol" type = "assessmentcontrolType"/>
	<xs:element name = "assessproc_extension" type = "assessproc_extensionType"/>
	<xs:element name = "conditionvar" type = "conditionvarType"/>
	<xs:element name = "decvar" type = "decvarType"/>
	<xs:element name = "displayfeedback" type = "displayfeedbackType"/>
	<xs:element name = "duration" type = "xs:string"/>
	<xs:element name = "durequal" type = "durequalType"/>
	<xs:element name = "durgt" type = "durgtType"/>
	<xs:element name = "durgte" type = "durgteType"/>
	<xs:element name = "durlt" type = "durltType"/>
	<xs:element name = "durlte" type = "durlteType"/>
	<xs:element name = "fieldentry" type = "xs:string"/>
	<xs:element name = "fieldlabel" type = "xs:string"/>
	<xs:element name = "flow" type = "flowType"/>
	<xs:element name = "flow_label" type = "flow_labelType"/>
	<xs:element name = "flow_mat" type = "flow_matType"/>
	<xs:element name = "hint" type = "hintType"/>
	<xs:element name = "hintmaterial" type = "hintmaterialType"/>
	<xs:element name = "interpretvar" type = "interpretvarType"/>
	<xs:element name = "item" type = "itemType"/>
	<xs:element name = "itemcontrol" type = "itemcontrolType"/>
	<xs:element name = "itemfeedback" type = "itemfeedbackType"/>
	<xs:element name = "itemmetadata" type = "itemmetadataType"/>
	<xs:element name = "itempostcondition" type = "xs:string"/>
	<xs:element name = "itemprecondition" type = "xs:string"/>
	<xs:element name = "itemproc_extension" type = "itemproc_extensionType"/>
	<xs:element name = "itemref" type = "itemrefType"/>
	<xs:element name = "itemrubric" type = "itemrubricType"/>
	<xs:element name = "map_input" type = "map_inputType"/>
	<xs:element name = "map_output" type = "map_outputType"/>
	<xs:element name = "mat_extension" type = "mat_extensionType"/>
	<xs:element name = "matapplet" type = "matappletType"/>
	<xs:element name = "matapplication" type = "matapplicationType"/>
	<xs:element name = "mataudio" type = "mataudioType"/>
	<xs:element name = "matbreak" type = "matbreakType"/>
	<xs:element name = "matemtext" type = "matemtextType"/>
	<xs:element name = "material" type = "materialType"/>
	<xs:element name = "material_ref" type = "material_refType"/>
	<xs:element name = "matimage" type = "matimageType"/>
	<xs:element name = "matref" type = "matrefType"/>
	<xs:element name = "mattext" type = "mattextType"/>
	<xs:element name = "matvideo" type = "matvideoType"/>
	<xs:element name = "not" type = "notType"/>
	<xs:element name = "not_objects" type = "not_objectsType"/>
	<xs:element name = "not_selection" type = "not_selectionType"/>
	<xs:element name = "not_test" type = "not_testType"/>
	<xs:element name = "objectbank" type = "objectbankType"/>
	<xs:element name = "objectives" type = "objectivesType"/>
	<xs:element name = "objects_condition" type = "objects_conditionType"/>
	<xs:element name = "objects_parameter" type = "objects_parameterType"/>
	<xs:element name = "objectscond_extension" type = "xs:string"/>
	<xs:element name = "or" type = "orType"/>
	<xs:element name = "or_objects" type = "or_objectsType"/>
	<xs:element name = "or_selection" type = "or_selectionType"/>
	<xs:element name = "or_test" type = "or_testType"/>
	<xs:element name = "order" type = "orderType"/>
	<xs:element name = "order_extension" type = "order_extensionType"/>
	<xs:element name = "other" type = "xs:string"/>
	<xs:element name = "outcomes" type = "outcomesType"/>
	<xs:element name = "outcomes_feedback_test" type = "outcomes_feedback_testType"/>
	<xs:element name = "outcomes_metadata" type = "outcomes_metadataType"/>
	<xs:element name = "outcomes_processing" type = "outcomes_processingType"/>
	<xs:element name = "presentation" type = "presentationType"/>
	<xs:element name = "presentation_material" type = "presentation_materialType"/>
	<xs:element name = "processing_parameter" type = "processing_parameterType"/>
	<xs:element name = "qmd_computerscored" type = "xs:string"/>
	<xs:element name = "qmd_feedbackpermitted" type = "xs:string"/>
	<xs:element name = "qmd_hintspermitted" type = "xs:string"/>
	<xs:element name = "qmd_itemtype" type = "xs:string"/>
	<xs:element name = "qmd_levelofdifficulty" type = "xs:string"/>
	<xs:element name = "qmd_material" type = "xs:string"/>
	<xs:element name = "qmd_maximumscore" type = "xs:string"/>
	<xs:element name = "qmd_renderingtype" type = "xs:string"/>
	<xs:element name = "qmd_responsetype" type = "xs:string"/>
	<xs:element name = "qmd_scoringpermitted" type = "xs:string"/>
	<xs:element name = "qmd_solutionspermitted" type = "xs:string"/>
	<xs:element name = "qmd_status" type = "xs:string"/>
	<xs:element name = "qmd_timedependence" type = "xs:string"/>
	<xs:element name = "qmd_timelimit" type = "xs:string"/>
	<xs:element name = "qmd_toolvendor" type = "xs:string"/>
	<xs:element name = "qmd_topic" type = "xs:string"/>
	<xs:element name = "qmd_typeofsolution" type = "xs:string"/>
	<xs:element name = "qmd_weighting" type = "xs:string"/>
	<xs:element name = "qticomment" type = "qticommentType"/>
	<xs:element name = "qtimetadata" type = "qtimetadataType"/>
	<xs:element name = "qtimetadatafield" type = "qtimetadatafieldType"/>
	<xs:element name = "reference" type = "referenceType"/>
	<xs:element name = "render_choice" type = "render_choiceType"/>
	<xs:element name = "render_fib" type = "render_fibType"/>
	<xs:element name = "render_hotspot" type = "render_hotspotType"/>
	<xs:element name = "render_slider" type = "render_sliderType"/>
	<xs:element name = "respcond_extension" type = "respcond_extensionType"/>
	<xs:element name = "respcondition" type = "respconditionType"/>
	<xs:element name = "render_extension" type = "render_extensionType"/>
	<xs:element name = "response_extension" type = "response_extensionType"/>
	<xs:element name = "response_grp" type = "response_grpType"/>
	<xs:element name = "response_labelType" type = "response_labelType"/>
	<xs:element name = "response_lid" type = "response_lidType"/>
	<xs:element name = "response_na" type = "response_naType"/>
	<xs:element name = "response_num" type = "response_numType"/>
	<xs:element name = "response_str" type = "response_strType"/>
	<xs:element name = "response_xy" type = "response_xyType"/>
	<xs:element name = "resprocessing" type = "resprocessingType"/>
	<xs:element name = "rubric" type = "rubricType"/>
	<xs:element name = "section" type = "sectionType"/>
	<xs:element name = "sectioncontrol" type = "sectioncontrolType"/>
	<xs:element name = "sectionfeedback" type = "sectionfeedbackType"/>
	<xs:element name = "sectionproc_extension" type = "sectionproc_extensionType"/>
	<xs:element name = "sectionpostcondition" type = "xs:string"/>
	<xs:element name = "sectionprecondition" type = "xs:string"/>
	<xs:element name = "sectionref" type = "sectionrefType"/>
	<xs:element name = "selection" type = "selectionType"/>
	<xs:element name = "selection_extension" type = "selection_extensionType"/>
	<xs:element name = "selection_metadata" type = "selection_metadataType"/>
	<xs:element name = "selection_number" type = "xs:string"/>
	<xs:element name = "selection_ordering" type = "selection_orderingType"/>
	<xs:element name = "sequence_parameter" type = "sequence_parameterType"/>
	<xs:element name = "setvar" type = "setvarType"/>
	<xs:element name = "solution" type = "solutionType"/>
	<xs:element name = "solutionmaterial" type = "solutionmaterialType"/>
	<xs:element name = "sourcebank_ref" type = "xs:string"/>
	<xs:element name = "test_variable" type = "test_variableType"/>
	<xs:element name = "unanswered" type = "unansweredType"/>
	<xs:element name = "var_extension" type = "var_extensionType"/>
	<xs:element name = "varequal" type = "varequalType"/>
	<xs:element name = "vargt" type = "vargtType"/>
	<xs:element name = "vargte" type = "vargteType"/>
	<xs:element name = "variable_test" type = "variable_testType"/>
	<xs:element name = "varinside" type = "varinsideType"/>
	<xs:element name = "varlt" type = "varltType"/>
	<xs:element name = "varlte" type = "varlteType"/>
	<xs:element name = "varsubset" type = "varsubsetType"/>
	<xs:element name = "varsubstring" type = "varsubstringType"/>
	<xs:element name = "vocabulary" type = "vocabularyType"/>
	
	<!-- ******************************* -->
	<!-- ** Complex Type Declarations ** -->
	<!-- ******************************* -->
		
	<!-- ***************** -->
	<!-- ** altmaterial ** -->
	<!-- ***************** -->
	
	<xs:complexType name = "altmaterialType">
		<xs:sequence>
			<xs:element name = "qticomment" type = "qticommentType" minOccurs = "0"/>
			<xs:choice maxOccurs = "unbounded">
				<xs:element name = "mattext" type = "mattextType"/>
				<xs:element name = "matemtext" type = "matemtextType"/>
				<xs:element name = "matimage" type = "matimageType"/>
				<xs:element name = "mataudio" type = "mataudioType"/>
				<xs:element name = "matvideo" type = "matvideoType"/>
				<xs:element name = "matapplet" type = "matappletType"/>
				<xs:element name = "matapplication" type = "matapplicationType"/>
				<xs:element name = "matref" type = "matrefType"/>
				<xs:element ref = "matbreak"/>
				<xs:element ref = "mat_extension"/>
			</xs:choice>
		</xs:sequence>
		<xs:attribute ref = "xml:lang"/>
	</xs:complexType>
	
	<!-- ********* -->	
	<!-- ** and ** -->	
	<!-- ********* -->
	
	<xs:complexType name = "andType">
		<xs:choice maxOccurs = "unbounded">
			<xs:element name = "not" type = "notType"/>
			<xs:element name = "and" type = "andType"/>
			<xs:element name = "or" type = "orType"/>
			<xs:element name = "unanswered" type = "unansweredType"/>
			<xs:element ref = "other"/>
			<xs:element name = "varequal" type = "varequalType"/>
			<xs:element name = "varlt" type = "varltType"/>
			<xs:element name = "varlte" type = "varlteType"/>
			<xs:element name = "vargt" type = "vargtType"/>
			<xs:element name = "vargte" type = "vargteType"/>
			<xs:element name = "varsubset" type = "varsubsetType"/>
			<xs:element name = "varinside" type = "varinsideType"/>
			<xs:element name = "varsubstring" type = "varsubstringType"/>
			<xs:element name = "durequal" type = "durequalType"/>
			<xs:element name = "durlt" type = "durltType"/>
			<xs:element name = "durlte" type = "durlteType"/>
			<xs:element name = "durgt" type = "durgtType"/>
			<xs:element name = "durgte" type = "durgteType"/>
		</xs:choice>
	</xs:complexType>
	
	<!-- ***************** -->
	<!-- ** and_objects ** -->
	<!-- ***************** -->
	
	<xs:complexType name = "and_objectsType">
		<xs:choice maxOccurs = "unbounded">
			<xs:element name = "outcomes_metadata" type = "outcomes_metadataType"/>
			<xs:element name = "and_objects" type = "and_objectsType"/>
			<xs:element name = "or_objects" type = "or_objectsType"/>
			<xs:element name = "not_objects" type = "not_objectsType"/>
		</xs:choice>
	</xs:complexType>
	
	<!-- ******************* -->
	<!-- ** and_selection ** -->
	<!-- ******************* -->
	
	<xs:complexType name = "and_selectionType">
		<xs:choice maxOccurs = "unbounded">
			<xs:element name = "selection_metadata" type = "selection_metadataType"/>
			<xs:element name = "and_selection" type = "and_selectionType"/>
			<xs:element name = "or_selection" type = "or_selectionType"/>
			<xs:element name = "not_selection" type = "not_selectionType"/>
		</xs:choice>
	</xs:complexType>
	
	<!-- ************** -->	
	<!-- ** and_test ** -->	
	<!-- ************** -->
	
	<xs:complexType name = "and_testType">
		<xs:choice maxOccurs = "unbounded">
			<xs:element name = "variable_test" type = "variable_testType"/>
			<xs:element name = "and_test" type = "and_testType"/>
			<xs:element name = "or_test" type = "or_testType"/>
			<xs:element name = "not_test" type = "not_testType"/>
		</xs:choice>
	</xs:complexType>
	
	<!-- ******************** -->	
	<!-- ** assessfeedback ** -->	
	<!-- ******************** -->
	
	<xs:complexType name = "assessfeedbackType">
		<xs:sequence>
			<xs:element name = "qticomment" type = "qticommentType" minOccurs = "0"/>
			<xs:choice>
				<xs:element name = "material" type = "materialType" maxOccurs = "unbounded"/>
				<xs:element name = "flow_mat" type = "flow_matType" maxOccurs = "unbounded"/>
			</xs:choice>
		</xs:sequence>
		<xs:attribute name = "view" default = "All">
			<xs:simpleType>
				<xs:restriction base = "xs:NMTOKEN">
					<xs:enumeration value = "All"/>
					<xs:enumeration value = "Administrator"/>
					<xs:enumeration value = "AdminAuthority"/>
					<xs:enumeration value = "Assessor"/>
					<xs:enumeration value = "Author"/>
					<xs:enumeration value = "Candidate"/>
					<xs:enumeration value = "InvigilatorProctor"/>
					<xs:enumeration value = "Psychometrician"/>
					<xs:enumeration value = "Scorer"/>
					<xs:enumeration value = "Tutor"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name = "ident" use = "required" type = "xs:string"/>
		<xs:attribute name = "title" type = "xs:string"/>
	</xs:complexType>
	
	<!-- **************** -->
	<!-- ** assessment ** -->
	<!-- **************** -->
	
	<xs:complexType name = "assessmentType">
		<xs:sequence>
			<xs:element name = "qticomment" type = "qticommentType" minOccurs = "0"/>
			<xs:element ref = "duration" minOccurs = "0"/>
			<xs:element name = "qtimetadata" type = "qtimetadataType" minOccurs = "0" maxOccurs = "unbounded"/>
			<xs:element name = "objectives" type = "objectivesType" minOccurs = "0" maxOccurs = "unbounded"/>
			<xs:element name = "assessmentcontrol" type = "assessmentcontrolType" minOccurs = "0" maxOccurs = "unbounded"/>
			<xs:element name = "rubric" type = "rubricType" minOccurs = "0" maxOccurs = "unbounded"/>
			<xs:element name = "presentation_material" type = "presentation_materialType" minOccurs = "0"/>
			<xs:element name = "outcomes_processing" type = "outcomes_processingType" minOccurs = "0" maxOccurs = "unbounded"/>
			<xs:element ref = "assessproc_extension" minOccurs = "0"/>
			<xs:element name = "assessfeedback" type = "assessfeedbackType" minOccurs = "0" maxOccurs = "unbounded"/>
			<xs:element name = "selection_ordering" type = "selection_orderingType" minOccurs = "0"/>
			<xs:element name = "reference" type = "referenceType" minOccurs = "0"/>
			<xs:choice maxOccurs = "unbounded">
				<xs:element name = "sectionref" type = "sectionrefType"/>
				<xs:element name = "section" type = "sectionType"/>
			</xs:choice>
		</xs:sequence>
		<xs:attribute name = "ident" use = "required" type = "xs:string"/>
		<xs:attribute name = "title" type = "xs:string"/>
		<xs:attribute ref = "xml:lang"/>
	</xs:complexType>
	
	<!-- *********************** -->	
	<!-- ** assessmentcontrol ** -->		
	<!-- *********************** -->
	
	<xs:complexType name = "assessmentcontrolType">
		<xs:sequence>
			<xs:element name = "qticomment" type = "qticommentType" minOccurs = "0"/>
		</xs:sequence>
		<xs:attribute name = "hintswitch" default = "Yes">
			<xs:simpleType>
				<xs:restriction base = "xs:NMTOKEN">
					<xs:enumeration value = "Yes"/>
					<xs:enumeration value = "No"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name = "solutionswitch" default = "Yes">
			<xs:simpleType>
				<xs:restriction base = "xs:NMTOKEN">
					<xs:enumeration value = "Yes"/>
					<xs:enumeration value = "No"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name = "view" default = "All">
			<xs:simpleType>
				<xs:restriction base = "xs:NMTOKEN">
					<xs:enumeration value = "All"/>
					<xs:enumeration value = "Administrator"/>
					<xs:enumeration value = "AdminAuthority"/>
					<xs:enumeration value = "Assessor"/>
					<xs:enumeration value = "Author"/>
					<xs:enumeration value = "Candidate"/>
					<xs:enumeration value = "InvigilatorProctor"/>
					<xs:enumeration value = "Psychometrician"/>
					<xs:enumeration value = "Scorer"/>
					<xs:enumeration value = "Tutor"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name = "feedbackswitch" default = "Yes">
			<xs:simpleType>
				<xs:restriction base = "xs:NMTOKEN">
					<xs:enumeration value = "Yes"/>
					<xs:enumeration value = "No"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>
	
	<!-- ************************** -->	
	<!-- ** assessproc_extension ** -->	
	<!-- ************************** -->
	
	<xs:complexType name = "assessproc_extensionType" mixed = "true">
		<xs:sequence>
			<xs:any namespace = "##any" processContents = "lax" minOccurs = "0" maxOccurs = "unbounded"/>
		</xs:sequence>
		<xs:anyAttribute namespace = "http://www.w3.org/2001/XMLSchema" processContents = "lax"/>
	</xs:complexType>
	
	<!-- ****************** -->	
	<!-- ** conditionvar ** -->	
	<!-- ****************** -->
	
	<xs:complexType name = "conditionvarType">
		<xs:choice maxOccurs = "unbounded">
			<xs:element name = "not" type = "notType"/>
			<xs:element name = "and" type = "andType"/>
			<xs:element name = "or" type = "orType"/>
			<xs:element name = "unanswered" type = "unansweredType"/>
			<xs:element ref = "other"/>
			<xs:element name = "varequal" type = "varequalType"/>
			<xs:element name = "varlt" type = "varltType"/>
			<xs:element name = "varlte" type = "varlteType"/>
			<xs:element name = "vargt" type = "vargtType"/>
			<xs:element name = "vargte" type = "vargteType"/>
			<xs:element name = "varsubset" type = "varsubsetType"/>
			<xs:element name = "varinside" type = "varinsideType"/>
			<xs:element name = "varsubstring" type = "varsubstringType"/>
			<xs:element name = "durequal" type = "durequalType"/>
			<xs:element name = "durlt" type = "durltType"/>
			<xs:element name = "durlte" type = "durlteType"/>
			<xs:element name = "durgt" type = "durgtType"/>
			<xs:element name = "durgte" type = "durgteType"/>
			<xs:element ref = "var_extension"/>
		</xs:choice>
	</xs:complexType>
	
	<!-- ************ -->	
	<!-- ** decvar ** -->	
	<!-- ************ -->
	
	<xs:complexType name = "decvarType">
		<xs:simpleContent>
			<xs:extension base = "xs:string">
				<xs:attribute name = "varname" default = "SCORE" type = "xs:string"/>
				<xs:attribute name = "vartype" default = "Integer">
					<xs:simpleType>
						<xs:restriction base = "xs:NMTOKEN">
							<xs:enumeration value = "Integer"/>
							<xs:enumeration value = "String"/>
							<xs:enumeration value = "Decimal"/>
							<xs:enumeration value = "Scientific"/>
							<xs:enumeration value = "Boolean"/>
							<xs:enumeration value = "Enumerated"/>
							<xs:enumeration value = "Set"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
				<xs:attribute name = "defaultval" type = "xs:string"/>
				<xs:attribute name = "minvalue" type = "xs:string"/>
				<xs:attribute name = "maxvalue" type = "xs:string"/>
				<xs:attribute name = "members" type = "xs:string"/>
				<xs:attribute name = "cutvalue" type = "xs:string"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<!-- ********************* -->	
	<!-- ** displayfeedback ** -->	
	<!-- ********************* -->
	
	<xs:complexType name = "displayfeedbackType">
		<xs:simpleContent>
			<xs:extension base = "xs:string">
				<xs:attribute name = "feedbacktype" default = "Response">
					<xs:simpleType>
						<xs:restriction base = "xs:NMTOKEN">
							<xs:enumeration value = "Response"/>
							<xs:enumeration value = "Solution"/>
							<xs:enumeration value = "Hint"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
				<xs:attribute name = "linkrefid" use = "required" type = "xs:string"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<!-- ************** -->	
	<!-- ** durequal ** -->	
	<!-- ************** -->
	
	<xs:complexType name = "durequalType">
		<xs:simpleContent>
			<xs:extension base = "xs:string">
				<xs:attribute name = "index" type = "xs:string"/>
				<xs:attribute name = "respident" use = "required" type = "xs:string"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<!-- *********** -->	
	<!-- ** durgt ** -->	
	<!-- *********** -->
	
	<xs:complexType name = "durgtType">
		<xs:simpleContent>
			<xs:extension base = "xs:string">
				<xs:attribute name = "index" type = "xs:string"/>
				<xs:attribute name = "respident" use = "required" type = "xs:string"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<!-- ************ -->	
	<!-- ** durgte ** -->	
	<!-- ************ -->
	
	<xs:complexType name = "durgteType">
		<xs:simpleContent>
			<xs:extension base = "xs:string">
				<xs:attribute name = "index" type = "xs:string"/>
				<xs:attribute name = "respident" use = "required" type = "xs:string"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<!-- *********** -->	
	<!-- ** durlt ** -->	
	<!-- *********** -->
	
	<xs:complexType name = "durltType">
		<xs:simpleContent>
			<xs:extension base = "xs:string">
				<xs:attribute name = "index" type = "xs:string"/>
				<xs:attribute name = "respident" use = "required" type = "xs:string"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<!-- ************ -->	
	<!-- ** durlte ** -->	
	<!-- ************ -->
	
	<xs:complexType name = "durlteType">
		<xs:simpleContent>
			<xs:extension base = "xs:string">
				<xs:attribute name = "index" type = "xs:string"/>
				<xs:attribute name = "respident" use = "required" type = "xs:string"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<!-- ********** -->	
	<!-- ** flow ** -->	
	<!-- ********** -->
	
	<xs:complexType name = "flowType">
		<xs:sequence>
			<xs:element ref = "qticomment" minOccurs = "0"/>
			<xs:choice maxOccurs = "unbounded">
				<xs:element name = "flow" type = "flowType"/>
				<xs:element name = "material" type = "materialType"/>
				<xs:element name = "material_ref" type = "material_refType"/>
				<xs:element name = "response_lid" type = "response_lidType"/>
				<xs:element name = "response_xy" type = "response_xyType"/>
				<xs:element name = "response_str" type = "response_strType"/>
				<xs:element name = "response_num" type = "response_numType"/>
				<xs:element name = "response_grp" type = "response_grpType"/>
				<xs:element ref = "response_extension"/>
			</xs:choice>
		</xs:sequence>
		<xs:attribute name = "class" default = "Block" type = "xs:string"/>
	</xs:complexType>
	
	<!-- **************** -->	
	<!-- ** flow_label ** -->
	<!-- **************** -->
	
	<xs:complexType name = "flow_labelType">
		<xs:sequence>
			<xs:element ref = "qticomment" minOccurs = "0"/>
			<xs:choice maxOccurs = "unbounded">
				<xs:element name = "flow_label" type = "flow_labelType"/>
				<xs:element name = "response_label" type = "response_labelType"/>
			</xs:choice>
		</xs:sequence>
		<xs:attribute name = "class" default = "Block" type = "xs:string"/>
	</xs:complexType>
	
	<!-- ************** -->	
	<!-- ** flow_mat ** -->	
	<!-- ************** -->
	
	<xs:complexType name = "flow_matType">
		<xs:sequence>
			<xs:element ref = "qticomment" minOccurs = "0"/>
			<xs:choice maxOccurs = "unbounded">
				<xs:element name = "flow_mat" type = "flow_matType"/>
				<xs:element name = "material" type = "materialType"/>
				<xs:element name = "material_ref" type = "material_refType"/>
			</xs:choice>
		</xs:sequence>
		<xs:attribute name = "class" default = "Block" type = "xs:string"/>
	</xs:complexType>
	
	<!-- ********** -->
	<!-- ** hint ** -->
	<!-- ********** -->
	
	<xs:complexType name = "hintType">
		<xs:sequence>
			<xs:element name = "qticomment" type = "qticommentType" minOccurs = "0"/>
			<xs:element name = "hintmaterial" type = "hintmaterialType" maxOccurs = "unbounded"/>
		</xs:sequence>
		<xs:attribute name = "feedbackstyle" default = "Complete">
			<xs:simpleType>
				<xs:restriction base = "xs:NMTOKEN">
					<xs:enumeration value = "Complete"/>
					<xs:enumeration value = "Incremental"/>
					<xs:enumeration value = "Multilevel"/>
					<xs:enumeration value = "Proprietary"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>
	
	<!-- ****************** -->	
	<!-- ** hintmaterial ** -->	
	<!-- ****************** -->
	
	<xs:complexType name = "hintmaterialType">
		<xs:choice>
			<xs:element name = "material" type = "materialType" maxOccurs = "unbounded"/>
			<xs:element name = "flow_mat" type = "flow_matType" maxOccurs = "unbounded"/>
		</xs:choice>
	</xs:complexType>
	
	<!-- ****************** -->	
	<!-- ** interpretvar ** -->	
	<!-- ****************** -->
	
	<xs:complexType name = "interpretvarType">
		<xs:choice>
			<xs:element name = "material" type = "materialType"/>
			<xs:element name = "material_ref" type = "material_refType"/>
		</xs:choice>
		<xs:attribute name = "view" default = "All">
			<xs:simpleType>
				<xs:restriction base = "xs:NMTOKEN">
					<xs:enumeration value = "All"/>
					<xs:enumeration value = "Administrator"/>
					<xs:enumeration value = "AdminAuthority"/>
					<xs:enumeration value = "Assessor"/>
					<xs:enumeration value = "Author"/>
					<xs:enumeration value = "Candidate"/>
					<xs:enumeration value = "InvigilatorProctor"/>
					<xs:enumeration value = "Psychometrician"/>
					<xs:enumeration value = "Scorer"/>
					<xs:enumeration value = "Tutor"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name = "varname" default = "SCORE" type = "xs:string"/>
	</xs:complexType>
	
	<!-- ********** -->	
	<!-- ** item ** -->	
	<!-- ********** -->
	
	<xs:complexType name = "itemType">
		<xs:sequence>
			<xs:element name = "qticomment" type = "qticommentType" minOccurs = "0"/>
			<xs:element ref = "duration" minOccurs = "0"/>
			<xs:element name = "itemmetadata" type = "itemmetadataType" minOccurs = "0"/>
			<xs:element name = "objectives" type = "objectivesType" minOccurs = "0" maxOccurs = "unbounded"/>
			<xs:element name = "itemcontrol" type = "itemcontrolType" minOccurs = "0" maxOccurs = "unbounded"/>
			<xs:element ref = "itemprecondition" minOccurs = "0" maxOccurs = "unbounded"/>
			<xs:element ref = "itempostcondition" minOccurs = "0" maxOccurs = "unbounded"/>
			<xs:choice minOccurs = "0" maxOccurs = "unbounded">
				<xs:element name = "itemrubric" type = "itemrubricType"/>
				<xs:element name = "rubric" type = "rubricType"/>
			</xs:choice>
			<xs:element name = "presentation" type = "presentationType" minOccurs = "0"/>
			<xs:element name = "resprocessing" type = "resprocessingType" minOccurs = "0" maxOccurs = "unbounded"/>
			<xs:element ref = "itemproc_extension" minOccurs = "0"/>
			<xs:element name = "itemfeedback" type = "itemfeedbackType" minOccurs = "0" maxOccurs = "unbounded"/>
			<xs:element name = "reference" type = "referenceType" minOccurs = "0"/>
		</xs:sequence>
		<xs:attribute name = "maxattempts" type = "xs:string"/>
		<xs:attribute name = "label" type = "xs:string"/>
		<xs:attribute name = "ident" use = "required" type = "xs:string"/>
		<xs:attribute name = "title" type = "xs:string"/>
		<xs:attribute ref = "xml:lang"/>
	</xs:complexType>
	
	<!-- ***************** -->	
	<!-- ** itemcontrol ** -->	
	<!-- ***************** -->
	
	<xs:complexType name = "itemcontrolType">
		<xs:sequence>
			<xs:element name = "qticomment" type = "qticommentType" minOccurs = "0"/>
		</xs:sequence>
		<xs:attribute name = "feedbackswitch" default = "Yes">
			<xs:simpleType>
				<xs:restriction base = "xs:NMTOKEN">
					<xs:enumeration value = "Yes"/>
					<xs:enumeration value = "No"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name = "hintswitch" default = "Yes">
			<xs:simpleType>
				<xs:restriction base = "xs:NMTOKEN">
					<xs:enumeration value = "Yes"/>
					<xs:enumeration value = "No"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name = "solutionswitch" default = "Yes">
			<xs:simpleType>
				<xs:restriction base = "xs:NMTOKEN">
					<xs:enumeration value = "Yes"/>
					<xs:enumeration value = "No"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name = "view" default = "All">
			<xs:simpleType>
				<xs:restriction base = "xs:NMTOKEN">
					<xs:enumeration value = "All"/>
					<xs:enumeration value = "Administrator"/>
					<xs:enumeration value = "AdminAuthority"/>
					<xs:enumeration value = "Assessor"/>
					<xs:enumeration value = "Author"/>
					<xs:enumeration value = "Candidate"/>
					<xs:enumeration value = "InvigilatorProctor"/>
					<xs:enumeration value = "Psychometrician"/>
					<xs:enumeration value = "Scorer"/>
					<xs:enumeration value = "Tutor"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>
	
	<!-- ****************** -->	
	<!-- ** itemfeedback ** -->	
	<!-- ****************** -->
	
	<xs:complexType name = "itemfeedbackType">
		<xs:choice maxOccurs = "unbounded">
			<xs:choice>
				<xs:element name = "flow_mat" type = "flow_matType"/>
				<xs:element name = "material" type = "materialType"/>
			</xs:choice>
			<xs:element name = "solution" type = "solutionType"/>
			<xs:element name = "hint" type = "hintType"/>
		</xs:choice>
		<xs:attribute name = "view" default = "All">
			<xs:simpleType>
				<xs:restriction base = "xs:NMTOKEN">
					<xs:enumeration value = "All"/>
					<xs:enumeration value = "Administrator"/>
					<xs:enumeration value = "AdminAuthority"/>
					<xs:enumeration value = "Assessor"/>
					<xs:enumeration value = "Author"/>
					<xs:enumeration value = "Candidate"/>
					<xs:enumeration value = "InvigilatorProctor"/>
					<xs:enumeration value = "Psychometrician"/>
					<xs:enumeration value = "Scorer"/>
					<xs:enumeration value = "Tutor"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name = "ident" use = "required" type = "xs:string"/>
		<xs:attribute name = "title" type = "xs:string"/>
	</xs:complexType>
	
	<!-- ****************** -->	
	<!-- ** itemmetadata ** -->	
	<!-- ****************** -->
	
	<xs:complexType name = "itemmetadataType">
		<xs:sequence>
			<xs:element name = "qtimetadata" type = "qtimetadataType" minOccurs = "0" maxOccurs = "unbounded"/>
			<xs:element ref = "qmd_computerscored" minOccurs = "0"/>
			<xs:element ref = "qmd_feedbackpermitted" minOccurs = "0"/>
			<xs:element ref = "qmd_hintspermitted" minOccurs = "0"/>
			<xs:element ref = "qmd_itemtype" minOccurs = "0"/>
			<xs:element ref = "qmd_levelofdifficulty" minOccurs = "0"/>
			<xs:element ref = "qmd_maximumscore" minOccurs = "0"/>
			<xs:element ref = "qmd_renderingtype" minOccurs = "0" maxOccurs = "unbounded"/>
			<xs:element ref = "qmd_responsetype" minOccurs = "0" maxOccurs = "unbounded"/>
			<xs:element ref = "qmd_scoringpermitted" minOccurs = "0"/>
			<xs:element ref = "qmd_solutionspermitted" minOccurs = "0"/>
			<xs:element ref = "qmd_status" minOccurs = "0"/>
			<xs:element ref = "qmd_timedependence" minOccurs = "0"/>
			<xs:element ref = "qmd_timelimit" minOccurs = "0"/>
			<xs:element ref = "qmd_toolvendor" minOccurs = "0"/>
			<xs:element ref = "qmd_topic" minOccurs = "0"/>
			<xs:element ref = "qmd_weighting" minOccurs = "0"/>
			<xs:element ref = "qmd_material" minOccurs = "0" maxOccurs = "unbounded"/>
			<xs:element ref = "qmd_typeofsolution" minOccurs = "0"/>
		</xs:sequence>
	</xs:complexType>
	
	<!-- ************************ -->	
	<!-- ** itemproc_extension ** -->	
	<!-- ************************ -->
	
	<xs:complexType name = "itemproc_extensionType" mixed = "true">
		<xs:sequence>
			<xs:any namespace = "##any" processContents = "lax" minOccurs = "0" maxOccurs = "unbounded"/>
		</xs:sequence>
		<xs:anyAttribute namespace = "http://www.w3.org/2001/XMLSchema" processContents = "lax"/>
	</xs:complexType>
	
	<!-- ************* -->	
	<!-- ** itemref ** -->	
	<!-- ************* -->
	
	<xs:complexType name = "itemrefType">
		<xs:simpleContent>
			<xs:extension base = "xs:string">
				<xs:attribute name = "linkrefid" use = "required" type = "xs:string"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<!-- **************** -->	
	<!-- ** itemrubric ** -->	
	<!-- **************** -->
	
	<xs:complexType name = "itemrubricType">
		<xs:sequence>
			<xs:element name = "material" type = "materialType"/>
		</xs:sequence>
		<xs:attribute name = "view" default = "All">
			<xs:simpleType>
				<xs:restriction base = "xs:NMTOKEN">
					<xs:enumeration value = "All"/>
					<xs:enumeration value = "Administrator"/>
					<xs:enumeration value = "AdminAuthority"/>
					<xs:enumeration value = "Assessor"/>
					<xs:enumeration value = "Author"/>
					<xs:enumeration value = "Candidate"/>
					<xs:enumeration value = "InvigilatorProctor"/>
					<xs:enumeration value = "Psychometrician"/>
					<xs:enumeration value = "Scorer"/>
					<xs:enumeration value = "Tutor"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>
	
	<!-- *************** -->	
	<!-- ** map_input ** -->	
	<!-- *************** -->
	
	<xs:complexType name = "map_inputType">
		<xs:simpleContent>
			<xs:extension base = "xs:string">
				<xs:attribute name = "varname" default = "SCORE" type = "xs:string"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<!-- **************** -->	
	<!-- ** map_output ** -->	
	<!-- **************** -->
	
	<xs:complexType name = "map_outputType">
		<xs:simpleContent>
			<xs:extension base = "xs:string">
				<xs:attribute name = "varname" default = "SCORE" type = "xs:string"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<!-- ******************* -->	
	<!-- ** mat_extension ** -->	
	<!-- ******************* -->
	
	<xs:complexType name = "mat_extensionType" mixed = "true">
		<xs:sequence>
			<xs:any namespace = "##any" processContents = "lax" minOccurs = "0" maxOccurs = "unbounded"/>
		</xs:sequence>
		<xs:anyAttribute namespace = "http://www.w3.org/2001/XMLSchema" processContents = "lax"/>
	</xs:complexType>
	
	<!-- *************** -->	
	<!-- ** matapplet ** -->	
	<!-- *************** -->
	
	<xs:complexType name = "matappletType">
		<xs:simpleContent>
			<xs:extension base = "xs:string">
				<xs:attribute name = "label" type = "xs:string"/>
				<xs:attribute name = "uri" type = "xs:string"/>
				<xs:attribute name = "y0" type = "xs:string"/>
				<xs:attribute name = "height" type = "xs:string"/>
				<xs:attribute name = "width" type = "xs:string"/>
				<xs:attribute name = "x0" type = "xs:string"/>
				<xs:attribute name = "embedded" default = "base64" type = "xs:string"/>
				<xs:attribute name = "entityref" type = "xs:ENTITY"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<!-- ******************** -->	
	<!-- ** matapplication ** -->	
	<!-- ******************** -->
	
	<xs:complexType name = "matapplicationType">
		<xs:simpleContent>
			<xs:extension base = "xs:string">
				<xs:attribute name = "apptype" type = "xs:string"/>
				<xs:attribute name = "label" type = "xs:string"/>
				<xs:attribute name = "uri" type = "xs:string"/>
				<xs:attribute name = "embedded" default = "base64" type = "xs:string"/>
				<xs:attribute name = "entityref" type = "xs:ENTITY"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<!-- ************** -->	
	<!-- ** mataudio ** -->	
	<!-- ************** -->
	
	<xs:complexType name = "mataudioType">
		<xs:simpleContent>
			<xs:extension base = "xs:string">
				<xs:attribute name = "audiotype" default = "audio/base" type = "xs:string"/>
				<xs:attribute name = "label" type = "xs:string"/>
				<xs:attribute name = "uri" type = "xs:string"/>
				<xs:attribute name = "embedded" default = "base64" type = "xs:string"/>
				<xs:attribute name = "entityref" type = "xs:ENTITY"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<!-- ************** -->	
	<!-- ** matbreak ** -->	
	<!-- ************** -->
	
	<xs:complexType name = "matbreakType"/>
	
	<!-- *************** -->	
	<!-- ** matemtext ** -->	
	<!-- *************** -->
	
	<xs:complexType name = "matemtextType">
		<xs:simpleContent>
			<xs:extension base = "xs:string">
				<xs:attribute name = "texttype" default = "text/plain" type = "xs:string"/>
				<xs:attribute name = "label" type = "xs:string"/>
				<xs:attribute name = "charset" default = "ascii-us" type = "xs:string"/>
				<xs:attribute name = "uri" type = "xs:string"/>
				<xs:attribute ref = "xml:space" default = "default"/>
				<xs:attribute ref = "xml:lang"/>
				<xs:attribute name = "entityref" type = "xs:ENTITY"/>
				<xs:attribute name = "width" type = "xs:string"/>
				<xs:attribute name = "height" type = "xs:string"/>
				<xs:attribute name = "y0" type = "xs:string"/>
				<xs:attribute name = "x0" type = "xs:string"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<!-- ************** -->	
	<!-- ** material ** -->	
	<!-- ************** -->
	
	<xs:complexType name = "materialType">
		<xs:sequence>
			<xs:element name = "qticomment" type = "qticommentType" minOccurs = "0"/>
			<xs:choice maxOccurs = "unbounded">
				<xs:element name = "mattext" type = "mattextType"/>
				<xs:element name = "matemtext" type = "matemtextType"/>
				<xs:element name = "matimage" type = "matimageType"/>
				<xs:element name = "mataudio" type = "mataudioType"/>
				<xs:element name = "matvideo" type = "matvideoType"/>
				<xs:element name = "matapplet" type = "matappletType"/>
				<xs:element name = "matapplication" type = "matapplicationType"/>
				<xs:element name = "matref" type = "matrefType"/>
				<xs:element ref = "matbreak"/>
				<xs:element ref = "mat_extension"/>
			</xs:choice>
			<xs:element name = "altmaterial" type = "altmaterialType" minOccurs = "0" maxOccurs = "unbounded"/>
		</xs:sequence>
		<xs:attribute name = "label" type = "xs:string"/>
		<xs:attribute ref = "xml:lang"/>
	</xs:complexType>
	
	<!-- ****************** -->	
	<!-- ** material_ref ** -->	
	<!-- ****************** -->
	
	<xs:complexType name = "material_refType">
		<xs:attribute name = "linkrefid" use = "required" type = "xs:string"/>
	</xs:complexType>
	
	<!-- ************** -->	
	<!-- ** matimage ** -->	
	<!-- ************** -->
	
	<xs:complexType name = "matimageType">
		<xs:simpleContent>
			<xs:extension base = "xs:string">
				<xs:attribute name = "imagtype" default = "image/jpeg" type = "xs:string"/>
				<xs:attribute name = "label" type = "xs:string"/>
				<xs:attribute name = "height" type = "xs:string"/>
				<xs:attribute name = "uri" type = "xs:string"/>
				<xs:attribute name = "embedded" default = "base64" type = "xs:string"/>
				<xs:attribute name = "width" type = "xs:string"/>
				<xs:attribute name = "y0" type = "xs:string"/>
				<xs:attribute name = "x0" type = "xs:string"/>
				<xs:attribute name = "entityref" type = "xs:ENTITY"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<!-- ************ -->	
	<!-- ** matref ** -->	
	<!-- ************ -->
	
	<xs:complexType name = "matrefType">
		<xs:attribute name = "linkrefid" use = "required" type = "xs:string"/>
	</xs:complexType>
	
	<!-- ************* -->	
	<!-- ** mattext ** -->	
	<!-- ************* -->
	
	<xs:complexType name = "mattextType">
		<xs:simpleContent>
			<xs:extension base = "xs:string">
				<xs:attribute name = "texttype" default = "text/plain" type = "xs:string"/>
				<xs:attribute name = "label" type = "xs:string"/>
				<xs:attribute name = "charset" default = "ascii-us" type = "xs:string"/>
				<xs:attribute name = "uri" type = "xs:string"/>
				<xs:attribute ref = "xml:space" default = "default"/>
				<xs:attribute ref = "xml:lang"/>
				<xs:attribute name = "entityref" type = "xs:ENTITY"/>
				<xs:attribute name = "width" type = "xs:string"/>
				<xs:attribute name = "height" type = "xs:string"/>
				<xs:attribute name = "y0" type = "xs:string"/>
				<xs:attribute name = "x0" type = "xs:string"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<!-- ************** -->
	<!-- ** matvideo ** -->	
	<!-- ************** -->
	
	<xs:complexType name = "matvideoType">
		<xs:simpleContent>
			<xs:extension base = "xs:string">
				<xs:attribute name = "videotype" default = "video/avi" type = "xs:string"/>
				<xs:attribute name = "label" type = "xs:string"/>
				<xs:attribute name = "uri" type = "xs:string"/>
				<xs:attribute name = "width" type = "xs:string"/>
				<xs:attribute name = "height" type = "xs:string"/>
				<xs:attribute name = "y0" type = "xs:string"/>
				<xs:attribute name = "x0" type = "xs:string"/>
				<xs:attribute name = "embedded" default = "base64" type = "xs:string"/>
				<xs:attribute name = "entityref" type = "xs:ENTITY"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<!-- ********* -->	
	<!-- ** not ** -->	
	<!-- ********* -->
	
	<xs:complexType name = "notType">
		<xs:choice>
			<xs:element name = "and" type = "andType"/>
			<xs:element name = "or" type = "orType"/>
			<xs:element name = "not" type = "notType"/>
			<xs:element name = "unanswered" type = "unansweredType"/>
			<xs:element ref = "other"/>
			<xs:element name = "varequal" type = "varequalType"/>
			<xs:element name = "varlt" type = "varltType"/>
			<xs:element name = "varlte" type = "varlteType"/>
			<xs:element name = "vargt" type = "vargtType"/>
			<xs:element name = "vargte" type = "vargteType"/>
			<xs:element name = "varsubset" type = "varsubsetType"/>
			<xs:element name = "varinside" type = "varinsideType"/>
			<xs:element name = "varsubstring" type = "varsubstringType"/>
			<xs:element name = "durequal" type = "durequalType"/>
			<xs:element name = "durlt" type = "durltType"/>
			<xs:element name = "durlte" type = "durlteType"/>
			<xs:element name = "durgt" type = "durgtType"/>
			<xs:element name = "durgte" type = "durgteType"/>
		</xs:choice>
	</xs:complexType>
	
	<!-- ***************** -->	
	<!-- ** not_objects ** -->	
	<!-- ***************** -->
	
	<xs:complexType name = "not_objectsType">
		<xs:choice>
			<xs:element name = "outcomes_metadata" type = "outcomes_metadataType"/>
			<xs:element name = "and_objects" type = "and_objectsType"/>
			<xs:element name = "or_objects" type = "or_objectsType"/>
			<xs:element name = "not_objects" type = "not_objectsType"/>
		</xs:choice>
	</xs:complexType>
	
	<!-- ******************* -->	
	<!-- ** not_selection ** -->	
	<!-- ******************* -->
	
	<xs:complexType name = "not_selectionType">
		<xs:choice>
			<xs:element name = "selection_metadata" type = "selection_metadataType"/>
			<xs:element name = "and_selection" type = "and_selectionType"/>
			<xs:element name = "or_selection" type = "or_selectionType"/>
			<xs:element name = "not_selection" type = "not_selectionType"/>
		</xs:choice>
	</xs:complexType>
	
	<!-- ************** -->	
	<!-- ** not_test ** -->	
	<!-- ************** -->
	
	<xs:complexType name = "not_testType">
		<xs:choice>
			<xs:element name = "variable_test" type = "variable_testType"/>
			<xs:element name = "and_test" type = "and_testType"/>
			<xs:element name = "or_test" type = "or_testType"/>
			<xs:element name = "not_test" type = "not_testType"/>
		</xs:choice>
	</xs:complexType>
	
	<!-- **************** -->	
	<!-- ** objectbank ** -->	
	<!-- **************** -->
	
	<xs:complexType name = "objectbankType">
		<xs:sequence>
			<xs:element name = "qticomment" type = "qticommentType" minOccurs = "0"/>
			<xs:element name = "qtimetadata" type = "qtimetadataType" minOccurs = "0" maxOccurs = "unbounded"/>
			<xs:choice maxOccurs = "unbounded">
				<xs:element name = "section" type = "sectionType"/>
				<xs:element name = "item" type = "itemType"/>
			</xs:choice>
		</xs:sequence>
		<xs:attribute name = "ident" use = "required" type = "xs:string"/>
	</xs:complexType>
	
	<!-- **************** -->	
	<!-- ** objectives ** -->	
	<!-- **************** -->
	
	<xs:complexType name = "objectivesType">
		<xs:sequence>
			<xs:element name = "qticomment" type = "qticommentType" minOccurs = "0"/>
			<xs:choice>
				<xs:element name = "material" type = "materialType" maxOccurs = "unbounded"/>
				<xs:element name = "flow_mat" type = "flow_matType" maxOccurs = "unbounded"/>
			</xs:choice>
		</xs:sequence>
		<xs:attribute name = "view" default = "All">
			<xs:simpleType>
				<xs:restriction base = "xs:NMTOKEN">
					<xs:enumeration value = "All"/>
					<xs:enumeration value = "Administrator"/>
					<xs:enumeration value = "AdminAuthority"/>
					<xs:enumeration value = "Assessor"/>
					<xs:enumeration value = "Author"/>
					<xs:enumeration value = "Candidate"/>
					<xs:enumeration value = "InvigilatorProctor"/>
					<xs:enumeration value = "Psychometrician"/>
					<xs:enumeration value = "Scorer"/>
					<xs:enumeration value = "Tutor"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>
	
	<!-- *********************** -->	
	<!-- ** objects_condition ** -->	
	<!-- *********************** -->
	
	<xs:complexType name = "objects_conditionType">
		<xs:sequence>
			<xs:element name = "qticomment" type = "qticommentType" minOccurs = "0"/>
			<xs:choice minOccurs = "0">
				<xs:element name = "outcomes_metadata" type = "outcomes_metadataType"/>
				<xs:element name = "and_objects" type = "and_objectsType"/>
				<xs:element name = "or_objects" type = "or_objectsType"/>
				<xs:element name = "not_objects" type = "not_objectsType"/>
			</xs:choice>
			<xs:element name = "objects_parameter" type = "objects_parameterType" minOccurs = "0" maxOccurs = "unbounded"/>
			<xs:element name = "map_input" type = "map_inputType" minOccurs = "0" maxOccurs = "unbounded"/>
			<xs:element ref = "objectscond_extension" minOccurs = "0"/>
		</xs:sequence>
	</xs:complexType>
	
	<!-- *********************** -->	
	<!-- ** objects_parameter ** -->	
	<!-- *********************** -->
	
	<xs:complexType name = "objects_parameterType">
		<xs:simpleContent>
			<xs:extension base = "xs:string">
				<xs:attribute name = "pname" use = "required" type = "xs:string"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<!-- ******** -->	
	<!-- ** or ** -->	
	<!-- ******** -->
	
	<xs:complexType name = "orType">
		<xs:choice maxOccurs = "unbounded">
			<xs:element name = "not" type = "notType"/>
			<xs:element name = "and" type = "andType"/>
			<xs:element name = "or" type = "orType"/>
			<xs:element name = "unanswered" type = "unansweredType"/>
			<xs:element ref = "other"/>
			<xs:element name = "varequal" type = "varequalType"/>
			<xs:element name = "varlt" type = "varltType"/>
			<xs:element name = "varlte" type = "varlteType"/>
			<xs:element name = "vargt" type = "vargtType"/>
			<xs:element name = "vargte" type = "vargteType"/>
			<xs:element name = "varsubset" type = "varsubsetType"/>
			<xs:element name = "varinside" type = "varinsideType"/>
			<xs:element name = "varsubstring" type = "varsubstringType"/>
			<xs:element name = "durequal" type = "durequalType"/>
			<xs:element name = "durlt" type = "durltType"/>
			<xs:element name = "durlte" type = "durlteType"/>
			<xs:element name = "durgt" type = "durgtType"/>
			<xs:element name = "durgte" type = "durgteType"/>
		</xs:choice>
	</xs:complexType>
	
	<!-- **************** -->	
	<!-- ** or_objects ** -->	
	<!-- **************** -->
	
	<xs:complexType name = "or_objectsType">
		<xs:choice maxOccurs = "unbounded">
			<xs:element name = "outcomes_metadata" type = "outcomes_metadataType"/>
			<xs:element name = "and_objects" type = "and_objectsType"/>
			<xs:element name = "or_objects" type = "or_objectsType"/>
			<xs:element name = "not_objects" type = "not_objectsType"/>
		</xs:choice>
	</xs:complexType>
	
	<!-- ****************** -->	
	<!-- ** or_selection ** -->	
	<!-- ****************** -->
	
	<xs:complexType name = "or_selectionType">
		<xs:choice maxOccurs = "unbounded">
			<xs:element name = "selection_metadata" type = "selection_metadataType"/>
			<xs:element name = "and_selection" type = "and_selectionType"/>
			<xs:element name = "or_selection" type = "or_selectionType"/>
			<xs:element name = "not_selection" type = "not_selectionType"/>
		</xs:choice>
	</xs:complexType>
	
	<!-- ************* -->	
	<!-- ** or_test ** -->	
	<!-- ************* -->
	
	<xs:complexType name = "or_testType">
		<xs:choice maxOccurs = "unbounded">
			<xs:element name = "variable_test" type = "variable_testType"/>
			<xs:element name = "and_test" type = "and_testType"/>
			<xs:element name = "or_test" type = "or_testType"/>
			<xs:element name = "not_test" type = "not_testType"/>
		</xs:choice>
	</xs:complexType>
	
	<!-- *********** -->	
	<!-- ** order ** -->	
	<!-- *********** -->
	
	<xs:complexType name = "orderType">
		<xs:sequence>
			<xs:element ref = "order_extension" minOccurs = "0"/>
		</xs:sequence>
		<xs:attribute name = "order_type" use = "required" type = "xs:string"/>
	</xs:complexType>
	
	<!-- ********************* -->	
	<!-- ** order_extension ** -->	
	<!-- ********************* -->
	
	<xs:complexType name = "order_extensionType" mixed = "true">
		<xs:sequence>
			<xs:any namespace = "##any" processContents = "lax" minOccurs = "0" maxOccurs = "unbounded"/>
		</xs:sequence>
		<xs:anyAttribute namespace = "http://www.w3.org/2001/XMLSchema" processContents = "lax"/>
	</xs:complexType>
	
	<!-- ************** -->
	<!-- ** outcomes ** -->	
	<!-- ************** -->
	
	<xs:complexType name = "outcomesType">
		<xs:sequence>
			<xs:element name = "qticomment" type = "qticommentType" minOccurs = "0"/>
			<xs:sequence maxOccurs = "unbounded">
				<xs:element name = "decvar" type = "decvarType"/>
				<xs:element name = "interpretvar" type = "interpretvarType" minOccurs = "0" maxOccurs = "unbounded"/>
			</xs:sequence>
		</xs:sequence>
	</xs:complexType>
	
	<!-- **************************** -->	
	<!-- ** outcomes_feedback_test ** -->	
	<!-- **************************** -->
	
	<xs:complexType name = "outcomes_feedback_testType">
		<xs:sequence>
			<xs:element name = "test_variable" type = "test_variableType"/>
			<xs:element name = "displayfeedback" type = "displayfeedbackType" maxOccurs = "unbounded"/>
		</xs:sequence>
		<xs:attribute name = "title" type = "xs:string"/>
	</xs:complexType>
	
	<!-- *********************** -->	
	<!-- ** outcomes_metadata ** -->	
	<!-- *********************** -->
	
	<xs:complexType name = "outcomes_metadataType">
		<xs:simpleContent>
			<xs:extension base = "xs:string">
				<xs:attribute name = "mdname" use = "required" type = "xs:string"/>
				<xs:attribute name = "mdoperator" use = "required">
					<xs:simpleType>
						<xs:restriction base = "xs:NMTOKEN">
							<xs:enumeration value = "EQ"/>
							<xs:enumeration value = "NEQ"/>
							<xs:enumeration value = "LT"/>
							<xs:enumeration value = "LTE"/>
							<xs:enumeration value = "GT"/>
							<xs:enumeration value = "GTE"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<!-- ************************* -->	
	<!-- ** outcomes_processing ** -->	
	<!-- ************************* -->
	
	<xs:complexType name = "outcomes_processingType">
		<xs:sequence>
			<xs:element name = "qticomment" type = "qticommentType" minOccurs = "0"/>
			<xs:element name = "outcomes" type = "outcomesType"/>
			<xs:element name = "objects_condition" type = "objects_conditionType" minOccurs = "0" maxOccurs = "unbounded"/>
			<xs:element name = "processing_parameter" type = "processing_parameterType" minOccurs = "0" maxOccurs = "unbounded"/>
			<xs:element name = "map_output" type = "map_outputType" minOccurs = "0" maxOccurs = "unbounded"/>
			<xs:element name = "outcomes_feedback_test" type = "outcomes_feedback_testType" minOccurs = "0" maxOccurs = "unbounded"/>
		</xs:sequence>
		<xs:attribute name = "scoremodel" type = "xs:string"/>
	</xs:complexType>
	
	<!-- ****************** -->	
	<!-- ** presentation ** -->	
	<!-- ****************** -->
	
	<xs:complexType name = "presentationType">
		<xs:sequence>
			<xs:element name = "qticomment" type = "qticommentType" minOccurs = "0"/>
			<xs:choice>
				<xs:element name = "flow" type = "flowType"/>
				<xs:choice maxOccurs = "unbounded">
					<xs:element name = "material" type = "materialType"/>
					<xs:element name = "response_lid" type = "response_lidType"/>
					<xs:element name = "response_xy" type = "response_xyType"/>
					<xs:element name = "response_str" type = "response_strType"/>
					<xs:element name = "response_num" type = "response_numType"/>
					<xs:element name = "response_grp" type = "response_grpType"/>
					<xs:element ref = "response_extension"/>
				</xs:choice>
			</xs:choice>
		</xs:sequence>
		<xs:attribute name = "label" type = "xs:string"/>
		<xs:attribute ref = "xml:lang"/>
		<xs:attribute name = "y0" type = "xs:string"/>
		<xs:attribute name = "x0" type = "xs:string"/>
		<xs:attribute name = "width" type = "xs:string"/>
		<xs:attribute name = "height" type = "xs:string"/>
	</xs:complexType>
	
	<!-- *************************** -->	
	<!-- ** presentation_material ** -->	
	<!-- *************************** -->
	
	<xs:complexType name = "presentation_materialType">
		<xs:sequence>
			<xs:element name = "qticomment" type = "qticommentType" minOccurs = "0"/>
			<xs:element name = "flow_mat" type = "flow_matType" maxOccurs = "unbounded"/>
		</xs:sequence>
	</xs:complexType>
	
	<!-- ************************** -->	
	<!-- ** processing_parameter ** -->	
	<!-- ************************** -->
	
	<xs:complexType name = "processing_parameterType">
		<xs:simpleContent>
			<xs:extension base = "xs:string">
				<xs:attribute name = "pname" use = "required" type = "xs:string"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<!-- **************** -->	
	<!-- ** qticomment ** -->	
	<!-- **************** -->
	
	<xs:complexType name = "qticommentType">
		<xs:simpleContent>
			<xs:extension base = "xs:string">
				<xs:attribute ref = "xml:lang"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<!-- ***************** -->	
	<!-- ** qtimetadata ** -->	
	<!-- ***************** -->
	
	<xs:complexType name = "qtimetadataType">
		<xs:sequence>
			<xs:element name = "vocabulary" type = "vocabularyType" minOccurs = "0"/>
			<xs:element name = "qtimetadatafield" type = "qtimetadatafieldType" maxOccurs = "unbounded"/>
		</xs:sequence>
	</xs:complexType>
	
	<!-- ********************** -->	
	<!-- ** qtimetadatafield ** -->	
	<!-- ********************** -->
	
	<xs:complexType name = "qtimetadatafieldType">
		<xs:sequence>
			<xs:element ref = "fieldlabel"/>
			<xs:element ref = "fieldentry"/>
		</xs:sequence>
		<xs:attribute ref = "xml:lang"/>
	</xs:complexType>
	
	<!-- ********************* -->	
	<!-- ** questestinterop ** -->	
	<!-- ********************* -->
	
	<xs:complexType name = "questestinteropType">
		<xs:sequence>
			<xs:element name = "qticomment" type = "qticommentType" minOccurs = "0"/>
			<xs:choice>
				<xs:element name = "objectbank" type = "objectbankType"/>
				<xs:element name = "assessment" type = "assessmentType"/>
				<xs:choice maxOccurs = "unbounded">
					<xs:element name = "section" type = "sectionType"/>
					<xs:element name = "item" type = "itemType"/>
				</xs:choice>
			</xs:choice>
		</xs:sequence>
	</xs:complexType>
	
	<!-- *************** -->	
	<!-- ** reference ** -->	
	<!-- *************** -->
	
	<xs:complexType name = "referenceType">
		<xs:sequence>
			<xs:element name = "qticomment" type = "qticommentType" minOccurs = "0"/>
			<xs:choice maxOccurs = "unbounded">
				<xs:element name = "material" type = "materialType"/>
				<xs:element name = "mattext" type = "mattextType"/>
				<xs:element name = "matemtext" type = "matemtextType"/>
				<xs:element name = "matimage" type = "matimageType"/>
				<xs:element name = "mataudio" type = "mataudioType"/>
				<xs:element name = "matvideo" type = "matvideoType"/>
				<xs:element name = "matapplet" type = "matappletType"/>
				<xs:element name = "matapplication" type = "matapplicationType"/>
				<xs:element ref = "matbreak"/>
				<xs:element ref = "mat_extension"/>
			</xs:choice>
		</xs:sequence>
	</xs:complexType>
	
	<!-- ******************* -->	
	<!-- ** render_choice ** -->	
	<!-- ******************* -->
	
	<xs:complexType name = "render_choiceType">
		<xs:sequence>
			<xs:choice minOccurs = "0" maxOccurs = "unbounded">
				<xs:element name = "material" type = "materialType"/>
				<xs:element name = "material_ref" type = "material_refType"/>
				<xs:element name = "response_label" type = "response_labelType"/>
				<xs:element name = "flow_label" type = "flow_labelType"/>
			</xs:choice>
			<xs:element ref = "response_na" minOccurs = "0"/>
		</xs:sequence>
		<xs:attribute name = "shuffle" default = "No">
			<xs:simpleType>
				<xs:restriction base = "xs:NMTOKEN">
					<xs:enumeration value = "Yes"/>
					<xs:enumeration value = "No"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name = "minnumber" type = "xs:string"/>
		<xs:attribute name = "maxnumber" type = "xs:string"/>
	</xs:complexType>
	
	<!-- ********************** -->	
	<!-- ** render_extension ** -->	
	<!-- ********************** -->
	
	<xs:complexType name = "render_extensionType" mixed = "true">
		<xs:sequence>
			<xs:any namespace = "##any" processContents = "lax" minOccurs = "0" maxOccurs = "unbounded"/>
		</xs:sequence>
		<xs:anyAttribute namespace = "http://www.w3.org/2001/XMLSchema" processContents = "lax"/>
	</xs:complexType>
	
	<!-- **************** -->	
	<!-- ** render_fib ** -->	
	<!-- **************** -->
	
	<xs:complexType name = "render_fibType">
		<xs:sequence>
			<xs:choice minOccurs = "0" maxOccurs = "unbounded">
				<xs:element name = "material" type = "materialType"/>
				<xs:element name = "material_ref" type = "material_refType"/>
				<xs:element name = "response_label" type = "response_labelType"/>
				<xs:element name = "flow_label" type = "flow_labelType"/>
			</xs:choice>
			<xs:element ref = "response_na" minOccurs = "0"/>
		</xs:sequence>
		<xs:attribute name = "encoding" default = "UTF_8" type = "xs:string"/>
		<xs:attribute name = "fibtype" default = "String">
			<xs:simpleType>
				<xs:restriction base = "xs:NMTOKEN">
					<xs:enumeration value = "String"/>
					<xs:enumeration value = "Integer"/>
					<xs:enumeration value = "Decimal"/>
					<xs:enumeration value = "Scientific"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name = "rows" type = "xs:string"/>
		<xs:attribute name = "maxchars" type = "xs:string"/>
		<xs:attribute name = "prompt">
			<xs:simpleType>
				<xs:restriction base = "xs:NMTOKEN">
					<xs:enumeration value = "Box"/>
					<xs:enumeration value = "Dashline"/>
					<xs:enumeration value = "Asterisk"/>
					<xs:enumeration value = "Underline"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name = "columns" type = "xs:string"/>
		<xs:attribute name = "charset" default = "ascii-us" type = "xs:string"/>
		<xs:attribute name = "maxnumber" type = "xs:string"/>
		<xs:attribute name = "minnumber" type = "xs:string"/>
	</xs:complexType>
	
	<!-- ******************** -->	
	<!-- ** render_hotspot ** -->	
	<!-- ******************** -->
	
	<xs:complexType name = "render_hotspotType">
		<xs:sequence>
			<xs:choice minOccurs = "0" maxOccurs = "unbounded">
				<xs:element name = "material" type = "materialType"/>
				<xs:element name = "material_ref" type = "material_refType"/>
				<xs:element name = "response_label" type = "response_labelType"/>
				<xs:element name = "flow_label" type = "flow_labelType"/>
			</xs:choice>
			<xs:element ref = "response_na" minOccurs = "0"/>
		</xs:sequence>
		<xs:attribute name = "maxnumber" type = "xs:string"/>
		<xs:attribute name = "minnumber" type = "xs:string"/>
		<xs:attribute name = "showdraw" default = "No">
			<xs:simpleType>
				<xs:restriction base = "xs:NMTOKEN">
					<xs:enumeration value = "Yes"/>
					<xs:enumeration value = "No"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>
	
	<!-- ******************* -->	
	<!-- ** render_slider ** -->	
	<!-- ******************* -->
	
	<xs:complexType name = "render_sliderType">
		<xs:sequence>
			<xs:choice minOccurs = "0" maxOccurs = "unbounded">
				<xs:element name = "material" type = "materialType"/>
				<xs:element name = "material_ref" type = "material_refType"/>
				<xs:element name = "response_label" type = "response_labelType"/>
				<xs:element name = "flow_label" type = "flow_labelType"/>
			</xs:choice>
			<xs:element ref = "response_na" minOccurs = "0"/>
		</xs:sequence>
		<xs:attribute name = "orientation" default = "Horizontal">
			<xs:simpleType>
				<xs:restriction base = "xs:NMTOKEN">
					<xs:enumeration value = "Horizontal"/>
					<xs:enumeration value = "Vertical"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name = "lowerbound" use = "required" type = "xs:string"/>
		<xs:attribute name = "upperbound" use = "required" type = "xs:string"/>
		<xs:attribute name = "step" type = "xs:string"/>
		<xs:attribute name = "startval" type = "xs:string"/>
		<xs:attribute name = "steplabel" default = "No">
			<xs:simpleType>
				<xs:restriction base = "xs:NMTOKEN">
					<xs:enumeration value = "Yes"/>
					<xs:enumeration value = "No"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name = "maxnumber" type = "xs:string"/>
		<xs:attribute name = "minnumber" type = "xs:string"/>
	</xs:complexType>
	
	<!-- ************************ -->	
	<!-- ** respcond_extension ** -->	
	<!-- ************************ -->
	
	<xs:complexType name = "respcond_extensionType" mixed = "true">
		<xs:sequence>
			<xs:any namespace = "##any" processContents = "lax" minOccurs = "0" maxOccurs = "unbounded"/>
		</xs:sequence>
		<xs:anyAttribute namespace = "http://www.w3.org/2001/XMLSchema" processContents = "lax"/>
	</xs:complexType>
	
	<!-- ******************* -->
	<!-- ** respcondition ** -->
	<!-- ******************* -->
	
	<xs:complexType name = "respconditionType">
		<xs:sequence>
			<xs:element name = "qticomment" type = "qticommentType" minOccurs = "0"/>
			<xs:element name = "conditionvar" type = "conditionvarType"/>
			<xs:element name = "setvar" type = "setvarType" minOccurs = "0" maxOccurs = "unbounded"/>
			<xs:element name = "displayfeedback" type = "displayfeedbackType" minOccurs = "0" maxOccurs = "unbounded"/>
			<xs:element ref = "respcond_extension" minOccurs = "0"/>
		</xs:sequence>
		<xs:attribute name = "continue" default = "No">
			<xs:simpleType>
				<xs:restriction base = "xs:NMTOKEN">
					<xs:enumeration value = "Yes"/>
					<xs:enumeration value = "No"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name = "title" type = "xs:string"/>
	</xs:complexType>
	
	<!-- ************************ -->
	<!-- ** response_extension ** -->	
	<!-- ************************ -->
	
	<xs:complexType name = "response_extensionType" mixed = "true">
		<xs:sequence>
			<xs:any namespace = "##any" processContents = "lax" minOccurs = "0" maxOccurs = "unbounded"/>
		</xs:sequence>
		<xs:anyAttribute namespace = "http://www.w3.org/2001/XMLSchema" processContents = "lax"/>
	</xs:complexType>
	
	<!-- ****************** -->	
	<!-- ** response_grp ** -->
	<!-- ****************** -->
	
	<xs:complexType name = "response_grpType">
		<xs:sequence>
			<xs:choice minOccurs = "0">
				<xs:element name = "material" type = "materialType"/>
				<xs:element name = "material_ref" type = "material_refType"/>
			</xs:choice>
			<xs:choice>
				<xs:element name = "render_choice" type = "render_choiceType"/>
				<xs:element name = "render_hotspot" type = "render_hotspotType"/>
				<xs:element name = "render_slider" type = "render_sliderType"/>
				<xs:element name = "render_fib" type = "render_fibType"/>
				<xs:element ref = "render_extension"/>
			</xs:choice>
			<xs:choice minOccurs = "0">
				<xs:element name = "material" type = "materialType"/>
				<xs:element name = "material_ref" type = "material_refType"/>
			</xs:choice>
		</xs:sequence>
		<xs:attribute name = "rcardinality" default = "Single">
			<xs:simpleType>
				<xs:restriction base = "xs:NMTOKEN">
					<xs:enumeration value = "Single"/>
					<xs:enumeration value = "Multiple"/>
					<xs:enumeration value = "Ordered"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name = "ident" use = "required" type = "xs:string"/>
		<xs:attribute name = "rtiming" default = "No">
			<xs:simpleType>
				<xs:restriction base = "xs:NMTOKEN">
					<xs:enumeration value = "Yes"/>
					<xs:enumeration value = "No"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>
	
	<!-- ************************ -->
	<!-- ** response_labelType ** -->
	<!-- ************************ -->
	
	<xs:complexType name = "response_labelType" mixed = "true">
		<xs:choice minOccurs = "0" maxOccurs = "unbounded">
			<xs:element name = "qticomment" type = "qticommentType"/>
			<xs:element name = "material" type = "materialType"/>
			<xs:element name = "material_ref" type = "material_refType"/>
			<xs:element name = "flow_mat" type = "flow_matType"/>
		</xs:choice>
		<xs:attribute name = "rshuffle" default = "Yes">
			<xs:simpleType>
				<xs:restriction base = "xs:NMTOKEN">
					<xs:enumeration value = "Yes"/>
					<xs:enumeration value = "No"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name = "rarea" default = "Ellipse">
			<xs:simpleType>
				<xs:restriction base = "xs:NMTOKEN">
					<xs:enumeration value = "Ellipse"/>
					<xs:enumeration value = "Rectangle"/>
					<xs:enumeration value = "Bounded"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name = "rrange" default = "Exact">
			<xs:simpleType>
				<xs:restriction base = "xs:NMTOKEN">
					<xs:enumeration value = "Exact"/>
					<xs:enumeration value = "Range"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name = "labelrefid" type = "xs:string"/>
		<xs:attribute name = "ident" use = "required" type = "xs:string"/>
		<xs:attribute name = "match_group" type = "xs:string"/>
		<xs:attribute name = "match_max" type = "xs:string"/>
	</xs:complexType>
	
	<!-- ****************** -->
	<!-- ** response_lid ** -->
	<!-- ****************** -->
	
	<xs:complexType name = "response_lidType">
		<xs:sequence>
			<xs:choice minOccurs = "0">
				<xs:element name = "material" type = "materialType"/>
				<xs:element name = "material_ref" type = "material_refType"/>
			</xs:choice>
			<xs:choice>
				<xs:element name = "render_choice" type = "render_choiceType"/>
				<xs:element name = "render_hotspot" type = "render_hotspotType"/>
				<xs:element name = "render_slider" type = "render_sliderType"/>
				<xs:element name = "render_fib" type = "render_fibType"/>
				<xs:element ref = "render_extension"/>
			</xs:choice>
			<xs:choice minOccurs = "0">
				<xs:element name = "material" type = "materialType"/>
				<xs:element name = "material_ref" type = "material_refType"/>
			</xs:choice>
		</xs:sequence>
		<xs:attribute name = "rcardinality" default = "Single">
			<xs:simpleType>
				<xs:restriction base = "xs:NMTOKEN">
					<xs:enumeration value = "Single"/>
					<xs:enumeration value = "Multiple"/>
					<xs:enumeration value = "Ordered"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name = "rtiming" default = "No">
			<xs:simpleType>
				<xs:restriction base = "xs:NMTOKEN">
					<xs:enumeration value = "Yes"/>
					<xs:enumeration value = "No"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name = "ident" use = "required" type = "xs:string"/>
	</xs:complexType>
	
	<!-- ***************** -->
	<!-- ** response_na ** -->
	<!-- ***************** -->
	
	<xs:complexType name = "response_naType"/>
	
	<!-- ****************** -->
	<!-- ** response_num ** -->
	<!-- ****************** -->
	
	<xs:complexType name = "response_numType">
		<xs:sequence>
			<xs:choice minOccurs = "0">
				<xs:element name = "material" type = "materialType"/>
				<xs:element name = "material_ref" type = "material_refType"/>
			</xs:choice>
			<xs:choice>
				<xs:element name = "render_choice" type = "render_choiceType"/>
				<xs:element name = "render_hotspot" type = "render_hotspotType"/>
				<xs:element name = "render_slider" type = "render_sliderType"/>
				<xs:element name = "render_fib" type = "render_fibType"/>
				<xs:element ref = "render_extension"/>
			</xs:choice>
			<xs:choice minOccurs = "0">
				<xs:element name = "material" type = "materialType"/>
				<xs:element name = "material_ref" type = "material_refType"/>
			</xs:choice>
		</xs:sequence>
		<xs:attribute name = "numtype" default = "Integer">
			<xs:simpleType>
				<xs:restriction base = "xs:NMTOKEN">
					<xs:enumeration value = "Integer"/>
					<xs:enumeration value = "Decimal"/>
					<xs:enumeration value = "Scientific"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name = "rcardinality" default = "Single">
			<xs:simpleType>
				<xs:restriction base = "xs:NMTOKEN">
					<xs:enumeration value = "Single"/>
					<xs:enumeration value = "Multiple"/>
					<xs:enumeration value = "Ordered"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name = "ident" use = "required" type = "xs:string"/>
		<xs:attribute name = "rtiming" default = "No">
			<xs:simpleType>
				<xs:restriction base = "xs:NMTOKEN">
					<xs:enumeration value = "Yes"/>
					<xs:enumeration value = "No"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>
	
	<!-- ****************** -->
	<!-- ** response_str ** -->	
	<!-- ****************** -->
	
	<xs:complexType name = "response_strType">
		<xs:sequence>
			<xs:choice minOccurs = "0">
				<xs:element name = "material" type = "materialType"/>
				<xs:element name = "material_ref" type = "material_refType"/>
			</xs:choice>
			<xs:choice>
				<xs:element name = "render_choice" type = "render_choiceType"/>
				<xs:element name = "render_hotspot" type = "render_hotspotType"/>
				<xs:element name = "render_slider" type = "render_sliderType"/>
				<xs:element name = "render_fib" type = "render_fibType"/>
				<xs:element ref = "render_extension"/>
			</xs:choice>
			<xs:choice minOccurs = "0">
				<xs:element name = "material" type = "materialType"/>
				<xs:element name = "material_ref" type = "material_refType"/>
			</xs:choice>
		</xs:sequence>
		<xs:attribute name = "rcardinality" default = "Single">
			<xs:simpleType>
				<xs:restriction base = "xs:NMTOKEN">
					<xs:enumeration value = "Single"/>
					<xs:enumeration value = "Multiple"/>
					<xs:enumeration value = "Ordered"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name = "ident" use = "required" type = "xs:string"/>
		<xs:attribute name = "rtiming" default = "No">
			<xs:simpleType>
				<xs:restriction base = "xs:NMTOKEN">
					<xs:enumeration value = "Yes"/>
					<xs:enumeration value = "No"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>
	
	<!-- ***************** -->
	<!-- ** response_xy ** -->
	<!-- ***************** -->
	
	<xs:complexType name = "response_xyType">
		<xs:sequence>
			<xs:choice minOccurs = "0">
				<xs:element name = "material" type = "materialType"/>
				<xs:element name = "material_ref" type = "material_refType"/>
			</xs:choice>
			<xs:choice>
				<xs:element name = "render_choice" type = "render_choiceType"/>
				<xs:element name = "render_hotspot" type = "render_hotspotType"/>
				<xs:element name = "render_slider" type = "render_sliderType"/>
				<xs:element name = "render_fib" type = "render_fibType"/>
				<xs:element ref = "render_extension"/>
			</xs:choice>
			<xs:choice minOccurs = "0">
				<xs:element name = "material" type = "materialType"/>
				<xs:element name = "material_ref" type = "material_refType"/>
			</xs:choice>
		</xs:sequence>
		<xs:attribute name = "rcardinality" default = "Single">
			<xs:simpleType>
				<xs:restriction base = "xs:NMTOKEN">
					<xs:enumeration value = "Single"/>
					<xs:enumeration value = "Multiple"/>
					<xs:enumeration value = "Ordered"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name = "rtiming" default = "No">
			<xs:simpleType>
				<xs:restriction base = "xs:NMTOKEN">
					<xs:enumeration value = "Yes"/>
					<xs:enumeration value = "No"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name = "ident" use = "required" type = "xs:string"/>
	</xs:complexType>
	
	<!-- ******************* -->	
	<!-- ** resprocessing ** -->
	<!-- ******************* -->
	
	<xs:complexType name = "resprocessingType">
		<xs:sequence>
			<xs:element name = "qticomment" type = "qticommentType" minOccurs = "0"/>
			<xs:element name = "outcomes" type = "outcomesType"/>
			<xs:choice maxOccurs = "unbounded">
				<xs:element name = "respcondition" type = "respconditionType"/>
				<xs:element ref = "itemproc_extension"/>
			</xs:choice>
		</xs:sequence>
		<xs:attribute name = "scoremodel" type = "xs:string"/>
	</xs:complexType>
	
	<!-- ************ -->
	<!-- ** rubric ** -->
	<!-- ************ -->
	
	<xs:complexType name = "rubricType">
		<xs:sequence>
			<xs:element name = "qticomment" type = "qticommentType" minOccurs = "0"/>
			<xs:choice>
				<xs:element name = "material" type = "materialType" maxOccurs = "unbounded"/>
				<xs:element name = "flow_mat" type = "flow_matType" maxOccurs = "unbounded"/>
			</xs:choice>
		</xs:sequence>
		<xs:attribute name = "view" default = "All">
			<xs:simpleType>
				<xs:restriction base = "xs:NMTOKEN">
					<xs:enumeration value = "All"/>
					<xs:enumeration value = "Administrator"/>
					<xs:enumeration value = "AdminAuthority"/>
					<xs:enumeration value = "Assessor"/>
					<xs:enumeration value = "Author"/>
					<xs:enumeration value = "Candidate"/>
					<xs:enumeration value = "InvigilatorProctor"/>
					<xs:enumeration value = "Psychometrician"/>
					<xs:enumeration value = "Scorer"/>
					<xs:enumeration value = "Tutor"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>
	
	<!-- ************* -->	
	<!-- ** section ** -->
	<!-- ************* -->
	
	<xs:complexType name = "sectionType">
		<xs:sequence>
			<xs:element name = "qticomment" type = "qticommentType" minOccurs = "0"/>
			<xs:element ref = "duration" minOccurs = "0"/>
			<xs:element name = "qtimetadata" type = "qtimetadataType" minOccurs = "0" maxOccurs = "unbounded"/>
			<xs:element name = "objectives" type = "objectivesType" minOccurs = "0" maxOccurs = "unbounded"/>
			<xs:element name = "sectioncontrol" type = "sectioncontrolType" minOccurs = "0" maxOccurs = "unbounded"/>
			<xs:element ref = "sectionprecondition" minOccurs = "0" maxOccurs = "unbounded"/>
			<xs:element ref = "sectionpostcondition" minOccurs = "0" maxOccurs = "unbounded"/>
			<xs:element name = "rubric" type = "rubricType" minOccurs = "0" maxOccurs = "unbounded"/>
			<xs:element name = "presentation_material" type = "presentation_materialType" minOccurs = "0"/>
			<xs:element name = "outcomes_processing" type = "outcomes_processingType" minOccurs = "0" maxOccurs = "unbounded"/>
			<xs:element ref = "sectionproc_extension" minOccurs = "0"/>
			<xs:element name = "sectionfeedback" type = "sectionfeedbackType" minOccurs = "0" maxOccurs = "unbounded"/>
			<xs:element name = "selection_ordering" type = "selection_orderingType" minOccurs = "0"/>
			<xs:element name = "reference" type = "referenceType" minOccurs = "0"/>
			<xs:choice minOccurs = "0" maxOccurs = "unbounded">
				<xs:element name = "itemref" type = "itemrefType"/>
				<xs:element name = "item" type = "itemType"/>
				<xs:element name = "sectionref" type = "sectionrefType"/>
				<xs:element name = "section" type = "sectionType"/>
			</xs:choice>
		</xs:sequence>
		<xs:attribute name = "ident" use = "required" type = "xs:string"/>
		<xs:attribute name = "title" type = "xs:string"/>
		<xs:attribute ref = "xml:lang"/>
	</xs:complexType>
	
	<!-- ******************** -->
	<!-- ** sectioncontrol ** -->
	<!-- ******************** -->
	
	<xs:complexType name = "sectioncontrolType">
		<xs:sequence>
			<xs:element name = "qticomment" type = "qticommentType" minOccurs = "0"/>
		</xs:sequence>
		<xs:attribute name = "feedbackswitch" default = "Yes">
			<xs:simpleType>
				<xs:restriction base = "xs:NMTOKEN">
					<xs:enumeration value = "Yes"/>
					<xs:enumeration value = "No"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name = "hintswitch" default = "Yes">
			<xs:simpleType>
				<xs:restriction base = "xs:NMTOKEN">
					<xs:enumeration value = "Yes"/>
					<xs:enumeration value = "No"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name = "solutionswitch" default = "Yes">
			<xs:simpleType>
				<xs:restriction base = "xs:NMTOKEN">
					<xs:enumeration value = "Yes"/>
					<xs:enumeration value = "No"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name = "view" default = "All">
			<xs:simpleType>
				<xs:restriction base = "xs:NMTOKEN">
					<xs:enumeration value = "All"/>
					<xs:enumeration value = "Administrator"/>
					<xs:enumeration value = "AdminAuthority"/>
					<xs:enumeration value = "Assessor"/>
					<xs:enumeration value = "Author"/>
					<xs:enumeration value = "Candidate"/>
					<xs:enumeration value = "InvigilatorProctor"/>
					<xs:enumeration value = "Psychometrician"/>
					<xs:enumeration value = "Scorer"/>
					<xs:enumeration value = "Tutor"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>
	
	<!-- ********************* -->
	<!-- ** sectionfeedback ** -->	
	<!-- ********************* -->
	
	<xs:complexType name = "sectionfeedbackType">
		<xs:sequence>
			<xs:element name = "qticomment" type = "qticommentType" minOccurs = "0"/>
			<xs:choice>
				<xs:element name = "material" type = "materialType" maxOccurs = "unbounded"/>
				<xs:element name = "flow_mat" type = "flow_matType" maxOccurs = "unbounded"/>
			</xs:choice>
		</xs:sequence>
		<xs:attribute name = "view" default = "All">
			<xs:simpleType>
				<xs:restriction base = "xs:NMTOKEN">
					<xs:enumeration value = "All"/>
					<xs:enumeration value = "Administrator"/>
					<xs:enumeration value = "AdminAuthority"/>
					<xs:enumeration value = "Assessor"/>
					<xs:enumeration value = "Author"/>
					<xs:enumeration value = "Candidate"/>
					<xs:enumeration value = "InvigilatorProctor"/>
					<xs:enumeration value = "Psychometrician"/>
					<xs:enumeration value = "Scorer"/>
					<xs:enumeration value = "Tutor"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name = "ident" use = "required" type = "xs:string"/>
		<xs:attribute name = "title" type = "xs:string"/>
	</xs:complexType>
	
	<!-- *************************** -->	
	<!-- ** sectionproc_extension ** -->	
	<!-- *************************** -->
	
	<xs:complexType name = "sectionproc_extensionType" mixed = "true">
		<xs:sequence>
			<xs:any namespace = "##any" processContents = "lax" minOccurs = "0" maxOccurs = "unbounded"/>
		</xs:sequence>
		<xs:anyAttribute namespace = "http://www.w3.org/2001/XMLSchema" processContents = "lax"/>
	</xs:complexType>
	
	<!-- **************** -->
	<!-- ** sectionref ** -->
	<!-- **************** -->
	
	<xs:complexType name = "sectionrefType">
		<xs:simpleContent>
			<xs:extension base = "xs:string">
				<xs:attribute name = "linkrefid" use = "required" type = "xs:string"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<!-- *************** -->
	<!-- ** selection ** -->
	<!-- *************** -->
	
	<xs:complexType name = "selectionType">
		<xs:sequence>
			<xs:element ref = "sourcebank_ref" minOccurs = "0"/>
			<xs:element ref = "selection_number" minOccurs = "0"/>
			<xs:element name = "selection_metadata" type = "selection_metadataType" minOccurs = "0"/>
			<xs:choice minOccurs = "0">
				<xs:element name = "and_selection" type = "and_selectionType"/>
				<xs:element name = "or_selection" type = "or_selectionType"/>
				<xs:element name = "not_selection" type = "not_selectionType"/>
				<xs:element ref = "selection_extension"/>
			</xs:choice>
		</xs:sequence>
	</xs:complexType>
	
	<!-- ************************* -->
	<!-- ** selection_extension ** -->	
	<!-- ************************* -->
	
	<xs:complexType name = "selection_extensionType" mixed = "true">
		<xs:sequence>
			<xs:any namespace = "##any" processContents = "lax" minOccurs = "0" maxOccurs = "unbounded"/>
		</xs:sequence>
		<xs:anyAttribute namespace = "http://www.w3.org/2001/XMLSchema" processContents = "lax"/>
	</xs:complexType>
	
	<!-- ************************ -->
	<!-- ** selection_metadata ** -->
	<!-- ************************ -->
	
	<xs:complexType name = "selection_metadataType">
		<xs:simpleContent>
			<xs:extension base = "xs:string">
				<xs:attribute name = "mdname" use = "required" type = "xs:string"/>
				<xs:attribute name = "mdoperator" use = "required">
					<xs:simpleType>
						<xs:restriction base = "xs:NMTOKEN">
							<xs:enumeration value = "EQ"/>
							<xs:enumeration value = "NEQ"/>
							<xs:enumeration value = "LT"/>
							<xs:enumeration value = "LTE"/>
							<xs:enumeration value = "GT"/>
							<xs:enumeration value = "GTE"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<!-- ************************ -->
	<!-- ** selection_ordering ** -->
	<!-- ************************ -->
	
	<xs:complexType name = "selection_orderingType">
		<xs:sequence>
			<xs:element name = "qticomment" type = "qticommentType" minOccurs = "0"/>
			<xs:element name = "sequence_parameter" type = "sequence_parameterType" minOccurs = "0" maxOccurs = "unbounded"/>
			<xs:element name = "selection" type = "selectionType" minOccurs = "0" maxOccurs = "unbounded"/>
			<xs:element name = "order" type = "orderType" minOccurs = "0"/>
		</xs:sequence>
		<xs:attribute name = "sequence_type" type = "xs:string"/>
	</xs:complexType>
	
	<!-- ************************ -->
	<!-- ** sequence_parameter ** -->
	<!-- ************************ -->
	
	<xs:complexType name = "sequence_parameterType">
		<xs:simpleContent>
			<xs:extension base = "xs:string">
				<xs:attribute name = "pname" use = "required" type = "xs:string"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<!-- ************ -->
	<!-- ** setvar ** -->
	<!-- ************ -->
	
	<xs:complexType name = "setvarType">
		<xs:simpleContent>
			<xs:extension base = "xs:string">
				<xs:attribute name = "varname" default = "SCORE" type = "xs:string"/>
				<xs:attribute name = "action" default = "Set">
					<xs:simpleType>
						<xs:restriction base = "xs:NMTOKEN">
							<xs:enumeration value = "Set"/>
							<xs:enumeration value = "Add"/>
							<xs:enumeration value = "Subtract"/>
							<xs:enumeration value = "Multiply"/>
							<xs:enumeration value = "Divide"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<!-- ************** -->
	<!-- ** solution ** -->
	<!-- ************** -->
	
	<xs:complexType name = "solutionType">
		<xs:sequence>
			<xs:element name = "qticomment" type = "qticommentType" minOccurs = "0"/>
			<xs:element name = "solutionmaterial" type = "solutionmaterialType" maxOccurs = "unbounded"/>
		</xs:sequence>
		<xs:attribute name = "feedbackstyle" default = "Complete">
			<xs:simpleType>
				<xs:restriction base = "xs:NMTOKEN">
					<xs:enumeration value = "Complete"/>
					<xs:enumeration value = "Incremental"/>
					<xs:enumeration value = "Multilevel"/>
					<xs:enumeration value = "Proprietary"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>
	
	<!-- ********************** -->
	<!-- ** solutionmaterial ** -->
	<!-- ********************** -->
	
	<xs:complexType name = "solutionmaterialType">
		<xs:choice>
			<xs:element name = "material" type = "materialType" maxOccurs = "unbounded"/>
			<xs:element name = "flow_mat" type = "flow_matType" maxOccurs = "unbounded"/>
		</xs:choice>
	</xs:complexType>
	
	<!-- ******************* -->
	<!-- ** test_variable ** -->
	<!-- ******************* -->
	
	<xs:complexType name = "test_variableType">
		<xs:choice>
			<xs:element name = "variable_test" type = "variable_testType"/>
			<xs:element name = "and_test" type = "and_testType"/>
			<xs:element name = "or_test" type = "or_testType"/>
			<xs:element name = "not_test" type = "not_testType"/>
		</xs:choice>
	</xs:complexType>
	
	<!-- **************** -->
	<!-- ** unanswered ** -->
	<!-- **************** -->
	
	<xs:complexType name = "unansweredType">
		<xs:simpleContent>
			<xs:extension base = "xs:string">
				<xs:attribute name = "respident" use = "required" type = "xs:string"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<!-- ******************* -->
	<!-- ** var_extension ** -->
	<!-- ******************* -->
	
	<xs:complexType name = "var_extensionType" mixed = "true">
		<xs:sequence>
			<xs:any namespace = "##any" processContents = "lax" minOccurs = "0" maxOccurs = "unbounded"/>
		</xs:sequence>
		<xs:anyAttribute namespace = "http://www.w3.org/2001/XMLSchema" processContents = "lax"/>
	</xs:complexType>
	
	<!-- ************** -->
	<!-- ** varequal ** -->
	<!-- ************** -->
	
	<xs:complexType name = "varequalType">
		<xs:simpleContent>
			<xs:extension base = "xs:string">
				<xs:attribute name = "case" default = "No">
					<xs:simpleType>
						<xs:restriction base = "xs:NMTOKEN">
							<xs:enumeration value = "Yes"/>
							<xs:enumeration value = "No"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
				<xs:attribute name = "respident" use = "required" type = "xs:string"/>
				<xs:attribute name = "index" type = "xs:string"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<!-- *********** -->
	<!-- ** vargt ** -->
	<!-- *********** -->
	
	<xs:complexType name = "vargtType">
		<xs:simpleContent>
			<xs:extension base = "xs:string">
				<xs:attribute name = "respident" use = "required" type = "xs:string"/>
				<xs:attribute name = "index" type = "xs:string"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<!-- ************ -->
	<!-- ** vargte ** -->
	<!-- ************ -->
	
	<xs:complexType name = "vargteType">
		<xs:simpleContent>
			<xs:extension base = "xs:string">
				<xs:attribute name = "respident" use = "required" type = "xs:string"/>
				<xs:attribute name = "index" type = "xs:string"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<!-- ******************* -->	
	<!-- ** variable_test ** -->
	<!-- ******************* -->
	
	<xs:complexType name = "variable_testType">
		<xs:simpleContent>
			<xs:extension base = "xs:string">
				<xs:attribute name = "varname" default = "SCORE" type = "xs:string"/>
				<xs:attribute name = "testoperator" use = "required">
					<xs:simpleType>
						<xs:restriction base = "xs:NMTOKEN">
							<xs:enumeration value = "EQ"/>
							<xs:enumeration value = "NEQ"/>
							<xs:enumeration value = "LT"/>
							<xs:enumeration value = "LTE"/>
							<xs:enumeration value = "GT"/>
							<xs:enumeration value = "GTE"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<!-- *************** -->
	<!-- ** varinside ** -->
	<!-- *************** -->
	
	<xs:complexType name = "varinsideType">
		<xs:simpleContent>
			<xs:extension base = "xs:string">
				<xs:attribute name = "areatype" use = "required">
					<xs:simpleType>
						<xs:restriction base = "xs:NMTOKEN">
							<xs:enumeration value = "Ellipse"/>
							<xs:enumeration value = "Rectangle"/>
							<xs:enumeration value = "Bounded"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
				<xs:attribute name = "respident" use = "required" type = "xs:string"/>
				<xs:attribute name = "index" type = "xs:string"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<!-- *********** -->
	<!-- ** varlt ** -->
	<!-- *********** -->
	
	<xs:complexType name = "varltType">
		<xs:simpleContent>
			<xs:extension base = "xs:string">
				<xs:attribute name = "respident" use = "required" type = "xs:string"/>
				<xs:attribute name = "index" type = "xs:string"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<!-- ************ -->
	<!-- ** varlte ** -->
	<!-- ************ -->
	
	<xs:complexType name = "varlteType">
		<xs:simpleContent>
			<xs:extension base = "xs:string">
				<xs:attribute name = "respident" use = "required" type = "xs:string"/>
				<xs:attribute name = "index" type = "xs:string"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<!-- *************** -->
	<!-- ** varsubset ** -->
	<!-- *************** -->
	
	<xs:complexType name = "varsubsetType">
		<xs:simpleContent>
			<xs:extension base = "xs:string">
				<xs:attribute name = "respident" use = "required" type = "xs:string"/>
				<xs:attribute name = "setmatch" default = "Exact">
					<xs:simpleType>
						<xs:restriction base = "xs:NMTOKEN">
							<xs:enumeration value = "Exact"/>
							<xs:enumeration value = "Partial"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
				<xs:attribute name = "index" type = "xs:string"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<!-- ****************** -->
	<!-- ** varsubstring ** -->
	<!-- ****************** -->
	
	<xs:complexType name = "varsubstringType">
		<xs:simpleContent>
			<xs:extension base = "xs:string">
				<xs:attribute name = "index" type = "xs:string"/>
				<xs:attribute name = "respident" use = "required" type = "xs:string"/>
				<xs:attribute name = "case" default = "No">
					<xs:simpleType>
						<xs:restriction base = "xs:NMTOKEN">
							<xs:enumeration value = "Yes"/>
							<xs:enumeration value = "No"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	
	<!-- **************** -->
	<!-- ** vocabulary ** -->
	<!-- **************** -->
	
	<xs:complexType name = "vocabularyType">
		<xs:simpleContent>
			<xs:extension base = "xs:string">
				<xs:attribute name = "uri" type = "xs:string"/>
				<xs:attribute name = "entityref" type = "xs:ENTITY"/>
				<xs:attribute name = "vocab_type" type = "xs:string"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
</xs:schema>