LON-CAPA language reference


Go to index

XML schema for LON-CAPA documents.

Shared simple types.

Simple type perl

Value restriction based on xs:string

Simple type int-or-perl

Union of types

Simple type non-negative-int-or-perl

Union of types

Simple type decimal-or-perl

Union of types

Simple type real

Value restriction based on xs:string

Simple type real-or-perl

Union of types

Simple type yesno

Value restriction based on xs:string

Simple type yesno-or-perl

Union of types

Simple type onoff

Value restriction based on xs:string

Simple type onoff-or-perl

Union of types

Simple type color

Value restriction based on xs:string

Simple type color-or-perl

Union of types

Simple type location

Value restriction based on xs:string

Simple type location-or-perl

Union of types
Shared attributes

Attribute TeXsize:
optional
Size of LaTeX fonts used in printing. Possible values of TeXsize attribute: - tiny: smallest - scriptsize: very small - footnotesize: smaller - small: small - normalsize: normal - large: large - Large: larger - LARGE: even larger - huge: still larger - Huge: largest Note, that all parameters coincide with standard LaTeX commands for changing font size though you do not escape them.
Union of types
Problem (root element)

Element problem

Root for .problem documents. This must be first in the file. It sets up the header of the webpage and generates the submit buttons. It also handles due dates properly.
Can contain text
Choice between:



Library (root element)

Element library

Root for .library documents. 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 <import> element.
Can contain text
Choice between:



Groups of block and inline elements.

Group text-with-parts

List of block and inline elements mixed with text. These elements can contain parts and responses.
Choice between:
Parents: problem

Group text-with-responses

List of block and inline elements mixed with text. These elements can contain responses but not parts.
Choice between:
Parents: library, part, preduedate, notsolved, comment

Group text-only

List of block and inline elements mixed with text. These elements cannot contain responses or parts.
Choice between:
Parents: stringresponse, essayresponse, radiobuttonresponse, optionresponse, matchresponse, rankresponse, imageresponse, numericalresponse, formularesponse, mathresponse, functionplotresponse, organicresponse, reactionresponse, customresponse, externalresponse, dataresponse, hintgroup, hintpart, IntroParagraph, ClosingParagraph, QuestionText, InstanceText, CriteriaText, GraderNote, postanswerdate, solved, while, print, web, standalone, languageblock, translated, lang, window, windowlink, togglebox, instructorcomment, header, footer, aside, caption, th, address, blockquote, figure, figcaption, object, applet, fieldset, button

Group universal-blocks

Blocks with a content that does not depend on the scope, and that can appear anywhere with text and blocks.
Choice between:
Parents: blocks-with-parts, blocks-with-responses, blocks-with-text

Group blocks-with-parts

Choice between:
Parents: text-with-parts

Group blocks-with-responses

Choice between:
Parents: text-with-responses

Group blocks-with-text

Choice between:
Parents: text-only, noscript, body, map, canvas, form, iframe

Group inlines

Choice between:
Parents: text-with-parts, text-with-responses, text-only, span, a, pre, q, canvas

Group inserts

List of elements that insert something if a condition is verified.
Choice between:
Parents: problem, library, part, solved, notsolved, while, window

List of responses

Group responses

Choice between:
Parents: text-with-parts, text-with-responses

Group inlineResponses

Choice between:
Parents: responses

Group blockResponses

Choice between:
Parents: responses

Attribute group: response-identification

Attribute id:
optional
type: xs:string
Unique identifier for the response in the document. If this isn’t set, it will be set during the publication step. It is used to assign parameter names in a way that can be tracked if an instructor modifies by hand.
Attribute name:
optional
type: xs:string
If set, the name will be used by the resource assembly tool when one is modifying parameters.

Parents: stringresponse, essayresponse, radiobuttonresponse, optionresponse, matchresponse, rankresponse, imageresponse, numericalresponse, formularesponse, mathresponse, functionplotresponse, organicresponse, reactionresponse, customresponse, externalresponse, dataresponse

String response

Element stringresponse

Query for a string. An internal textline element is necessary for the student’s response to go in. It can check the string for either case or order.
Can contain text
Choice between: response-identification

Attribute answer:
required
type: xs:string
the correct answer, either a perl list or scalar
Attribute type:
optional
Specifies how the string is checked (like the CAPA styles). Possible values are: – cs: case sensitive, order important. – ci: case insensitive, order important. – mc: case insensitive, order unimportant.
Union of types
Attribute answerdisplay:
optional
type: xs:string
String to display for answer
Attribute preprocess:
optional
type: xs:string
Pre-Processor Subroutine

Parents: inlineResponses

Essay response

Element essayresponse

Query for a long text or a line, possibly with spell checking.
Can contain text
Choice between: response-identification


Parents: blockResponses

Radio button response

Element radiobuttonresponse

Query for a single choice among several statements. The value of the foils can only be true, false, or unused.
Can contain text
Choice between: response-identification

Attribute max:
optional
type: int-or-perl
Max Number Of Shown Foils
Attribute randomize:
optional
type: yesno-or-perl
Randomize Foil Order
Attribute direction:
optional
Display Direction
Union of types

Parents: blockResponses

Complex type radiobuttonresponse--foilgroup

Collection of Foils
Choice between:

Complex type radiobuttonresponse--conceptgroup

Collection of similar foils. When a problem is displayed, only one of the contained foils is selected for display.
Choice between: Attribute concept:
required
type: xs:string

Complex type radiobuttonresponse--foil

Can contain text
Statement next to the radio button.
Choice between: Attribute name:
required
type: xs:string
Attribute value:
required
Correct Option (true, false, or unused).
Union of types
Attribute location:
optional
type: location-or-perl

Option response

Element optionresponse

Query for a choice for each given statement. Option Response problems present foils to the student with drop-down boxes. The student can select the matching choice for the foils from a list of choices. Optionally, the foils may be bundled into Concept Groups and the system will select one foil from each group to display to the student. By default, the list of options is presented in front of the foils. Using the optional drawoptionlist element, the list of options can be embedded into the foil. The foilgroup is required to have an options attribute which should be a perl list of possible options for the student.
Can contain text
Choice between: response-identification

Attribute max:
optional
type: int-or-perl
Max Number Of Shown Foils
Attribute randomize:
optional
type: yesno-or-perl
Randomize Foil Order
Attribute TeXlayout:
optional
Display of options when printed
Union of types

Parents: inlineResponses

Complex type optionresponse--foilgroup

Collection of Foils
Choice between: Attribute options:
required
Perl list of possible foil values.
Union of types
Attribute texoptions:
optional
Set to "nochoice" to avoid the display of the list of option values when printing.
Union of types
Attribute checkboxvalue:
optional
type: xs:string
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.
Attribute checkboxoptions:
optional
Set to "nochoice" to avoid the display of the list of option values.
Union of types
Attribute noprompt:
optional
Set to "nochoice" to omit "Select all that are ... ".
Union of types
Attribute mincheck:
optional
type: xs:int
Minimum boxes required to check.
Attribute maxcheck:
optional
type: xs:int
Maximum boxes permitted to check.

Complex type optionresponse--conceptgroup

Collection of similar foils. When a problem is displayed, only one of the contained foils is selected for display.
Choice between: Attribute concept:
required
type: xs:string

Complex type optionresponse--foil

Can contain text
Statement next to the drop-down box.
Choice between: Attribute name:
required
type: xs:string
Attribute value:
required
type: xs:string
Correct Option
Attribute location:
optional
type: location-or-perl

Complex type optionresponse--drawoptionlist

Draw Option List By default, the list of options is presented in front of the foils. Using the optional <drawoptionlist> element, the list of options can be embedded into a foil.

Match response

Element matchresponse

Query for matches betweens items from two lists. It is also possible to query for matches with optionresponse, but optionresponse only accepts simple text for the matches. With matchresponse, it is possible to use anything as a match, such as equations, images, plots, or long styled texts.
Can contain text
Choice between: response-identification

Attribute max:
optional
type: int-or-perl
Max Number Of Shown Foils
Attribute randomize:
optional
type: yesno-or-perl
Randomize Foil Order

Parents: blockResponses

Complex type matchresponse--itemgroup

Items to Match
Choice between: Attribute randomize:
optional
type: yesno-or-perl
Randomize Order
Attribute location:
optional
Items Display Location
Union of types
Attribute direction:
optional
Items Display Direction
Union of types
Attribute columns:
optional
Items Columns
Union of types
Attribute TeXitemgroupwidth:
optional
TeXitemgroupwidth attribute allows you to specify the width of table with items for matching. The value of this attribute defines the width in percents with respect to text line width.
Value restriction based on xs:string

Complex type matchresponse--item

Can contain text
Item
Choice between: Attribute name:
optional
type: xs:string
Attribute location:
optional
type: location-or-perl

Complex type matchresponse--foilgroup

Collection of Foils
Choice between:

Complex type matchresponse--conceptgroup

Collection of similar foils. When a problem is displayed, only one of the contained foils is selected for display.
Choice between: Attribute concept:
required
type: xs:string

Complex type matchresponse--foil

Can contain text
Foil
Choice between: Attribute name:
required
type: xs:string
Attribute value:
optional
type: xs:string
Correct Option
Attribute location:
optional
type: location-or-perl

Rank response

Element rankresponse

Query to sort a list of items in the right order.
Can contain text
Choice between: response-identification

Attribute max:
optional
type: int-or-perl
Max Number Of Shown Foils
Attribute randomize:
optional
type: yesno-or-perl
Randomize Foil Order

Parents: blockResponses

Complex type rankresponse--foilgroup

Collection of Foils
Choice between:

Complex type rankresponse--conceptgroup

Collection of similar foils. When a problem is displayed, only one of the contained foils is selected for display.
Choice between: Attribute concept:
required
type: xs:string

Complex type rankresponse--foil

Can contain text
Foil
Choice between: Attribute name:
required
type: xs:string
Attribute value:
optional
type: xs:string
Rank Value
Attribute location:
optional
type: location-or-perl

Image response

Element imageresponse

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.
Can contain text
Choice between: response-identification

Attribute max:
optional
type: int-or-perl
Max Number Of Shown Foils

Parents: blockResponses

Complex type imageresponse--foilgroup

Collection of Imageresponse foils
Choice between:

Complex type imageresponse--conceptgroup

Collection of similar foils. When a problem is displayed, only one of the contained foils is selected for display.
Choice between: Attribute concept:
required
type: xs:string

Complex type imageresponse--foil

Image response foil. image and rectangle are required.
Choice between: Attribute name:
required
type: xs:string

Complex type imageresponse--image

Can contain text
Imageresponse Image (contains the image source file). The delimited text should correspond to a published image resource. Example: <image>/res/adm/includes/templates/man1.jpg</image>. The following image formats are recommended - gif, jpg or png. Other formats may work, but there may be printing or display issues. The image should only appear once per foil.
Choice between:

Simple type imageresponse--rectangle

Rectangular area in image (contains coordinate pairs). The delimited text specifies a rectangular area that is correct, specified as (x1,y1)-(x2,y2), where x1, x2, y1, and y2 are number corresponding to the x and y coordinates of two corners that define a rectangle which specifies where the right answer for this foil is located on the image. For example, (0,0)-(100,200) will specify that a rectangle 100 pixels wide and 200 pixels tall, situated in the upper left of the image, is correct. At least one rectangle is required; multiple rectangles may be specified.
Union of types

Simple type imageresponse--polygon

Polygonal area in image (contains coordinate list)
Union of types

Complex type imageresponse--text

Can contain text
Text to describe option The delimited text is printed before the image is shown on the screen. This text is typically used to describe to the student what they are expected to click on.
Choice between:

Numerical response

Element numericalresponse

Query for one or several numbers, possibly with units. A tolerance parameter should be used to determine how closely the system will require the student’s answer to be in order to count it correct. The tolerance will default to zero if it is not defined. The tolerance parameter should always be defined for a numerical problem unless you are certain only integer answers are generated from your script and you want students to reply with exactly that integer. A significant figures parameter tells the system how many significant figures there are in the problem, as either a single number, e.g. 3, or a range of acceptable values, expressed as min,max. The system will check to make sure that the student’s answer contains this many significant digits, useful in many scientific calculations.
Can contain text
Choice between: response-identification

Attribute answer:
optional
type: xs:string
The answer the system is looking for. The answer can use variables calculated/defined in the problem’s script block, allowing the answer to be determined dynamically (including randomization).
Attribute incorrect:
optional
type: xs:string
Incorrect Answers When switched into exam ("bubble sheet") mode, LON-CAPA usually create wrong answers automatically. To specify wrong answers yourself, you need to provide an array of incorrect values in this attribute. You need to provide at least as many incorrects as 1 less than the number of bubbles on the exam. You can provide more if you want to.
Attribute unit:
optional
type: xs:string
Expected units for the answer. For instance, "m/s^2" or "km/(A*hr)". LON-CAPA will automatically perform some conversions between units of the same dimension when units are provided for a problem. You can provide an answer of "1.45 km" for a distance. If the computer expects the answer in cm, it will convert your answer before comparing against the numerical solution.
Attribute format:
optional
type: xs:string
You can format the number displayed by the computer as the answer. For instance, if the answer is one-third, the computer will display that it computed ".333333333" as the answer. If you'd like to shorten that, you can use the Format field. Format strings like "2E" (without the quotes) will display three significant digits in scientific notation. Format strings like "2f" will display two digits after the decimal point. Format strings like "2s" will round a number to 2 significant digits.
Attribute preprocess:
optional
type: xs:string
Pre-Processor Subroutine

Parents: inlineResponses

Complex type caparesponse--answergroup

Collection of Answers. This element can be used instead of the answer attribute on the response element when several answers are correct, or when the correct answer has several components.
Choice between: Attribute type:
optional
Union of types

Complex type caparesponse--answer

A correct list of values or vectors.
Choice between: Attribute name:
optional
type: xs:string
Attribute type:
optional
Union of types

Simple type caparesponse--value

Value
Value restriction based on xs:string

Simple type caparesponse--vector

Vector
Value restriction based on xs:string
Formula response (using caparesponse--answergroup like numericalresponse).

Element formularesponse

Formula Response asks the student to type in a formula as an answer. If the answer is 2x² + 4, the student is allowed to type “2*x*x+4”, “x*x + x*x + 4”, “2*xˆ2 + 14 - 10”, or any other equivalent expression. Formula Response problems have many of the same characteristics of Numerical Response problems, including the ability to run scripts, dynamically generate answers, etc.
Can contain text
Choice between: response-identification

