Diff for /modules/damieng/clean_xml/loncapa.xsd between versions 1.3 and 1.12

version 1.3, 2015/04/27 20:39:01 version 1.12, 2015/05/13 19:08:29
Line 158 Line 158
       <xs:documentation>        <xs:documentation>
         Root for .library documents.          Root for .library documents.
         A LON-CAPA .library file can contain just a script block, or just response items, or both.          A LON-CAPA .library file can contain just a script block, or just response items, or both.
         Library content is loaded into a problem statement by using an &lt;import&gt; tag.          Library content is loaded into a problem statement by using an &lt;import&gt; element.
       </xs:documentation>        </xs:documentation>
     </xs:annotation>      </xs:annotation>
     <xs:complexType mixed="true">      <xs:complexType mixed="true">
Line 430 Line 430
     <xs:annotation>      <xs:annotation>
       <xs:documentation>        <xs:documentation>
         Query for a string.          Query for a string.
         An internal textline tag is necessary for the student’s response to go in. It can check the string for either case or order.          An internal textline element is necessary for the student’s response to go in. It can check the string for either case or order.
       </xs:documentation>        </xs:documentation>
     </xs:annotation>      </xs:annotation>
     <xs:complexType mixed="true">      <xs:complexType mixed="true">
Line 718 Line 718
     <xs:attribute name="texoptions">      <xs:attribute name="texoptions">
       <xs:annotation>        <xs:annotation>
         <xs:documentation>          <xs:documentation>
           Print options            Set to "nochoice" to avoid the display of the list of option values when printing.
         </xs:documentation>          </xs:documentation>
       </xs:annotation>        </xs:annotation>
       <xs:simpleType>        <xs:simpleType>
Line 734 Line 734
     <xs:attribute name="checkboxvalue" type="xs:string">      <xs:attribute name="checkboxvalue" type="xs:string">
       <xs:annotation>        <xs:annotation>
         <xs:documentation>          <xs:documentation>
           Two-option checkboxes for            When there are only 2 option values, set this attribute to one of them in order to display checkboxes. A foil checkbox will have to be checked when the foil has the chosen option value.
         </xs:documentation>          </xs:documentation>
       </xs:annotation>        </xs:annotation>
     </xs:attribute>      </xs:attribute>
     <xs:attribute name="checkboxoptions">      <xs:attribute name="checkboxoptions">
       <xs:annotation>        <xs:annotation>
         <xs:documentation>          <xs:documentation>
           Checkbox options            Set to "nochoice" to avoid the display of the list of option values.
         </xs:documentation>          </xs:documentation>
       </xs:annotation>        </xs:annotation>
       <xs:simpleType>        <xs:simpleType>
Line 754 Line 754
         </xs:union>          </xs:union>
       </xs:simpleType>        </xs:simpleType>
     </xs:attribute>      </xs:attribute>
       <xs:attribute name="noprompt">
         <xs:annotation>
           <xs:documentation>
             Set to "nochoice" to omit "Select all that are ... ".
           </xs:documentation>
         </xs:annotation>
         <xs:simpleType>
           <xs:union memberTypes="perl">
             <xs:simpleType>
               <xs:restriction base="xs:string">
                 <xs:enumeration value="nochoice"/>
               </xs:restriction>
             </xs:simpleType>
           </xs:union>
         </xs:simpleType>
       </xs:attribute>
       <xs:attribute name="mincheck" type="xs:int">
         <xs:annotation>
           <xs:documentation>
             Minimum boxes required to check.
           </xs:documentation>
         </xs:annotation>
       </xs:attribute>
       <xs:attribute name="maxcheck" type="xs:int">
         <xs:annotation>
           <xs:documentation>
             Maximum boxes permitted to check.
           </xs:documentation>
         </xs:annotation>
       </xs:attribute>
   </xs:complexType>    </xs:complexType>
   <xs:complexType name="optionresponse--conceptgroup">    <xs:complexType name="optionresponse--conceptgroup">
     <xs:annotation>      <xs:annotation>
Line 1057 Line 1087
   <xs:element name="imageresponse">    <xs:element name="imageresponse">
     <xs:annotation>      <xs:annotation>
       <xs:documentation>        <xs:documentation>
         Query for the selection of an image in a list.          Query for positions on images.
           
           Each foil must contain a reference to an image, at least one rectangle or polygon specifying the correct region, and a text describing what should be selected. Students have to click on the foil image, and their answer is correct if they clicked inside the correct region.
       </xs:documentation>        </xs:documentation>
     </xs:annotation>      </xs:annotation>
     <xs:complexType mixed="true">      <xs:complexType mixed="true">
Line 1347 Line 1379
             3. followed by any number of the following two things, separated by semi-colons:              3. followed by any number of the following two things, separated by semi-colons:
             (a) a comma-separated list of as many numbers as there are variables, which specifies one sampling point, OR              (a) a comma-separated list of as many numbers as there are variables, which specifies one sampling point, OR
             (b) a comma-separated list of as many numbers as there are variables, followed by a colon, followed by another list of as many numbers as there are variables, followed by a #, followed by an integer.              (b) a comma-separated list of as many numbers as there are variables, followed by a colon, followed by another list of as many numbers as there are variables, followed by a #, followed by an integer.
               
               a) specifies one point to sample. b) specifies a range for each variable, and the system will take as many random samples from that range as the number after the #.
           </xs:documentation>            </xs:documentation>
         </xs:annotation>          </xs:annotation>
       </xs:attribute>        </xs:attribute>
Line 1398 Line 1432
         <xs:annotation>          <xs:annotation>
           <xs:documentation>            <xs:documentation>
             This attribute contains what is displayed when the problem is in "Show Answer" mode.              This attribute contains what is displayed when the problem is in "Show Answer" mode.
             You will want to use it so that the students can see the correct answer after              You will want to use it so that the students can see the correct answer after the "Show Answer Date" configured when the problem is assigned in the course space.
             the "Show Answer Date" configured when the problem is assigned in the course space.  
                           
             This is usually the name of a Perl string variable (starting with '$')              This is usually the name of a Perl string variable (starting with '$') created in a Perl script before the response.
             created in a Perl script before the response.  
           </xs:documentation>            </xs:documentation>
         </xs:annotation>          </xs:annotation>
       </xs:attribute>        </xs:attribute>
