Ensure that all tag types can handle empty children.
<math xmlns="http://www.w3.org/1998/Math/MathML"> <mtable> <mtr> <mtd> <mtext>mrow</mtext> </mtd> <mtd> <mrow/> </mtd> </mtr> <mtr> <mtd> <mtext>frac</mtext> </mtd> <mtd> <mfrac/> </mtd> </mtr> <mtr> <mtd> <mtext>sqrt</mtext> </mtd> <mtd> <msqrt/> </mtd> </mtr> <mtr> <mtd> <mtext>root</mtext> </mtd> <mtd> <mroot/> </mtd> </mtr> <mtr> <mtd> <mtext>style</mtext> </mtd> <mtd> <mstyle/> </mtd> </mtr> <mtr> <mtd> <mtext>error</mtext> </mtd> <mtd> <merror/> </mtd> </mtr> <mtr> <mtd> <mtext>padded</mtext> </mtd> <mtd> <mpadded/> </mtd> </mtr> <mtr> <mtd> <mtext>phantom</mtext> </mtd> <mtd> <mphantom/> </mtd> </mtr> <mtr> <mtd> <mtext>fenced</mtext> </mtd> <mtd> <mfenced/> </mtd> </mtr> <mtr> <mtd> <mtext>enclose</mtext> </mtd> <mtd> <menclose/> </mtd> </mtr> <mtr> <mtd> <mtext>sub</mtext> </mtd> <mtd> <msub/> </mtd> </mtr> <mtr> <mtd> <mtext>sup</mtext> </mtd> <mtd> <msup/> </mtd> </mtr> <mtr> <mtd> <mtext>subsup</mtext> </mtd> <mtd> <msubsup/> </mtd> </mtr> <mtr> <mtd> <mtext>under</mtext> </mtd> <mtd> <munder/> </mtd> </mtr> <mtr> <mtd> <mtext>over</mtext> </mtd> <mtd> <mover/> </mtd> </mtr> <mtr> <mtd> <mtext>underover</mtext> </mtd> <mtd> <munderover/> </mtd> </mtr> <mtr> <mtd> <mtext>multiscripts</mtext> </mtd> <mtd> <mmultiscripts/> </mtd> </mtr> <mtr> <mtd> <mtext>table</mtext> </mtd> <mtd> <mtable/> </mtd> </mtr> <mtr> <mtd> <mtext>table row</mtext> </mtd> <mtd> <mtable> <mtr/> </mtable> </mtd> </mtr> <mtr> <mtd> <mtext>table cell</mtext> </mtd> <mtd> <mtable> <mtr> <mtd/> </mtr> </mtable> </mtd> </mtr> </mtable> </math>
Author: Dave Doyle, Design Science