Attribute answer:
optional
type: xs:string
The correct answer. It can use variables calculated/defined in the problem’s Perl script block, allowing the answer to be determined dynamically.
Attribute samples:
optional
type: xs:string
Sample Points. Format: 1. A comma-separated list of the variables you wish to interpret, 2. followed by “@” (not in quotes), 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 (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 #.
Attribute preprocess:
optional
type: xs:string
Pre-Processor Subroutine

Parents: inlineResponses

Math response

Element mathresponse

Query for text that is evaluated with a script written in a Computer Algebra System (CAS) language. The CAS script must be included in the response with an <answer> element. MathResponse is extremely powerful, as it tests answers for conditions rather than agreement with a particular correct answer. An unfortunate byproduct, however, is that it cannot be analyzed by several of the LON-CAPA statistics tools.
Can contain text
Choice between: response-identification

Attribute answerdisplay:
optional
type: xs:string
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 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 '$') created in a Perl script before the response.
Attribute cas:
required
Algebra System. Maxima and R are supported.
Union of types
Attribute args:
optional
type: xs:string
Perl array that will be passed to the CAS script as the LONCAPALIST variable. This is usually the name of a Perl array variable (starting with '@') created in a Perl script before the response.
Attribute libraries:
optional
type: xs:string
Comma-separated list of libraries. The following libraries can be used with Maxima: absimp, affine, atensor, atrig1, augmented_lagrangian, contrib_ode, ctensor, descriptive, diag, eigen, facexp, fft, fourie, functs, ggf, grobner, impdiff, ineq, interpol, itensor, lapack, lbfgs, lindstedt, linearalgebra, lsquares, makeOrders, mnewton, mchrpl, ntrig, orthopoly, quadpack, rducon, romberg, scifac, simplex, solve_rec, sqdnst, stats, sterling, sym, units, vect, zeilberger The following libraries can be used with R: alr3, boot, car, class, cluster, datasets, Hmisc, KernSmooth, leaps, lmtest, MASS, methods, mgcv, nlme, nnet, qAnalyst, quadprog, rpart, SuppDists, spatial, splines, stats, stats4, survival, tseries, zoo

Parents: inlineResponses

Complex type mathresponse--answer

Can contain text
Attribute type:
optional
type: xs:string
Attribute :
optional

Function plot response

Element functionplotresponse

Query for the drawing of a function. Requires that the student creates a plot that matches specified criteria. Examples can be functions that have certain slopes, curvature, maxima or minima at specified independent coordinate values. The students create their answer by dragging the curves and adjusting the slopes.
Can contain text
Choice between: response-identification

Attribute width:
optional
type: int-or-perl
Width (pixels)
Attribute height:
optional
type: int-or-perl
Height (pixels)
Attribute xlabel:
optional
type: xs:string
Label x-axis
Attribute xmin:
optional
type: real-or-perl
Minimum x-value
Attribute xmax:
optional
type: real-or-perl
Maximum x-value
Attribute xaxisvisible:
optional
type: yesno-or-perl
x-axis visible
Attribute ylabel:
optional
type: xs:string
Label y-axis
Attribute ymin:
optional
type: real-or-perl
Minimum y-value
Attribute ymax:
optional
type: real-or-perl
Maximum y-value
Attribute yaxisvisible:
optional
type: yesno-or-perl
y-axis visible
Attribute gridvisible:
optional
type: yesno-or-perl
This determines whether or not the grid is on the graph.
Attribute answerdisplay:
optional
type: xs:string
Background plot(s) for answer (function(x):xmin:xmax,function(x):xmin:xmax,x1:y1:sx1:sy1:x2:y2:sx2:sy2,...) This is a green curve the computer will display once the correct answer has been submitted. It is static, and can be given as a piecewise function. Since some problems will have multiple correct answers, this necessarily will only be a possible answer. Only the left hand side of the equation is necessary. For example, entering x + 2 will display the line y = x + 2. The syntax must be syntax recognized by GeoGebra. To test syntax for Geogebra directly, visit http://www.geogebra.org/webstart/geogebra.html .

Parents: blockResponses

Element functionplotelements

Function Plot Elements
Choice between:

Parents: functionplotresponse

Element spline

At least one spline is necessary for a graph problem. These splines are what will be adjusted and analyzed to solve the problem.
Attribute index:
optional
This is the label assigned to the spline. In general, it's simplest just to label them A, B, C etc.
Union of types
Attribute order:
optional
This determines the number of Control Points on the spline. For example, selecting '3' means there will be 3 points on the spline that can be moved, as well as 3 points off the spline that will control the slope.
Union of types
Attribute initx:
optional
type: real-or-perl
Initial x-value "Initial x-value" and "Initial y-value" determine where the left most Control Point will be.
Attribute inity:
optional
type: real-or-perl
Initial y-value "Initial x-value" and "Initial y-value" determine where the left most Control Point will be.
Attribute scalex:
optional
type: real-or-perl
This determines the right most location of the Control Points (on the spline). To figure out where this point will be, add 'Initial x-value' to 'Scale x'.
Attribute scaley:
optional
type: real-or-perl
This determines the distance (in the y-direction) between the Control Points on the spline, and the ones that control the slope.

Parents: functionplotelements

Element backgroundplot

Background Function Plot. This places a static curve on the graph of your choosing. It can be labeled, moveable or fixed, and any color desired. Only the right hand side of the function you want displayed is necessary. For example, entering x+2 will display the line y=x+2. The syntax must be syntax recognized by GeoGebra.
Attribute function:
required
type: xs:string
An equals sign is not necessary. Just give the right hand side of the function. LON-CAPA variables are usable as well to allow individualized problems for each student. The syntax must be syntax recognized by GeoGebra.
Attribute xinitial:
optional
type: real-or-perl
Initial x-value (optional)
Attribute xfinal:
optional
type: real-or-perl
Final x-value (optional)
Attribute label:
optional
type: xs:string
Label on Plot
Attribute color:
optional
Color of the background function (hex code). The default is 000000 (black). It is recommended to choose a color other than green, since it is easily confused with being the answer.
Union of types
Attribute fixed:
optional
type: yesno-or-perl
Fixed location

Parents: functionplotelements

Element plotobject

This places a point in the applet. Generally intended to be used with Vectors to create problems involving Free-Body Diagrams or any other points that vectors (or arrows) connect to and from.
Attribute label:
optional
type: xs:string
Label on Plot
Attribute x:
optional
type: real-or-perl
Attribute y:
optional
type: real-or-perl

Parents: functionplotelements

Element plotvector

This creates a vector (or arrow) in the applet. Generally intended to be used with Objects to create problems involving Free-Body Diagrams or to establish connections between Objects.
Attribute label:
optional
type: xs:string
Label on Plot. Determines the name of the vector, as well as the name that will be visible in the problem. This value MUST be capitalized and cannot include spaces or most symbols. To be safe, stick with letters and numbers.
Attribute tailx:
optional
type: real-or-perl
Attribute taily:
optional
type: real-or-perl
Attribute tipx:
optional
type: real-or-perl
Attribute tipy:
optional
type: real-or-perl

Parents: functionplotelements

Element drawvectorsum

Draw Vector Sum
Attribute label:
optional
type: xs:string
Label on Plot
Attribute tailx:
optional
type: real-or-perl
Attribute taily:
optional
type: real-or-perl
Attribute showvalue:
optional
type: yesno-or-perl
Attribute vectorlist:
optional
type: xs:string

Parents: functionplotelements

Element functionplotruleset