Line 2124 Line 2156
       </xs:choice>        </xs:choice>
       <xs:attributeGroup ref="response-identification"/>        <xs:attributeGroup ref="response-identification"/>
       <xs:attribute default="autoez" name="options">        <xs:attribute default="autoez" name="options">
           <xs:annotation>
             <xs:documentation>
               Comma-separated list of options:
               
               - autoez: Auto E,Z stereochemistry
               - multipart: Multipart Structures
               - nostereo: No stereochemistry
               - reaction: Is a reaction
               - number: Able to number atoms
             </xs:documentation>
           </xs:annotation>
         <xs:simpleType>          <xs:simpleType>
           <xs:union memberTypes="perl">            <xs:union memberTypes="perl">
             <xs:simpleType>              <xs:simpleType>
Line 2137 Line 2180
       <xs:attribute name="molecule" type="xs:string">        <xs:attribute name="molecule" type="xs:string">
         <xs:annotation>          <xs:annotation>
           <xs:documentation>            <xs:documentation>
             Starting Molecule              Starting Molecule.
               Syntax: JME.
           </xs:documentation>            </xs:documentation>
         </xs:annotation>          </xs:annotation>
       </xs:attribute>        </xs:attribute>
       <xs:attribute name="answer" type="xs:string">        <xs:attribute name="answer" type="xs:string">
         <xs:annotation>          <xs:annotation>
           <xs:documentation>            <xs:documentation>
             Correct Answer              Correct Answer.
               Syntax: SMILES (Simplified Molecular Input Line Entry System).
           </xs:documentation>            </xs:documentation>
         </xs:annotation>          </xs:annotation>
       </xs:attribute>        </xs:attribute>
Line 2274 Line 2319
     </xs:annotation>      </xs:annotation>
     <xs:complexType mixed="true">      <xs:complexType mixed="true">
       <xs:choice maxOccurs="unbounded" minOccurs="0">        <xs:choice maxOccurs="unbounded" minOccurs="0">
           <xs:element ref="responseparam"/>
         <xs:element ref="textfield"/>          <xs:element ref="textfield"/>
         <xs:element ref="hiddensubmission"/>          <xs:element ref="hiddensubmission"/>
         <xs:element ref="hiddenline"/>          <xs:element ref="hiddenline"/>
Line 2315 Line 2361
     <xs:annotation>      <xs:annotation>
       <xs:documentation>        <xs:documentation>
         Query for text or numbers.          Query for text or numbers.
         Advanced type of response that implements a simple data storage and needs an input tag, such as textline, to work correctly.          Advanced type of response that implements a simple data storage and needs an input element, such as textline, to work correctly.
       </xs:documentation>        </xs:documentation>
     </xs:annotation>      </xs:annotation>
     <xs:complexType mixed="true">      <xs:complexType mixed="true">
Line 2401 Line 2447
       <xs:attribute name="spellcheck">        <xs:attribute name="spellcheck">
         <xs:annotation>          <xs:annotation>
           <xs:documentation>            <xs:documentation>
             Spellcheck for              If this attribute is present, the text the user types is spellchecked when focus leaves the input field.
               The value specifies the language in which the spellcheck is performed.
           </xs:documentation>            </xs:documentation>
         </xs:annotation>          </xs:annotation>
         <xs:simpleType>          <xs:simpleType>
Line 2447 Line 2494
       </xs:attribute>        </xs:attribute>
       <xs:attribute default="no" name="readonly" type="yesno-or-perl"/>        <xs:attribute default="no" name="readonly" type="yesno-or-perl"/>
       <xs:attribute name="spellcheck">        <xs:attribute name="spellcheck">
           <xs:annotation>
             <xs:documentation>
               If this attribute is present, the text the user types is spellchecked when focus leaves the input field.
               The value specifies the language in which the spellcheck is performed.
             </xs:documentation>
           </xs:annotation>
         <xs:simpleType>          <xs:simpleType>
           <xs:union memberTypes="perl">            <xs:union memberTypes="perl">
             <xs:simpleType>              <xs:simpleType>
Line 2494 Line 2547
   <xs:element name="hintgroup">    <xs:element name="hintgroup">
     <xs:annotation>      <xs:annotation>
       <xs:documentation>        <xs:documentation>
         The first part of the hint is the condition, which includes a specification of the foil(s) and foil answer(s) required to trigger the hint. The answers specified in the hint condition are compared with the user's submission, and if the condition is met, the hint action included in the conditional hint block will be executed (for example this could be the display of a block of text). You can set multiple hint conditions for a particular problem. Hint conditions are identified by a name. The corresponding hint action includes this hint condition name in the "on" parameter. When a hint condition evaluates to true, the corresponding hint action is triggered. Besides providing hint actions within &lt;hintpart on="NAME"&gt; &lt;/hintpart&gt; tags for each named (NAME) hint condition, a hint can be designated for display if none of the conditional hints evaluate to true. The default hint is not displayed if the conditions were met for any of the conditional hints. The default hint action is included between &lt;hintpart on="default"&gt; &lt;/hintpart&gt; tags.          This element can either contain a simple hint displayed when the submitted answer for the part is not correct, or a more complex structure to display different hints for different submitted answers.
           
           To display different hints based on the submitted answer, the hint group has to contain hint conditions (&lt;*hint&gt; elements) and conditional hints (&lt;hintpart&gt; elements).
           A hint condition defines the foil(s) and foil answer(s) required to trigger a hint, and has a name attribute to identify it.
           A conditional hint (&lt;hintpart&gt;) defines what will be displayed if a particular hint condition is met. It includes a reference to the hint condition in the "on" attribute.
           A default conditional hint can be defined by using on="default" in a &lt;hintpart&gt;. The contents of this hint will be displayed if none of the other conditional hints is triggered.
       </xs:documentation>        </xs:documentation>
     </xs:annotation>      </xs:annotation>
     <xs:complexType mixed="true">      <xs:complexType mixed="true">
