MathML Fundamentals - Stacks of Characters mstack

Mstack is used to lay out rows of numbers that are aligned on each digit. The children of an mstack represent rows, or groups of them, to be stacked each below the previous row; there can be any number of rows. An msrow represents a row; an msgroup groups a set of rows together so that their horizontal alignment can be adjusted together; an mscarries represents a set of carries to be applied to the following row; an msline represents a line separating rows. Any other element is treated as if implicitly surrounded by msrow. MathML Fundamentals

Mstack - align align + 123 456 + 579 + 123 456 + 579 + 123 456 + 579 + 123 456 + 579 + 123 456 + 579 + 123 456 + 579 top + 123 456 + 579 + 123 456 + 579 + 123 456 + 579 + 123 456 + 579 + 123 456 + 579 center + 123 456 + 579 + 123 456 + 579 + 123 456 + 579 + 123 456 + 579 + 123 456 + 579 bottom + 123 456 + 579 + 123 456 + 579 + 123 456 + 579 + 123 456 + 579 + 123 456 + 579 baseline + 123 456 + 579 + 123 456 + 579 + 123 456 + 579 + 123 456 + 579 + 123 456 + 579 axis + 123 456 + 579 + 123 456 + 579 + 123 456 + 579 + 123 456 + 579 + 123 456 + 579

MathML

