MathML Document Repository

Core Intent Property List

The data displayed below is derived from the YAML file core-properties.yml

Contents

Settings

Available Template Languages

Properties

Fixity

function
Effect: the function head is voiced followed by a connector such as "of" or "applied" to, followed by the arguments separated by connecting words such as "comma" or "and"
Applicability: intent function head
f:function(x,y)
English: f of x comma y
English: f of x and y
French: f de x et y
prefix
Effect: the function followed by the arguments are voiced, with no connecting words.
Applicability: intent function head
f:prefix(x,y)
English: f x y
postfix
Effect: the arguments followed by the function are voiced, with no connecting words.
Applicability: intent function head
f:postfix(x)
English: x f
infix
Effect: the arguments are voiced, separated by the function, which may be repeated if there are more than two arguments.
Applicability: intent function head
f:infix(x,y)
English: x f y
silent
Effect: the arguments are voiced with no connecting words. The function head is not read.
Applicability: intent function head
f:silent(x,y)
English: x y

Inference

literal
Effect: Assistive technology should not infer any semantics and just speak the elements with a literal interpretation. This includes speaking leaf content literally (e.g., `|` is spoken as "vertical bar"). If `intent` is present on a child element, it overrides this property.
Applicability: all presentation elements
<mrow intent=':literal'>
  <msup intent='power($base, $exp)'> <mi arg='base'>x</mi><mn arg='exp'>2</mn> </msup>
  <mtext> is literally </mtext>
  <msup> <mi>x</mi><mn>2</mn> </msup>
</mrow>
x2  is literally  x2
English: x squared is literally x superscript 2 end superscript

Table

array
Effect: the table should read the rows and columns with the default order row-first unless `array:by-column` is specified. If `by-columns` is used, column first order is used.
Applicability: mtable
:array:by-columns
<mtable arg='m' intent=':array:by-column'>
 <mtr><mtd><mi>a</mi></mtd><mtd><mi>b</mi></mtd></mtr>
 <mtr><mtd><mi>c</mi></mtd><mtd><mi>d</mi></mtd></mtr>
</mtable>
ab cd
English: the 2 by 2 array; column 1; a; row 2; c; column 2; b; row 2; d
matrix
Effect: the table should be read in a style suitable for matrices
Applicability: mtable
:matrix
<mrow intent='$m'>
 <mo>[</mo>
 <mtable arg='m' intent=':matrix'>
  <mtr><mtd><mi>a</mi></mtd><mtd><mi>b</mi></mtd></mtr>
  <mtr><mtd><mi>c</mi></mtd><mtd><mi>d</mi></mtd></mtr>
 </mtable>
 <mo>]</mo>