Line 2525 Line 2583
       <xs:documentation>        <xs:documentation>
         Conditional Hint          Conditional Hint
                   
         When a hint tag named the same as the on attribute evaluates to be correct, the hintpart will show.          When a hint condition named the same as the on attribute evaluates to be correct, the contents of this element will be displayed.
         If no other hintpart is to show then all hintparts with an on value set to “default” will show.          If no other hintpart is to show then all hintparts with an on value set to “default” will show.
       </xs:documentation>        </xs:documentation>
     </xs:annotation>      </xs:annotation>
Line 2593 Line 2651
       <xs:documentation>        <xs:documentation>
         Radiobutton Hint Condition          Radiobutton Hint Condition
                   
         The radiobutton hint tag takes two parameters: answer and name. The name is the name of the hint condition, and the answer is an array. The first element of the array will be 'foil'; the remaining elements are the names of the foils that you require to have been checked by the student for the hint to be displayed. For example, if you create a radiobutton response problem with six foils named: granite, gabbro, gneiss, shale, sandstone and schist, and you want your hint named: igneous to be displayed when either granite or basalt had been checked your radiobutton hint would be as follows:          The radiobutton hint element takes two attributes: answer and name. The name is the name of the hint condition, and the answer is an array. The first element of the array will be 'foil'; the remaining elements are the names of the foils that you require to have been checked by the student for the hint to be displayed. For example, if you create a radiobutton response problem with six foils named: granite, gabbro, gneiss, shale, sandstone and schist, and you want your hint named: igneous to be displayed when either granite or basalt had been checked your radiobutton hint would be as follows:
                   
         &lt;radiobuttonhint answer="('foil','granite','gabbro')" name="igneous"&gt;&lt;/radiobuttonhint&gt;          &lt;radiobuttonhint answer="('foil','granite','gabbro')" name="igneous"&gt;&lt;/radiobuttonhint&gt;
                   
         In order to trigger display of this hint you also need to create a &lt;hintpart&gt; &lt;/hintpart&gt; block that will include a textblock that contains the text of the actual hint.          In order to trigger display of this hint you also need to create a hint condition (&lt;hintpart&gt;) that will include the text of the actual hint.
       </xs:documentation>        </xs:documentation>
     </xs:annotation>      </xs:annotation>
     <xs:complexType>      <xs:complexType>
Line 2612 Line 2670
           </xs:documentation>            </xs:documentation>
         </xs:annotation>          </xs:annotation>
       </xs:attribute>        </xs:attribute>
       <xs:attribute name="answer" type="xs:string">        <xs:attribute name="answer">
         <xs:annotation>          <xs:annotation>
           <xs:documentation>            <xs:documentation>
             should be at least a two element list: first the type (foil or concept) and then either the foil name(s) or the concept string(s), e.g., “(’foil’,’greaterthan’,’equal’)” if the condition should be triggered by the foils named “greaterthan” or “equal”              should be at least a two element list: first the type (foil or concept) and then either the foil name(s) or the concept string(s), e.g., “(’foil’,’greaterthan’,’equal’)” if the condition should be triggered by the foils named “greaterthan” or “equal”
           </xs:documentation>            </xs:documentation>
         </xs:annotation>          </xs:annotation>
           <xs:simpleType>
             <xs:restriction base="xs:string">
               <xs:pattern value="\(\s*'.*'\s*\)"/>
             </xs:restriction>
           </xs:simpleType>
       </xs:attribute>        </xs:attribute>
     </xs:complexType>      </xs:complexType>
   </xs:element>    </xs:element>
Line 2626 Line 2689
       <xs:documentation>        <xs:documentation>
         Option Response Hint Condition          Option Response Hint Condition
                   
         There are two types of option response hint conditions: one for standalone foils and one for concept groups. In both cases the option hint tag includes two parameters: answer and name for standalone foils, and concept and name for foils grouped together in a concept group. For the answer parameter, the names and submitted values for each of the foils that are being included in the hint condition are provided in a hash, i.e., in the format: ('Foil1'= &gt; 'True','Foil2'= &gt; 'False'). In the case of a conditional hint for a concept group, the format of the concept parameter is also a hash that links the name of each concept group included in the hint condition to either 'correct' or 'incorrect' - e.g., &lt; optionhint concept="('buoyancy'= &gt; 'correct','density'= &gt; 'correct')" name="fluids" / &gt; If 'correct' is specified for a named concept then when the conditional hint is evaluated answers for each of the foils selected by a student must be correct for the hint action to be triggered. If anything other than 'correct' is provided in the concept hash in the optionhint tag then then students answers will be compared with the set answers for the foils in the concept group and as long as at least one answer is incorrect (i.e., the concept group was not correctly answered) then the corresponding hint action will be triggered.           There are two types of option response hint conditions: one for standalone foils and one for concept groups. In both cases the option hint element includes two parameters: answer and name for standalone foils, and concept and name for foils grouped together in a concept group.
           For the answer parameter, the names and submitted values for each of the foils that are being included in the hint condition are provided in a hash, i.e., in the format: ('Foil1'=&gt; 'True','Foil2'=&gt; 'False').
           In the case of a conditional hint for a concept group, the format of the concept parameter is also a hash that links the name of each concept group included in the hint condition to either 'correct' or 'incorrect' - e.g., &lt;optionhint concept="('buoyancy'=&gt; 'correct','density'=&gt; 'correct')" name="fluids" /&gt;.
           If 'correct' is specified for a named concept then when the conditional hint is evaluated answers for each of the foils selected by a student must be correct for the hint action to be triggered. If anything other than 'correct' is provided in the concept hash in the optionhint element then then students answers will be compared with the set answers for the foils in the concept group and as long as at least one answer is incorrect (i.e., the concept group was not correctly answered) then the corresponding hint action will be triggered.
       </xs:documentation>        </xs:documentation>
     </xs:annotation>      </xs:annotation>
     <xs:complexType>      <xs:complexType>
