Reference
Components
Index by Component Type

Index by Component Type

Paragraph markup components

These components can be placed within a <p> tag to change the rendered appearance of the enclosed text.

ComponentDescription
<alert> (opens in a new tab)bold text
<asList> (opens in a new tab)formatting component for sequences and maps
<attr> (opens in a new tab)renders default font for an attribute
<c> (opens in a new tab)renders default font for a code example
<ellipsis> (opens in a new tab)renders an ellipsis symbol
<em> (opens in a new tab)renders italicized text
<footnote> (opens in a new tab)renders a numbered footnote above and to the right of the preceeding text which expands when clicked
<idx>under development
<lorem /> (opens in a new tab)generates random lorem-ipsum filler text
<lq>paragraph markup component for a left-quote mark
<lsq>paragraph markup component for a left-single-quote mark
<nbsp/> (opens in a new tab)renders a blank space
<pluralize>change text from singular to plural based on context
<pre> (opens in a new tab)preserves verbatim text; renders text as input into the editor
<q> (opens in a new tab)paragraph markup component for a quotation
<rq>paragraph markup component for a right-quote mark
<rsq>paragraph markup component for a right-single-quote mark
<sq> (opens in a new tab)renders the enclosed text in single quotation marks
<tag> (opens in a new tab)render enclosed text within a pair of tags, < > </ >
<tagc>renders enclosed text within a closing tag, </ >
<tage> (opens in a new tab)render enclosed text within a self-closing tag, < />
<term> (opens in a new tab)emphasized styling associated with a defined vocabulary word

Sectional components

Sectional components are blocks of content that serve as containers for other components. Some of these have auto-numbering and/or a default title. General content that is not typically included inside a paragraph are also included here.

ComponentDescription
<activity>a sectional component with auto-numbering and auto-title
<aside> (opens in a new tab)renders a collapsible section of content
<caption> (opens in a new tab)renders a caption inside a <figure>
<cell> (opens in a new tab)smallest data element in a <table>
<cellBlock>a container element for specifying data in a <spreadsheet>
<chart>under development
<choice> (opens in a new tab)defines a multiple-choice response
<choiceInput> (opens in a new tab)defines a multiple-choice block
<codeEditor>renders an embedded doenetML code editor
<codeViewer>renders an embedded viewer for a <codeEditor> component
<column>container element for a column of cells in a <spreadsheet>
<conclusion>container element for content that does not have auto-numbering
<contentPicker>sectional component for selecting blocks of content with a pull-down menu
<dataFrame>under development
<definition>a sectional component with auto-numbering and auto-title
<div> (opens in a new tab)groups doenetML content into an unformatted container that can be named
<document> (opens in a new tab)largest hierarchical sectional component
<example> (opens in a new tab)sectional component with default numbering that defines an example
<exercise> (opens in a new tab)sectional component with default numbering that defines an exercise
<exercises>a container element for multiple <exercise> components
<figure> (opens in a new tab)container element for images, videos, and captions
<hint> (opens in a new tab)hidden content triggered by clicking on a banner or by specific user interactions
<image /> (opens in a new tab)inserts an image
<introduction>container element for content that does not have auto-numbering
<li> (opens in a new tab)list item
<note>an auto-numbered sectional component with default title
<objectives>a boxed sectional component with default title and auto-numbering
<ol> (opens in a new tab)ordered list
<p> (opens in a new tab)create a paragraph or drop down a line
<paragraphs>a container element for <p> components
<problem> (opens in a new tab)sectional component with default numbering that defines a problem
<problems>a container element for <problem> components
<proof> (opens in a new tab)sectional component designated as a proof
<question> (opens in a new tab)a sectional component; similar to a <problem>
<row> (in a table) (opens in a new tab)container element for one or more <cell>components within a <tabular>
<row> (in a matrix) (opens in a new tab)container element for horizontal entries in a single row of a <matrix>
<sbsGroup> (opens in a new tab)a container element for <sideBySide> components
<section> (opens in a new tab)sectional component that renders an auto-numbered block of content
<setup> (opens in a new tab)defines a block for defining or initializing named content; does not render to viewer
<sidebySide> (opens in a new tab)renders components in a side-by-side horizontal format
<solution> (opens in a new tab)expandable block component which displays a problem solution
<stack> (opens in a new tab)vertical container element for organizing content within a <sideBySide>
<statement> (opens in a new tab)container element for content that does not have auto-numbering
<table> (opens in a new tab)container element for a <tabular>
<tabular> (opens in a new tab)define data arranged in a tabular format
<theorem>a sectional component with auto-numbering and auto-title
<title> (opens in a new tab)creates a title within a document, section, or other block component
<topic>container element for content that does not have auto-numbering
<ul> (opens in a new tab)unordered, or bulleted, list