This is where the rules are defined. These rules will determine whether or not an entered answer is correct or not. If there are no rules, any answer will be deemed correct. If there is more than one rule, when an answer is submitted, the server will analyze them in order until one of them is broken (of course, if it's a correct answer, it will go through all of them and return a green box). In such an event, any subsequent rules will be ignored. If conditional hints related to these rules are added, only the first broken rule's hint will be shown, even if all rules are broken.
Choice between:

Parents: functionplotresponse

Element functionplotrule

Function Plot Graph Rule. Used to create a rule that determines whether or not a submitted graph is correct. In general, it takes the form of testing the function, its integral, or its first or second derivative over a given set of x-values. The test can be to see if it equals, is greater than, or less than a specified value. Anywhere a number is needed, a variable can also be used.
Attribute index:
optional
type: xs:string
This is an internal label for the rule. Something must be entered here, and it must be different for each rule. This same value will be used to add a conditional hint.
Attribute derivativeorder:
optional
This determines what the server will be testing. For instance, choose 'First derivative' causes the server to evaluate the derivative of the entered answer over the given domain.
Union of types
Attribute xinitial:
optional
type: real-or-perl
Initial x-value. A value must be entered for one of "Initial x-value" and "Initial x-value label". Either choose a numerical value for x (the first option), or choose the beginning of the submitted answer, the end, or a previously chosen named point.
Attribute xinitiallabel:
optional
Initial x-value label. A value must be entered for one of "Initial x-value" and "Initial x-value label". Either choose a numerical value for x (the first option), or choose the beginning of the submitted answer, the end, or a previously chosen named point.
Union of types
Attribute xfinal:
optional
type: real-or-perl
Final x-value (optional). This determines the end of the domain over which the rule examines. To test only a single point (the initial value), leave "Final x-value" and "Final x-value label" blank. If a label is entered, such as 'positive', the point at which the rule fails will be given this special label. This label can then be used in subsequent rules as an 'Initial x-value label'.
Attribute xfinallabel:
optional
Final x-value label (optional). This determines the end of the domain over which the rule examines. To test only a single point (the initial value), leave "Final x-value" and "Final x-value label" blank. If a label is entered, such as 'positive', the point at which the rule fails will be given this special label. This label can then be used in subsequent rules as an 'Initial x-value label'.
Union of types
Attribute minimumlength:
optional
type: real-or-perl
Minimum length for range (optional). This tests that the difference between the initial and final x-values are at least a certain length apart. This is only useful if there is at least one label.
Attribute maximumlength:
optional
type: real-or-perl
Maximum length for range (optional). This tests that the difference between the initial and final x-values are at most a certain length apart. This is only useful if there is at least one label.
Attribute relationship:
optional
The heart of the rule. This choice determines whether the chosen 'function' is greater than, less than, equal to, etc. a certain 'value'.
Union of types
Attribute value:
optional
type: xs:string
Enter the number you wish to compare to. It is also possible to choose 'not defined', in the event the answer should not have a value for the given domain. Within the value argument, the function itself can be evaluated using &fpr_f(), its derivative using &fpr_dfdx(), and its second derivative using &fpr_d2fdx2(). This allows for a comparison of two points on the graph. The value of a previously defined label can be retrieved using the function &fpr_val(), e.g., &fpr_val('positive'). Previous defined values from script blocks can also be retrieved as normal variables, e.g., $x.
Attribute percenterror:
optional
type: real-or-perl
This allows for a margin of error in the y-direction. For instance, if the rule requires that the derivative be equal to 5, the server will accept values close enough to 5 that are within the percent error defined here. Note: Choosing 10% would not mean that the answer is correct as long as it is within the range 4.5-5.5. Instead, the percent corresponds to the total size of the graph. For the function itself, the 'percent error' is multiplied by the ymax-ymin; for the first derivative, it's multiplied by (ymax-ymin)/(xmax-xmin); for the second derivative, it's multiplied by (ymax-ymin)/(xmax-xmin)2; and for the integral, it's multiplied by (ymax-ymin)*(xmax-xmin).

Parents: functionplotruleset

Element functionplotvectorrule

Function Plot Vector Rule Used to test whether vectors are in the right place, pointed in the right direction, and have the correct length.
Attribute index:
optional
type: xs:string
Index/Name This is an internal label for the rule. This attribute must be different for each rule. This same value will be used to add a conditional hint.
Attribute vector:
optional
type: xs:string
The name of one of the vectors in the list of function plot elements. Specifically, the one you want to test.
Attribute attachpoint:
optional
type: xs:string
Attached to object. Object(s) this vector should be attached to. For more than one object, separate them by commas. If the vector should not be attached to any object, leave this blank. In this case, an object is considered attached if its tail OR its tip is in the vicinity of the object.
Attribute notattachpoint:
optional
type: xs:string
Not attached to object. Object(s) that this vector should be not be near. For more than one object, separate them by commas. Particularly useful for distractor vectors.
Attribute tailpoint:
optional
type: xs:string
Tail attached to object. Tail(s) this vector should be attached to.
Attribute tippoint:
optional
type: xs:string
Tip attached to object. Tip(s) this vector should be attached to.
Attribute nottailpoint:
optional
type: xs:string
Tail not attached to object. Tail(s) this vector should not be attached to.
Attribute nottippoint:
optional
type: xs:string
Tip not attached to object. Tip(s) this vector should not be attached to.
Attribute length:
optional
type: real-or-perl
How long the vector should be.
Attribute lengtherror:
optional
type: real-or-perl
Absolute error length. How accurate the length must be to get the answer correct.
Attribute angle:
optional
type: real-or-perl
What direction should the vector point. All values are measured in degrees, counterclockwise starting at the positive x-axis. Values must be 0 ≤ θ < 360.
Attribute angleerror:
optional
type: real-or-perl
Absolute error angle. How accurate the angle must be to get the answer correct.

Parents: functionplotruleset

Element functionplotvectorsumrule

Function Plot Vector Sum Rule Used to test the sum of a set of vectors.
Attribute index:
optional
type: xs:string
Index/Name. This is an internal label for the rule. It must be different for each rule. This same value will be used to add a conditional hint.
Attribute vectors:
optional
type: xs:string
Comma-separated list of vectors. List all of the vectors that should be added up to be tested.
Attribute length:
optional
type: real-or-perl
Sum vector length. How long the sum of these vectors should be.
Attribute lengtherror:
optional
type: real-or-perl
Absolute error length. How accurate the length must be to get the answer correct.
Attribute angle:
optional
type: real-or-perl
Sum vector angle. What direction should the sum of these vectors point. All values are measured in degrees, counterclockwise starting at the positive x-axis. Values must be 0 ≤ θ < 360.
Attribute angleerror:
optional
type: real-or-perl
Absolute error angle. How accurate the angle must be to get the answer correct.

Parents: functionplotruleset

Element functionplotcustomrule

Used to create rules that aren't options using the other rules. The coding is done inside an answer element, in Perl. Any variable used inside this rule will be recognized normally and any evaluation function can be used as well. The following Perl functions can be used: fpr_val(label), fpr_f(x), fpr_dfdx(x), fpr_d2fdx2(x), fpr_vectorcoords(name), fpr_objectcoords(name), fpr_vectorlength(name), fpr_vectorangle(name). The Perl code should return 1 for a correct answer, 0 for an incorrect one.
Choice between: Attribute index:
optional
type: xs:string
Index/Name

Parents: functionplotruleset

Organic response

Element organicresponse

Query for an organic chemical structure with a molecular editor.
Can contain text
Choice between: response-identification

Attribute options:
optional
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
Union of types
Attribute molecule:
optional
type: xs:string
Starting Molecule. Syntax: JME.
Attribute answer:
optional
type: xs:string
Correct Answer. Syntax: SMILES (Simplified Molecular Input Line Entry System).
Attribute jmeanswer:
optional
type: xs:string
JME string of the answer
Attribute width:
optional
type: int-or-perl
Width of correct answer image

Parents: inlineResponses

Reaction response

Element reactionresponse

Query for a chemical reaction. An internal textline element is necessary for the student's response to go in.
Can contain text
Choice between: response-identification

Attribute answer:
required
type: xs:string
The correct answer. Chemical reactions use the following syntax: - Reactants are separated from products by '->'. - Individual reactants and products are separated by ' +' (leading space is obligatory). - Numbers preceding the first symbol of a chemical specie are considered to be stoichiometric coefficients. - Numbers appearing after the first symbol of a chemical specie are considered to be subscripts. - Superscripts are initialized by '^' and terminated by a space. - Ionic charges are superscripts composed of a number followed by a sign (i.e. '^2+').
Attribute initial:
optional
type: xs:string
Initial reaction displayed to students. See the answer attribute for the syntax.

Parents: inlineResponses

Custom response

Element customresponse

Query for text without any constraint (any character is allowed). A script analyzes the answer to grade it automatically. The use of this response type is generally discouraged, since the responses will not be analyzable by the LON-CAPA statistics tools.
Can contain text
Choice between: response-identification

Attribute answerdisplay:
optional
type: xs:string
String to display for answer

Parents: inlineResponses

Complex type customresponse--answer

Can contain text
Perl script evaluating the student answer. For a single textfield, the student’s answer will be in a variable $submission. If the Custom Response has multiple textfields, the answers will be in an array reference, and can be accessed as $$submission[0], $$submission[1], etc. The script must return a standard LON-CAPA response. The most common LON-CAPA responses are: - EXACT ANS: return if solved exactly correctly - APPROX ANS: return if solved approximately - INCORRECT: return if not correct, uses up a try - ASSIGNED SCORE: partial credit (also return the credit factor, e.g. return(ASSIGNED SCORE,0.3);) - SIG FAIL, NO UNIT, EXTRA ANSWER, MISSING ANSWER, BAD FORMULA, WANTED NUMERIC, WRONG FORMAT: return if not correct for different reasons, does not use up a try
Attribute type:
optional
type: xs:string
Attribute :
optional

External response

Element externalresponse

Query for a long text or a line, sent to an external program for grading. The form sent will consist of: - LONCAPA student response full text of what the student entered in the entry field - LONCAPA correct answer contents of the answer attribute - LONCAPA language specified language encoding of the requesting resource - all items in the form attribute if any of these clash with the above, the above values will overwite the value in the form attribute The response of the remote server needs to be in XML as follows: - loncapagrade: takes no attributes, but must surround the response. - awarddetail: required. The delimited text inside must be one of the detailed results that appears in the data storage documentation. CVS:loncapa/doc/homework/datastorage, look for resource.partid.responseid.awarddetail. - message: optional message to have shown to the student.
Can contain text
Choice between: response-identification

Attribute url:
optional
type: xs:anyURI
url to submit the answer form to. It does not need to be a LON-CAPA machine.
Attribute answer:
optional
type: xs:string
data to post in the form element LONCAPA_correct_answer to the remote site.
Attribute form:
optional
type: xs:string
hash variable name that will be submitted to the remote site as a HTTP form.
Attribute answerdisplay:
optional
type: xs:string

Parents: inlineResponses

Data response

Element dataresponse

Query for text or numbers. Advanced type of response that implements a simple data storage and needs an input element, such as textline, to work correctly.
Can contain text
Choice between: response-identification

Attribute type:
optional
type: xs:string
type of data stored in this response field. It should be one of the types supported by parameter.html
Attribute display:
optional
type: xs:string
string that will be used to describe the field when interfacing with humans.

Parents: blockResponses

Shared response elements

Element responseparam

Parameters for a response Defines an externally adjustable parameter for the question, which the question can then use to allow other users to customize the problem for their courses without changing the source code of the problem.
Attribute name:
optional
type: xs:string
Attribute type:
required
type: xs:string
Attribute default:
optional
type: xs:string
default value
Attribute description:
optional
type: xs:string

Parents: stringresponse, essayresponse, radiobuttonresponse, optionresponse, matchresponse, rankresponse, imageresponse, numericalresponse, formularesponse, mathresponse, organicresponse, reactionresponse, customresponse, externalresponse, stringhint, radiobuttonhint, optionhint, numericalhint, formulahint, mathhint, organichint, reactionhint, customhint

Element textfield

Large Text Entry Area, contains the text that appears by default Creates a large text input box. If data appears between the start and end tags, the data will appear in the textfield if the student has not yet made a submission. Additionally, it takes two attributes: rows and cols, which control the height and width of the text area respectively.
Can contain text
Choice between: Attribute rows:
optional
type: int-or-perl
Attribute cols:
optional
type: int-or-perl
Columns
Attribute addchars:
optional
type: xs:string
Click-On Texts (comma sep)
Attribute spellcheck:
optional
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.
Union of types

Parents: essayresponse, mathresponse, customresponse, externalresponse, dataresponse

Element textline

Single Line Text Entry Area. Displays a field to enter text for a response. Should only be used inside stringresponse, numericalresponse, formularesponse, mathresponse, organicresponse, reactionresponse and customresponse.
Attribute id:
optional
type: xs:string
Id that will be part of the HTML input element id. This can be used to get a reference to the input element in Javascript.
Attribute size:
optional
type: int-or-perl
controls the width of the textline
Attribute addchars:
optional
type: xs:string
Comma-separated list of characters or words that can be inserted with a click.
Attribute readonly:
optional
type: yesno-or-perl
Attribute spellcheck:
optional
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.
Union of types

Parents: inlines

Element hiddensubmission

This creates a hidden form field with the given value.
Attribute value:
optional
type: xs:string

Parents: essayresponse, mathresponse, customresponse, externalresponse, dataresponse

Element hiddenline

This creates a hidden form field with the old response value.

Parents: stringresponse, essayresponse, numericalresponse, formularesponse, mathresponse, organicresponse, reactionresponse, customresponse, externalresponse, dataresponse

Hints

Element hintgroup

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 (<*hint> elements) and conditional hints (<hintpart> 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 (<hintpart>) 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 <hintpart>. The contents of this hint will be displayed if none of the other conditional hints is triggered.
Can contain text
Choice between: Attribute showoncorrect:
optional
type: yesno-or-perl
Show hint even if problem Correct

Parents: stringresponse, essayresponse, radiobuttonresponse, optionresponse, matchresponse, rankresponse, imageresponse, numericalresponse, formularesponse, mathresponse, functionplotresponse, organicresponse, reactionresponse, customresponse, externalresponse

Element hintpart

Conditional Hint 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.
Can contain text
Choice between: Attribute on:
required
type: xs:string

Parents: stringresponse, essayresponse, radiobuttonresponse, optionresponse, numericalresponse, formularesponse, mathresponse, organicresponse, reactionresponse, customresponse, hintgroup

Element stringhint

String Hint Condition
Choice between: Attribute id:
optional
type: xs:string
Attribute name:
required
type: xs:string
Name of the hint condition. Should be set to the value of which hintpart will be shown.
Attribute answer:
required
type: xs:string
Text string. Should be set to the value of which hintpart will be shown.
Attribute type:
optional
Union of types
Attribute preprocess:
optional
type: xs:string
Pre-Processor Subroutine

Parents: stringresponse, essayresponse, hintgroup

Element radiobuttonhint

Radiobutton Hint Condition 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: <radiobuttonhint answer="('foil','granite','gabbro')" name="igneous"></radiobuttonhint> In order to trigger display of this hint you also need to create a hint condition (<hintpart>) that will include the text of the actual hint.
Choice between: Attribute id:
optional
type: xs:string
Attribute name:
required
type: xs:string
should be set to the value of which hintpart will be shown
Attribute answer:
optional
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”
Value restriction based on xs:string

Parents: radiobuttonresponse, hintgroup

Element optionhint

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 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'=> 'True','Foil2'=> '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., <optionhint concept="('buoyancy'=> 'correct','density'=> 'correct')" name="fluids" />. 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.
Choice between: Attribute id:
optional
type: xs:string
Attribute name:
required
type: xs:string
should be set to the value of which hintpart will be shown
Attribute answer:
optional
Perl hash with foil names as keys and submitted values as values. Example: ('foil1'=> 'true', 'foil2'=> 'false')
Value restriction based on xs:string
Attribute concept:
optional
Perl hash with concept names as keys and either 'correct' or 'incorrect' as values. Example: ('buoyancy'=>'correct', 'density'=> 'correct')
Value restriction based on xs:string

Parents: optionresponse, hintgroup

Element numericalhint

Numerical Hint Condition
Choice between: Attribute id:
optional
type: xs:string
Attribute name:
required
type: xs:string
Unique name given to the hint condition. Should be set to the value of which hintpart will be shown.
Attribute answer:
optional
type: xs:string
Numerical answer for which the conditional is provided. Student submission of that answer in combination with the "unit" attribute in the hint condition will trigger the hint action specified in the <hintpart> element.
Attribute unit:
optional
type: xs:string
Attribute format:
optional
type: xs:string
Attribute preprocess:
optional
type: xs:string
Pre-Processor Subroutine

Parents: numericalresponse, hintgroup

Element formulahint

Formula Hint Condition The formula submitted by the student is evaluated at the sample points for the hint and the calculated values are compared with the corresponding values determined by evaluating the "hint" answer at the same sampling points. A close correspondence between the two sets of values will trigger the hint action specified in the <hintpart> element.
Choice between: Attribute id:
optional
type: xs:string
Attribute name:
required
type: xs:string
Unique name given to the hint condition. Should be set to the value of which hintpart will be shown.
Attribute answer:
optional
type: xs:string
Formula answer for which the conditional is provided.
Attribute samples:
optional
type: xs:string
Sample points (or range of points) over which sampling of the student’s submitted answer and the formula included in the formula hint answer parameter are to be compared. The syntax is the same as used to specify sampling points in the samples parameter of the formula reponse element itself.
Attribute preprocess:
optional
type: xs:string
Pre-Processor Subroutine

Parents: formularesponse, hintgroup

Element mathhint

Math Hint Condition
Choice between: Attribute id:
optional
type: xs:string
Attribute name:
optional
type: xs:string
Attribute cas:
optional
Algebra System
Union of types
Attribute args:
optional
type: xs:string
Argument Array

Parents: mathresponse, hintgroup

Element organichint

Organic Hint Condition
Choice between: Attribute id:
optional
type: xs:string
Attribute name:
optional
type: xs:string
Attribute answer:
optional
type: xs:string

Parents: organicresponse, hintgroup

Element reactionhint

Reaction Hint Condition
Choice between: Attribute id:
optional
type: xs:string
Attribute name:
optional
type: xs:string
Attribute answer:
optional
type: xs:string

Parents: reactionresponse, hintgroup

Element customhint

Custom Hint Condition 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.
Choice between: Attribute id:
optional
type: xs:string
Attribute name:
required
type: xs:string
should be set to the value of which hintpart will be shown

Parents: customresponse, hintgroup

Complex type customhint--answer

Can contain text
Hint algorithm
Attribute type:
optional
type: xs:string
Attribute :
optional

Complex type mathhint--answer

Can contain text
Hint algorithm
Attribute type:
optional
type: xs:string
Attribute :
optional

Random label

Element randomlabel

Randomly labeled image This shows a specified image with images or text labels randomly assigned to a set of specific locations. Those locations may also have values assigned to them. A hash is generated that contains the mapping of labels to locations, labels to values, and locations to values.
Choice between: Attribute bgimg:
optional
type: xs:anyURI
Either a fully qualified URL for an external image or a LON-CAPA resource. It supports relative references (../images/apicture.gif). The image must either be a GIF or JPEG.
Attribute width:
optional
type: int-or-perl
The width of the image in pixels.
Attribute height:
optional
type: int-or-perl
The height of the image in pixels.
Attribute texwidth:
optional
type: decimal-or-perl
The width of the image in millimeters.

Parents: universal-blocks

Complex type randomlabel--labelgroup

Group of Labels
Choice between: Attribute name:
optional
type: xs:string
This is the name of the group.
Attribute type:
optional
the type of labels in this group
Union of types
Attribute TeXsize:
optional
TeX font size Warning: as opposed to the TeXsize attribute in <h1>..<h6> <font> and <basefont>, this one requires a \ at the beginning of the values.
Union of types

Complex type randomlabel--label

Can contain text
Label Text or Path to image
Choice between: Attribute description:
optional
type: xs:string

Complex type randomlabel--location

Label Location
Attribute x:
required
type: int-or-perl
Attribute y:
required
type: int-or-perl
Attribute value:
optional
type: xs:string

Gnuplot

Element gnuplot

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.
Choice between: Attribute alttag:
optional
type: xs:string
Brief description of the plot. This text is used as the alt value of the img element used to display the plot on a web page.
Attribute height:
optional
type: int-or-perl
Height of image (pixels)
Attribute width:
optional
type: int-or-perl
Width of image (pixels)
Attribute bgcolor:
optional
type: color-or-perl
Background color of image
Attribute fgcolor:
optional
type: color-or-perl
Foreground color of image
Attribute transparent:
optional
type: onoff-or-perl
Transparent image. If the image is transparent the background color will be ignored.
Attribute grid:
optional
type: onoff-or-perl
Display grid
Attribute gridlayer:
optional
type: onoff-or-perl
Display grid front layer over filled boxes or filled curves
Attribute border:
optional
type: onoff-or-perl
Draw border around plot
Attribute font:
optional
Font size to use in web output (in pts, or "small", "medium" or "large").
Union of types
Attribute fontface:
optional
Type of font to use
Union of types
Attribute samples:
optional
Number of samples for non-data plots. If a function element is used to specify the curve, this indicates the number of sample points to use.
Union of types
Attribute align:
optional
Alignment for image in HTML
Union of types
Attribute texwidth:
optional
type: int-or-perl
Width of plot when printed (mm)
Attribute texfont:
optional
Font size to use in TeX output (pts)
Union of types
Attribute plotcolor:
optional
Color setting for printing
Union of types
Attribute plottype:
optional
Plot type
Union of types
Attribute gridtype:
optional
Grid type
Union of types
Attribute lmargin:
optional
Left margin width (pts)
Union of types
Attribute rmargin:
optional
Right margin width (pts)
Union of types
Attribute tmargin:
optional
Top margin width (pts)
Union of types
Attribute bmargin:
optional
Bottom margin width (pts)
Union of types
Attribute major_ticscale:
optional
type: real-or-perl
Size of major tic marks (plot coordinates)
Attribute minor_ticscale:
optional
type: real-or-perl
Size of minor tic mark (plot coordinates)
Attribute box_border:
optional
Draw border for boxes
Union of types
Attribute boxwidth:
optional
type: xs:string
Width of boxes, default is auto
Attribute fillstyle:
optional
Fill style for boxes
Union of types
Attribute solid:
optional
type: int-or-perl
Density of fill style for boxes
Attribute pattern:
optional
Pattern value for boxes
Union of types

Parents: universal-blocks, randomlabel, bgimg

Group gnuplot-children

List of children, used in gnuplot and lonplot--block
Choice between:
Parents: gnuplot

Simple type lonplot--title

Plot Title
Value restriction based on xs:string

Complex type lonplot--axis

Plot axes
Attribute color:
optional
type: color-or-perl
Color of grid lines
Attribute xmin:
optional
type: real-or-perl
Minimum x-value shown in plot
Attribute xmax:
optional
type: real-or-perl
Maximum x-value shown in plot
Attribute ymin:
optional
type: real-or-perl
Minimum y-value shown in plot
Attribute ymax:
optional
type: real-or-perl
Maximum y-value shown in plot
Attribute xformat:
optional
X-axis number formatting
Union of types
Attribute yformat:
optional
Y-axis number formatting
Union of types
Attribute xzero:
optional
Show x-zero (y=0) axis
Union of types
Attribute yzero:
optional
Show y-zero (x=0) axis
Union of types

Complex type lonplot--curve

Plot Curve
Choice between: Attribute color:
optional
type: color-or-perl
Color of curve
Attribute name:
optional
type: xs:string
Name of curve to appear in key
Attribute linestyle:
optional
Unless otherwise noted the linestyles require only 2 data sets, X and Y. - lines: Connect adjacent points with straight line segments. - points: Display a small marker at each point. - linespoints: Draw both lines and points. Draws a small symbol at each point and then connects adjacent points with straight line segments. - dots: Place a tiny dots on the given points. - steps: Connect points with horizontal lines. This style connects consecutive points with two line segments: the first from (x1,y1) to (x2,y1) and the second from (x2,y1) to (x2,y2). - fsteps: Connect data with horizontal lines. This style connects consecutive points with two line segments: the first from (x1,y1) to (x1,y2) and the second from (x1,y2) to (x2,y2). - histeps: Plot as histogram. Y-values are assumed to be centered at the x-values; the point at x1 is represented as a horizontal line from ((x0+x1)/2,y1) to ((x1+x2)/2,y1). The lines representing the end points are extended so that the step is centered on at x. Adjacent points are connected by a vertical line at their average x, that is, from ((x1+x2)/2,y1) to ((x1+x2)/2,y2). - errorbars: Same as yerrorbars. - xerrorbars: Draw horizontal error bars around the points. Requires 3 or 4 data sets. Either X, Y, Xdelta or X, Y, Xlower, Xupper. Xdelta is a change relative to the given X value. The Xlower and Xupper values are absolute grid coordinates of the upper and lower values to indicated with error bars. - yerrorbars: Draw vertical error bars around the points. Requires 3 or 4 data sets. Either X, Y, Ydelta or X, Y, Ylower, Yupper. Ydelta is a change relative to the given Y value. The Ylower and Yupper values are the grid coordinates of the upper and lower values to indicate with error bars. - xyerrorbars: Draw both vertical and horizontal error bars around the points. Requires 4 or 6 data sets. Either X, Y, Xdelta, Ydelta or X, Y, Xlower, Xupper, Ylower, Yupper. Xdelta and Ydelta are relative to the given coordinates. Xlower, Xupper, Ylower, and Yupper are the grid coordinates of the upper and lower values to indicate with the error bars. - boxes: Draw a box from the X-axis to the Y-value given. Requires either 2 or 3 data sets. Either X, Y or X, Y, Xwidth. In the first case the boxes will be drawn next to eachother. In the latter case Xwidth indicates the horizontal width of the box for the given coordinate. - vector: Draws a vector field based on the given data. Requires 4 data sets, X, Y, Xdelta, and Ydelta. The ‘vector‘ style draws a vector from (X,Y) to (X+Xdelta,Y+Ydelta). It also draws a small arrowhead at the end of the vector. May not be fully supported by gnuplot.
Union of types
Attribute linewidth:
optional
Line width (may not apply to all plot styles)
Union of types
Attribute linetype:
optional
Line type (may not apply to all plot styles)
Union of types
Attribute pointsize:
optional
type: int-or-perl
Point size (may not apply to all plot styles)
Attribute pointtype:
optional
Point type (may not apply to all plot styles)
Union of types
Attribute limit:
optional
Point to fill for filled curves
Union of types
Attribute arrowhead:
optional
For vector plots, controls where in the vector the arrow head(s) appear.
Union of types
Attribute arrowstyle:
optional
For vector plots, controls the fill style of the arrow.
Union of types
Attribute arrowlength:
optional
type: real-or-perl
For vector plots, determines the distance between the vector line end and the tip of the arrow.
Attribute arrowangle:
optional
type: real-or-perl
For vector plots, determines the angle the arrow branches make with the vector line.
Attribute arrowbackangle:
optional
type: real-or-perl
For vector plots, determines the angle the arrow lines that return to the main line from the branches make with the arrow branches.

Complex type lonplot--data

Can contain text
Curve data The data must be either a perl array, @X, or a comma separated list, such as “0.5,0.9,1.5,2.4” (without quotes). ’NaN’ is a valid value. Note the the ”Y” values are entered in a separate array.

Complex type lonplot--function

Can contain text
Used to specify the curve to be plotted as a formula, instead of numerical data. The function must be a mathematical expression. Use the independent variable “x” for cartesian plots and “t” for polar plots. Implicit multiplication is not accepted by Gnuplot.

Complex type lonplot--key

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 element.
Attribute title:
optional
type: xs:string
Title of key
Attribute box:
optional
type: onoff-or-perl
Draw a box around the key?
Attribute pos:
optional
Position of the key on the plot
Union of types

Complex type lonplot--label

Can contain text
Plot Label
Attribute xpos:
optional
type: real-or-perl
X position of label (graph coordinates)
Attribute ypos:
optional
type: real-or-perl
Y position of label (graph coordinates)
Attribute justify:
optional
justification of the label text on the plot
Union of types
Attribute rotate:
optional
type: real-or-perl
Rotation of label (degrees)

Complex type lonplot--tics

Plot tics
Choice between: Attribute location:
optional
Location of major tic marks
Union of types
Attribute mirror:
optional
type: onoff-or-perl
Mirror tics on opposite axis? If the location of tic marks is set to “border” this parameter determines if they are shown on both the top and bottom or right and left sides of the graph. The “mirror” tic marks are unlabelled.
Attribute start:
optional
type: real-or-perl
The point in graph coordinates which to start making major tics. This may be less than or greater than the lower limit for the axis.
Attribute increment:
optional
type: real-or-perl
The span, in graph coordinates, between each major tic mark.
Attribute end:
optional
type: real-or-perl
Stop major tics at. This may be less than or greater than the upper limit for the axis.
Attribute minorfreq:
optional
type: int-or-perl
The number of subdivisions to make of the span between major tic marks. Using a value of “10” leads to 9 minor tic marks.
Attribute rotate:
optional
type: onoff-or-perl
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.

Complex type lonplot--xtics

Plot xtics

Complex type lonplot--ytics

Plot ytics

Simple type lonplot--xlabel

Plot x-label
Value restriction based on xs:string

Simple type lonplot--ylabel

Plot y-label
Value restriction based on xs:string

Complex type lonplot--block

Conditional Block 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.
Choice between: Attribute condition:
optional
type: xs:string
Test Condition

Task

Element Task

Root for .task (bridge task) documents
Can contain text
Choice between: Attribute OptionalRequired:
optional
type: int-or-perl
Required number of passed optional elements to pass the Task



Element IntroParagraph

Introductory Information
Can contain text
Choice between:

Parents: Task

Element ClosingParagraph

Closing Information
Can contain text
Choice between:

Parents: Task

Element Question

Question
Choice between: Attribute id:
optional
type: xs:string
Attribute Mandatory:
optional
Passing is Mandatory
Union of types
Attribute OptionalRequired:
optional
type: int-or-perl
Required number of passed optional elements to pass

Parents: Task, Question

Element QuestionText

Question Information
Can contain text
Choice between:

Parents: Question

Element Setup

Setup....
Choice between: Attribute id:
optional
type: xs:string

Parents: Task

Element Instance

Specific Question Instance
Choice between: Attribute id:
optional
type: xs:string
Attribute Disabled:
optional
type: yesno-or-perl
Instance is Disabled
Attribute OptionalRequired:
optional
type: int-or-perl
Required number of passed optional elements to pass the Instance

Parents: Question, Setup

Element InstanceText

Information for the Instance
Can contain text
Choice between:

Parents: Instance

Element Criteria

Question Criteria
Can contain text
Choice between: Attribute id:
optional
type: xs:string
Attribute Mandatory:
optional
Passing is Mandatory
Union of types

Parents: Task, Question, Instance

Element CriteriaText

Criteria Information
Can contain text
Choice between:

Parents: Criteria

Element GraderNote

Text to display to Grader
Can contain text
Choice between:

Parents: Criteria

Problem block elements that cannot be used anywhere text is used.

Element part

Problem Part This must be below problem if it is going to be used. It does many of the same tasks as problem, but allows multiple separate problems to exist in a single file.
Can contain text
Choice between: Attribute id:
optional
type: xs:string
Part ID
Attribute display:
optional
type: xs:string
Displayed Part Description

Parents: library, text-with-parts, comment

Element allow

File Dependencies
Attribute src:
optional
type: xs:string
Path to the file

Parents: problem, html

Element parserlib

type: xs:anyURI
Import Tag Definitions The enclosed filename contains definitions for new tags.

Parents: problem, library, hintpart, IntroParagraph, ClosingParagraph, QuestionText, InstanceText, CriteriaText, GraderNote, part, preduedate, postanswerdate, solved, notsolved, while

Element scriptlib

type: xs:anyURI
Import Script Library The enclosed filename contains Perl code to run in the safe space.

Parents: problem, library, hintpart, IntroParagraph, ClosingParagraph, QuestionText, InstanceText, CriteriaText, GraderNote, part, preduedate, postanswerdate, solved, notsolved, while

Element meta

Custom Metadata for LON-CAPA (as opposed to the HTML meta which should be inside <head>). Recognized names: abstract, author, authorspace, avetries, avetries_list, clear, comefrom, comefrom_list, copyright, correct, count, course, course_list, courserestricted, creationdate, dependencies, depth, difficulty, difficulty_list, disc, disc_list, domain, end, field, firstname, generation, goto, goto_list, groupname, helpful, highestgradelevel, hostname, id, keynum, keywords, language, lastname, lastrevisiondate, lowestgradelevel, middlename, mime, modifyinguser, notes, owner, permanentemail, scope, sequsage, sequsage_list, standards, start, stdno, stdno_list, subject, technical, title, url, username, value, version.
Attribute name:
optional
type: xs:string
Attribute content:
optional
type: xs:string

Parents: problem

Element parameter

Parameter for a part parameter is exactly the same as responseparam, but should appear outside of a response element.
Attribute id:
optional
type: xs:string
Attribute name:
optional
type: xs:string
Attribute type:
required
type: xs:string
Attribute description:
optional
type: xs:string
Attribute default:
optional
type: xs:string
Attribute display:
optional
type: xs:string
Title displayed on the parameter setting screen.

Parents: problem, part

Element displaytitle

This will insert the title of the problem from the metadata of the problem. Only the first displaytitle in a problem will show the title; this allows clean usage of displaytitle in LON-CAPA style files.
Attribute style:
optional
type: xs:string

Parents: inserts, preduedate, postanswerdate

Element displayduedate

This will insert the current due date if one is set in the document. It is generated to be inside a table of 1x1 elements.
Attribute style:
optional
type: xs:string
style=“plain” Makes the due date appear without any boxing. If the parameter value is other than “plain”, or if the style parameter is omitted, the due date will be displayed within a box.
Attribute format:
optional
type: xs:string
Allows you to control the format of the due date. This is an arbitrary string that can contain any of the following formatting items: %a Replaced by the abbreviated weekday name according to the current locale. %A Replaced by the full weekday name according to the current locale. %b The abbreviated month name according to the current locale. %B The full month name according to the current locale. %c The preferred date and time representation for the current locale (the default format string is just this). %C The century number as a two digit integer %d The day of the month as a decimal number. Leading zeroes are shown for single digit day numbers. %D Equivalent to %m/%d/%y %e Like %d but a leadnig zero is replaced by a space. %F Equivalent to %Y-%m-%d %G The four digit year number. %g The two digit year numbger. %H The hour as a two digit number in the range 00 thorugh 23. %I The hour as a two digit number in the range 00 through 12. %j The day your the year in the range 001 through 366. %k The hour (24 hour clock), single digits are preceded by a blank. %l Like %k but using a 12 hour clock. %m The month as a two digit decimal number in the range 01 through 12. %M The minute as a two digit decimal number in the range 00 through 59. %n A newline character. %p AM or PM depending on the time value. %P am or pm. %r The time in am or pm notation. %R Time in 24 hour notatinon (%H:%M). See also %T below. %s Number of seconds since midnight of January 1, 1970. %S The second as a decimal number int the range 00 through 59. %t A horizontal tab character. %T The time in 24 hour notation (%H:%M:%S). %u Day of the week as a decimal number with Monday as 1. %U The week number of the current year in the range 00 through 53. Week 1 is the week containing the first Sunday of the year. %V Same as %U but week 1 is the first week with at least 4 days, with Monday being the first day of a week. %w Day of the week as a decimal integer in the range 0 through 7, Sunday is 0. %W Week number of the current year in the range 00 through 53, where the first Monday of the year is the first day of week 01. %x The preferred date notation in the current locale without the time. %X The preferred time notation in the current locale without the date. %y The year as a decimal number without the century (range 00 through 99). %Y The year as a decimal number including the century. %% A % character. %+ Date and time in the form returned by the Unix date command.

Parents: inserts, preduedate, postanswerdate

Element preduedate

Before Due Date Block Everything inside is skipped if the problem is after the due date.
Can contain text
Choice between:

Parents: inserts

Element postanswerdate

After Answer Date Block Everything inside is skipped if the problem is before the answer date.
Can contain text
Choice between:

Parents: inserts

Element solved

Block For After Solved Everything inside is skipped if the problem part is “not solved”. Should not be used outside of parts in a problem using parts.
Can contain text
Choice between:

Parents: universal-blocks

Element notsolved

Block For When Not Solved Everything inside is skipped if the problem part is “solved”.
Can contain text
Choice between:

Parents: universal-blocks

Non-HTML block elements mixed with text

Element import

Import a File 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.
Attribute id:
optional
type: xs:string
Attribute importmode:
optional
Import as
Union of types

Parents: universal-blocks, head.misc

Complex type block-base

Can contain text
Conditional Block 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.
Attribute condition:
optional
type: xs:string
Test Condition

Complex type block-with-parts

Can contain text
Choice between:

Complex type block-with-responses

Can contain text
Choice between:

Complex type block-with-text

Can contain text
Choice between:

see also: lonplot--block

Element while

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 element.
Can contain text
Choice between: Attribute condition:
optional
type: xs:string
Test Condition

Parents: universal-blocks

Element tex

type: xs:string
Print Only Block (using only LaTeX)

Parents: universal-blocks, textfield

Element print

Print Only Block (using HTML)
Can contain text
Choice between:

Parents: universal-blocks

Element web

Web Only Block
Can contain text
Choice between:

Parents: universal-blocks, textfield

Element standalone

Everything in between the start and end tag is shown only on the web and only if the resource is not part of a course.
Can contain text
Choice between:

Parents: universal-blocks

Complex type problemtype-base

Can contain text
Problem Type Block Allows you to show or hide output based on what the problem-type parameter is set to in the course. Will only show the output text when the problem is set to the type of exam or survey in the course.
Attribute mode:
optional
Union of types
Attribute for:
optional
When used as type(s) Comma-separated list of values among: exam, survey, surveycred, anonsurvey, anonsurveycred, problem, practice, randomizetry
Union of types

Complex type problemtype-with-parts

Can contain text
Choice between:

Complex type problemtype-with-responses

Can contain text
Choice between:

Complex type problemtype-with-text

Can contain text
Choice between:

Complex type randomlist-base

Randomly Parsed Block 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 <part> elements with a randomlist element. Note that when randomlist wraps <part> 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.
Attribute show:
optional
type: int-or-perl
Maximum Tags to Show

Complex type randomlist-with-parts

Choice between:

Complex type randomlist-with-responses

Choice between:

Complex type randomlist-with-text

Choice between:

Element languageblock

This declares the intent to provide content that can be rendered in the set of languages in the include specification but not in the exclude specification. If a currently preferred language is in the include list the content in the <languageblock>...</languageblock> is rendered If the currently preferred language is in the exclude list, the content in the <languageblock>..</languageblock is not rendered.
Can contain text
Choice between: Attribute include:
optional
type: xs:string
Attribute exclude:
optional
type: xs:string

Parents: universal-blocks

Element translated

<translated> starts a block of a resource that has multiple translations. See the <lang> element as well. When </translated> 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 <lang> is only registered for the duration of the <translated>...</translated> block.
Can contain text
Choice between:

Parents: inlines

Element lang

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.: <lang which='senisoUS' other='senisoCA,senisoAU,seniso'> specifying that the block provides a translation for US (primary) Canadian, Australian and UK English.
Can contain text
Choice between: Attribute which:
optional
type: xs:string
Attribute other:
optional
type: xs:string

Parents: translated

Element window

Text In Separate Window This creates a link that when clicked shows the intervening information in a pop-up window. By default the window will be 500 pixels wide and 200 pixels tall, and the link text will be a superscript * (so as to look like a footnote). These can be changed using the attributes. When printing, the included text will get turned into a real footnote.
Can contain text
Choice between: Attribute linktext:
optional
type: xs:string
Text of Link
Attribute height:
optional
type: int-or-perl
Attribute width:
optional
type: int-or-perl
Attribute printtext:
optional
type: xs:string
Printed text (optional)

Parents: universal-blocks

Element windowlink

This creates a link to a resource that comes up in a pop-up window. The link will be the intervening information between the start and the end tag. By default the window will be 500 pixels wide and 200 pixels tall.
Can contain text
Choice between: Attribute href:
optional
type: xs:anyURI
Attribute height:
optional
type: int-or-perl
starting height of the popup window
Attribute width:
optional
type: int-or-perl
starting width of the popup window

Parents: universal-blocks

Element togglebox

This creates a toggling box that can be clicked open and close. When printing, the included text will be rendered in a visible box.
Can contain text
Choice between: Attribute heading:
optional
type: xs:string
heading text of the box, by default no heading
Attribute headerbg:
optional
type: xs:string
background color of the header, by default white
Attribute showtext:
optional
type: xs:string
the text that appears to make the box visible, by default the translation of ’show’
Attribute hidetext:
optional
type: xs:string
the text that appears to hide the box again, by default the translation of ’hide’

Parents: universal-blocks

Element instructorcomment

Comment that is hidden if form.instructor_comments='hide'.
Can contain text
Choice between:

Parents: universal-blocks

Element comment

Allows one to comment out sections of code in a balanced manner, or to provide a comment description of how a problem works. The content is ignored.
Can contain text
Choice between:

Parents: universal-blocks

Element organicstructure

Organic Structure
Attribute width:
optional
type: int-or-perl
Width (pixels)
Attribute texwidth:
optional
type: decimal-or-perl
TeXwidth (mm)
Attribute molecule:
required
type: xs:string
JME string
Attribute options:
optional
Comma-separated list of options: reaction: is a reaction (note: setting this option is only useful for the editor, it does not change the resulting image) border: draws a border around the image
Union of types

Parents: universal-blocks

Element drawimage

Draws an image with the specified objects using pixel coordinates (text, line, rectangle, arc, fill, polygon, image).
Choice between: Attribute width:
optional
type: int-or-perl
Attribute height:
optional
type: int-or-perl
Attribute bgcolor:
optional
type: xs:string

Parents: universal-blocks

Non-HTML inline elements mixed with text

Element display

type: xs:string
Display Script Result Block The intervening Perl script is evaluated in the safe space and the return value of the script replaces the entire element.

Parents: inlines

Element m

The inside text is LaTeX, and is converted to HTML (or MathML) on the fly. This element is normally used for math, and the text should start and end with either $ or $$.
Can contain text
Attribute display:
optional
type: xs:string
Option to force the math rendering for this element.
Attribute eval:
optional
type: onoff-or-perl
Perl variables inside the element will be evaluated if this attribute value is "on".

Parents: inlines

Element lm

Inline math with the LON-CAPA syntax (use <m> for LaTeX math). Perl variables are evaluated. The expression is interpreted with implicit operators (for multiplication or units).
Attribute mode:
optional
In symbols mode, names are interpreted as constants or variables. In units mode, names are interpreted as constants or units.
Value restriction based on xs:string

Parents: inlines

Element num

Typesets a number formatted in scientific notation, fixed point, fixed point with commas, fixed point with commas and dollar sign, or in significant digits. <num format="2E">31454678</num> results in 3.15 x 10^7 <num format="2f">31454678</num> results in 31454678.00 <num format="4g">31454678</num> results in 3.145 x 10^7 <num format="4g">314.54678</num> results in 314.5 <num format=",2f">31454678</num> results in 31,454,678.00 <num format="$2f">31454678</num> results in $31,454,678.00 <num format="2s">31454678</num> results in 31000000 <num format=",2s">31454678</num> results in 31,000,000
Can contain text
Attribute format:
optional
type: xs:string

Parents: inlines

Element algebra

Typesets algebraic expressions. Expressions are displayed using the math expression display mechanism defined in the user’s preferences. The default is tth.
Can contain text
Attribute style:
optional
type: xs:string
Attribute display:
optional
type: xs:string
Option to force the math rendering for this element.

Parents: inlines

Element chem

type: xs:string
Typesets chemical equation

Parents: inlines

Element parse

type: xs:string
Evaluates the Perl content, then parses it as if it was part of the XML document and displays the result. Warning: using this element (or the xmlparse function) will reduce the document future interoperability, because dynamically generated XML cannot be automatically converted.

Parents: inlines

Element displayweight

Displays the number of points awarded for this problem or problem part.

Parents: inlines

Element displaystudentphoto

Attribute width:
optional
type: int-or-perl
Attribute height:
optional
type: int-or-perl
Attribute align:
optional
note: this attribute is not supported in HTML5, css should be used instead !
Union of types

Parents: inlines

HTML

Attribute group: coreattrs

core attributes common to most HTML elements
Attribute id:
optional
type: xs:ID
This attribute defines a unique identifier (ID) which must be unique in the whole document. Its purpose is to identify the element when linking (using a fragment identifier), scripting, or styling (with CSS). Usage note: - This attribute's value is an opaque string: this means that web author must not use it to convey any information. Particular meaning, for example semantic meaning, must not be derived from the string. - This attribute's value must not contain white spaces. Browsers treat non-conforming IDs that contains white spaces as if the white space is part of the ID. In contrast to the class attribute, which allows space-separated values, elements can only have one single ID defined through the id attribute. Note that an element may have several IDs, but the others should be set by another means, such as via a script interfacing with the DOM interface of the element. - Using characters except ASCII letters and digits, '_', '-' and '.' may cause compatibility problems, as they weren't allowed in HTML 4. Though this restriction has been lifted in HTML 5, an ID should start with a letter for compatibility.
Attribute class:
optional
type: xs:NMTOKENS
This attribute is a space-separated list of the classes of the element. Classes allows CSS and Javascript to select and access specific elements via the class selectors or functions like the DOM method document.getElementsByClassName. Usage note: Though the specification doesn't put requirements on the name of classes, web developers are encouraged to use names that describe the semantic purpose of the element, rather to the presentation of the element (e.g., attribute to describe an attribute rather than italics, although an element of this class may be presented by italics). Semantic names remain logical even if the presentation of the page changes.
Attribute style:
optional
type: xs:string
This attribute contains CSS styling declarations to be applied to the element. Note that it is recommended for styles to be defined in a separate file or files. This attribute and the <style> element have mainly the purpose of allowing for quick styling, for example for testing purposes. Usage note: This attribute must not be used to convey semantic information. Even if all styling is removed, a page should remain semantically correct. Typically it shouldn't be used to hide irrelevant information; this should be done using the hidden attribute.

Parents: headerContent, body, section-base, header, footer, aside, div-base, p-base, ul-base, ol-base, li-base, dl-base, table-base, tr-base, td-base, th, span, a, hr, address, blockquote, img, figure, object, video, audio, canvas, form, input, iframe

Attribute group: i18n

internationalization attributes lang language code (backwards compatible) xml:lang language code (as per XML 1.0 spec) dir direction for weak/neutral text
Attribute lang:
optional
type: xs:language
Attribute :
optional
Attribute dir:
optional
Value restriction based on xs:token

Parents: html, head, title, htmlMeta, style, body

Complex type inlineBaseType

Can contain text
Choice between:

Group heading

Choice between:
Parents: universal-blocks

Complex type headerContent

Can contain text
Choice between: coreattrs

Attribute :
optional

Element html

The HTML root element (<html>) represents the root of an HTML document.
Sequence with: i18n

Attribute id:
optional
type: xs:ID



Group head.misc

Sequence with:
Parents: head

Element head

The HTML Head Element (<head>) provides general information (metadata) about the document, including its title and links to or definitions of scripts and style sheets.
Sequence with: i18n

Attribute id:
optional
type: xs:ID
Attribute profile:
optional
type: xs:anyURI
The URIs of one or more metadata profiles, separated by white space. This attribute is obsolete in HTML5.

Parents: problem, html

Element title

The title element is not considered part of the flow of text. It should be displayed, for example as the page header or window title. Exactly one title is required per document.
Can contain text
i18n

Attribute id:
optional
type: xs:ID

Parents: head

Element base

The HTML Base Element (<base>) specifies the base URL to use for all relative URLs contained within a document. There can be only one <base> element in a document.
Attribute href:
required
type: xs:anyURI
Attribute id:
optional
type: xs:ID

Parents: head

Complex type htmlMeta

The HTML Meta Element (<meta>) represents any metadata information that cannot be represented by one of the other HTML meta-related elements (<base>, <link>, <script>, <style> or <title>). Depending on the attributes set, the kind of metadata can be one of the following: - If name is set, it is document-level metadata, applying to the whole page. - If http-equiv is set, it is a pragma directive, i.e. information normally given by the web server about how the - web page should be served. - If charset is set, it is a charset declaration, i.e. the charset used for the serialized form of the webpage. HTML5 - if the itemprop is set, a user-defined metadata, transparent for the user-agent as the semantics of the metadata is user-specific.
i18n

Attribute id:
optional
type: xs:ID
Attribute http-equiv:
optional
This enumerated attribute defines the pragma that can alter servers and user-agents behavior. The value of the pragma is defined using the content and can be one of the following: - content-language (obsolete) - content-type (obsolete) - default-style - refresh - set-cookie (obsolete)
Attribute name:
optional
This attribute defines the name of a document-level metadata. It should not be set if one of the attributes itemprop, http-equiv or charset is also set.
Attribute content:
required
This attribute gives the value associated with the http-equiv or name attribute, depending of the context.
Attribute scheme:
optional
This attribute defines the scheme in which the metadata is described. A scheme is a context leading to the correct interpretations of the content value, like a format. Notes: Do not use this attribute as it is obsolete. There is no replacement for it as there was no real usage for it. Omit it altogether.

Simple type MediaDesc

Single or comma-separated list of media descriptors
Value restriction based on xs:string

Element link

The HTML Link Element (<link>) specifies relationships between the current document and external resource. Possible uses for this element include defining a relational framework for navigation. This Element is most used to link to style sheets.
Attribute charset:
optional
type: xs:string
This attribute defines the character encoding of the linked resource. The value is a space- and/or comma-delimited list of character sets as defined in RFC 2045. The default value is ISO-8859-1. Usage note: This attribute is obsolete in HTML5 and must not be used by authors. To achieve its effect, use the Content-Type: HTTP header on the linked resource.
Attribute href:
optional
type: xs:anyURI
This attribute specifies the URL of the linked resource. A URL might be absolute or relative.
Attribute hreflang:
optional
type: xs:language
This attribute indicates the language of the linked resource. It is purely advisory. Allowed values are determined by BCP47 for HTML5 and by RFC1766 for HTML 4. Use this attribute only if the href attribute is present.
Attribute type:
optional
type: xs:string
This attribute is used to define the type of the content linked to. The value of the attribute should be a MIME type such as text/html, text/css, and so on. The common use of this attribute is to define the type of style sheet linked and the most common current value is text/css, which indicates a Cascading Style Sheet format.
Attribute rel:
optional
type: xs:NMTOKENS
This attribute names a relationship of the linked document to the current document. The attribute must be a space-separated list of the link types values. The most common use of this attribute is to specify a link to an external style sheet: the rel attribute is set to stylesheet, and the href attribute is set to the URL of an external style sheet to format the page. WebTV also supports the use of the value next for rel to preload the next page in a document series.
Attribute rev:
optional
type: xs:NMTOKENS
The value of this attribute shows the relationship of the current document to the linked document, as defined by the href attribute. The attribute thus defines the reverse relationship compared to the value of the rel attribute. Link types values for the attribute are similar to the possible values for rel. Usage note: This attribute is obsolete in HTML5. Do not use it. To achieve its effect, use the rel attribute with the opposite link types values, e.g. made should be replaced by author. Also this attribute doesn't mean revision and must not be used with a version number, which is unfortunately the case on numerous sites.
Attribute media:
optional
type: MediaDesc
This attribute specifies the media which the linked resource applies to. Its value must be a media query. This attribute is mainly useful when linking to external stylesheets by allowing the user agent to pick the best adapted one for the device it runs on. Usage note: - In HTML 4, this can only be a simple white-space-separated list of media description literals, i.e., media types and groups, where defined and allowed as values for this attribute, such as print, screen, aural, braille. HTML5 extended this to any kind of media queries, which are a superset of the allowed values of HTML 4. - Browsers not supporting the CSS3 Media Queries won't necessarily recognize the adequate link; do not forget to set fallback links, the restricted set of media queries defined in HTML 4.

Parents: head.misc

Element style

The HTML <style> element contains style information for a document, or a part of document. The specific style information is contained inside of this element, usually in the CSS.
Can contain text
i18n

Attribute id:
optional
type: xs:ID
Attribute type:
optional
type: xs:string
Attribute media:
optional
type: MediaDesc
Attribute title:
optional
type: xs:string
Attribute :
optional

Parents: head.misc

Element script

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 <script> 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.
Can contain text
Attribute id:
optional
type: xs:ID
Attribute charset:
optional
type: xs:string
Attribute src:
optional
type: xs:anyURI
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.
Attribute type:
optional
type: xs:string
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. 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.
Attribute language:
optional
type: xs:string
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.
Attribute defer:
optional
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.
Value restriction based on xs:token
Attribute async:
optional
HTML5 only. 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).
Value restriction based on xs:token
Attribute :
optional

Parents: universal-blocks, head.misc

Element noscript

Alternate content container for non script-based rendering.
Can contain text
Choice between:

Parents: universal-blocks

Element body

The HTML Body Element (<body>) represents the content of an HTML document. There can be only one <body> element in a document.
Choice between: coreattrs

i18n

Attribute onload:
optional
type: xs:string
Attribute onunload:
optional
type: xs:string

Parents: html

Complex type section-base

Can contain text
The HTML Section Element (<section>) represents a generic section of a document, i.e., a thematic grouping of content, typically with a heading. Each <section> should be identified, typically by including a heading (h1-h6 element) as a child of the <section> element.
coreattrs


Complex type section-with-parts

Can contain text
Choice between:

Complex type section-with-responses

Can contain text
Choice between:

Complex type section-with-text

Can contain text
Choice between:

Element header

The HTML <header> Element represents a group of introductory or navigational aids. It may contain some heading elements but also other elements like a logo, wrapped section's header, a search form, and so on. This element should have no <footer> or <header> descendants.
Can contain text
Choice between: coreattrs


Parents: universal-blocks

Element footer

The HTML <footer> Element represents a footer for its nearest sectioning content or sectioning root element (i.e, its nearest parent <article>, <aside>, <nav>, <section>, <blockquote>, <body>, <details>, <fieldset>, <figure>, <td>). A footer typically contains information about the author of the section, copyright data or links to related documents. This element should have no <footer> or <header> descendants.
Can contain text
Choice between: coreattrs


Parents: universal-blocks

Element aside

The HTML <aside> element represents a section of the page with content connected tangentially to the rest, which could be considered separate from that content. These sections are often represented as sidebars or inserts. They often contain the definitions on the sidebars, such as definitions from the glossary; there may also be other types of information, such as related advertisements; the biography of the author; web applications; profile information or related links on the blog.
Can contain text
Choice between: coreattrs


Parents: universal-blocks

Element h1

type: headerContent
Level 1 title (most important). A heading element briefly describes the topic of the section it introduces. Heading information may be used by user agents, for example, to construct a table of contents for a document automatically. Inside HTML5 sections, all the heading elements can be h1 (they don't need to be h1, h2, ...). Web browsers determine the level of the heading based on the depth in the section tree.

Parents: heading

Element h2

type: headerContent
Level 2 title A heading element briefly describes the topic of the section it introduces. Heading information may be used by user agents, for example, to construct a table of contents for a document automatically.

Parents: heading

Element h3

type: headerContent
Level 3 title A heading element briefly describes the topic of the section it introduces. Heading information may be used by user agents, for example, to construct a table of contents for a document automatically.

Parents: heading

Element h4

type: headerContent
Level 4 title A heading element briefly describes the topic of the section it introduces. Heading information may be used by user agents, for example, to construct a table of contents for a document automatically.

Parents: heading

Element h5

type: headerContent
Level 5 title A heading element briefly describes the topic of the section it introduces. Heading information may be used by user agents, for example, to construct a table of contents for a document automatically.

Parents: heading

Element h6

type: headerContent
Level 6 title A heading element briefly describes the topic of the section it introduces. Heading information may be used by user agents, for example, to construct a table of contents for a document automatically.

Parents: heading

Complex type div-base

Can contain text
The HTML <div> element (or HTML Document Division Element) is the generic container for flow content, which does not inherently represent anything. It can be used to group elements for styling purposes (using the class or id attributes), or because they share attribute values, such as lang. It should be used only when no other semantic element (such as <article> or <nav>) is appropriate.
coreattrs

Attribute align:
optional
In HTML5, the align attribute on <div> is obsolete.
Value restriction based on xs:string

Complex type div-with-parts

Can contain text
Choice between:

Complex type div-with-responses

Can contain text
Choice between:

Complex type div-with-text

Can contain text
Choice between:

Complex type p-base

Can contain text
The HTML <p> element (or HTML Paragraph Element) represents a paragraph of text. Paragraphs are block-level elements.
coreattrs


Complex type p-with-responses

Can contain text
Choice between:

Complex type p-with-text

Can contain text
Choice between:

Complex type ul-base

The HTML unordered list element (<ul>) represents an unordered list of items, namely a collection of items that do not have a numerical ordering, and their order in the list is meaningless. Typically, unordered-list items are displayed with a bullet, which can be of several forms, like a dot, a circle or a squared. The bullet style is not defined in the HTML description of the page, but in its associated CSS, using the list-style-type property. There is no limitation to the depth and imbrication of lists defined with the <ol> and <ul> elements.
coreattrs

Attribute type:
optional
type: xs:string
Used to set the bullet style for the list. The values defined under HTML3.2 and the transitional version of HTML 4.0/4.01 are: - circle, - disc, - and square. A fourth bullet type has been defined in the WebTV interface, but not all browsers support it: triangle. If not present and if no CSS list-style-type property does apply to the element, the user agent decide to use a kind of bullets depending on the nesting level of the list. Usage note: Do not use this attribute, as it has been deprecated; use the CSS list-style-type property instead.

Complex type ul-with-parts

Sequence with:

Complex type ul-with-responses

Sequence with:

Complex type ul-with-text

Sequence with:

Complex type ol-base

The HTML <ol> Element (or HTML Ordered List Element) represents an ordered list of items. Typically, ordered-list items are displayed with a preceding numbering, which can be of any form, like numerals, letters or Romans numerals or even simple bullets. This numbered style is not defined in the HTML description of the page, but in its associated CSS, using the list-style-type property. There is no limitation to the depth and overlap of lists defined with the <ol> and <ul> elements.
coreattrs

Attribute type:
optional
type: xs:string
Indicates the numbering type: - 'a' indicates lowercase letters, - 'A' indicates uppercase letters, - 'i' indicates lowercase Roman numerals, - 'I' indicates uppercase Roman numerals, - and '1' indicates numbers (default). The type set is used for the entire list unless a different type attribute is used within an enclosed <li> element. Note: This attribute was deprecated in HTML4, but reintroduced in HTML5. Unless the value of the list number matters (e.g. in legal or technical documents where items are to be referenced by their number/letter), the CSS list-style-type property should be used instead.

Complex type ol-with-parts

Sequence with:

Complex type ol-with-responses

Sequence with:

Complex type ol-with-text

Sequence with:

Complex type li-base

Can contain text
The HTML List Item Element (<li>) is used to represent an item in a list. It must be contained in a parent element: an ordered list (<ol>), an unordered list (<ul>), or a menu (<menu>). In menus and unordered lists, list items are usually displayed using bullet points. In ordered lists, they are usually displayed with an ascending counter on the left, such as a number or letter.
coreattrs

Attribute type:
optional
type: xs:string
This character attributes indicates the numbering type: a: lowercase letters A: uppercase letters i: lowercase Roman numerals I: uppercase Roman numerals 1: numbers This type overrides the one used by its parent <ol> element, if any. Usage note: This attribute has been deprecated: use the CSS list-style-type property instead.
Attribute value:
optional
type: xs:int
This integer attributes indicates the current ordinal value of the item in the list as defined by the <ol> element. The only allowed value for this attribute is a number, even if the list is displayed with Roman numerals or letters. List items that follow this one continue numbering from the value set. The value attribute has no meaning for unordered lists (<ul>) or for menus (<menu>). Note: This attribute was deprecated in HTML4, but reintroduced in HTML5.

Complex type li-with-parts

Can contain text
Choice between:

Complex type li-with-responses

Can contain text
Choice between:

Complex type li-with-text

Can contain text
Choice between:

Complex type dl-base

The HTML <dl> Element (or HTML Description List Element) encloses a list of pairs of terms and descriptions. Common uses for this element are to implement a glossary or to display metadata (a list of key-value pairs). Prior to HTML5, <dl> was known as a Definition List.
coreattrs


Complex type dl-with-parts

Choice between:

Complex type dl-with-responses

Choice between:

Complex type dl-with-text

Choice between:

Element dt

type: inlineBaseType
The HTML <dt> element (or HTML Definition Term Element) identifies a term in a definition list. This element can occur only as a child element of a <dl>. It is usually followed by a <dd> element; however, multiple <dt> elements in a row indicate several terms that are all defined by the immediate next <dd> element.



Complex type dd-base

Can contain text
The HTML <dd> Element (or HTML Description Element) indicates the description of a term in a description list (<dl>) element. This element can occur only as a child element of a definition list and it must follow a <dt> element.

Complex type dd-with-parts

Can contain text
Choice between:

Complex type dd-with-responses

Can contain text
Choice between:

Complex type dd-with-text

Can contain text
Choice between:

Complex type table-base

The HTML Table Element (<table>) represents data in two dimensions or more.
coreattrs

Attribute border:
optional
type: xs:int
This integer attribute defines, in pixels, the size of the frame surrounding the table. If set to 0, it implies that the frame attribute is set to void. Usage note: Do not use this attribute, as it has been deprecated: the <table> element should be styled using CSS. To give a similar effect than the border attribute, the CSS properties border, border-color, border-width and border-style should be used.
Attribute cellpadding:
optional
type: xs:string
This attribute defines the space between the content of a cell and the border, displayed or not, of it. If it is a pixel length, this pixel-sized space will be applied on all four sides; if it is a percentage length, the content will be centered and the total vertical space (top and bottom) will represent this percentage. The same is true for the total horizontal space (left and right). Usage note: Do not use this attribute, as it has been deprecated: the <table> element should be styled using CSS. To give a similar effect than the border attribute, use the CSS property border-collapse with the value collapse on the <table> element itself, and the property padding on the <td>.
Attribute cellspacing:
optional
type: xs:string
This attribute defines the size, in percentage or in pixels, of the space between two cells (both horizontally and vertically), between the top of the table and the cells of the first row, the left of the table and the first column, the right of the table and the last column and the bottom of the table and the last row. Usage note: Do not use this attribute, as it has been deprecated: the <table> element should be styled using CSS. To give a similar effect than the border attribute, use the CSS property border-collapse with the value collapse on the <table> element itself, and the property margin on the <td> element.
Attribute TeXwidth:
optional
Width of the table in %
Union of types
Attribute TeXtheme:
optional
type: xs:string
Attribute align:
optional
type: xs:string
Deprecated attribute. This enumerated attribute indicates how the table must be aligned in regard of the containing document. It may have the following values: - left, meaning that the table is to be displayed to the left of the document; - center, meaning that the table is to be displayed centered in the document; - right, meaning that the table is to be displayed to the right of the document. Note: Do not use this attribute, as it has been deprecated: the <table> element should be styled using CSS. To give a similar effect than the align attribute, the CSS properties "text-align" and "vertical-align" should be used.
Attribute rules:
optional
type: xs:string
Deprecated attribute. This enumerated attribute defines where rules, i.e. lines, should appear in a table. It can have the following values: - none, which indicates the no rules will be displayed; it is the default value; - groups, which will make the rules to be displayed between row groups (defined by the <thead>, <tbody> and <tfoot> elements) and between column groups (defined by the <col> and <colgroup> elements) only; - rows, which will make the rules to be displayed between rows; - columns, which will make the rules to be displayed between columns; - all, which wil make the rules to be displayed between rows and columns. Note: The styling of the rules is browser-dependant and cannot be modified. Do not use this attribute, as it has been deprecated: the rules should be defined and styled using CSS. use the CSS property border on the adequate <thead>, <tbody>, <tfoot>, <col> or <colgroup> elements.

Complex type table-with-parts

Sequence with:

Complex type table-with-responses

Sequence with:

Complex type table-with-text

Sequence with:

Element caption

The HTML <caption> Element (or HTML Table Caption Element) represents the title of a table. Though it is always the first descendant of a <table>, its styling, using CSS, may place it elsewhere, relative to the table.
Can contain text
Choice between:



Element thead

The HTML Table Head Element (<thead>) defines a set of rows defining the head of the columns of the table.
Sequence with: Attribute align:
optional
type: xs:string
Deprecated attribute.



Element tfoot

The HTML Table Foot Element (<tfoot>) defines a set of rows summarizing the columns of the table.
Sequence with: Attribute align:
optional
type: xs:string
Deprecated attribute.



Complex type tbody-with-parts

Sequence with: Attribute align:
optional
type: xs:string
Deprecated attribute.

Complex type tbody-with-responses

Sequence with: Attribute align:
optional
type: xs:string

Complex type tbody-with-text

Sequence with: Attribute align:
optional
type: xs:string
Deprecated attribute.

Complex type tr-base

Table row
coreattrs

Attribute align:
optional
type: xs:string
Deprecated attribute.

Complex type tr-with-parts

Choice between:

Complex type tr-with-responses

Choice between:

Complex type tr-with-text

Choice between:

Simple type html-align

Value restriction based on xs:string

Complex type td-base

Can contain text
Table cell
coreattrs

Attribute colspan:
optional
type: xs:int
This attribute contains a non-negative integer value that indicates on how many columns does the cell extend. Its default value is 1.
Attribute rowspan:
optional
type: xs:int
This attribute contains a non-negative integer value that indicates on how many rows does the cell extend. Its default value is 1.
Attribute align:
optional
type: html-align
Attribute TeXwidth:
optional
Width of the cell in mm or another unit (cm, in, pt, pc)
Union of types

Complex type td-with-parts

Can contain text
Choice between:

Complex type td-with-responses

Can contain text
Choice between:

Complex type td-with-text

Can contain text
Choice between:

Element th

Table header cell
Can contain text
Choice between: coreattrs

Attribute colspan:
optional
type: xs:int
This attribute contains a non-negative integer value that indicates on how many columns does the cell extend. Its default value is 1.
Attribute rowspan:
optional
type: xs:int
This attribute contains a non-negative integer value that indicates on how many rows does the cell extend. Its default value is 1.
Attribute align:
optional
type: html-align
Attribute scope:
optional
defines the cells that the header defined in this <th> element relates to
Value restriction based on xs:token
Attribute TeXwidth:
optional
Width of the cell in mm or another unit (cm, in, pt, pc)
Union of types



Element span

The HTML <span> element is a generic inline container for phrasing content, which does not inherently represent anything. It can be used to group elements for styling purposes (using the class or id attributes), or because they share attribute values, such as lang. It should be used only when no other semantic element is appropriate. <span> is very much like a <div> element, but <div> is a block-level element whereas a <span> is an inline element.
Can contain text
Choice between: coreattrs


Parents: inlines

Element a

The HTML <a> Element (or the HTML Anchor Element) defines a hyperlink, the named target destination for a hyperlink, or both.
Can contain text
Choice between: coreattrs

Attribute name:
optional
type: xs:string
HTML 4 only, Obsolete since HTML5. 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 <a> element as long as they have identical values. Usage note: This attribute is obsolete in HTML5, use global attribute id instead.
Attribute href:
optional
type: xs:anyURI
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 <a href="#top">Return to top</a>. This behavior is specified by HTML5.
Attribute target:
optional
type: xs:string
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.
Attribute title:
optional
type: xs:string
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.
Attribute rel:
optional
type: xs:NMTOKENS
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.
Attribute accesskey:
optional
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.
Value restriction based on xs:string
Attribute onclick:
optional
type: xs:string
Javascript event handler content attribute for the "click" event. Warning: event handler content attributes should be avoided. They make the markup bigger and less readable. Concerns of content/structure and behavior are not well-separated, making a bug harder to find. Furthermore, usage of event attributes almost always causes scripts to expose global functions on the Window object, polluting the global namespace. The EventTarget.addEventListener() function should be used instead to add a listener for the event.
Attribute uriprint:
optional
Attribute specific to LON-CAPA. Display the href attribute when printing.
Value restriction based on xs:string
Attribute anchorprint:
optional
Attribute specific to LON-CAPA. Display the name attribute when printing.
Value restriction based on xs:string

Parents: inlines

Element em

type: inlineBaseType
The HTML Emphasis Element (<em>) marks text that has stress emphasis. The <em> element can be nested, with each level of nesting indicating a greater degree of emphasis.

Parents: inlines

Element strong

type: inlineBaseType
The HTML Strong Element (<strong>) gives text strong importance, and is typically displayed in bold.

Parents: inlines

Element b

type: inlineBaseType
The HTML <b> 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.

Parents: inlines

Element i

type: inlineBaseType
The HTML <i> 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.

Parents: inlines

Element sup

type: inlineBaseType
The HTML Superscript Element (<sup>) defines a span of text that should be displayed, for typographic reasons, higher, and often smaller, than the main span of text.

Parents: inlines

Element sub

type: inlineBaseType
The HTML Subscript Element (<sub>) defines a span of text that should be displayed, for typographic reasons, lower, and often smaller, than the main span of text.

Parents: inlines

Element pre

The HTML <pre> Element (or HTML Preformatted Text) represents preformatted text. Text within this element is typically displayed in a non-proportional font exactly as it is laid out in the file. Whitespaces inside this element are displayed as typed.
Can contain text
Choice between: Attribute :
optional

Parents: universal-blocks

Element code

type: inlineBaseType
The HTML <code> Element represents a fragment of computer code. By default, it is displayed in the browser's default monospace font.

Parents: inlines

Element kbd

type: inlineBaseType
The HTML <kbd> Element (or HTML Keyboard Input Element) represents user input and produces an inline element displayed in the browser's default monotype font.

Parents: inlines

Element samp

type: inlineBaseType
The HTML <samp> element is an element intended to identify sample output from a computer program. It is usually displayed in the browser's default monotype font.

Parents: inlines

Element cite

type: inlineBaseType
The HTML <cite> Element (or HTML Citation Element) represents a reference to a creative work. It must include the title of a work, the name of the author, or a URL reference, which may be in an abbreviated form according to the conventions used for the addition of citation metadata. Usage Notes: A creative work may include a book, a paper, an essay, a poem, a score, a song, a script, a film, a TV show, a game, a sculpture, a painting, a theater production, a play, an opera, a musical, an exhibition, a legal case report, a computer program, , a web site, a web page, a blog post or comment, a forum post or comment, a tweet, a written or oral statement, etc. Use the cite attribute on a <blockquote> or <q> element to reference an online resource for a source. Style note: To avoid the default italic style from being used for the <cite> element use the CSS font-style property.

Parents: inlines

Element q

The HTML <q> Element (or HTML Quote Element) indicates that the enclosed text is a short inline quotation. This element is intended for short quotations that don't require paragraph breaks; for long quotations use <blockquote> element.
Can contain text
Choice between: Attribute cite:
optional
type: xs:anyURI
The value of this attribute is a URL that designates a source document or message for the information quoted. This attribute is intended to point to information explaining the context or the reference for the quote.

Parents: inlines

Element tt

type: inlineBaseType
This feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time. Try to avoid using it. The HTML Teletype Text Element (<tt>) produces an inline element displayed in the browser's default monotype font. This element was intended to style text as it would display on a fixed width display, such as a teletype. It probably is more common to display fixed width type using the <code> element.

Parents: inlines

Element ins

The HTML <ins> Element (or HTML Inserted Text) HTML represents a range of text that has been added to a document.
Can contain text
Attribute cite:
optional
type: xs:anyURI
Attribute datetime:
optional
type: xs:dateTime

Parents: inlines

Element del

The HTML <del> element (or HTML Deleted Text Element) represents a range of text that has been deleted from a document. This element is often (but need not be) rendered with strike-through text.
Can contain text
Attribute cite:
optional
type: xs:anyURI
Attribute datetime:
optional
type: xs:dateTime

Parents: inlines

Element var

type: inlineBaseType
The HTML Variable Element (<var>) represents a variable in a mathematical expression or a programming context.

Parents: inlines

Element small

type: inlineBaseType
The HTML Small Element (<small>) makes the text font size one size smaller (for example, from large to medium, or from small to x-small) down to the browser's minimum font size. In HTML5, this element is repurposed to represent side-comments and small print, including copyright and legal text, independent of its styled presentation.

Parents: inlines

Element big

type: inlineBaseType
This feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time. Try to avoid using it.

Parents: inlines

Element br

The HTML <br> Element (or HTML Line Break Element) produces a line break in text (carriage-return). It is useful for writing a poem or an address, where the division of lines is significant.

Parents: inlines

Element hr

The HTML <hr> element represents a thematic break between paragraph-level elements (for example, a change of scene in a story, or a shift of topic with a section). In previous versions of HTML, it represented a horizontal rule. It may still be displayed as a horizontal rule in visual browsers, but is now defined in semantic terms, rather than presentational terms.
coreattrs


Parents: universal-blocks

Element address

The HTML <address> Element may be used by authors to supply contact information for its nearest <article> or <body> ancestor; in the latter case, it applies to the whole document.
Can contain text
Choice between: coreattrs


Parents: universal-blocks

Element blockquote

The HTML <blockquote> Element (or HTML Block Quotation Element) indicates that the enclosed text is an extended quotation. Usually, this is rendered visually by indentation (to change <blockquote> indent, use CSS margin property). A URL for the source of the quotation may be given using the cite attribute, while a text representation of the source can be given using the <cite> element.
Can contain text
Choice between: coreattrs

Attribute cite:
optional
type: xs:anyURI
Attribute align:
optional
Value restriction based on xs:string

Parents: universal-blocks

Simple type htmlLength

nn for pixels or nn% for percentage length
Value restriction based on xs:string

Simple type htmlLength-or-perl

Union of types

Element img

The HTML <img> Element (or HTML Image Element) represents an image of the document. Usage note: Browsers do not always display the image referenced by the element. This is the case for non-graphical browsers (including those used by people with vision impairments), or if the user chooses not to display images, or if the browser is unable to display the image because it is invalid or an unsupported type. In these cases, the browser may replace the image with the text defined in this element's alt attribute.
coreattrs

Attribute src:
required
type: xs:anyURI
Image URL. On browsers supporting srcset, src is ignored if this one is provided.
Attribute alt:
optional
type: xs:string
This attribute defines the alternative text describing the image. Users will see this displayed if the image URL is wrong, the image is not in one of the supported formats, or until the image is downloaded. Usage note: Omitting this attribute indicates that the image is a key part of the content, but no textual equivalent is available. Setting this attribute to the empty string indicates that this image is not a key part of the content; non-visual browsers may omit it from rendering.
Attribute width:
optional
type: htmlLength-or-perl
The width of the image in pixels or percent.
Attribute height:
optional
type: htmlLength-or-perl
The height of the image in pixels or percent.
Attribute TeXwidth:
optional
Allows you to set the width of the image, in mm or %, as it will be rendered into the LaTeX document used to print the problem.
Union of types
Attribute TeXheight:
optional
type: decimal-or-perl
Allows you to set the height of the image, in mm, as it will be rendered into the LaTeX document used to print the problem.
Attribute align:
optional
This attribute is deprecated since HTML 4.01 and obsolete since HTML5. Use the vertical-align CSS property instead. Specifies the alignment of the image relative to the enclosing text paragraph: - bottom: The image will be aligned so that its bottom will be at the baseline of the surrounding text. - middle: The image will be aligned so that its center-line will be at the baseline of the surrounding text. - top: The image will be aligned so that its top will be at the baseline of the surrounding text. - left: The image will be placed so that it is at the left of the surrounding text. The surrounding text will fill in the region to the right of the image. - right: The image will be placed so that it is at the right of the surrounding text. The surrounding text will fill in the region to the left of the image.
Union of types
Attribute TeXwrap:
optional
Allows you to select how the LaTeX document will attempt to wrap text around a horizontally aligned image. parbox: \newline and \parbox will be used to place the image. This method ensures that text will not be wrapped on top of the image, however very little text will appear next to the image itself. parpic: The picins package \parpic command will be used to place the image. This will wrap the remainder of the paragraph containing the picture around the image. If, however, there is insufficient text to fill the space to the left or right of the image, the next paragraph may be wrapped on top of the image. In addition, \parpic does not always honor the end of the page, causing the image to extend below the page footer.
Union of types
Attribute encrypturl:
optional
type: yesno-or-perl

Parents: inlines

Element figure

The HTML <figure> Element represents self-contained content, frequently with a caption (<figcaption>), and is typically referenced as a single unit. While it is related to the main flow, its position is independent of the main flow. Usually this is an image, an illustration, a diagram, a code snippet, or a schema that is referenced in the main text, but that can be moved to another page or to an appendix without affecting the main flow. Usage note: A caption can be associated with the <figure> element by inserting a <figcaption> inside it (as the first or the last child).
Can contain text
Choice between: coreattrs


Parents: universal-blocks

Element figcaption

The HTML <figcaption> Element represents a caption or a legend associated with a figure or an illustration described by the rest of the data of the <figure> element which is its immediate ancestor which means <figcaption> can be the first or last element inside a <figure> block. Also, the HTML Figcaption Element is optional; if not provided, then the parent figure element will have no caption.
Can contain text
Choice between:

Parents: figure

Element object

The HTML <object> Element (or HTML Embedded Object Element) represents an external resource, which can be treated as an image, a nested browsing context, or a resource to be handled by a plugin.
Can contain text
Choice between: coreattrs

Attribute classid:
optional
type: xs:string
The URI of the object's implementation. It can be used together with, or in place of, the data attribute. Obsolete since HTML5.
Attribute codebase:
optional
type: xs:anyURI
The base path used to resolve relative URIs specified by classid, data, or archive. If not specified, the default is the base URI of the current document. Obsolete since HTML5.
Attribute data:
optional
type: xs:anyURI
The address of the resource as a valid URL. At least one of data and type must be defined.
Attribute type:
optional
type: xs:string
The content type of the resource specified by data. At least one of data and type must be defined.
Attribute codetype:
optional
type: xs:string
The content type of the data specified by classid. Obsolete since HTML5.
Attribute archive:
optional
A space-separated list of URIs for archives of resources for the object. Obsolete since HTML5.
Attribute standby:
optional
type: xs:string
A message that the browser can show while loading the object's implementation and data. Obsolete since HTML5.
Attribute width:
optional
type: htmlLength-or-perl
The width of the display resource, in CSS pixels.
Attribute height:
optional
type: htmlLength-or-perl
The height of the displayed resource, in CSS pixels.
Attribute usemap:
optional
type: xs:string
A hash-name reference to a <map> element; that is a '#' followed by the value of a name of a map element.
Attribute name:
optional
type: xs:NMTOKEN
The name of valid browsing context (HTML5), or the name of the control (HTML 4).

Parents: universal-blocks

Element param

The HTML <param> element is used to supply a named property value.
Attribute id:
optional
type: xs:ID
Attribute name:
optional
Name of the parameter.
Attribute value:
optional
Specifies the value of the parameter.
Attribute valuetype:
optional
Obsolete in HTML5. Specifies the type of the value attribute.
Value restriction based on xs:token
Attribute type:
optional
type: xs:string
Obsolete in HTML5. Only used if the valuetype is set to "ref". Specifies the MIME type of values found at the URI specified by value.

Parents: object, applet

Element embed

The HTML <embed> Element represents an integration point for an external application or interactive content (in other words, a plug-in).
Attribute id:
optional
type: xs:ID
Attribute src:
optional
type: xs:anyURI
The URL of the resource being embedded.
Attribute type:
optional
type: xs:string
The MIME type to use to select the plug-in to instantiate.
Attribute width:
optional
type: non-negative-int-or-perl
The displayed width of the resource, in CSS pixels.
Attribute height:
optional
type: non-negative-int-or-perl
The displayed height of the resource, in CSS pixels.

Parents: universal-blocks

Element applet

This feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time. Try to avoid using it.
Can contain text
Choice between: Attribute id:
optional
type: xs:ID
Attribute codebase:
optional
type: xs:anyURI
Attribute archive:
optional
type: xs:string
Comma-separated list of URIs for archives containing classes and other resources that will be "preloaded".
Attribute code:
optional
Attribute object:
optional
Attribute alt:
optional
type: xs:string
Attribute name:
optional
type: xs:NMTOKEN
Attribute width:
required
type: non-negative-int-or-perl
Attribute height:
required
type: non-negative-int-or-perl
Attribute align:
optional
Value restriction based on xs:token
Attribute hspace:
optional
type: xs:nonNegativeInteger
Attribute vspace:
optional
type: xs:nonNegativeInteger

Parents: universal-blocks

Element video

The HTML <video> element is used to embed video content. It may contain several video sources, represented using the src attribute or the <source> element; the browser will choose the most suitable one.
Can contain text
Choice between: coreattrs

Attribute src:
optional
type: xs:anyURI
Attribute width:
optional
type: non-negative-int-or-perl
Attribute height:
optional
type: non-negative-int-or-perl
Attribute autoplay:
optional
Value restriction based on xs:string
Attribute controls:
optional
Value restriction based on xs:string
Attribute loop:
optional
Value restriction based on xs:string

Parents: universal-blocks

Element source

The HTML <source> element is used to specify multiple media resources for <picture>, <audio> and <video> elements. It is an empty element. It is commonly used to serve the same media in multiple formats supported by different browsers.
Attribute src:
required
type: xs:anyURI
Attribute type:
optional
type: xs:string

Parents: video, audio

Element audio

The HTML <audio> element is used to embed sound content in documents. It may contain several audio sources, represented using the src attribute or the <source> element; the browser will choose the most suitable one.
Can contain text
Choice between: coreattrs

Attribute src:
optional
type: xs:anyURI
Attribute autoplay:
optional
Value restriction based on xs:string
Attribute controls:
optional
Value restriction based on xs:string
Attribute loop:
optional
Value restriction based on xs:string

Parents: universal-blocks

Element map

The HTML <map> element is used with <area> elements to define an image map (a clickable link area).
Choice between: Attribute id:
required
type: xs:ID
Attribute class:
optional
type: xs:NMTOKENS
Attribute style:
optional
type: xs:string
Attribute title:
optional
type: xs:string
Attribute name:
optional
type: xs:NMTOKEN

Parents: universal-blocks

Element area

The HTML <area> element defines a hot-spot region on an image, and optionally associates it with a hypertext link. This element is used only within a <map> element.
Attribute shape:
optional
The shape of the associated hot spot. The specifications for HTML 5 and HTML 4 define the values rect, which defines a rectangular region; circle, which defines a circular region; poly, which defines a polygon; and default, which indicates the entire region beyond any defined shapes. Many browsers, notably Internet Explorer 4 and higher, support circ, polygon, and rectangle as valid values for shape; these values are *not standard*.
Value restriction based on xs:token
Attribute coords:
optional
A set of values specifying the coordinates of the hot-spot region. The number and meaning of the values depend upon the value specified for the shape attribute. For a rect or rectangle shape, the coords value is two x,y pairs: left, top, right, and bottom. For a circle shape, the value is x,y,r where x,y is a pair specifying the center of the circle and r is a value for the radius. For a poly or polygon< shape, the value is a set of x,y pairs for each point in the polygon: x1,y1,x2,y2,x3,y3, and so on. In HTML4, the values are numbers of pixels or percentages, if a percent sign (%) is appended; in HTML5, the values are numbers of CSS pixels.
Value restriction based on xs:string
Attribute href:
optional
type: xs:anyURI
The hyperlink target for the area. Its value is a valid URL. In HTML4, either this attribute or the nohref attribute must be present in the element. In HTML5, this attribute may be omitted; if so, the area element does not represent a hyperlink.
Attribute nohref:
optional
Indicates that no hyperlink exists for the associated area. Either this attribute or the href attribute must be present in the element. Usage note: This attribute is obsolete in HTML5, instead omitting the href attribute is sufficient.
Value restriction based on xs:token
Attribute alt:
required
type: xs:string
A text string alternative to display on browsers that do not display images. The text should be phrased so that it presents the user with the same kind of choice as the image would offer when displayed without the alternative text. In HTML4, this attribute is required, but may be the empty string (""). In HTML5, this attribute is required only if the href attribute is used.

Parents: map

Element canvas

The HTML <canvas> Element can be used to draw graphics via scripting (usually JavaScript). For example, it can be used to draw graphs, make photo compositions or even perform animations. You may (and should) provide alternate content inside the <canvas> block. That content will be rendered both on older browsers that don't support canvas and in browsers with JavaScript disabled.
Can contain text
Choice between: coreattrs

Attribute width:
optional
type: htmlLength-or-perl
The width of the coordinate space in CSS pixels.
Attribute height:
optional
type: htmlLength-or-perl
The height of the coordinate space in CSS pixels.

Parents: universal-blocks

Element form

The HTML <form> element represents a document section that contains interactive controls to submit information to a web server.
Choice between: coreattrs

Attribute action:
optional
type: xs:anyURI
The URI of a program that processes the form information. In HTML5, the action attribute is no longer required.
Attribute method:
optional
The HTTP method that the browser uses to submit the form. Possible values are: - post: Corresponds to the HTTP POST method ; form data are included in the body of the form and sent to the server. - get: Corresponds to the HTTP GET method; form data are appended to the action attribute URI with a '?' as separator, and the resulting URI is sent to the server. Use this method when the form has no side-effects and contains only ASCII characters.
Value restriction based on xs:token
Attribute enctype:
optional
type: xs:string
When the value of the method attribute is post, enctype is the MIME type of content that is used to submit the form to the server. Possible values are: - application/x-www-form-urlencoded: The default value if the attribute is not specified. - multipart/form-data: The value used for an <input> element with the type attribute set to "file". - text/plain (HTML5)
Attribute accept-charset:
optional
type: xs:string
A space- or comma-delimited list of character encodings that the server accepts. The browser uses them in the order in which they are listed. The default value, the reserved string "UNKNOWN", indicates the same encoding as that of the document containing the form element. In previous versions of HTML, the different character encodings could be delimited by spaces or commas. In HTML5, only spaces are allowed as delimiters.
Attribute name:
optional
type: xs:string
The name of the form. In HTML 4, its use is deprecated (id should be used instead). It must be unique among the forms in a document and not just an empty string in HTML 5.
Attribute accept:
optional
type: xs:string
A comma-separated list of content types that the server accepts. Usage note: This attribute has been removed in HTML5 and should no longer be used. Instead, use the accept attribute of the specific <input> element.
Attribute onsubmit:
optional
type: xs:string
Attribute onreset:
optional
type: xs:string

Parents: universal-blocks

Element label

The HTML <label> Element represents a caption for an item in a user interface. It can be associated with a control either by placing the control element inside the label element, or by using the for attribute. Such a control is called the labeled control of the label element.
Can contain text
Attribute for:
optional
type: xs:IDREF
The ID of a labelable form-related element in the same document as the label element. The first such element in the document with an ID matching the value of the for attribute is the labeled control for this label element.
Attribute accesskey:
optional
A shortcut key to access this element from the keyboard.
Value restriction based on xs:string
Attribute form:
optional
type: xs:IDREF
The form element that the label element is associated with (its form owner). If specified, the value of the attribute must be the ID of a <form> element in the same document. This attribute enables you to place label elements anywhere within a document, not just as descendants of their form elements.
Attribute onfocus:
optional
type: xs:string
Attribute onblur:
optional
type: xs:string

Parents: inlines

Simple type InputType

Value restriction based on xs:token

Element input

The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from user.
coreattrs

Attribute type:
optional
type: InputType
Attribute name:
optional
the name attribute is required for all but submit & reset
Attribute value:
optional
Attribute checked:
optional
Value restriction based on xs:token
Attribute disabled:
optional
Value restriction based on xs:token
Attribute readonly:
optional
Value restriction based on xs:token
Attribute size:
optional
Attribute maxlength:
optional
type: xs:nonNegativeInteger
Attribute src:
optional
type: xs:anyURI
Attribute alt:
optional
Attribute usemap:
optional
type: xs:anyURI
Attribute onselect:
optional
type: xs:string
Attribute onchange:
optional
type: xs:string
Attribute accept:
optional
type: xs:string
Attribute onclick:
optional
type: xs:string
Javascript event handler content attribute for the "click" event. Warning: event handler content attributes should be avoided. They make the markup bigger and less readable. Concerns of content/structure and behavior are not well-separated, making a bug harder to find. Furthermore, usage of event attributes almost always causes scripts to expose global functions on the Window object, polluting the global namespace. The EventTarget.addEventListener() function should be used instead to add a listener for the event.

Parents: inlines

Element select

The HTML select (<select>) element represents a control that presents a menu of options. The options within the menu are represented by <option> elements, which can be grouped by <optgroup> elements. Options can be pre-selected for the user.
Choice between: Attribute name:
optional
Attribute size:
optional
type: xs:nonNegativeInteger
Attribute multiple:
optional
Value restriction based on xs:token
Attribute disabled:
optional
Value restriction based on xs:token
Attribute tabindex:
optional
type: xs:nonNegativeInteger
Attribute onfocus:
optional
type: xs:string
Attribute onblur:
optional
type: xs:string
Attribute onchange:
optional
type: xs:string

Parents: inlines

Element optgroup

In a Web form, the HTML <optgroup> element creates a grouping of options within a <select> element.
Sequence with: Attribute disabled:
optional
Value restriction based on xs:token
Attribute label:
required
type: xs:string

Parents: select

Element option

In a Web form, the HTML <option> element is used to create a control representing an item within a <select>, an <optgroup> or a <datalist> HTML5 element.
Can contain text
Attribute selected:
optional
Value restriction based on xs:token
Attribute disabled:
optional
Value restriction based on xs:token
Attribute label:
optional
type: xs:string
Attribute value:
optional

Parents: select, optgroup

Element textarea

The HTML <textarea> element represents a multi-line plain-text editing control.
Can contain text
Attribute name:
optional
Attribute rows:
required
type: xs:nonNegativeInteger
Attribute cols:
required
type: xs:nonNegativeInteger
Attribute disabled:
optional
Value restriction based on xs:token
Attribute readonly:
optional
Value restriction based on xs:token
Attribute onselect:
optional
type: xs:string
Attribute onchange:
optional
type: xs:string

Parents: inlines

Element fieldset

The HTML <fieldset> element is used to group several controls as well as labels (<label>) within a web form. Only one legend element should occur in the content, and if present should only be preceded by whitespace.
Can contain text
Sequence with:

Parents: universal-blocks

Element legend

The HTML <legend> Element (or HTML Legend Field Element) represents a caption for the content of its parent <fieldset>.
Can contain text
Attribute accesskey:
optional
Value restriction based on xs:string

Parents: fieldset

Element button

The HTML <button> Element represents a clickable button.
Can contain text
Choice between: Attribute name:
optional
Attribute value:
optional
Attribute type:
optional
Value restriction based on xs:token
Attribute disabled:
optional
Value restriction based on xs:token

Parents: inlines

Element iframe

The HTML <iframe> Element (or HTML inline frame element) represents a nested browsing context, effectively embedding another HTML page into the current page.
Can contain text
Choice between: coreattrs

Attribute name:
optional
type: xs:NMTOKEN
Attribute src:
optional
type: xs:anyURI
Attribute frameborder:
optional
Warning: HTML 4 only The value 1 (the default) tells the browser to draw a border between this frame and every other frame. The value 0 tells the browser not to draw a border between this frame and other frames.
Value restriction based on xs:token
Attribute height:
optional
type: htmlLength
Attribute width:
optional
type: htmlLength
Attribute allowfullscreen:
optional
Value restriction based on xs:string

Parents: universal-blocks


Index

ClosingParagraph
Criteria
CriteriaText
GraderNote
InputType
Instance
InstanceText
IntroParagraph
MediaDesc
Question
QuestionText
Setup
Task
a
address
algebra
allow
answer (under caparesponse--answergroup)
answer (under mathresponse)
answer (under functionplotcustomrule)
answer (under customresponse)
answer (under mathhint)
answer (under customhint)
answergroup (under numericalresponse)
answergroup (under formularesponse)
applet
arc
area
aside
audio
axis
b
backgroundplot
base
bgimg (under randomlabel)
big
block (under blocks-with-parts)
block (under blocks-with-responses)
block (under blocks-with-text)
block (under gnuplot-children)
block (under randomlist-with-parts)
block (under randomlist-with-responses)
block (under randomlist-with-text)
block-base
block-with-parts
block-with-responses
block-with-text
blockResponses
blockquote
blocks-with-parts
blocks-with-responses
blocks-with-text
body
br
button
canvas
caparesponse--answer
caparesponse--answergroup
caparesponse--value
caparesponse--vector
caption
chem
cite
code
color
color-or-perl
comment
conceptgroup (under radiobuttonresponse--foilgroup)
conceptgroup (under optionresponse--foilgroup)
conceptgroup (under matchresponse--foilgroup)
conceptgroup (under rankresponse--foilgroup)
conceptgroup (under imageresponse--foilgroup)
coreattrs
curve
customhint
customhint--answer
customresponse
customresponse--answer
data (under lonplot--curve)
dataresponse
dd (under dl-with-parts)
dd (under dl-with-responses)
dd (under dl-with-text)
dd-base
dd-with-parts
dd-with-responses
dd-with-text
decimal-or-perl
del
display
displayduedate
displaystudentphoto
displaytitle
displayweight
div (under blocks-with-parts)
div (under blocks-with-responses)
div (under blocks-with-text)
div-base
div-with-parts
div-with-responses
div-with-text
dl (under blocks-with-parts)
dl (under blocks-with-responses)
dl (under blocks-with-text)
dl (under randomlist-with-parts)
dl (under randomlist-with-responses)
dl (under randomlist-with-text)
dl-base
dl-with-parts
dl-with-responses
dl-with-text
drawimage
drawoptionlist
drawvectorsum
dt
em
embed
essayresponse
externalresponse
fieldset
figcaption
figure
fill
foil (under radiobuttonresponse--foilgroup)
foil (under radiobuttonresponse--conceptgroup)
foil (under optionresponse--foilgroup)
foil (under optionresponse--conceptgroup)
foil (under matchresponse--foilgroup)
foil (under matchresponse--conceptgroup)
foil (under rankresponse--foilgroup)
foil (under rankresponse--conceptgroup)
foil (under imageresponse--foilgroup)
foil (under imageresponse--conceptgroup)
foilgroup (under radiobuttonresponse)
foilgroup (under optionresponse)
foilgroup (under matchresponse)
foilgroup (under rankresponse)
foilgroup (under imageresponse)
footer
form
formulahint
formularesponse
function (under lonplot--curve)
functionplotcustomrule
functionplotelements
functionplotresponse
functionplotrule
functionplotruleset
functionplotvectorrule
functionplotvectorsumrule
gnuplot
gnuplot-children
h1
h2
h3
h4
h5
h6
head
head.misc
header
headerContent
heading
hiddenline
hiddensubmission
hintgroup
hintpart
hr
html
html-align
htmlLength
htmlLength-or-perl
htmlMeta
i
i18n
iframe
image (under imageresponse--foil)
image (under drawimage)
imageresponse
imageresponse--conceptgroup
imageresponse--foil
imageresponse--foilgroup
imageresponse--image
imageresponse--polygon
imageresponse--rectangle
imageresponse--text
img
import
inlineBaseType
inlineResponses
inlines
input
ins
inserts
instructorcomment
int-or-perl
item
itemgroup
kbd
key
label (under randomlabel--labelgroup)
label (under gnuplot-children)
label
labelgroup
lang
languageblock
legend
li (under ul-with-parts)
li (under ul-with-responses)
li (under ul-with-text)
li (under ol-with-parts)
li (under ol-with-responses)
li (under ol-with-text)
li-base
li-with-parts
li-with-responses
li-with-text
library
line
link
lm
location
location (under randomlabel--labelgroup)
location-or-perl
lonplot--axis
lonplot--block
lonplot--curve
lonplot--data
lonplot--function
lonplot--key
lonplot--label
lonplot--tics
lonplot--title
lonplot--xlabel
lonplot--xtics
lonplot--ylabel
lonplot--ytics
m
map
matchresponse
matchresponse--conceptgroup
matchresponse--foil
matchresponse--foilgroup
matchresponse--item
matchresponse--itemgroup
mathhint
mathhint--answer
mathresponse
mathresponse--answer
meta
meta (under head.misc)
non-negative-int-or-perl
noscript
notsolved
num
numericalhint
numericalresponse
object
ol (under blocks-with-parts)
ol (under blocks-with-responses)
ol (under blocks-with-text)
ol (under randomlist-with-parts)
ol (under randomlist-with-responses)
ol (under randomlist-with-text)
ol-base
ol-with-parts
ol-with-responses
ol-with-text
onoff
onoff-or-perl
optgroup
option
optionhint
optionresponse
optionresponse--conceptgroup
optionresponse--drawoptionlist
optionresponse--foil
optionresponse--foilgroup
organichint
organicresponse
organicstructure
p (under blocks-with-parts)
p (under blocks-with-responses)
p (under blocks-with-text)
p-base
p-with-responses
p-with-text
param
parameter
parse
parserlib
part
perl
plotobject
plotvector
point
polygon (under imageresponse--foil)
polygon (under drawimage)
postanswerdate
pre
preduedate
print
problem
problemtype (under blocks-with-parts)
problemtype (under blocks-with-responses)
problemtype (under blocks-with-text)
problemtype (under randomlist-with-parts)
problemtype (under randomlist-with-responses)
problemtype (under randomlist-with-text)
problemtype-base
problemtype-with-parts
problemtype-with-responses
problemtype-with-text
q
radiobuttonhint
radiobuttonresponse
radiobuttonresponse--conceptgroup
radiobuttonresponse--foil
radiobuttonresponse--foilgroup
randomlabel
randomlabel--label
randomlabel--labelgroup
randomlabel--location
randomlist (under blocks-with-parts)
randomlist (under blocks-with-responses)
randomlist (under blocks-with-text)
randomlist-base
randomlist-with-parts
randomlist-with-responses
randomlist-with-text
rankresponse
rankresponse--conceptgroup
rankresponse--foil
rankresponse--foilgroup
reactionhint
reactionresponse
real
real-or-perl
rectangle (under imageresponse--foil)
rectangle (under drawimage)
response-identification
responseparam
responses
samp
script
scriptlib
section (under blocks-with-parts)
section (under blocks-with-responses)
section (under blocks-with-text)
section (under randomlist-with-parts)
section (under randomlist-with-responses)
section (under randomlist-with-text)
section-base
section-with-parts
section-with-responses
section-with-text
select
small
solved
source
span
spline
standalone
stringhint
stringresponse
strong
style
sub
sup
table (under blocks-with-parts)
table (under blocks-with-responses)
table (under blocks-with-text)
table (under randomlist-with-parts)
table (under randomlist-with-responses)
table (under randomlist-with-text)
table-base
table-with-parts
table-with-responses
table-with-text
tbody (under table-with-parts)
tbody (under table-with-responses)
tbody (under table-with-text)
tbody-with-parts
tbody-with-responses
tbody-with-text
td (under tr-with-parts)
td (under tr-with-responses)
td (under tr-with-text)
td-base
td-with-parts
td-with-responses
td-with-text
tex
text (under imageresponse--foil)
text (under drawimage)
text-only
text-with-parts
text-with-responses
textarea
textfield
textline
tfoot
th
thead
tic
title (under gnuplot-children)
title
togglebox
tr (under table-with-parts)
tr (under table-with-responses)
tr (under table-with-text)
tr (under thead)
tr (under tfoot)
tr (under tbody-with-parts)
tr (under tbody-with-responses)
tr (under tbody-with-text)
tr-base
tr-with-parts
tr-with-responses
tr-with-text
translated
tt
ul (under blocks-with-parts)
ul (under blocks-with-responses)
ul (under blocks-with-text)
ul (under randomlist-with-parts)
ul (under randomlist-with-responses)
ul (under randomlist-with-text)
ul-base
ul-with-parts
ul-with-responses
ul-with-text
universal-blocks
value (under caparesponse--answer)
var
vector (under caparesponse--answer)
video
web
while
window
windowlink
xlabel (under gnuplot-children)
xtics
yesno
yesno-or-perl
ylabel (under gnuplot-children)
ytics