Line 2641 Line 2707
           </xs:documentation>            </xs:documentation>
         </xs:annotation>          </xs:annotation>
       </xs:attribute>        </xs:attribute>
       <xs:attribute name="answer" type="xs:string"/>        <xs:attribute name="answer">
       <xs:attribute name="concept" type="xs:string"/>          <xs:annotation>
             <xs:documentation>
               Perl hash with foil names as keys and submitted values as values.
               Example: ('foil1'=&gt; 'true', 'foil2'=&gt; 'false')
             </xs:documentation>
           </xs:annotation>
           <xs:simpleType>
             <xs:restriction base="xs:string">
               <xs:pattern value="\(\s*'.*'\s*\)"/>
             </xs:restriction>
           </xs:simpleType>
         </xs:attribute>
         <xs:attribute name="concept" type="xs:string">
           <xs:annotation>
             <xs:documentation>
               Perl hash with concept names as keys and either 'correct' or 'incorrect' as values.
               Example: ('buoyancy'=&gt;'correct', 'density'=&gt; 'correct')
             </xs:documentation>
           </xs:annotation>
           <xs:simpleType>
             <xs:restriction base="xs:string">
               <xs:pattern value="\(\s*'.*'\s*\)"/>
             </xs:restriction>
           </xs:simpleType>
         </xs:attribute>
     </xs:complexType>      </xs:complexType>
   </xs:element>    </xs:element>
   <xs:element name="numericalhint">    <xs:element name="numericalhint">
Line 2796 Line 2886
       <xs:documentation>        <xs:documentation>
         Custom Hint Condition          Custom Hint Condition
                   
         Define the hint condition within an answer block inside of the customhint block. The condition is defined like how an answer is defined in customresponse where you need to return EXACT ANS to indicate when customhint criteria are met.          Define the hint condition within an answer element inside the customhint element. The condition is defined in the same way an answer is defined in customresponse, where you need to return EXACT_ANS to indicate when the customhint criteria are met.
       </xs:documentation>        </xs:documentation>
     </xs:annotation>      </xs:annotation>
     <xs:complexType>      <xs:complexType>
Line 2989 Line 3079
   <xs:element name="gnuplot">    <xs:element name="gnuplot">
     <xs:annotation>      <xs:annotation>
       <xs:documentation>        <xs:documentation>
         The gnuplot LON-CAPA tag allows an author to design a plot which will be created programatically at the time when it is requested for display by a student. This is intended for use in homework problems where a distinct plot should be rendered for each student. It can be used in conjunction with a script to generate curve data for random plots.          The gnuplot LON-CAPA element allows an author to design a plot which will be created programatically at the time when it is requested for display by a student. This is intended for use in homework problems where a distinct plot should be rendered for each student. It can be used in conjunction with a script to generate curve data for random plots.
       </xs:documentation>        </xs:documentation>
     </xs:annotation>      </xs:annotation>
     <xs:complexType>      <xs:complexType>
Line 3000 Line 3090
         <xs:annotation>          <xs:annotation>
           <xs:documentation>            <xs:documentation>
             Brief description of the plot.              Brief description of the plot.
             This text is used as the alt value of the img tag used to display the plot on a web page.              This text is used as the alt value of the img element used to display the plot on a web page.
           </xs:documentation>            </xs:documentation>
         </xs:annotation>          </xs:annotation>
       </xs:attribute>        </xs:attribute>
Line 3375 Line 3465
       <xs:element name="axis" type="lonplot--axis">        <xs:element name="axis" type="lonplot--axis">
         <xs:annotation>          <xs:annotation>
           <xs:documentation>            <xs:documentation>
             The Plot Axes tag allows you to specify the domain and range of the data to display. It is closely tied with the Plot Ticks tags, which specify where the gridlines are drawn on the plot.              The Plot Axes element allows you to specify the domain and range of the data to display. It is closely tied with the Plot Ticks elements, which specify where the gridlines are drawn on the plot.
           </xs:documentation>            </xs:documentation>
         </xs:annotation>          </xs:annotation>
       </xs:element>        </xs:element>
       <xs:element name="curve" type="lonplot--curve">        <xs:element name="curve" type="lonplot--curve">
         <xs:annotation>          <xs:annotation>
           <xs:documentation>            <xs:documentation>
             The curve tag is where you set the data to be plotted by gnuplot.              The curve element is where you set the data to be plotted by gnuplot.
           </xs:documentation>            </xs:documentation>
         </xs:annotation>          </xs:annotation>
       </xs:element>        </xs:element>
       <xs:element name="key" type="lonplot--key">        <xs:element name="key" type="lonplot--key">
         <xs:annotation>          <xs:annotation>
           <xs:documentation>            <xs:documentation>
             The key tag causes a key to be drawn on the plot when it is generated. The key will contain an entry for each curve which has a name.              The key element causes a key to be drawn on the plot when it is generated. The key will contain an entry for each curve which has a name.
             The key is the color of the foreground of the plot, specified in the gnuplot tag.              The key is the color of the foreground of the plot, specified in the gnuplot element.
           </xs:documentation>            </xs:documentation>
         </xs:annotation>          </xs:annotation>
       </xs:element>        </xs:element>
       <xs:element name="label" type="lonplot--label">        <xs:element name="label" type="lonplot--label">
         <xs:annotation>          <xs:annotation>
           <xs:documentation>            <xs:documentation>
             The label tag allows the author to place text at any position on the plot. There may be many label tags on one plot and all the labels which fall within the plot will show. The color used will be to foreground color of the plot and the font will be the size specified for the plot, both of which are set in the gnuplot tag.              The label element allows the author to place text at any position on the plot. There may be many label elements on one plot and all the labels which fall within the plot will show. The color used will be to foreground color of the plot and the font will be the size specified for the plot, both of which are set in the gnuplot element.
           </xs:documentation>            </xs:documentation>
         </xs:annotation>          </xs:annotation>
       </xs:element>        </xs:element>
Line 3763 Line 3853
     <xs:annotation>      <xs:annotation>
       <xs:documentation>        <xs:documentation>
         Causes a key to be drawn on the plot when it is generated. The key will contain an entry for each curve which has a name.          Causes a key to be drawn on the plot when it is generated. The key will contain an entry for each curve which has a name.
         The key is the color of the foreground of the plot, specified in the gnuplot tag.          The key is the color of the foreground of the plot, specified in the gnuplot element.
       </xs:documentation>        </xs:documentation>
     </xs:annotation>      </xs:annotation>
     <xs:attribute name="title" type="xs:string">      <xs:attribute name="title" type="xs:string">
