Errors found while checking this document as XHTML 1.0 Strict!

Result: 3 Errors
:
Modified:(undefined)
Server:Apache/2.2.16 (Debian)
Size:(undefined)
Content-Type:text/html
: utf-8
: XHTML 1.0 Strict
Root Element: html
Root Namespace: http://www.w3.org/1999/xhtml
Options

Help on the options is available.

↑ Top

Validation Output: 3 Errors

  1. Error Line 122, Column 4: document type does not allow element "ol" here; missing one of "object", "ins", "del", "map", "button" start-tag
    <ol>

    The mentioned element is not allowed to appear in the context in which you've placed it; the other mentioned elements are the only ones that are both allowed there and can contain the element mentioned. This might mean that you need a containing element, or possibly that you've forgotten to close a previous element.

    One possible cause for this message is that you have attempted to put a block-level element (such as "<p>" or "<table>") inside an inline element (such as "<a>", "<span>", or "<font>").

  2. Error Line 197, Column 93: there is no attribute "target"
    …www.zend.com/zend/tut/tutorial-delin2.php" target="_blank">regular-expressions 

    You have used the attribute named above in your document, but the document type you are using does not support that attribute for this element. This error is often caused by incorrect use of the "Strict" document type with a document that uses frames (e.g. you must use the "Transitional" document type to get the "target" attribute), or by using vendor proprietary extensions such as "marginheight" (this is usually fixed by using CSS to achieve the desired effect instead).

    This error may also result if the element itself is not supported in the document type you are using, as an undefined element will have no supported attributes; in this case, see the element-undefined error message for further information.

    How to fix: check the spelling and case of the element and attribute, (Remember XHTML is all lower-case) and/or check that they are both allowed in the chosen document type, and/or use CSS instead of this attribute. If you received this error when using the <embed> element to incorporate flash media in a Web page, see the FAQ item on valid flash.

  3. Error Line 341, Column 11: end tag for "p" omitted, but OMITTAG NO was specified
    </ol></div><div class="closewindow">

    You may have neglected to close an element, or perhaps you meant to "self-close" an element, that is, ending it with "/>" instead of ">".

  4. Info Line 120, Column 1: start tag was here
    <p>The types of Questions currently supported by the Lesson module are:

↑ Top

Source Listing