Input components

Input components collect responses from students or users of your DoenetML activity. Response values are stored for author/instructor retrieval if the activity is assigned.

ComponentDescription
<booleanInput> (opens in a new tab)renders a checkbox
<choice> (opens in a new tab)defines a multiple-choice response
<choiceInput> (opens in a new tab)defines a multiple-choice block
<mathInput /> (opens in a new tab)renders a user-input field that stores mathematical content
<matrixInput /> (opens in a new tab)renders an empty matrix with blanks for user-input of entries
<orbitalDiagramInput> (opens in a new tab)renders an interactive table for input of orbital diagrams
<slider> (opens in a new tab)renders a sliding bar for interactively adjusting values
<spreadsheet> (opens in a new tab)renders a basic spreadsheet tool
<subsetOfRealsInput /> (opens in a new tab)renders an interactive number line applet
<textInput /> (opens in a new tab)renders an input field for text responses

Graphical components

Graphical components are any objects that can be placed on a <graph>. The following components are not considered Graphical Components, but they may be placed on a graph when given an anchor attribute for location:

  • <textInput/>
  • <math>
  • <m> (or any Mathematical Display component)
  • <image/>
  • <booleanInput/>
ComponentDescription
<angle> (opens in a new tab)angle graphical component
<attractTo> (opens in a new tab)attracts a point to a named graphical component
<attractToGrid> (opens in a new tab)defines snapping behavior of GraphicalComponents to gridlines in a <graph>
<attractToAngles>under development
<attractToConstraint>under development
<bestFitLine> (opens in a new tab)computes a linear regression on a set of points, renders a line when nested inside a <graph>
<bezierControls> (opens in a new tab)container element for control vectors of a spline curve
<circle> (opens in a new tab)circle Graphical Component
<constrainTo> (opens in a new tab)constrain a <point> to a named component
<constrainToAngle>under development
<constrainToGrid> (opens in a new tab)snap points to a specified grid
<constraints> (opens in a new tab)container element for constraint components
<constraintUnion> (opens in a new tab)container element for a union of constraint components
<controlVectors> (opens in a new tab)define individual control vectors for a spline curve within a <bezierControls> block component
<curve> (opens in a new tab)spline graphical component
<endpoint> (opens in a new tab)an extension of the <point> component which allows open and toggle-open style points
<function> (opens in a new tab)mathematical function
<graph> (opens in a new tab)renders a 2D cartesian graph
<intersection> (opens in a new tab)render intersections between graphical objects
<label> (opens in a new tab)adds a label to its parent component
<legend> (opens in a new tab)renders a legend when nested within a <graph>
<line> (opens in a new tab)renders a line when nested inside a <graph>
<lineSegment> (opens in a new tab)renders a line segment when nested inside a <graph>
<parabola> (opens in a new tab)parabola Graphical Component
<pegboard>a Graphical Component that renders dots at grid intersections
<piecewiseFunction> (opens in a new tab)define piecewise functions for graphing and evaluation
<point> (opens in a new tab)point Graphical Component
<polygon/> (opens in a new tab)polygon Graphical Component
<polyline/> (opens in a new tab)polyline Graphical Component
<ray> (opens in a new tab)ray Graphical Component
<rectangle> (opens in a new tab)rectangle Graphical Component
<regionBetweenCurveXAxis> (opens in a new tab)shade a region on a graph between a specified function and the x-axis
<regularPolygon> (opens in a new tab)regular polygon graphical component
<triangle> (opens in a new tab)triangle Graphical Component
<vector> (opens in a new tab)renders a vector inside a <graph>
<xLabel> (opens in a new tab)labels the horizontal axis on a <graph>
<yLabel> (opens in a new tab)labels the vertical axis on a <graph>

Display Math components

Display math components take arguments written in LaTeX. No computations or simplifications can be performed with these components, as they do not have access to the CAS.