Line 3854 Line 3944
       <xs:element name="tic">        <xs:element name="tic">
         <xs:annotation>          <xs:annotation>
           <xs:documentation>            <xs:documentation>
             The &lt;tic&gt; tag allows users to specify exact Tic positions and labels for each axis.              The &lt;tic&gt; element allows users to specify exact Tic positions and labels for each axis.
             In this version we only support level 0 tics (major tic).              In this version we only support level 0 tics (major tic).
             Each tic has associated with it a position and a label $current_tics is a reference to the current tick description hash.              Each tic has associated with it a position and a label $current_tics is a reference to the current tick description hash.
             We add elements to an array in that has: ticspecs whose elements are 'pos' - the tick position and 'label' - the tic label.              We add elements to an array in that has: ticspecs whose elements are 'pos' - the tick position and 'label' - the tic label.
Line 3922 Line 4012
     <xs:attribute default="off" name="rotate" type="onoff-or-perl">      <xs:attribute default="off" name="rotate" type="onoff-or-perl">
       <xs:annotation>        <xs:annotation>
         <xs:documentation>          <xs:documentation>
           For output devices that support it, this rotates the tic label by 90 degrees. This is most useful with large lables defined by the tic tag described below.            For output devices that support it, this rotates the tic label by 90 degrees. This is most useful with large lables defined by the tic element described below.
         </xs:documentation>          </xs:documentation>
       </xs:annotation>        </xs:annotation>
     </xs:attribute>      </xs:attribute>
Line 3960 Line 4050
       <xs:documentation>        <xs:documentation>
         Conditional Block          Conditional Block
                   
         This has a required argument condition that is evaluated. If the condition is true, everything inside the tag is evaluated; otherwise, everything inside the block tag is skipped.          This has a required argument condition that is evaluated. If the condition is true, everything inside the element is evaluated; otherwise, everything inside the block element is skipped.
                   
         When found inside the gnuplot element, a block can only have gnuplot children inside, with no text.          When found inside the gnuplot element, a block can only have gnuplot children inside, with no text.
       </xs:documentation>        </xs:documentation>
Line 4268 Line 4358
       <xs:documentation>        <xs:documentation>
         Parameter for a part          Parameter for a part
                   
         parameter is exactly the same as responseparam, but should appear outside of a response tag.          parameter is exactly the same as responseparam, but should appear outside of a response element.
       </xs:documentation>        </xs:documentation>
     </xs:annotation>      </xs:annotation>
     <xs:complexType>      <xs:complexType>
Line 4443 Line 4533
       <xs:documentation>        <xs:documentation>
         Import a File          Import a File
                   
         This causes the parse to read in the file named in the body of the tag and parse it as if the entire text of the file had existed at the location of the tag.          This causes the parse to read in the file named in the body of the element and parse it as if the entire text of the file had existed at the location of the element.
       </xs:documentation>        </xs:documentation>
     </xs:annotation>      </xs:annotation>
     <xs:complexType>      <xs:complexType>
Line 4476 Line 4566
       <xs:documentation>        <xs:documentation>
         Conditional Block          Conditional Block
                   
         This has a required argument condition that is evaluated. If the condition is true, everything inside the tag is evaluated; otherwise, everything inside the block tag is skipped.          This has a required argument condition that is evaluated. If the condition is true, everything inside the element is evaluated; otherwise, everything inside the block element is skipped.
       </xs:documentation>        </xs:documentation>
     </xs:annotation>      </xs:annotation>
     <xs:attribute name="condition" type="xs:string">      <xs:attribute name="condition" type="xs:string">
Line 4533 Line 4623
       <xs:documentation>        <xs:documentation>
         While Loop Block          While Loop Block
                   
         This implements a while loop. The required attribute condition is a Perl scriptlet that when evaluated results in a true or false value. If true, the entirety of the text between the whiles is parsed. The condition is tested again, etc. If false, it goes to the next tag.          This implements a while loop. The required attribute condition is a Perl scriptlet that when evaluated results in a true or false value. If true, the entirety of the text between the whiles is parsed. The condition is tested again, etc. If false, it goes to the next element.
       </xs:documentation>        </xs:documentation>
     </xs:annotation>      </xs:annotation>
     <xs:complexType mixed="true">      <xs:complexType mixed="true">
Line 4677 Line 4767
       <xs:documentation>        <xs:documentation>
         Randomly Parsed Block          Randomly Parsed Block
                   
         The enclosed tags are parsed in a stable random order. The optional attribute show=“N” restricts the number of tags inside that are actually parsed to no more than N. N can equal the total tags inside. The randomlist tag can be used to randomize problem parts by wrapping the &lt;part&gt; tags with a randomlist tag. Note that when randomlist wraps &lt;part&gt; tags, that all students will work all parts only if show=“N” where N is the total number of parts wrapped. When N is less than the total number of parts wrapped, there will be gaps in the assessment chart, and also in the table of submissions for each student, corresponding to those parts which are never available to that particular student.          The enclosed elements are parsed in a stable random order. The optional attribute show=“N” restricts the number of elements inside that are actually parsed to no more than N. N can equal the total elements inside. The randomlist element can be used to randomize problem parts by wrapping the &lt;part&gt; elements with a randomlist element. Note that when randomlist wraps &lt;part&gt; elements, that all students will work all parts only if show=“N” where N is the total number of parts wrapped. When N is less than the total number of parts wrapped, there will be gaps in the assessment chart, and also in the table of submissions for each student, corresponding to those parts which are never available to that particular student.
       </xs:documentation>        </xs:documentation>
     </xs:annotation>      </xs:annotation>
     <xs:attribute name="show" type="int-or-perl">      <xs:attribute name="show" type="int-or-perl">
Line 4796 Line 4886
       </xs:extension>        </xs:extension>
     </xs:complexContent>      </xs:complexContent>
   </xs:complexType>    </xs:complexType>
   <xs:element name="script">  
     <xs:annotation>  
       <xs:documentation>  
         Perl Script Block  
           
         If the attribute type is set to “loncapa/perl” the enclosed data is a Perl script which is evaluated inside the Perl safe space. The return value of the script is ignored.  
       </xs:documentation>  
     </xs:annotation>  
     <xs:complexType mixed="true">  
       <xs:attribute default="text/javascript" name="type" type="xs:string"/>  
       <xs:attribute fixed="preserve" ref="xml:space"/>  
     </xs:complexType>  
   </xs:element>  
   <xs:element name="languageblock">    <xs:element name="languageblock">
     <xs:annotation>      <xs:annotation>
       <xs:documentation>        <xs:documentation>