</mrow>
[ ab cd ]
English: the 2 by 2 matrix; column 1; a; column 2; b; column 1; c; column 2; d
piecewise
Effect: the table should be read in a style suitable for a piecewise definition
Applicability: mrow(mtable)
:piecewise
<mi>f</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo>
<mo>=</mo>
<mrow>
  <mo>{</mo>
  <mtable intent=":piecewise" columnalign="right left" columnspacing="0" rowspacing=".2em">
    <mtr>
      <mtd><mo>&#x2212;</mo><mi>x</mi></mtd>
      <mtd><mtext>if</mtext></mtd>
      <mtd><mi>x</mi><mo>&lt;</mo><mn>0</mn></mtd>
    </mtr>
    <mtr>
      <mtd><mi>x</mi></mtd>
      <mtd><mtext>if</mtext></mtd>
      <mtd><mi>x</mi><mo>&#x2265;</mo><mn>0</mn></mtd>
    </mtr>
  </mtable>
</mrow>
f(x) = { x if x<0 x if x0
English: f of x is equal to; 3 cases, case 1; negative 1 if x; is less than 0; case 2; 0 if x, is equal to 0; case 3; 1 if x, is greater than 0;
system-of-equations
Effect: the table should be read in a style suitable for displayed equations (and inequations)
Applicability: mtable
<mtable intent=':system-of-equations'>
  <mtr>
   <mtd columnalign='right'>
    <mn>2</mn><mo>&#x2062;</mo><mi>x</mi>
   </mtd>
   <mtd columnalign='center'>
    <mo>=</mo>
   </mtd>
   <mtd columnalign='left'>
    <mn>1</mn>
   </mtd>
  </mtr>
  <mtr>
   <mtd columnalign='right'>
    <mi>y</mi>
   </mtd>
   <mtd columnalign='center'>
    <mo>></mo>
   </mtd>
   <mtd columnalign='left'>
    <mi>x</mi><mo>&#x2212;</mo><mn>3</mn>
   </mtd>
  </mtr>
 </mtable>
2x = 1 y > x3
English: 2 equations; equation 1; 2 x, is equal to, 1; equation 2; y, is greater than, x minus 3;
lines
Effect: the table should be read without implying any mathematical context other than a multi-line display
Applicability: mtable
continued-row
Effect: indicates that the row continues an equation wrapped from the row above
Applicability: mtr
by-row
Effect: indicates that the table should be read row by row
Applicability: mtable
by-column
Effect: indicates that the table should be read column by column
Applicability: mtable

Mathematical category

number-set
Applicability: mi
<mi intent=":number-set"></mi>
English: complex numbers
English: c
largeop
Applicability: intent function, msub, msubsup munder munderover
sum:largeop(0,n,$arg)
English: the sum from 0 to n of arg
sum:largeop($C,$arg)
English: the sum over C of arg
<mrow>
 <munderover intent=":largeop">
  <mo></mo>
  <mn>0</mn>
  <mi>n</mi>
 </munderover>
 <msup><mi>i</mi><m>2</m></msup>
</mrow>
0 n i2
English: the sum from 0 to n of i squared
<mrow>
 <munderover intent=":largeop">
  <mo></mo>
  <mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow>
  <mi>n</mi>
 </munderover>
 <msup><mi>i</mi><m>2</m></msup>
</mrow>
i=0 n i2
English: the sum from i equals 0 to n of i squared
English: the sum as i goes from 0 to n of i squared
<mrow>
 <munder intent=":largeop">
  <mo></mo>
  <mrow><mi>i</mi><mo></mo><mi>I</mi></mrow>
 </munder>
 <msup><mi>i</mi><m>2</m></msup>
</mrow>
iI i2
English: the sum over i in cap i of i squared
<mrow intent="sum:largeop($from,$to,$exp)">
 <munderover>
  <mo></mo>
  <mn arg="from">0</mn>
  <mi arg="to">n</mi>
 </munderover>
 <msup arg="exp"><mi>i</mi><m>2</m></msup>
</mrow>
0 n i2
English: the sum from 0 to n of i squared

Units and currency

unit
Applicability: mi
Comment: This includes SI units, English units, etc. It also includes radians, degrees, etc.
<mrow><mn>1.5</mn><mi intent=':unit'>km</mi></mrow>
1.5km
English: 1.5 kilometres
<mrow><mn>2</mn><mi mathvariant='normal' intent=':unit'>Ω</mi></mrow>
2Ω
English: 2 ohms
currency
Applicability: mi
<mrow><mi mathvariant='normal' intent=':currency'>$</mi><mn>1.50</mn></mrow>
$1.50
English: 1.50 dollars
<mrow><mn>1.50</mn><mi intent=':currency'>USD</mi></mrow>
1.50USD
English: 1.50 U S dollars
<mrow><mi mathvariant='normal' intent=':currency'>£</mi><mn>1.50</mn></mrow>
£1.50
English: 1.50 pounds

Number

roman-numeral
Applicability: mn
Comment: some braille codes (e.g., CMU) have special rules for roman numerals
<mi intent=':roman-numeral'>cd</mi>
cd
English: c d
<mi intent=':roman-numeral'>XVI</mi>
XVI
English: x v i
<mrow intent=':roman-numeral'> <menclose notation='top'><menclose notation='top'><mi>VI</mi></menclose></menclose> <menclose notation='top'><mi>XL</mi></menclose> <mi>DXXI</mi> </mrow>
VI XL DXXI
English: ???

Geometry

shape
Applicability: mo
Comment: there are many shape characters in unicode, including filled and shaded ones. Some have mathematical meaning. The shape property is used when they are meant to be used as a geometric shape.
<mo intent=':shape'></mo><mi>A</mi><mi>B</mi><mi>C</mi><mi>D</mi>
ABCD
English: rectangle A B C D

Chemistry

chemical-element
<mrow intent=':chemical-formula'> <mmultiscripts> <mi mathvariant='normal' intent=':chemical-element'>H</mi> <mn>2</mn> <mrow/> </mmultiscripts> <mi mathvariant='normal' intent=':chemical-element'>O</mi> </mrow>
H 2 O
English: cap h 2 cap o
chemical-equation
Effect: read the term as a chemical equation
<mrow intent=':chemical-equation'>
 <mrow intent=':chemical-equation'>
  <mn>2</mn>
  <mo>&#x2062;</mo>
  <mrow intent=':chemical-equation'>
   <mmultiscripts intent=':chemical-formula'>
    <mi mathvariant='normal' intent=':chemical-element'>H</mi>
    <mn>2</mn>
    <mrow/>
   </mmultiscripts>
   <mo>&#x2063;</mo>
   <mi mathvariant='normal' intent=':chemical-element'>O</mi>
  </mrow>
 </mrow>
 <mo></mo>
 <mrow intent=':chemical-equation'>
  <mrow intent=':chemical-equation'>
   <mn>2</mn>
   <mo>&#x2062;</mo>
   <mmultiscripts intent=':chemical-formula'>
    <mi mathvariant='normal' intent=':chemical-element'>H</mi>
    <mn>2</mn>
    <mrow/>
   </mmultiscripts>
  </mrow>
  <mo>+</mo>
  <mmultiscripts intent=':chemical-formula'>
   <mi mathvariant='normal' intent=':chemical-element'>O</mi>
   <mn>2</mn>
   <mrow/>
  </mmultiscripts>
 </mrow>
</mrow>
2 H 2 O 2 H 2 + O 2
English: 2, cap h, sub 2; cap o; reacts to form; 2 cap h, sub 2; plus cap o, sub 2