divisions in tex4ht.sty

<..elements for latex divs..>
 \def\Get:SecAnchor#1#2#3{%
    <./edef /@currentlabel.>%
    \xdef\cur:th{<.haddr prefix.>\last:haddr}%
    <.get :currentlabel.>%
    \edef\:SecAnchor{\cur:th\:currentlabel}%
  }
 -_-_-

We redefine \@Roman for \thepart to have the same number of entries as \Alph.

<../edef /@currentlabel..>
 \bgroup  \def\@Roman##1{%
   \ifcase##1\or I\or II\or III\or IV\or V\or VI\or
      VII\or VIII\or IX\or X\or XI\or XII\or XIII\or
      XIV\or XV\or XVI\or XVII\or XVIII\or XIX\or XX\or
      XXI\or XXII\or XXIII\or XXIV\or XV\or XVI\else
      \expandafter\uppercase\expandafter{\romannumeral ##1}\fi}%
    \a:currentlabel
    \edef\:temp{#2}\ifx \:temp\empty
    \else \global\let\@currentlabel=\:temp\fi
 \egroup
 -_-_-

<..cross ref..>+
 \NewConfigure{currentlabel}{1}
 -_-_-

The \@currentlabel may hold a \uppercase due to \thepart that has a \@Roman in it. Tried to go for ‘\cur:lbl{#1}%’, but that was a problem for cross references with labels of sections, because \label uses ‘\cur:lbl{}’.

<..get :currentlabel..>
 \let\:tempa=\uppercase \def\uppercase##1{##1}\cur:lbl{}%
 \let\uppercase=\:tempa
 -_-_-

How the above ‘\global\let\cur:th|=\last:haddr’ work with the change in \refstepcounter?