Line 4827 Line 4904
     <xs:annotation>      <xs:annotation>
       <xs:documentation>        <xs:documentation>
         &lt;translated&gt; starts a block of a resource that has multiple translations.          &lt;translated&gt; starts a block of a resource that has multiple translations.
         See the &lt;lang&gt; tag as well.          See the &lt;lang&gt; element as well.
         When &lt;/translated&gt; is encountered if there is a translation for the currently preferred language, that is rendered inthe web/tex/webgrade targets. Otherwise, the default text is rendered.          When &lt;/translated&gt; is encountered if there is a translation for the currently preferred language, that is rendered inthe web/tex/webgrade targets. Otherwise, the default text is rendered.
         Note that &lt;lang&gt; is only registered for the duration of the &lt;translated&gt;...&lt;/translated&gt; block.          Note that &lt;lang&gt; is only registered for the duration of the &lt;translated&gt;...&lt;/translated&gt; block.
       </xs:documentation>        </xs:documentation>
Line 4842 Line 4919
   <xs:element name="lang">    <xs:element name="lang">
     <xs:annotation>      <xs:annotation>
       <xs:documentation>        <xs:documentation>
         Specifies that the block contained within it is a translation for a specific language specified by the 'which' attribute. The 'other' attribute can be used by itself or in conjunction with which to specify this tag _may_ be used as a translation for some list of languages. e.g.:          Specifies that the block contained within it is a translation for a specific language specified by the 'which' attribute. The 'other' attribute can be used by itself or in conjunction with which to specify this element _may_ be used as a translation for some list of languages. e.g.:
         &lt;lang which='senisoUS' other='senisoCA,senisoAU,seniso'&gt;          &lt;lang which='senisoUS' other='senisoCA,senisoAU,seniso'&gt;
         specifying that the block provides a translation for US (primary) Canadian, Australian and UK English.          specifying that the block provides a translation for US (primary) Canadian, Australian and UK English.
       </xs:documentation>        </xs:documentation>
Line 5131 Line 5208
       <xs:documentation>        <xs:documentation>
         Display Script Result Block          Display Script Result Block
                   
         The intervening Perl script is evaluated in the safe space and the return value of the script replaces the entire tag.          The intervening Perl script is evaluated in the safe space and the return value of the script replaces the entire element.
       </xs:documentation>        </xs:documentation>
     </xs:annotation>      </xs:annotation>
   </xs:element>    </xs:element>
Line 5216 Line 5293
     </xs:annotation>      </xs:annotation>
     <xs:complexType mixed="true">      <xs:complexType mixed="true">
       <xs:attribute name="style" type="xs:string"/>        <xs:attribute name="style" type="xs:string"/>
       <xs:attribute name="display" type="xs:string"/>        <xs:attribute name="display" type="xs:string">
           <xs:annotation>
             <xs:documentation>
               Option to force the math rendering for this element.
             </xs:documentation>
           </xs:annotation>
         </xs:attribute>
     </xs:complexType>      </xs:complexType>
   </xs:element>    </xs:element>
   <xs:element name="chem" type="xs:string">    <xs:element name="chem" type="xs:string">
Line 5373 Line 5456
   <xs:group name="head.misc">    <xs:group name="head.misc">
     <xs:sequence>      <xs:sequence>
       <xs:choice maxOccurs="unbounded" minOccurs="0">        <xs:choice maxOccurs="unbounded" minOccurs="0">
         <xs:element name="script" type="htmlScript"/>          <xs:element ref="script"/>
         <xs:element ref="style"/>          <xs:element ref="style"/>
         <xs:element name="meta" type="htmlMeta">          <xs:element name="meta" type="htmlMeta">
           <xs:annotation>            <xs:annotation>
