<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE document PUBLIC "-//CNX//DTD CNXML 0.5//EN" "http://cnx.rice.edu/cnxml/0.5/DTD/cnxml_plain.dtd">
<document xmlns="http://cnx.rice.edu/cnxml" xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:bib="http://bibtexml.sf.net/" id="qmltutorial">
  
  <name>QML 1.0 Tutorial</name>

  <metadata>
  <md:version>2.8</md:version>
  <md:created>2001/06/27</md:created>
  <md:revised>2004/05/11 14:02:47 GMT-5</md:revised>
  <md:authorlist>
      <md:author id="bartmess">
      <md:firstname>Elizabeth</md:firstname>
      
      <md:surname>Bartmess</md:surname>
      <md:email>bartmess@alumni.rice.edu</md:email>
    </md:author>
  </md:authorlist>

  <md:maintainerlist>
    <md:maintainer id="bartmess">
      <md:firstname>Elizabeth</md:firstname>
      
      <md:surname>Bartmess</md:surname>
      <md:email>bartmess@alumni.rice.edu</md:email>
    </md:maintainer>
    <md:maintainer id="brentmh">
      <md:firstname>Brent</md:firstname>
      <md:othername>Michael</md:othername>
      <md:surname>Hendricks</md:surname>
      <md:email>brentmh@rice.edu</md:email>
    </md:maintainer>
  </md:maintainerlist>
  
  <md:keywordlist>
    <md:keyword>learning assessment</md:keyword>
    <md:keyword>qml</md:keyword>
    <md:keyword>questions markup language</md:keyword>
    <md:keyword>tutorial</md:keyword>
  </md:keywordlist>

  <md:abstract>Tutorial for QML 1.0</md:abstract>