Additionaly, Evaluation Components (such as <answer>) and Input Components (such as <mathInput>) cannot be embedded or nested within Display Math Components.

ComponentDescription
<m> (opens in a new tab)inline mathematical display text
<md> (opens in a new tab)block component for centered, aligned equations; container for <mrow>
<mdn> (opens in a new tab)block component for centered, numbered, and aligned equations; container for <mrow>
<me> (opens in a new tab)centered mathematical display text
<men> (opens in a new tab)centered, numbered mathematical display text
<mrow> (opens in a new tab)defines individual row content when nested within an <md> or <mdn>

Math components

Mathematical content can be defined and rendered with Math Components. These components can be simplified and used in computations.

ComponentDescription
<coords> (opens in a new tab)math component that renders a set of coordinates
<derivative> (opens in a new tab)renders or graphs the derivative of basic elementary functions
<function> (opens in a new tab)mathematical function
<functionIterates> (opens in a new tab)evaluate a function over a specified number of iterations of its argument
<integer> (opens in a new tab)defines an integer
<math> (opens in a new tab)defines a mathematical expression for computations
<mathList> (opens in a new tab)list of <math> values separated by commas
<matrix> (opens in a new tab)defines a matrix for use in computations
<number> (opens in a new tab)defines numerical content
<numberList> (opens in a new tab)defines a list of <number> components
<odesystem> (opens in a new tab)computes a numerical solution to a system of ordinary differential equations
<periodicSet />a set of numbers defined by their periodicity
<rightHandSide>used with <odeSystem> to define the right-hand side of a differential equation
<samplePrimeNumbers/> (opens in a new tab)generates randomly sampled prime numbers within a specified range
<sampleRandomNumbers/> (opens in a new tab)generates randomly sampled numbers from a specified distribution
<select> (opens in a new tab)select values from a list or set of <option>s to create document variants
<selectFromSequence> (opens in a new tab)generates immutable random values within a predefined range to create document variants
<selectPrimeNumbers/> (opens in a new tab)generates immutable random prime numbers to create document variants
<selectRandomNumbers> (opens in a new tab)generates immutable random numbers from a specified distribution to create document variants
<sequence /> (opens in a new tab)generate a sequence with predefined parameters
<setSmallToZero> (opens in a new tab)replaces small numerical values with a precise zero value
<sign> (opens in a new tab)returns the result of the sign function of the enclosed argument
<solveEquations>under development
<subsetOfReals> (opens in a new tab)defines an interval or a subset on the number line
<subsetOfRealsInput /> (opens in a new tab)renders an interactive number line applet
<tupleList>a list of tuples (points or intervals)

Math operator components

Math Operator components perform computations or take actions on the math components they reference or the values they enclose.

ComponentDescription
<abs> (opens in a new tab)absolute value
<ceil> (opens in a new tab)ceiling function
<clampFunction>
<clampNumber> (opens in a new tab)rounds a number to within a specified interval
<convertSetToList> (opens in a new tab)renders an unformatted set of values as a list enclosed in parentheses and separated by commas
<count> (opens in a new tab)renders the length of its list of arguments
<evaluate> (opens in a new tab)evaluate a function
<extrema>
<floor> (opens in a new tab)renders the result of the floor function applied to the enclosed argument
<gcd> (opens in a new tab)renders the greatest common divisor of its arguments
<intComma> (opens in a new tab)inserts commas into a large integer when rendering
<max> (opens in a new tab)renders the maximum value of its arguments
<mean> (opens in a new tab)renders the arithmetic mean of a list of numerical values
<median> (opens in a new tab)renders the median of the enclosed argument
<min> (opens in a new tab)renders the minimum value of its arguments
<mod> (opens in a new tab)renders the value of amodba \mod b, where aa and bb are the two listed arguments
<product> (opens in a new tab)renders the product of its arguments
<round> (opens in a new tab)round a number to a specified place value
<standardDeviation> (opens in a new tab)renders the standard deviation of its arguments
<sum> (opens in a new tab)renders the sum of its arguments
<summaryStatistics>
<variance> (opens in a new tab)renders the variance of its arguments
<wrapFunctionPeriodic>
<wrapNumberPeriodic> (opens in a new tab)wraps a number line around a circle

General operator components