<math >
	<mspace linebreak="newline" indentalign="center"></mspace>
	<mtext style="border:1px;" mathsize="50">Mstack - align</mtext>

	<mspace linebreak="newline" indentalign="center"></mspace>
	<mrow style="border:1px;"  baseline="true" axisline="true">
		<mtext>align</mtext>
		<mo>+</mo>
		<mstack style="border:1px" baseline="true" axisline="true">
		  <mn>123</mn> 
		  <msrow> <mn>456</mn> <mo>+</mo> </msrow>
		  <msline/>
		  <mn>579</mn>
		</mstack>	
		<mo>+</mo>
		<mstack style="border:1px" align="top"  baseline="true" axisline="true">
		  <mn>123</mn> 
		  <msrow> <mn>456</mn> <mo>+</mo> </msrow>
		  <msline/>
		  <mn>579</mn>
		</mstack>	
		<mo>+</mo>
		<mstack style="border:1px" align="center" baseline="true" axisline="true">
		  <mn>123</mn> 
		  <msrow> <mn>456</mn> <mo>+</mo> </msrow>
		  <msline/>
		  <mn>579</mn>
		</mstack>	
		<mo>+</mo>
		<mstack style="border:1px" align="bottom" baseline="true" axisline="true">
		  <mn>123</mn> 
		  <msrow> <mn>456</mn> <mo>+</mo> </msrow>
		  <msline/>
		  <mn>579</mn>
		</mstack>	
		<mo>+</mo>
		<mstack style="border:1px" align="axis" baseline="true" axisline="true">
		  <mn>123</mn> 
		  <msrow> <mn>456</mn> <mo>+</mo> </msrow>
		  <msline/>
		  <mn>579</mn>
		</mstack>	
		<mo>+</mo>
		<mstack style="border:1px" align="baseline" baseline="true" axisline="true">
		  <mn>123</mn> 
		  <msrow> <mn>456</mn> <mo>+</mo> </msrow>
		  <msline/>
		  <mn>579</mn>
		</mstack>	
	</mrow>
	
	<mspace linebreak="newline" indentalign="center"></mspace>
	<mrow style="border:1px;"  baseline="true" axisline="true">
		<mtext>top</mtext>
		<mo>+</mo>
		<mstack style="border:1px" align="top" baseline="true" axisline="true">
		  <mn>123</mn> 
		  <msrow> <mn>456</mn> <mo>+</mo> </msrow>
		  <msline/>
		  <mn>579</mn>
		</mstack>	
		<mo>+</mo>
		<mstack style="border:1px" align="top,1" baseline="true" axisline="true">
		  <mn>123</mn> 
		  <msrow> <mn>456</mn> <mo>+</mo> </msrow>
		  <msline/>
		  <mn>579</mn>
		</mstack>	
		<mo>+</mo>
		<mstack style="border:1px" align="top,2" baseline="true" axisline="true">
		  <mn>123</mn> 
		  <msrow> <mn>456</mn> <mo>+</mo> </msrow>
		  <msline/>
		  <mn>579</mn>
		</mstack>	
		<mo>+</mo>
		<mstack style="border:1px" align="top,3" baseline="true" axisline="true">
		  <mn>123</mn> 
		  <msrow> <mn>456</mn> <mo>+</mo> </msrow>
		  <msline/>
		  <mn>579</mn>
		</mstack>	
		<mo>+</mo>
		<mstack style="border:1px" align="top,4" baseline="true" axisline="true">
		  <mn>123</mn> 
		  <msrow> <mn>456</mn> <mo>+</mo> </msrow>
		  <msline/>
		  <mn>579</mn>
		</mstack>	
	</mrow>
	
	<mspace linebreak="newline" indentalign="center"></mspace>
	<mrow style="border:1px;" baseline="true" axisline="true">
		<mtext>center</mtext>
		<mo>+</mo>
		<mstack style="border:1px" align="center" baseline="true" axisline="true">
		  <mn>123</mn> 
		  <msrow> <mn>456</mn> <mo>+</mo> </msrow>
		  <msline/>
		  <mn>579</mn>
		</mstack>	
		<mo>+</mo>
		<mstack style="border:1px" align="center,1" baseline="true" axisline="true">
		  <mn>123</mn> 
		  <msrow> <mn>456</mn> <mo>+</mo> </msrow>
		  <msline/>
		  <mn>579</mn>
		</mstack>	
		<mo>+</mo>
		<mstack style="border:1px" align="center,2" baseline="true" axisline="true">
		  <mn>123</mn> 
		  <msrow> <mn>456</mn> <mo>+</mo> </msrow>
		  <msline/>
		  <mn>579</mn>
		</mstack>	
		<mo>+</mo>
		<mstack style="border:1px" align="center,3" baseline="true" axisline="true">
		  <mn>123</mn> 
		  <msrow> <mn>456</mn> <mo>+</mo> </msrow>
		  <msline/>
		  <mn>579</mn>
		</mstack>	
		<mo>+</mo>
		<mstack style="border:1px" align="center,4" baseline="true" axisline="true">
		  <mn>123</mn> 
		  <msrow> <mn>456</mn> <mo>+</mo> </msrow>
		  <msline/>
		  <mn>579</mn>
		</mstack>	
	</mrow>	

	<mspace linebreak="newline" indentalign="center"></mspace>
	<mrow style="border:1px;"  baseline="true" axisline="true">
		<mtext>bottom</mtext>
		<mo>+</mo>
		<mstack style="border:1px" align="bottom" baseline="true" axisline="true">
		  <mn>123</mn> 
		  <msrow> <mn>456</mn> <mo>+</mo> </msrow>
		  <msline/>
		  <mn>579</mn>
		</mstack>	
		<mo>+</mo>
		<mstack style="border:1px" align="bottom,1" baseline="true" axisline="true">
		  <mn>123</mn> 
		  <msrow> <mn>456</mn> <mo>+</mo> </msrow>
		  <msline/>
		  <mn>579</mn>
		</mstack>	
		<mo>+</mo>
		<mstack style="border:1px" align="bottom,2" baseline="true" axisline="true">
		  <mn>123</mn> 
		  <msrow> <mn>456</mn> <mo>+</mo> </msrow>
		  <msline/>
		  <mn>579</mn>
		</mstack>	
		<mo>+</mo>
		<mstack style="border:1px" align="bottom,3" baseline="true" axisline="true">
		  <mn>123</mn> 
		  <msrow> <mn>456</mn> <mo>+</mo> </msrow>
		  <msline/>
		  <mn>579</mn>
		</mstack>	
		<mo>+</mo>
		<mstack style="border:1px" align="bottom,4" baseline="true" axisline="true">
		  <mn>123</mn> 
		  <msrow> <mn>456</mn> <mo>+</mo> </msrow>
		  <msline/>
		  <mn>579</mn>
		</mstack>	
	</mrow>
	
	<mspace linebreak="newline" indentalign="center"></mspace>
	<mrow style="border:1px;"  baseline="true" axisline="true">
		<mtext>baseline</mtext>
		<mo>+</mo>
		<mstack style="border:1px" align="baseline" baseline="true" axisline="true">
		  <mn>123</mn> 
		  <msrow> <mn>456</mn> <mo>+</mo> </msrow>
		  <msline/>
		  <mn>579</mn>
		</mstack>	
		<mo>+</mo>
		<mstack style="border:1px" align="baseline,1" baseline="true" axisline="true">
		  <mn>123</mn> 
		  <msrow> <mn>456</mn> <mo>+</mo> </msrow>
		  <msline/>
		  <mn>579</mn>
		</mstack>	
		<mo>+</mo>
		<mstack style="border:1px" align="baseline,2" baseline="true" axisline="true">
		  <mn>123</mn> 
		  <msrow> <mn>456</mn> <mo>+</mo> </msrow>
		  <msline/>
		  <mn>579</mn>
		</mstack>	
		<mo>+</mo>
		<mstack style="border:1px" align="baseline,3" baseline="true" axisline="true">
		  <mn>123</mn> 
		  <msrow> <mn>456</mn> <mo>+</mo> </msrow>
		  <msline/>
		  <mn>579</mn>
		</mstack>	
		<mo>+</mo>
		<mstack style="border:1px" align="baseline,4" baseline="true" axisline="true">
		  <mn>123</mn> 
		  <msrow> <mn>456</mn> <mo>+</mo> </msrow>
		  <msline/>
		  <mn>579</mn>
		</mstack>	
	</mrow>	

	<mspace linebreak="newline" indentalign="center"></mspace>
	<mrow style="border:1px;" baseline="true" axisline="true">
		<mtext>axis</mtext>
		<mo>+</mo>
		<mstack style="border:1px" align="axis" baseline="true" axisline="true">
		  <mn>123</mn> 
		  <msrow> <mn>456</mn> <mo>+</mo> </msrow>
		  <msline/>
		  <mn>579</mn>
		</mstack>	
		<mo>+</mo>
		<mstack style="border:1px" align="axis,1" baseline="true" axisline="true">
		  <mn>123</mn> 
		  <msrow> <mn>456</mn> <mo>+</mo> </msrow>
		  <msline/>
		  <mn>579</mn>
		</mstack>	
		<mo>+</mo>
		<mstack style="border:1px" align="axis,2" baseline="true" axisline="true">
		  <mn>123</mn> 
		  <msrow> <mn>456</mn> <mo>+</mo> </msrow>
		  <msline/>
		  <mn>579</mn>
		</mstack>	
		<mo>+</mo>
		<mstack style="border:1px" align="axis,3" baseline="true" axisline="true">
		  <mn>123</mn> 
		  <msrow> <mn>456</mn> <mo>+</mo> </msrow>
		  <msline/>
		  <mn>579</mn>
		</mstack>	
		<mo>+</mo>
		<mstack style="border:1px" align="axis,4" baseline="true" axisline="true">
		  <mn>123</mn> 
		  <msrow> <mn>456</mn> <mo>+</mo> </msrow>
		  <msline/>
		  <mn>579</mn>
		</mstack>	
	</mrow>	
</math>