</metadata>

  <content>
    <para id="p1">
      This tutorial will show you how to create problemsets and write
      individual items, and how to embed them into other XML
      documents. It is intended primarily for people involved in the
      Connexions Project.
    </para>
    
    <section id="currentstyle">
      <name>Displaying QML</name>
      <para id="currentp1">
	The Connexions project provides the ability to do simple
	response processing through stylesheets and
	JavaScript. Examples of QML items thus processed are available
	in the <cnxn document="m10139" strength="9">QML 1.0 examples</cnxn> module. 
      </para>

      <para id="currentp1.5">
	PLEASE NOTE: This response processing is intended for the
	student to do self-testing as he or she moves through modules.
	Any student with minor technological know-how can determine
	the answers to the questions by viewing the source file.
	Hence, if you do not want students to have easy access to the
	answers to the questions, do not include them in the QML -
	leave the key blank and do not put information in the feedback
	tags that will allow the student to determine the correct
	answer.
      </para>
      
    <para id="currentp2">
      Please also note that while the current Connexions response
      processing can determine whether answers to single-response,
      multiple-response, and single-response questions are correct, it
      does not process the responses to text-response questions (this
      requires high-level and very situation-specific software that we
      do not have plans to provide at this time).  Instead, it only
      shows the general feedback.
    </para>    
  </section>
    
    <section id="starting">
    <name>Starting out:  QML, CNXML, and MathML</name>
      <para id="startp1">
	The first line in a file containing QML is the XML declaration
	and the second two lines are the document type
	declaration. These three lines are what allow your document to
	be understood as QML. However, they may differ depending on
	whether you are writing QML in a file containing only QML, or
	in a file containing another XML language as well.  This
	tutorial gives instructions for using QML alone, with CNXML,
	and with CNXML and MathML.  If you are using QML with other
	languages, the method is similar but the exact text you use
	will vary somewhat.
      </para>

      <section id="qmlalone">
	<name>QML alone</name>
	<para id="alonep1">
	  If you are using QML by itself, the first three lines of
	  your document should read as follows:
	</para>
	<code type="block">
	  <![CDATA[
	  <?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
 	  <!DOCTYPE item PUBLIC "-//CNX//DTD QML 1.0//EN"
	                        "http://cnx.rice.edu/qml/1.0/DTD/qml.dtd">]]>
	</code>
	<para id="alonep1.5">
	  If your base tag is problemset, rather than item, you will
	  need to change "item" in the second line to "problemset".
	</para>
	
	<para id="alonep2">
	  If you are using QML alone, you do not need to add a
	  namespace to your document or prefix your tags as you would
	  if you were using multiple XML languages.
	</para>
      </section>
      
      <section id="qmlcnxml">
	<name>QML with CNXML</name>
	<para id="bothp1">
	  If you are using both QML and CNXML, the first three lines
	  of your document should read as follows:
	</para>
	
	<code type="block">
	  <![CDATA[
	  <?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
	  <!DOCTYPE document PUBLIC "-//CNX//DTD CNXML 0.5 plus QML//EN"
	                          "http://cnx.rice.edu/cnxml/0.5/DTD/cnxml_qml.dtd">]]>
	</code>   
	
	<para id="bothp2">
	  You should also add the following attributes to your module
	  tag:
	</para>
	<code type="block">
	  <![CDATA[
	  xmlns="http://cnx.rice.edu/cnxml"
	  xmlns:q="http://cnx.rice.edu/qml/1.0" 
	  ]]>     
	</code>
	
	<para id="bothp3">
	  You can now add QML to your CNXML document.  You may only
	  add items, not problemsets.  Each item goes within a CNXML
	  exercise tag, and you may have only one item within each
	  CNXML exercise tag.  You must also prefix each QML tag with
	  "q:" as follows:
	</para>
	<code type="block">
	  <![CDATA[
	<exercise id="prob1">
          <q:item id='item01'>...</q:item>
	</exercise>]]>
	</code>
	
      </section>
      
      <section id="allthree">
	<name>QML with CNXML and MathML</name>
	<para id="allthreep1">
	  If you are using QML, CNXML, and MathML, the first three
	  lines of your document should read as follows:
	</para>
	
	<code type="block">
	  <![CDATA[
	  <?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
	  <!DOCTYPE document PUBLIC "-//CNX//DTD CNXML 0.5 plus MathML plus QML//EN"
	                          "http://cnx.rice.edu/cnxml/0.5/DTD/cnxml_mathml_qml.dtd">]]>
	</code>
	
	<para id="allp2">
	  You should also add the following attributes to your module
	  tag:
	</para>
	<code type="block">
	  <![CDATA[
	  xmlns="http://cnx.rice.edu/cnxml"
	  xmlns:q="http://cnx.rice.edu/qml/1.0" 
	  xmlns:m="http://www.w3.org/1998/Math/MathML"
	  ]]>     
	</code>
	
	<para id="allp3">
	  You can now add QML to your CNXML/MathML document.  You may
	  only add items, not problemsets.  Each item goes within a
	  CNXML exercise tag, and you may have only one item within
	  each CNXML exercise tag.  You must prefix each MathML tag
	  with an "m:", and you must also prefix each QML tag with
	  "q:" as follows:
	  
	</para>
	<code type="block">
	  <![CDATA[
	<exercise id="prob2">
          <q:item id='item02'>...</q:item>
	</exercise>]]>
	</code>
      </section>
    </section>
    
    <section id="overview">
      <name>Structural overview</name>
      <para id="overp1">
	In QML, items (test and homework questions) are either grouped
	together in a problemset or are written individually.  Each
	item contains the question being asked of the user, the
	response options together with answer-specific feedback, if
	any, general feedback, if any, and a key.  The items can also
	contain hints and links to resources.
      </para>
  </section>
  
  <section id="psetsitems">
    <name>Problemsets and items</name>
    <para id="psets1">
      The first thing you need to do is decide whether your items
      should be grouped together in a problemset or not.  If you are
      writing QML with CNXML, you can only use items, and each item
      will go within a CNXML exercise tag.  If you have a reason to
      logically group your items together (<foreign>e.g.</foreign>
      they comprise a homework set) and you are not writing for CNXML,
      enclose them in a problemset.  To write a problemset, all you
      need to do is enclose your individual items within a problemset
      tag.  If you are writing individual items and do not have a good
      reason to group them together within problemsets, or you are
      using CNXML, write items without enclosing them within a
      problemset tag.
    </para>
  </section>

  <section id="problemset">
    <name>Problemset</name>
    <para id="problemset1">
      The problemset tag encloses one or more items, and has one
      optional attribute called id.  If you will be making a number of
      problemsets and need to be able to reference them individually,
      you will want to add a unique id attribute to each of your
      problemsets to distinguish between them.
    </para>

    <section id="probex">
      <name>Example</name>
      <code type="block">
	<![CDATA[      
      <problemset id="homework1">

        <item . . .>
        </item>

      </problemset>
]]>
      </code>
    </section>
  </section>

  <section id="item">
    <name>Item</name>
    <para id="itemp1">
      The next tag is the item tag, which contains the question,
      response options, and so forth.  Each item tag must contain an
      id attribute and a type attribute.  Ideally, the id attribute
      should be unique; no two items you write should have the same
      attribute.  How you do this is up to you.
    </para>

    <para id="itempp2">
      The type attribute determines the type of question you are
      asking.  It must be one of the following:
      <list id="iteml1" type="bulleted">
	<item>single-response</item>
	<item>multiple-response</item>
	<item>ordered-response</item>
	<item>text-response</item>
      </list>
    </para>

    <para id="itemp6">
      Finally, it is important to note that an item must contain one
      question tag.  It may also contain zero or more answer tags, and
      zero or one key tags.  However, the existence or non-existence,
      as well as the contents of these last two tags, may be slightly
      different depending on the type of question.  Items may also
      contain one or more resource tags and hint tags, and one general
      feedback tag.
    </para>

    <section id="single">
      <name>Single-response</name>
      <para id="itemp2">
	Single-response items are items for which there is one and
	only one correct answer to be selected from the provided
	answers.  Examples are multiple-choice (select only one) and
	Likert scale items.
      </para>
    </section>

    <section id="multiple">
      <name>Multiple-response</name>
      <para id="itemp3">
	Multiple-response items are items which require more than one
	selected response option for a correct answer.  Examples are
	multiple-choice items where the user must select two or more
	responses to each item.
	</para>
    </section>
    
    <section id="ordered">
      <name>Ordered-response</name>
      <para id="itemp4">
	Ordered-response items are multiple-response items for which
	the order of the selected response is important.  An example
	is an item that asks the user to select the instructions for
	performing a procedure in their proper order.
      </para>
    </section>

    <section id="text">
      <name>Text-response</name>
      <para id="itemp5">
	Text-response items are items which require a textual or
	numeric response.  Examples are short-answer questions and
	supply-the-answer math questions.
      </para>
    </section>

    <section id="itemex">
      <name>Example</name>
      <code type="block">
	<![CDATA[ 
	An example for a single-response question:

      <item id="item1" type="single-response">
	
        <question>
	  Are bananas a fruit or a vegetable?
        </question>
	
        <resource uri="http://bananas.com/bananas.csv" />
	
        <answer id="fruit">
	  .
          .
	</answer>

        <answer id="vegetable">
	  .
	  .
        </answer>

        <hint>Bananas grow on trees.</hint>

	<feedback>Bananas are a fruit.</feedback>

        <key answer="fruit" />
	
      </item>]]>
      </code>
    </section>
  </section>

  <section id="question">
    <name>Question</name>
    <para id="quesp1">
      The question tag contains the question you are asking of the
      user.  It can be written in plain text, or using markup from
      another language (such as HTML, which allows you to include
      pictures and graphs as well as text).  Be aware that the
      stylesheets for the Connexions project currently only allow
      plain text and CNXML (with and without MathML) within question
      tags.  If you use CNXML (with or without MathML) within a QML
      tag, the first tag must be a section tag, which may contain any
      of the tags a CNXML section tag is allowed to contain.
      </para>

   <section id="quesex">
      <name>Example</name>
      <code type="block">
	<![CDATA[ 
      <question>
	Are bananas a fruit or a vegetable?
      </question>
	]]>
      </code>
    </section>
  </section>

  <section id="resource">    
    <name>Resource</name>
    <para id="resp1">
      The resource tag allows you to provide a URI attribute (file
      location, web address, <foreign>etc.</foreign>) for a particular
      item. For example, if you had the necessary software, you could
      use the resource tag to attach a reference to a dataset and
      generate question and answer values from that dataset.  At the
      present time, Connexions has no software to do this, and the
      resource tag is ignored by our stylesheets.
    </para>

    <para id="resp1.5">
      It also has an optional id attribute.  If you are using more
      than one resource for a particular item and need to keep track
      of which resource is which, you will want to include an id tag.
    </para>

    <para id="resp2">
      The resource tag is an empty tag, which means you must include a
      slash at the end of the tag.
    </para>

  <section id="respex">
      <name>Example</name>
      <code type="block">
	<![CDATA[ 
      <resource uri="http://cnx.rice.edu/datasets/dataset1.csv" id="resource1" />
      ]]>
      </code>
    </section>
  </section>


  <section id="arf">
    <name>Answer, Response, and Feedback</name>
    <para id="arfp1">
      How you construct the answer tag, including whether you include
      an answer tag at all, depends on your item-type. However, in all
      cases where you have an answer tag, the ID of the answer tag
      must not contain any commas, as the key tag refers to the answer
      IDs separated by commas.
    </para>
    
    <section id="arfsing">
      <name>Single-response, multiple-response, and
      ordered-response</name>
      <para id="arfsingp1">
	To write answer tags for single-response, multiple-response,
	and ordered-response items:
      </para>

      <para id="arfp2">
	  You will want one answer tag for each response option.  Each
	answer tag has an id, which is referenced by the key tag,
	below.  Preferably, the id tags should have an obvious
	relation to the response option.  For example, if your
	response options are "London, England;" "Washington, DC;" and
	"Paris, France" your id attributes could be london,
	washington, and paris.
      </para>
      
      <para id="arfp3">
	Each of your answer tags should contain a response tag and may
	contain a feedback tag if you wish to provide feedback
	specific to that response (general feedback goes in another
	tag).  The response tag contains the response option, in text
	or markup, and has no attributes.  Be aware that the
	stylesheets for the Connexions project currently only allow
	plain text and CNXML (with or without MathML) within response
	tags.  If you use CNXML (with or without MathML) within a QML
	tag, the first tag must be a section tag, which may contain
	any of the tags a CNXML section tag is allowed to contain.
      </para>
      
      <para id="arfp3.5">
	The feedback tag contains feedback to be displayed to the user
	upon selection of that response option.  The feedback may be
	text or markup.  The feedback tag does not have attributes for
	single-response, multiple-response, or ordered-response items.
      </para>

      <section id="arfex">
	<name>Example for a single-response question</name>
	<code type="block">
	  <![CDATA[ 
	<item id="item1" type="single-response">
	  
          <question>
	    Are bananas a fruit or a vegetable?
          </question>
	
          <resource uri="http://bananas.com/banana_dataset1.csv" />
	
          <answer id="fruit">
	    <response>A fruit.</response>
  	    <feedback>Correct!</feedback>
	  </answer>

          <answer id="vegetable">
	    <response>A vegetable.</response>
	    <feedback>Incorrect.</feedback>
          </answer>

          <hint>Bananas grow on trees.</hint>
	   
          <feedback>Bananas are a fruit.</feedback>

          <key answer="fruit" />
	
      </item>
	]]>
      </code>
    </section>
    </section>

    <section id="arftext">
      <name>Text-response items</name>
      <para id="arfp4">
	To write answer tags for text-response items: Because
	text-response items do not have response options, you will
	have either have no answer tag (if you are not providing
	response feedback) or only one answer tag which may contain
	two response-specific feedback tags: one for a correct
	response, one for an incorrect response.
      </para>
      
      <para id="arfp5">
	The feedback tag containing the correct feedback should have
	the attribute correct="yes", and the other should have the
	attribute correct="no".  You may also include a general
	feedback tag; this is recommended as Connexions does not have
	plans to provide response processing for text-response items
	and at the present time only shows the general feedback for
	the user to compare his/her answer with. The content of the
	feedback tags may be text or markup; be aware that the
	stylesheets for the Connexions project currently only allow
	plain text and CNXML (with or without MathML) within question
	tags.  If you use CNXML (with or without MathML) within a QML
	tag, the first tag must be a section tag, which may contain
	any of the tags a CNXML section tag is allowed to contain.
      </para>

      <section id="arfex2">
	<name>Example for a text-response item</name>
	<code type="block">
	  <![CDATA[ 
	<item id="item1" type="text-response">
	  
          <question>
	    Are bananas a fruit or a vegetable?
          </question>
	
          <resource uri="http://bananas.com/bananas2.csv" />
	
          <answer id="fruit">
  	    <feedback correct="yes">Correct!</feedback>
	    <feedback correct="no">Incorrect.</feedback>
	  </answer>

          <hint>Bananas grow on trees.</hint>

          <feedback>Bananas are a fruit.</feedback>

          <key answer="fruit" />
	
        </item>
	]]>
      </code>
    </section>
  </section>   
  </section>  

  <section id="hint">
    <name>Hint</name>
    <para id="hintp1">
      The hint tags each contain a hint to be displayed to the user
      upon request.  The content of the hint tags is text or markup.
      Be aware that the stylesheets for the Connexions project
      currently only allow plain text and CNXML (with or without
      MathML) within response tags.  If you use CNXML (with or without
      MathML) within a QML tag, the first tag must be a section tag,
      which may contain any of the tags a CNXML section tag is allowed
      to contain.  The hint tag has no attributes; it is assumed that
      if there are multiple hints, they will be displayed to the user
      in order.
    </para>
    
    <section id="hintex">
      <name>Examples</name>
      <code type="block">
	<![CDATA[
        <hint>Bananas grow on trees.</hint>
	]]>
      </code>
    </section>
  </section>   
    
  <section id="key">
    <name>Key</name>
    <para id="keyp1">
      The key tag contains the answer key, for items for which the
      answer key is included.
    </para>

    <para id="keyl22">
      The key tag varies slightly depending on the type of item.  For
      single-response items, the key tag contains an "answer"
      attribute which refers to the id tag of the correct answer.
    </para>

    <section id="keyex1">
      <name>Example</name>
      <code type="block">
	<![CDATA[
      <key answer="fruit" />
	]]>
      </code>

    <para id="keyp2">
      For multiple-response items, the answer id should refer to all
      the necessary response ids for a correct answer, separated by
      commas.
    </para>
    </section>
    
    <section id="keyex2">
      <name>Example</name>
      <code type="block">
	<![CDATA[
      <key answer="fruit,yellow" />
	]]>
      </code>

    <para id="keyp3">
      For ordered-response items, the response ids should be in
      correct order and separated by commas.
    </para>
    </section>
    <section id="keyex3">
      <name>Example</name>
      <code type="block">
	<![CDATA[
      <key answer="uno,dos,tres,cuatro,cinco" />
	]]>
      </code>


    <para id="keyp4">
      For text-response items, the key tag should have no attributes,
      and should contain text which will be helpful to the program or
      person scoring the user's answers.
    </para>
    </section>

    <section id="keyex4">
      <name>Examples</name>
      <code type="block">
	<![CDATA[
      <key>One example of a correct answer is "No hay nadie
      aqui."</key>

      <key>3.14159</key>
	]]>
      </code>
    </section>    
  </section>

  <section id="examples">
    <name>Complete examples</name>
    <section id="baresingle">
      <name>Stripped-down single-response item</name>
      <para id="baresing1">
	Here is an example of a single-response item with only a
	question, two answers, and a key.
      </para>

	<code type="block">
	  <![CDATA[ 
	<item id="item1" type="single-response">
	  
          <question>
	    Are bananas a fruit or a vegetable?
          </question>
	
          <answer id="fruit">
	    <response>A fruit.</response>
	  </answer>

          <answer id="vegetable">
	    <response>A vegetable.</response>
          </answer>

          <key answer="fruit" />
	
        </item>
	]]>
      </code>
    </section>

    <section id="fullsingle">
      <name>Full single-response item</name>
      <para id="fullsing1">
	Here is an example of a single-response item with all options
	- resource, hints, and feedback.
      </para>

	<code type="block">
	  <![CDATA[ 
	<item id="item1" type="single-response">
	  
          <question>
	    Are bananas a fruit or a vegetable?
          </question>
	
          <resource uri="http://bananas.com/yellowbananas.csv" />
	
          <answer id="fruit">
	    <response>A fruit.</response>
  	    <feedback>Correct!</feedback>
	  </answer>

          <answer id="vegetable">
	    <response>A vegetable.</response>
	    <feedback>Incorrect.</feedback>
          </answer>

          <hint>Bananas grow on trees.</hint>
	   
          <feedback>Bananas are a fruit.</feedback>

          <key answer="fruit" />
	
        </item>
	]]>
      </code>
    </section>


    <section id="baremultiple">
      <name>Stripped-down multiple-response item</name>
      <para id="baremult1">
	Here is an example of a multiple-response item with only a
	question, three answers, and a key.
      </para>

	<code type="block">
	  <![CDATA[ 
	<item id="item1" type="multiple-response">
	  
          <question>
	    Bananas are (pick two):
          </question>
	
          <answer id="fruit">
	    <response>A fruit.</response>
	  </answer>

          <answer id="vegetable">
	    <response>A vegetable.</response>
          </answer>

          <answer id="yellow">
	    <response>Yellow.</response>
          </answer>

          <key answer="fruit,yellow" />
	
        </item>
	]]>
      </code>
    </section>
  
    <section id="fullmultiple">
      <name>Full multiple-response item</name>
      <para id="fullmult1">
	Here is an example of the same multiple-response item with all
	options - resource, hints, and feedback.
      </para>

	<code type="block">
	  <![CDATA[ 
	<item id="item1" type="multiple-response">
	  
          <question>
	    Bananas are (pick two):
          </question>
	
          <resource uri="http://bananas.com/bananas.csv" />
	
          <answer id="fruit">
	    <response>A fruit.</response>
  	    <feedback>Yes, bananas are a fruit.</feedback>
	  </answer>

          <answer id="vegetable">
	    <response>A vegetable.</response>
	    <feedback>Bananas are not a vegetable.</feedback>
          </answer>

	  <answer id="yellow">
	    <response>Yellow.</response>
            <feedback>Yes, bananas are yellow.</feedback>
	  </answer>

          <hint>Bananas grow on trees.</hint>
	  <hint>Bananas are the same color as lemons.</hint>

          <feedback>Bananas are a yellow fruit.</feedback>

          <key answer="fruit,yellow" />
	
        </item>
	]]>
      </code>
    </section>


    <section id="bareordered">
      <name>Stripped-down ordered-response item</name>
      <para id="bareord1">
	Here is an example of an ordered-response item with only a
	question, three answers, and a key.
      </para>

	<code type="block">
	  <![CDATA[ 
	<item id="item1" type="ordered-response">
	  
          <question>
	    In order to boil water, you need to do the following
	    (please select in the correct order):
          </question>
	
          <answer id="stove">
	    <response>Put the pot on the stove.</response>
	  </answer>

          <answer id="pot">
	    <response>Put water in the pot.</response>
          </answer>

          <answer id="boil">
	    <response>Wait until you see bubbles in the water.</response>
          </answer>

          <key answer="pot,stove,boil" />
	
        </item>
	]]>
      </code>
    </section>
  
    <section id="fullordered">
      <name>Full ordered-response item</name>
      <para id="fullord1">
	Here is an example of the same ordered-response item with all
	options - resource, hints, and feedback.
      </para>

	<code type="block">
	  <![CDATA[ 
	<item id="item1" type="ordered-response">
	  
          <question>
	    In order to boil water, you need to do the following
	    (please select in the correct order):
          </question>

	  <resource uri="www.howtoboilwater.com/instructions.csv" />

          <answer id="stove">
	    <response>Put the pot on the stove.</response>
	    <feedback>You put the pot on the stove second.</feedback>
	  </answer>

          <answer id="pot">
	    <response>Put water in the pot.</response>
	    <feedback>You put the water in the pot first.</feedback>
          </answer>

          <answer id="boil">
	    <response>Wait until you see bubbles in the water.</response>
	    <feedback>You wait for the bubbles third.</feedback>
          </answer>

	  <hint>The pot won't boil till there's water in it.</hint>

	  <feedback>First you put water in the pot, then you put the
	  pot on the stove, then you wait for the bubbles.</feedback>

          <key answer="pot,stove,boil" />
	
        </item>
	]]>
      </code>
    </section>

   <section id="baretext">
      <name>Stripped-down text-response item</name>
      <para id="baretext1">
	Here is an example of an ordered-response item with only a
	question, general feedback, and a key. 
      </para>

	<code type="block">
	  <![CDATA[ 
	<item id="item1" type="text-response">
	  
          <question>
	    What are some common tests of executive function?
          </question>
	
	  <feedback>Some common tests of executive function are the
	  Wisconsin Card Sort Test and the Tower of Hanoi.</feedback>

          <key>Wisconsin Card Sort Test, Tower of Hanoi</key>
	
        </item>
	]]>
      </code>
    </section>

   <section id="fulltext">
      <name>Full text-response item</name>
      <para id="fulltext1">
	Here is an example of an ordered-response item with a
	resource, hints, and an answer with correct and incorrect
	feedback.
      </para>
      
      <code type="block">
	<![CDATA[ 
        <item id="item1" type="text-response">
	
          <question>
	    What are some common tests of executive function?
          </question>

          <resource uri="www.execfunc.com/tests.csv" />
		
          <answer>
	    <feedback correct="no">Incorrect.</feedback>
	    <feedback correct="yes">Correct.</feedback>
	  </answer>

	  <hint>Think about square states and towers.</hint>

	  <feedback>Some common tests of executive function are the
	  Wisconsin Card Sort Test and the Tower of Hanoi.</feedback>

          <key>Wisconsin Card Sort Test, Tower of Hanoi</key>
	
        </item>
	]]>
      </code>
    </section>

  </section>
</content>
</document>