These components perform actions on Math components as well as other component types.

ComponentDescription
<animateFromSequence> (opens in a new tab)renders an animation of a changing component or component property
<callAction> (opens in a new tab)triggers an action when clicked or in response to a specified user interaction
<case> (opens in a new tab)defines the condition within a <conditionalContent> block
<collect /> (opens in a new tab)gathers multiple data instances of a specified type from a graph or a sectional component and stores in a list
<conditionalContent> (opens in a new tab)defines a section of content rendered upon a specific condition
<customAttribute> (opens in a new tab)used within a <module> to create unique custom attributes specific to that module
<displayDoenetML>
<extract> (opens in a new tab)extract data from a component or group of components
<extractMath> (opens in a new tab)extract data (such as number of operands, or individual operands) from mathematical expressions
<extractMathOperator>
<group> (opens in a new tab)groups multiple components into one component which can be referenced with a single name
<map> (opens in a new tab)takes a list of <sources> and applies a <template> to each source in turn
<module>define a local template for a custom doenetML component or widget for re-use within the document
<option> (opens in a new tab)specifies selection items within a <select> block
<paginator>define a paginated section of content within a larger <document>
<paginatorControls />render navigation buttons for progression through content in a <paginator>
<ref> (opens in a new tab)creates a link to another document, or a referenced component's location within the same document
<shuffle> (opens in a new tab)shuffle a list, or a listing of referenced components
<sort> (opens in a new tab)sort components based on their values in numerical or alphabetical order
<sources> (opens in a new tab)used within a <map> to define input values for <template> and alias
<split> (opens in a new tab)splits multi-digit numbers or text strings into individual characters
<spreadsheet> (opens in a new tab)renders a basic spreadsheet tool
<styleDefinition> (opens in a new tab)defines custom styling for graphical elements outside the default styleNumbers (1-6)
<styleDefinitions> (opens in a new tab)container element for the custom <styleDefinition> in a document
<substitute> (opens in a new tab)replace a math, character or string with a user-specified alternative
<template> (opens in a new tab)defines operations to apply to individual <sources> within a <map>
<triggerSet> (opens in a new tab)groups a set of <updateValue> or <callAction> components which share a single trigger condition
<updateValue> (opens in a new tab)changes the value or property of a named component
<variantControl>
<variantNames>
<video /> (opens in a new tab)embeds a video

Logic components

Logic components define boolean conditions or are used in logical expressions.

ComponentDescription
<and> (opens in a new tab)functions as the boolean operator and or &
<boolean> (opens in a new tab)renders the boolean true or false value of the enclosed expression
<booleanInput> (opens in a new tab)renders a checkbox
<booleanList> (opens in a new tab)list of <boolean> values separated by commas
<else> (opens in a new tab)defines a logical else condition within a <conditionalContent> block
<isBetween> (opens in a new tab)returns whether a value is within a specified interval
<isInteger> (opens in a new tab)returns whether a value is an integer
<isNumber> (opens in a new tab)returns whether a value is a number
<not> (opens in a new tab)used in the construction of boolean conditions
<or> (opens in a new tab)functions as the boolean operator or
<xor> (opens in a new tab)functions as the exclusive or boolean operator

Evaluation components

These components are used in answer validation, evaluation, or the awarding of credit.

ComponentDescription
<answer> (opens in a new tab)defines an answer block for response validation
<award> (opens in a new tab)specifies conditions for awarding credit where multiple user responses are considered
<considerAsResponses> (opens in a new tab)specifies components involved in response data collection when the component occurs outside an <answer> block
<feedback> (opens in a new tab)hidden content triggered in response to specific user interactions
<feedbackDefinition>define a recurring feedback for repeated use within a document
<feedbackDefinitions>container element for <feedback> definitions
<hasSameFactoring> (opens in a new tab)check to see if two expressions are factored in the same way
<matchesPattern> (opens in a new tab)evaluate whether an expression matches the pattern of a defined mathematical template
<when> (opens in a new tab)defines logical conditions within an <award>

Text components

Text components are values containing strings that are not necessarily embedded in paragraphs.

ComponentDescription
<text> (opens in a new tab)a stored text value, or string
<textList> (opens in a new tab)list of <text> values separated by commas

Subject-specific components

These components are classified based on their relevance to a particular subject.