<?xml version='1.0' encoding='UTF-8' ?>

<!--Generated by XML Authority-->

<!--	*******************************************************		-->
<!--																-->
<!--	TITLE:		ims_qtilitev1p2.dtd								-->
<!--	TYPE:		IMS Question and Test Interoperability			-->
<!--				QTILIte structure								-->
<!--																-->
<!--	REVISION HISTORY:											-->
<!--	Date	        Author										-->
<!--	====	        ======										-->
<!--	22nd Jan 2002	Colin Smythe								-->
<!--																-->
<!--	This specification has been approved as a Final release.	-->
<!--																-->
<!--	+++++++++++++++++++++++++++++++++++++++++++++++++++++++		-->
<!--	*******************************************************		-->
<!--			ROOT DEFINITION										-->
<!--	*******************************************************		-->
<!--	+++++++++++++++++++++++++++++++++++++++++++++++++++++++		-->
<!ELEMENT questestinterop (item+)>

<!--	+++++++++++++++++++++++++++++++++++++++++++++++++++++++		-->
<!--	*******************************************************		-->
<!--			ENTITY DEFINITIONS									-->
<!--	*******************************************************		-->
<!ENTITY % I_XmlLang " xml:lang CDATA  'en-US'">

<!ENTITY % I_Entityref " entityref ENTITY  #IMPLIED">

<!ENTITY % I_Rtiming " rtiming  (No )  'No'">

<!ENTITY % I_Title " title CDATA  #IMPLIED">

<!ENTITY % I_Label " label CDATA  #IMPLIED">

<!ENTITY % I_Ident " ident CDATA  #REQUIRED">

<!ENTITY % I_View " view  (All | 
          Administrator | 
          AdminAuthority | 
          Assessor | 
          Author | 
          Candidate | 
          InvigilatorProctor | 
          Psychometrician | 
          Scorer | 
          Tutor )  'All'">

<!ENTITY % I_Rcardinality " rcardinality  (Single )  'Single'">

<!ENTITY % I_Uri " uri CDATA  #IMPLIED">

<!ENTITY % I_Height " height CDATA  #IMPLIED">

<!ENTITY % I_Width " width CDATA  #IMPLIED">

<!ENTITY % I_Embedded " embedded CDATA  'base64'">

<!ENTITY % I_LinkRefId " linkrefid CDATA  #REQUIRED">

<!ENTITY % I_VarName " varname CDATA  'SCORE'">

<!ENTITY % I_RespIdent " respident CDATA  #REQUIRED">

<!ENTITY % I_Continue " continue  (Yes | No )  'No'">

<!ENTITY % I_CharSet " charset CDATA  'ascii-us'">

<!ENTITY % I_MinNumber " minnumber CDATA  #FIXED '1'">

<!ENTITY % I_MaxNumber " maxnumber CDATA  #FIXED '1'">

<!--	+++++++++++++++++++++++++++++++++++++++++++++++++++++++		-->
<!--	*******************************************************		-->
<!--			DATA OBJECT DEFINITIONS				-->
<!--	*******************************************************		-->
<!ELEMENT material ((mattext | matemtext | matimage | matref)+ , altmaterial*)>

<!ATTLIST material  %I_Label; >
<!ELEMENT mattext (#PCDATA)>

<!ATTLIST mattext  texttype    CDATA  'text/plain'
                    %I_Label;
                    %I_CharSet;
                    %I_Uri;
                    %I_Entityref;
                    %I_Height;
                    %I_Width;
                    %I_XmlLang; >
<!ELEMENT matemtext (#PCDATA)>

<!ATTLIST matemtext  texttype    CDATA  'text/plain'
                      %I_Label;
                      %I_CharSet;
                      %I_Uri;
                      %I_Entityref;
                      %I_Height;
                      %I_Width;
                      %I_XmlLang; >
<!ELEMENT matimage (#PCDATA)>

<!ATTLIST matimage  imagtype    CDATA  'image/jpeg'
                     %I_Label;
                     %I_Height;
                     %I_Uri;
                     %I_Embedded;
                     %I_Width;
                     %I_Entityref; >
<!ELEMENT altmaterial ((mattext | matemtext | matimage | matref)+)>

<!ATTLIST altmaterial  %I_XmlLang; >
<!ELEMENT matref (#PCDATA)>

<!ATTLIST matref  %I_LinkRefId; >
<!ELEMENT decvar (#PCDATA)>

<!ATTLIST decvar  %I_VarName;
                   vartype     (Integer )  'Integer'
                   defaultval CDATA  #IMPLIED >
<!ELEMENT setvar (#PCDATA)>

<!ATTLIST setvar  %I_VarName;
                   action     (Set )  'Set' >
<!ELEMENT conditionvar (not | unanswered | varequal)+>

<!ELEMENT not (unanswered | varequal)>

<!ELEMENT varequal (#PCDATA)>

<!ATTLIST varequal  %I_RespIdent; >
<!ELEMENT unanswered (#PCDATA)>

<!ATTLIST unanswered  %I_RespIdent; >
<!ELEMENT other (#PCDATA)>

<!ELEMENT displayfeedback (#PCDATA)>

<!ATTLIST displayfeedback  feedbacktype  (Response )  'Response'
                            %I_LinkRefId; >
<!ELEMENT objectives (material+)>

<!ATTLIST objectives  %I_View; >
<!ELEMENT item (objectives* , rubric* , presentation? , resprocessing* , itemfeedback*)>

<!ATTLIST item  %I_Label;
                 %I_Ident;
                 %I_Title; >
<!ELEMENT rubric (material+)>

<!ATTLIST rubric  %I_View; >
<!ELEMENT presentation (material* , response_lid , material*)>

<!ATTLIST presentation  %I_Label; >
<!ELEMENT response_lid (render_choice)>

<!ATTLIST response_lid  %I_Rcardinality;
                         %I_Ident;
                         %I_Rtiming; >
<!ELEMENT response_label (material*)>

<!ATTLIST response_label  rshuffle    (Yes | No )  'Yes'
                           labelrefid CDATA  #IMPLIED
                           %I_Ident; >
<!ELEMENT render_choice (response_label*)>

<!ATTLIST render_choice  shuffle      (Yes | No )  'No'
                          %I_MinNumber;
                          %I_MaxNumber; >
<!ELEMENT resprocessing (outcomes , respcondition+)>

<!ELEMENT outcomes (decvar)>

<!ELEMENT respcondition (conditionvar , setvar* , displayfeedback*)>

<!ATTLIST respcondition  %I_Continue;
                          %I_Title; >
<!ELEMENT itemfeedback (material+)>

<!ATTLIST itemfeedback  %I_View;
                         %I_Ident;
                         %I_Title; >