Below is the source input I used for this validation:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en" xml:lang="en">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <link rel="stylesheet" type="text/css" href="http://www.di.uevora.pt/moodle/theme/standard/styles.php" />
  6. <link rel="stylesheet" type="text/css" href="http://www.di.uevora.pt/moodle/theme/standardwhite/styles.php" />
  7. <script type="text/javascript" src="http://www.di.uevora.pt/moodle/lib/yui/yahoo/yahoo-min.js"></script><script type="text/javascript" src="http://www.di.uevora.pt/moodle/lib/yui/event/event-min.js"></script><script type="text/javascript" src="http://www.di.uevora.pt/moodle/lib/yui/connection/connection-min.js"></script><script type="text/javascript" src="http://www.di.uevora.pt/moodle/lib/swfobject/swfobject.js"></script><script type="text/javascript">
  8. //<![CDATA[
  9. var flashversion = swfobject.getFlashPlayerVersion();
  10. YAHOO.util.Connect.asyncRequest('GET','http://www.di.uevora.pt/moodle/login/environment.php?sesskey=l1laOwLrVA&flashversion='+flashversion.major+'.'+flashversion.minor+'.'+flashversion.release);
  11. //]]>
  12. </script>
  13. <!--[if IE 7]>
  14. <link rel="stylesheet" type="text/css" href="http://www.di.uevora.pt/moodle/theme/standard/styles_ie7.css" />
  15. <![endif]-->
  16. <!--[if IE 6]>
  17. <link rel="stylesheet" type="text/css" href="http://www.di.uevora.pt/moodle/theme/standard/styles_ie6.css" />
  18. <![endif]-->
  19. <meta name="keywords" content="moodle, Help " />
  20. <title>Help</title>
  21. <link rel="shortcut icon" href="http://www.di.uevora.pt/moodle/theme/standardwhite/favicon.ico" />
  22. <!--<style type="text/css">/*<![CDATA[*/ body{behavior:url(http://www.di.uevora.pt/moodle/lib/csshover.htc);} /*]]>*/</style>-->
  23. <script type="text/javascript" src="http://www.di.uevora.pt/moodle/lib/javascript-static.js"></script>
  24. <script type="text/javascript" src="http://www.di.uevora.pt/moodle/lib/javascript-mod.php"></script>
  25. <script type="text/javascript" src="http://www.di.uevora.pt/moodle/lib/overlib/overlib.js"></script>
  26. <script type="text/javascript" src="http://www.di.uevora.pt/moodle/lib/overlib/overlib_cssstyle.js"></script>
  27. <script type="text/javascript" src="http://www.di.uevora.pt/moodle/lib/cookies.js"></script>
  28. <script type="text/javascript" src="http://www.di.uevora.pt/moodle/lib/ufo.js"></script>
  29. <script type="text/javascript" src="http://www.di.uevora.pt/moodle/lib/dropdown.js"></script>
  30. <script type="text/javascript" defer="defer">
  31. //<![CDATA[
  32. setTimeout('fix_column_widths()', 20);
  33. //]]>
  34. </script>
  35. <script type="text/javascript">
  36. //<![CDATA[
  37. function openpopup(url, name, options, fullscreen) {
  38. var fullurl = "http://www.di.uevora.pt/moodle" + url;
  39. var windowobj = window.open(fullurl, name, options);
  40. if (!windowobj) {
  41. return true;
  42. }
  43. if (fullscreen) {
  44. windowobj.moveTo(0, 0);
  45. windowobj.resizeTo(screen.availWidth, screen.availHeight);
  46. }
  47. windowobj.focus();
  48. return false;
  49. }
  50. function uncheckall() {
  51. var inputs = document.getElementsByTagName('input');
  52. for(var i = 0; i < inputs.length; i++) {
  53. inputs[i].checked = false;
  54. }
  55. }
  56. function checkall() {
  57. var inputs = document.getElementsByTagName('input');
  58. for(var i = 0; i < inputs.length; i++) {
  59. inputs[i].checked = true;
  60. }
  61. }
  62. function inserttext(text) {
  63. text = ' ' + text + ' ';
  64. if ( opener.document.forms['theform'].message.createTextRange && opener.document.forms['theform'].message.caretPos) {
  65. var caretPos = opener.document.forms['theform'].message.caretPos;
  66. caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
  67. } else {
  68. opener.document.forms['theform'].message.value += text;
  69. }
  70. opener.document.forms['theform'].message.focus();
  71. }
  72. function getElementsByClassName(oElm, strTagName, oClassNames){
  73. var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
  74. var arrReturnElements = new Array();
  75. var arrRegExpClassNames = new Array();
  76. if(typeof oClassNames == "object"){
  77. for(var i=0; i<oClassNames.length; i++){
  78. arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames[i].replace(/\-/g, "\\-") + "(\\s|$)"));
  79. }
  80. }
  81. else{
  82. arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames.replace(/\-/g, "\\-") + "(\\s|$)"));
  83. }
  84. var oElement;
  85. var bMatchesAll;
  86. for(var j=0; j<arrElements.length; j++){
  87. oElement = arrElements[j];
  88. bMatchesAll = true;
  89. for(var k=0; k<arrRegExpClassNames.length; k++){
  90. if(!arrRegExpClassNames[k].test(oElement.className)){
  91. bMatchesAll = false;
  92. break;
  93. }
  94. }
  95. if(bMatchesAll){
  96. arrReturnElements.push(oElement);
  97. }
  98. }
  99. return (arrReturnElements)
  100. }
  101. //]]>
  102. </script>
  103. </head>
  104. <body class=" course-1 dir-ltr lang-en_utf8" id="help">
  105. <div id="page">
  106. <!-- END OF HEADER -->
  107. <div id="content" class=" clearfix"><div class="box generalbox generalboxcontent"><h1>Question Types</h1>
  108. <p>The types of Questions currently supported by the Lesson module are:
  109. <ol>
  110. <li><p><b>Multichoice</b> This is the default question type. Multichoice questions
  111. are popular questions where the student is asked to choose one answer from a
  112. set of alternatives. The correct answer takes the student further into the
  113. lesson, the wrong answers do not. The wrong answers are sometimes called the
  114. &quot;distractors&quot; and the utility of these questions often rely more
  115. on the quality of the distractors than either the questions themselves or their
  116. correct answers.</p>
  117. <p> Each answer can optionally have a response. If no response is
  118. entered for an answer then the default response &quot;That's the Correct
  119. Answer&quot; or &quot;That's the Wrong Answer&quot; is shown to the student. </p>
  120. <p>It is possible to have more than one correct answer to a multichoice question.
  121. The different correct answers may give the student different responses and
  122. jump to different (forward) pages in the lesson but
  123. do not vary in their grades, (that is, some answers are <b>not</b> more correct
  124. than others, at least in terms of grade.) It is possible for all the answers
  125. to be correct and they might take the student to different (forward) parts of
  126. the lesson depending on which one is chosen.</p>
  127. <p>There is variant of Multichoice questions called <b>&quot;Multichoice
  128. Multianswer&quot;</b> questions. These require the student to select all the
  129. correct answers from the set of answers. The question may or may not tell
  130. the student how many correct answers there are. For example &quot;Which of the
  131. following were US Presidents?&quot; does not, while "Select the two US
  132. presidents from the following list." does. The actual number of correct
  133. answers can be from <b>one</b> up to the number of choices. (A Multichoice
  134. Multianswer question with one correct answer <b>is</b> different from a
  135. Multichoice question as the former allows the student the possibility of
  136. choosing more than one answer while the latter does not.)</p>
  137. <p>Again the correct answers are flagged using forward jumps, the wrong answers
  138. by same page or backward jumps. When there is more than one correct answer
  139. the jumps should all go to the same page, similarly with the wrong answers.
  140. If that is <b>not</b> the case a warning is given on the teacher's view of
  141. the lesson. The correct response, if required, should be given on the first
  142. correct answer and the wrong response, if required, should be on the first
  143. wrong answer. Responses on the other answers are ignored (without warning). </p></li>
  144. <li><p><b>Short Answer</b> </p>
  145. <p>The student is prompted for a short piece of text.
  146. This is checked against one or more answers. Answers can be either correct
  147. or wrong. Each answer can optionally have a response. If no response is
  148. entered for an answer then the default response &quot;That's the Correct
  149. Answer&quot; or &quot;That's the Wrong Answer&quot; is shown to the student.
  150. If the text entered does not match any of the answers the question is wrong
  151. and the student is shown the default wrong response.</p>
  152. <p><strong>There are two different comparison systems</strong> available for the
  153. Short Answer type of question: the simple system is used by default; the
  154. &quot;Regular Expressions&quot; system is used if the &quot;Use Regular
  155. Expressions&quot; option box is checked. </p>
  156. <ul>
  157. <li><strong>Simple analysis</strong>
  158. <p>In this (default) system of analysis, the comparisons ignore the case of the text. The
  159. asterisk (*) character can be used in answers as a &quot;wild card&quot;
  160. character. It stands for any number of characters (including no characters
  161. at all). For example, the answer &quot;Long*&quot; will match
  162. &quot;longer&quot;, &quot;longest&quot; and &quot;long&quot;. If one of
  163. the answers is just &quot;*&quot; (a single *) this answer will match
  164. anything, it is normally used as the last &quot;catch-all&quot; answer. The
  165. matching process goes through the answers in the order they appear on the
  166. screen. Once a match is found the process stops and the corresponding
  167. result (and response, if present) is returned. So, if for example the
  168. answers are Longest, Long* and * (in that order), the input
  169. &quot;longer&quot; will match the second answer and, in this case, the
  170. third answer, although a match, is ignored.</p>
  171. <p> If an asterisk (*) is actually needed in an answer, it should be entered as
  172. \*, backslash asterisk.</p>
  173. </li>
  174. </ul>
  175. <ul>
  176. <li><strong>Regular Expressions analysis</strong>
  177. <p>This system gives you access to a more powerful but more complicated system for
  178. analysing the student's answers. For a complete introduction to Regular Expressions,
  179. see these sites <a href="http://www.zend.com/zend/tut/tutorial-delin2.php" target="_blank">regular-expressions
  180. tutorial</a> or <a href="http://perso.wanadoo.fr/joseph.rezeau/eao/developpement/expandRegexpToString.htm#"
  181. target="_blank">rezeau.org</a>. </p>
  182. <h3>Correct answer matching a regular expression pattern </h3>
  183. <p>It is not possible to give complete examples of the vast possibilities offered
  184. by this system, and the following are just some possibilities. </p>
  185. <p><strong>Example 1.</strong> Suppose your question is &quot;What are the colors
  186. of the French flag?&quot;. In the Answer 1 frame you type this regular
  187. expression: &quot;<span class="c_computeroutput">it&rsquo;s blue, white(,| and)
  188. red</span>/i&quot;. This will match any of those four student answers:</p>
  189. <ul>
  190. <li>it&rsquo;s blue, white, red</li>
  191. <li>it&rsquo;s blue, white and red</li>
  192. <li>It&rsquo;s blue, white, red</li>
  193. <li>It&rsquo;s blue, white and red </li>
  194. </ul>
  195. <p>Please note that by default a regular expression match is case sensitive; to
  196. make the match case insensitive you must add the <strong>/i</strong> parameter
  197. right at the end of your expression.</p>
  198. <p><strong>Example 2</strong>. Question: &quot;What is blue, or red, or yellow?&quot;.
  199. Answer: &quot;(|it's )a colou?r&quot;. This will match:</p>
  200. <ul>
  201. <li>a colour</li>
  202. <li> a color</li>
  203. <li>it's a colour</li>
  204. <li>it's a color</li>
  205. </ul>
  206. <p>Notes.- The beginning of this regular expression &quot;(|it's )&quot; will
  207. match either nothing or &quot;it's &quot; (i.e. &quot;it's&quot; followed by
  208. a space). The ? (question-mark) means: preceding character zero or one time;
  209. it is used here to match British English as well as US spelling.</p>
  210. <p><strong>Example 3.</strong> Question: &quot;Name an animal whose name is made
  211. of 3 letters and the middle letter is the vowel <em>a</em>&quot;. Answer:
  212. &quot;[bcr]at&quot;. This will match: bat, cat and rat. </p>
  213. <h3>Detecting missing required words or character strings</h3>
  214. <p>Regular expressions alone cannot detect absent character strings, so you have to
  215. add a little code in your Answer to take care of this. Any Teacher Answer which
  216. begins with a double hyphen will analyze the student&rsquo;s answer to find out
  217. whether the following string is present or absent. If present, the analysis
  218. continues to the next question; if absent, the analysis stops and the relevant
  219. Response message is displayed.</p>
  220. <p><strong>Example 4. </strong></p>
  221. <ul>
  222. <li>Answer 2: <span class="c_computeroutput">--.*blue.*</span>/i</li>
  223. <li>student answer: &quot;it's red and white&quot; </li>
  224. <li>Response 2: <span class="c_computeroutput">The color of the sky is missing!</span></li>
  225. <li>Jump 2: <span class="c_computeroutput">this page</span></li>
  226. </ul>
  227. <p>Here, the . (dot) stands for &ldquo;any character&rdquo; and the * (asterisk)
  228. means &ldquo;preceding special character repeated any number of times&rdquo;.
  229. The Answer2 regular expression above means: check whether the character string
  230. &quot;blue&quot;, preceded with anything and followed by anything is absent
  231. from the student's answer. Please note that the use of the asterisk is different
  232. in the Simple analysis system and in the Regular Expressions system.</p>
  233. <p><strong>Example 5.</strong> Question: &quot;Name an animal whose name is made of
  234. 3 letters and the middle letter is the vowel <em>a</em>&quot;. Teacher Answer: &quot;--[b|c|r]&quot;. Response: &quot;Your answer should start with one of these letters: b, c or r&quot; </p>
  235. <h3>Detecting unwanted (incorrect) words or character strings</h3>
  236. <p>You may want to detect, in the student's answer, the presence of one or several
  237. words which should be <strong>not</strong> be there (because they are wrong) and
  238. to single them out with a specific response. Just start your teacher Answer by a
  239. double plus sign (++). </p>
  240. <p><strong>Example 6. </strong></p>
  241. <ul>
  242. <li>Answer 3: ++(yellow|black|orange|green|black|pink)/i</li>
  243. <li>student answer: &quot;it's blue, orange and white&quot; </li>
  244. <li>Response 3: One or more colors are wrong!</li>
  245. <li>Jump 3: this page</li></ul>
  246. <p>If any of these (wrong) colors is detected in the student&rsquo;s answer,
  247. then the negative feedback message (Response 3) will be displayed and the
  248. wrong strings will be colored red (or the color of the .incorrect class if
  249. it exists in a CSS stylesheet of your active theme).</p>
  250. <p><strong>Example 7</strong>. Question: &quot;Name an animal whose name is made
  251. of 3 letters and the middle letter is the vowel <em>a</em>&quot;. Teacher
  252. Answer: &quot;++hat&quot;. Response: &quot;You might wear one made of an
  253. animal's skin, but a hat can't be considered as an animal.&quot; </p>
  254. <h3>Escaping special characters </h3>
  255. <p>If you need to use characters which are part of the regular expressions set
  256. of <em>special characters</em>, you need to &quot;escape&quot; them (i.e. precede
  257. them with a backslash). E.g. if you want to accept the answer &quot;My computer
  258. cost 1000$&quot;, you must write the regular expression as &quot;My computer cost
  259. 1000\$&quot;. The special characters which must be escaped are .^$*()[]+?|</p>
  260. </li>
  261. </ul>
  262. </li>
  263. <li><p><b>True/False</b> The answer to this type of question only has two options,
  264. true or false. The student is prompted to choose which is the correct
  265. option. This type of question is basically a Multichoice question with just
  266. two choices.</p></li>
  267. <li><p><b>Matching</b> These are quite powerful and flexible questions. They
  268. consist of a list of names or statements which must be correctly matched
  269. against other list of names or statements. For example &quot;Match the
  270. Capital with the Country&quot; with the two lists Japan, Canada, Italy and
  271. Tokyo, Ottawa, Rome. It is possible to have repeated entries in one of the
  272. lists but care should be taken to make the repeats identical. For example
  273. &quot;Identify the type of these creatures&quot; with the lists Sparrow,
  274. Cow, Ant, Dog and Bird, Animal, Insect, Animal. </p>
  275. <p>When creating this type of question the items for the first list go into the
  276. Answer boxes and items for the second list go into the Response boxes. Once
  277. created a more sensible labeling scheme is shown. When the student
  278. successfully matches the items the jump on the first answer is used. An
  279. unsuccessful answer jumps to the page on the second answer. The question does
  280. <b>not</b> support custom responses, the student is told how many matches
  281. are correct or if all the matches are correct.</p>
  282. <p>Unlike the Multichoice question where the choices are shown in a random
  283. order, the first list of items is <b>not</b> shuffled but shown in the same
  284. order as entered. This allows for <b>&quot;Ordered&quot;</b> questions to be
  285. constructed. Consider the question &quot; Put the following into the order
  286. they were born, the earliest first&quot; with the lists 1., 2., 3., 4. and
  287. Longfellow, Lawrence, Lowell, Larkin. The second list is shuffled before
  288. being used in the question, of course.</p></li>
  289. <li><p><b>Numerical</b> This type of question requires a number as the answer.
  290. In it's simplest form it requires just one answer to be specified. For
  291. example &quot;What is 2 plus 2?&quot; with the answer 4 given a forward
  292. jump. However, it is better to specify a range because the internal rounding
  293. of numerical values can make single numeric comparisons rather hit or miss.
  294. Thus, if the question were &quot;What is 10 divided by 3&quot; it would be
  295. necessary to give the answer as <b>&quot;Minimum:Maximum&quot;</b>, that
  296. is <b>two</b> values separated by a colon (:). Thus if 3.33:3.34 is given as the
  297. acceptable range for the answer, then the answers 3.33, 3.333, 3.3333...
  298. would all be taken as correct answers. &quot;Wrong&quot; answers would
  299. include 3.3 (less than the minimum) and 3.4 (greater than the maximum).</p>
  300. <p>More than one correct answer is allowed and the answers can be either single
  301. or pair of values. Note that the order in which the answers are tested is
  302. Answer 1, Answer 2... so some care needs to taken if the desired response
  303. is to appear. For example the question &quot;When was Larkin born?&quot;
  304. could have the single value of 1922, the exact answer, and the pair of
  305. values 1920:1929, the 20's, as the less exact answer.The order in which
  306. these values should be tested is, obviously, 1922 then 1920:1929. The
  307. first answer might have the response &quot;That's exactly right&quot;
  308. while the other answer's response might be &quot;That's close, you've got
  309. the right decade&quot;</p>
  310. <p>Wrong answers can be given but depending on their actual range, care should
  311. be taken to place them after the correct answers. For example in adding the
  312. wrong answer 3:4 to the &quot;10 divided by 3&quot; question it needs to come
  313. after the correct answer. That is the answers are ordered 3.33:3.34 (the
  314. &quot;correct&quot; answer) then 3:4 (the &quot;wrong&quot; answer, but
  315. not wildly wrong answer!).</p></li>
  316. </ol></div><div class="closewindow">
  317. <form action="#"><div><input type="button" onclick="self.close();" value="Close this window" /></div></form></div>
  318. <p class="helpindex"><a href="help.php?file=index.html">Index of all help files</a></p></div><div id="footer"><hr /><p class="helplink"></p> <div class="validators"><ul>
  319. <li><a href="http://validator.w3.org/check?verbose=1&amp;ss=1&amp;uri=http%3A%2F%2Fwww.di.uevora.pt%2Fmoodle%2Fhelp.php%3Fmodule%3Dlesson%26file%3Dquestiontypes.html">Validate HTML</a></li>
  320. <li><a href="http://www.contentquality.com/mynewtester/cynthia.exe?rptmode=-1&amp;url1=http%3A%2F%2Fwww.di.uevora.pt%2Fmoodle%2Fhelp.php%3Fmodule%3Dlesson%26file%3Dquestiontypes.html">Section 508 Check</a></li>
  321. <li><a href="http://www.contentquality.com/mynewtester/cynthia.exe?rptmode=0&amp;warnp2n3e=1&amp;url1=http%3A%2F%2Fwww.di.uevora.pt%2Fmoodle%2Fhelp.php%3Fmodule%3Dlesson%26file%3Dquestiontypes.html">WCAG 1 (2,3) Check</a></li>
  322. </ul></div>
  323. </div>
  324. </div>
  325. </body>
  326. </html>

↑ Top