A Beginner's Guide to MathML
Brackets
Brackets are an essential part of maths which while serving a functional purpose also significantly improve readability. In MathML they are included with the <mfenced> tag:
<mfenced><mfrac><mrow><mi>x</mi><mo>+</mo><mn>2</mn></mrow><mn>3</mn></mfrac></mfenced>
It is important (and somewhat irritating) to note that <mfenced> must contain exactly one child tag if it is simply to enclose the contents in brackets. If it contains more than one child tag, separators are inserted between them:
<mfenced><mn>3</mn><mn>5</mn><mn>4</mn></mfenced>
Using the 'open', 'close' and 'separator' attributes we can specify the paretheses and separators used:
<mfenced open="[" close="}" separators=":"><mi>a</mi><mi>b</mi><mi>c</mi><mi>d</mi></mfenced>
The separator attribute can also accept a list if more than one type is required (eg: separators=":~*").
As an aside targeted at my other main interest: the physicists among you will notice that this is ideally suited to the 'bra-ket' notation of quantum mechanics:
<mfenced open="〈" close="〉" separators="|"><mi>p</mi><mo>a</mo><mi>p`</mi></mfenced>