2.5 matrix

<..plain,latex mathml..>+
 \Configure{matrix}
    {<.advance table number.>%
     <.new row counter.>%
     \HCode{<PARA><mtable class="array">}%
     \HCode{\add:vdescription{begin-array}{\a:speak:array}}}
    {\Tag{array-\TableNo}{\hrow:s}%
     \HCode{<.show input line no.>%
            \add:vdescription{end-array}{\b:speak:array}}%
     \ifvmode \IgnorePar\fi \HCode{</mtable></PARA>}%
     <.return to prev row counter.>%
     <.return to prev table number.>}
    {\HCode{<mtr>}\c:speak:array}%
    {\xdef\hrow:s{\HRow}\HCode{</mtr>}}%
    {\HCode{<mtd>}%
     \e:speak:array\HCode{<div>}}
    {\HCode{</div>}\f:speak:array
     \HCode{</mtd>\Hnewline}}
-_-_-

<..mtd matrix..>
 \HCode{<mtd\Hnewline class="matrix"
    \ifnum 1<\HMultispan columnspan="\HMultispan"\fi}%
    \halignTD    \HCode{>}%
-_-_-

The grouping below is handle the case that the matrix is a base of an exponent.

<..plain,latex mathml..>+
 \Configure{pmatrix}
   {\bgroup\HCode{<PARA><div class="pmatrix"><BREAK SIZE="small"/>}}
   {\HCode{<BREAK SIZE="small"/></div></PARA>}\egroup}
-_-_-

<..plain,latex mathml..>+
 \NewConfigure{speak:array}{6}
 \Configure{speak:array}
    {<BREAK SIZE="small"/>begin array with
        \ifTag{array-\TableNo}{\LikeRef{array-\TableNo}}{}
        rows<BREAK SIZE="small"/>}
    {<BREAK SIZE="small"/>end array<BREAK SIZE="small"/>}
    {<.begin table row note.>}
    {<.end table row note.>}
    {<.begin table cell note.>}
    {<.end table cell note.>}
-_-_-