Testpach

<..html private array/tabular..>+
 \def\:temp#1{\@chclass \ifnum \@lastchclass=\tw@ 4 \else
     \ifnum \@lastchclass=3 5
        <.tabular col width.>%
     \else
      \z@ \if #1c\@chnum \z@ \add:ar-\else
                               \if #1l\@chnum \@ne \add:ar<\else
                               \if #1r\@chnum \tw@ \add:ar>\else
           \@chclass \if #1|\@ne \b:VBorder\else
                     \if #1@\tw@ \d:VBorder\else
                     \if #1p3 \add:ar p\else \z@ \@preamerr 0\fi
   \fi  \fi  \fi  \fi  \fi  \fi
 \fi}
 \HLet\@testpach=\:temp
 <.alignment utilities for VBorder.>%
 -_-_-
 
 \def\add:ar#1{%
    \Advance:\ar:cnt by 1
    <.record alignment type.>\c:VBorder
    \edef\HAlign{\HAlign 0 \ar:cnt\space #1 }}
 <.access col alignment.> -_-_-

<..tabular col width..>
 \expandafter\let \csname @testpach \ar:cnt\endcsname\@nextchar
 -_-_-

<..shared html latex array/tabular..>
 \def\HColWidth{\csname @testpach \HCol\endcsname}
 -_-_-

<..globalize HAlign and ar:cnt..>
 \tmp:cnt=0
 \global\let\:tempa\empty
 \loop\ifnum \ar:cnt>\tmp:cnt
    \advance\tmp:cnt by 1
    \expandafter\ifx \csname @testpach \the\tmp:cnt\endcsname\relax
    \else
       \xdef\:tempa{%
           \:tempa
           \def \expandafter\noexpand
              \csname @testpach \the\tmp:cnt\endcsname{\csname @testpach
              \the\tmp:cnt\endcsname}}%
       \expandafter\let\csname @testpach \the\tmp:cnt\endcsname\relax
    \fi
 \repeat
 \aftergroup\:tempa
 -_-_-

<..record alignment type..>
 \def\ch:class{#1}%
 -_-_-

<..access col alignment..>
 \def\HColAlign{\expandafter \ifx\csname
    \expandafter\string\ch:class :T:D\endcsname\relax \else \csname
    \expandafter\string\ch:class :T:D\endcsname\fi}
 -_-_-