Line 5582 Line 5665
       <xs:attribute fixed="preserve" ref="xml:space"/>        <xs:attribute fixed="preserve" ref="xml:space"/>
     </xs:complexType>      </xs:complexType>
   </xs:element>    </xs:element>
   <xs:complexType mixed="true" name="htmlScript">    <xs:element name="script">
     <xs:annotation>      <xs:annotation>
       <xs:documentation>        <xs:documentation>
           Perl Script Block or Javascript
           
           If the attribute type is set to “loncapa/perl” the enclosed data is a Perl script which is evaluated inside the Perl safe space. The return value of the script is ignored.
           
         The HTML &lt;script&gt; element is used to embed or reference an executable script within an HTML or XHTML document.          The HTML &lt;script&gt; element is used to embed or reference an executable script within an HTML or XHTML document.
                   
         Scripts without async or defer attributes, as well as inline scripts, are fetched and executed immediately, before the browser continues to parse the page.          Scripts without async or defer attributes, as well as inline scripts, are fetched and executed immediately, before the browser continues to parse the page.
       </xs:documentation>        </xs:documentation>
     </xs:annotation>      </xs:annotation>
     <xs:attribute name="id" type="xs:ID"/>      <xs:complexType mixed="true">
     <xs:attribute name="charset" type="xs:string"/>        <xs:attribute name="id" type="xs:ID"/>
     <xs:attribute name="src" type="xs:anyURI">        <xs:attribute name="charset" type="xs:string"/>
       <xs:annotation>        <xs:attribute name="src" type="xs:anyURI">
         <xs:documentation>          <xs:annotation>
           This attribute specifies the URI of an external script; this can be used as an alternative to embedding a script directly within a document. script elements with an src attribute specified should not have a script embedded within its tags.            <xs:documentation>
         </xs:documentation>              This attribute specifies the URI of an external script; this can be used as an alternative to embedding a script directly within a document. script elements with an src attribute specified should not have a script embedded within its tags.
       </xs:annotation>            </xs:documentation>
     </xs:attribute>          </xs:annotation>
     <xs:attribute default="text/javascript" name="type" type="xs:string">        </xs:attribute>
       <xs:annotation>        <xs:attribute default="text/javascript" name="type" type="xs:string">
         <xs:documentation>          <xs:annotation>
           This attribute identifies the scripting language of code embedded within a script element or referenced via the element’s src attribute. This is specified as a MIME type; examples of supported MIME types include text/javascript, text/ecmascript, application/javascript, and application/ecmascript.            <xs:documentation>
         </xs:documentation>              This attribute identifies the scripting language of code embedded within a script element or referenced via the element’s src attribute. This is specified as a MIME type; examples of supported MIME types include text/javascript, text/ecmascript, application/javascript, and application/ecmascript.
       </xs:annotation>              
     </xs:attribute>              If the attribute type is set to “loncapa/perl” the enclosed data is a Perl script which is evaluated inside the Perl safe space. The return value of the script is ignored.
     <xs:attribute name="language" type="xs:string">            </xs:documentation>
       <xs:annotation>          </xs:annotation>
         <xs:documentation>        </xs:attribute>
           Like the type attribute, this attribute identifies the scripting language in use. Unlike the type attribute, however, this attribute’s possible values were never standardized. The type attribute should be used instead.        <xs:attribute name="language" type="xs:string">
         </xs:documentation>          <xs:annotation>
       </xs:annotation>            <xs:documentation>
     </xs:attribute>              Like the type attribute, this attribute identifies the scripting language in use. Unlike the type attribute, however, this attribute’s possible values were never standardized. The type attribute should be used instead.
     <xs:attribute name="defer">            </xs:documentation>
       <xs:annotation>          </xs:annotation>
         <xs:documentation>        </xs:attribute>
           This Boolean attribute is set to indicate to a browser that the script is meant to be executed after the document has been parsed. Since this feature hasn't yet been implemented by all other major browsers, authors should not assume that the script’s execution will actually be deferred. The defer attribute shouldn't be used on scripts that don't have the src attribute. Since Gecko 1.9.2, the defer attribute is ignored on scripts that don't have the src attribute. However, in Gecko 1.9.1 even inline scripts are deferred if the defer attribute is set.        <xs:attribute name="defer">
         </xs:documentation>          <xs:annotation>
       </xs:annotation>            <xs:documentation>
       <xs:simpleType>              This Boolean attribute is set to indicate to a browser that the script is meant to be executed after the document has been parsed. Since this feature hasn't yet been implemented by all other major browsers, authors should not assume that the script’s execution will actually be deferred. The defer attribute shouldn't be used on scripts that don't have the src attribute. Since Gecko 1.9.2, the defer attribute is ignored on scripts that don't have the src attribute. However, in Gecko 1.9.1 even inline scripts are deferred if the defer attribute is set.
         <xs:restriction base="xs:token">            </xs:documentation>
           <xs:enumeration value="defer"/>          </xs:annotation>
         </xs:restriction>          <xs:simpleType>
       </xs:simpleType>            <xs:restriction base="xs:token">
     </xs:attribute>              <xs:enumeration value="defer"/>
     <xs:attribute name="async">            </xs:restriction>
       <xs:annotation>          </xs:simpleType>
         <xs:documentation>        </xs:attribute>
           HTML5 only.        <xs:attribute name="async">
           Set this Boolean attribute to indicate that the browser should, if possible, execute the script asynchronously. It has no effect on inline scripts (i.e., scripts that don't have the src attribute).          <xs:annotation>
         </xs:documentation>            <xs:documentation>
       </xs:annotation>              HTML5 only.
       <xs:simpleType>              Set this Boolean attribute to indicate that the browser should, if possible, execute the script asynchronously. It has no effect on inline scripts (i.e., scripts that don't have the src attribute).
         <xs:restriction base="xs:token">            </xs:documentation>
           <xs:enumeration value="async"/>          </xs:annotation>
         </xs:restriction>          <xs:simpleType>
       </xs:simpleType>            <xs:restriction base="xs:token">
     </xs:attribute>              <xs:enumeration value="async"/>
     <xs:attribute fixed="preserve" ref="xml:space"/>            </xs:restriction>
   </xs:complexType>          </xs:simpleType>
         </xs:attribute>
         <xs:attribute fixed="preserve" ref="xml:space"/>
       </xs:complexType>
     </xs:element>
   <xs:element name="noscript">    <xs:element name="noscript">
     <xs:annotation>      <xs:annotation>
       <xs:documentation>        <xs:documentation>
Line 6552 Line 6643
         <xs:group ref="inlines"/>          <xs:group ref="inlines"/>
       </xs:choice>        </xs:choice>
       <xs:attributeGroup ref="coreattrs"/>        <xs:attributeGroup ref="coreattrs"/>
       <xs:attribute name="name" type="xs:string"/>        <xs:attribute name="name" type="xs:string">
       <xs:attribute name="href" type="xs:anyURI"/>          <xs:annotation>
       <xs:attribute name="target" type="xs:string"/>            <xs:documentation>
       <xs:attribute name="title" type="xs:string"/>              HTML 4 only, Obsolete since HTML5.
       <xs:attribute name="uriprint" type="xs:string"/>              
       <xs:attribute name="anchorprint" type="xs:string"/>              This attribute is required in an anchor defining a target location within a page. A value for name is similar to a value for the id core attribute and should be an alphanumeric identifier unique to the document. Under the HTML 4.01 specification, id and name both can be used with the &lt;a&gt; element as long as they have identical values.
       <xs:attribute name="rel" type="xs:NMTOKENS"/>              
               Usage note: This attribute is obsolete in HTML5, use global attribute id instead.
             </xs:documentation>
           </xs:annotation>
         </xs:attribute>
         <xs:attribute name="href" type="xs:anyURI">
           <xs:annotation>
             <xs:documentation>
               This was the single required attribute for anchors defining a hypertext source link, but is no longer required in HTML5. Omitting this attribute creates a placeholder link. The href attribute indicates the link target, either a URL or a URL fragment. A URL fragment is a name preceded by a hash mark (#), which specifies an internal target location (an ID) within the current document. URLs are not restricted to Web (HTTP)-based documents. URLs might use any protocol supported by the browser. For example, file, ftp, and mailto work in most user agents.
               
               Note: You can use the special fragment "top" to create a link back to the top of the page; for example &lt;a href="#top"&gt;Return to top&lt;/a&gt;. This behavior is specified by HTML5.
             </xs:documentation>
           </xs:annotation>
         </xs:attribute>
         <xs:attribute name="target" type="xs:string">
           <xs:annotation>
             <xs:documentation>
               This attribute specifies where to display the linked resource. In HTML4, this is the name of, or a keyword for, a frame. In HTML5, it is a name of, or keyword for, a browsing context (for example, tab, window, or inline frame). The following keywords have special meanings:
               
               * _self: Load the response into the same HTML4 frame (or HTML5 browsing context) as the current one. This value is the default if the attribute is not specified.
               * _blank: Load the response into a new unnamed HTML4 window or HTML5 browsing context.
               * _parent: Load the response into the HTML4 frameset parent of the current frame or HTML5 parent browsing context of the current one. If there is no parent, this option behaves the same way as _self.
               * _top: In HTML4: Load the response into the full, original window, canceling all other frames. In HTML5: Load the response into the top-level browsing context (that is, the browsing context that is an ancestor of the current one, and has no parent). If there is no parent, this option behaves the same way as _self.
               
               Use this attribute only if the href attribute is present.
             </xs:documentation>
           </xs:annotation>
         </xs:attribute>
         <xs:attribute name="title" type="xs:string">
           <xs:annotation>
             <xs:documentation>
               Contains a text representing advisory information related to the element it belongs to. Such information can typically, but not necessarily, be presented to the user as a tooltip.
             </xs:documentation>
           </xs:annotation>
         </xs:attribute>
         <xs:attribute name="rel" type="xs:NMTOKENS">
           <xs:annotation>
             <xs:documentation>
               For anchors containing the href attribute, this attribute specifies the relationship of the target object to the link object. The value is a comma-separated list of link types values. The values and their semantics will be registered by some authority that might have meaning to the document author. The default relationship, if no other is given, is void. Use this attribute only if the href attribute is present.
             </xs:documentation>
           </xs:annotation>
         </xs:attribute>
       <xs:attribute name="accesskey">        <xs:attribute name="accesskey">
           <xs:annotation>
             <xs:documentation>
               Provides a hint for generating a keyboard shortcut for the current element. This attribute consists of a space-separated list of characters. The browser should use the first one that exists on the computer keyboard layout.
             </xs:documentation>
           </xs:annotation>
         <xs:simpleType>          <xs:simpleType>
           <xs:restriction base="xs:string">            <xs:restriction base="xs:string">
             <xs:length fixed="true" value="1"/>              <xs:length fixed="true" value="1"/>
Line 6577 Line 6714
           </xs:documentation>            </xs:documentation>
         </xs:annotation>          </xs:annotation>
       </xs:attribute>        </xs:attribute>
         <xs:attribute name="uriprint" type="xs:string">
           <xs:annotation>
             <xs:documentation>
               Attribute specific to LON-CAPA.
               Display the href attribute when printing.
             </xs:documentation>
           </xs:annotation>
           <xs:simpleType>
             <xs:restriction base="xs:string">
               <xs:enumeration value="on"/>
               <xs:enumeration value="uriprint"/>
               <xs:enumeration value="yes"/>
               <xs:enumeration value="1"/>
             </xs:restriction>
           </xs:simpleType>
         </xs:attribute>
         <xs:attribute name="anchorprint" type="xs:string">
           <xs:annotation>
             <xs:documentation>
               Attribute specific to LON-CAPA.
               Display the name attribute when printing.
             </xs:documentation>
           </xs:annotation>
           <xs:simpleType>
             <xs:restriction base="xs:string">
               <xs:enumeration value="on"/>
               <xs:enumeration value="anchorprint"/>
               <xs:enumeration value="yes"/>
               <xs:enumeration value="1"/>
             </xs:restriction>
           </xs:simpleType>
         </xs:attribute>
     </xs:complexType>      </xs:complexType>
   </xs:element>    </xs:element>
   <xs:element name="em" type="inlineBaseType">    <xs:element name="em" type="inlineBaseType">
Line 6596 Line 6765
   <xs:element name="b" type="inlineBaseType">    <xs:element name="b" type="inlineBaseType">
     <xs:annotation>      <xs:annotation>
       <xs:documentation>        <xs:documentation>
         Bold          The HTML &lt;b&gt; Element represents a span of text stylistically different from normal text, without conveying any special importance or relevance. It is typically used for keywords in a summary, product names in a review, or other spans of text whose typical presentation would be boldfaced. Another example of its use is to mark the lead sentence of each paragraph of an article.
       </xs:documentation>        </xs:documentation>
     </xs:annotation>      </xs:annotation>
   </xs:element>    </xs:element>
   <xs:element name="i" type="inlineBaseType">    <xs:element name="i" type="inlineBaseType">
     <xs:annotation>      <xs:annotation>
       <xs:documentation>        <xs:documentation>
         Italic          The HTML &lt;i&gt; Element represents a range of text that is set off from the normal text for some reason, for example, technical terms, foreign language phrases, or fictional character thoughts. It is typically displayed in italic type.
       </xs:documentation>        </xs:documentation>
     </xs:annotation>      </xs:annotation>
   </xs:element>    </xs:element>
   <xs:element name="sup" type="inlineBaseType">    <xs:element name="sup" type="inlineBaseType">
     <xs:annotation>      <xs:annotation>
       <xs:documentation>        <xs:documentation>
         Superscript          The HTML Superscript Element (&lt;sup&gt;) defines a span of text that should be displayed, for typographic reasons, higher, and often smaller, than the main span of text.
       </xs:documentation>        </xs:documentation>
     </xs:annotation>      </xs:annotation>
   </xs:element>    </xs:element>
   <xs:element name="sub" type="inlineBaseType">    <xs:element name="sub" type="inlineBaseType">
     <xs:annotation>      <xs:annotation>
       <xs:documentation>        <xs:documentation>
         Subscript          The HTML Subscript Element (&lt;sub&gt;) defines a span of text that should be displayed, for typographic reasons, lower, and often smaller, than the main span of text.
       </xs:documentation>        </xs:documentation>
     </xs:annotation>      </xs:annotation>
   </xs:element>    </xs:element>

Removed from v.1.3  
changed lines
  Added in v.1.12


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>