# - - - R o w . h t m l
def html(self, sox, maxPhysCols):
'''Render a logical row as multiple physical rows of XHTML.
'''
The first step is to break the logical row into one or
more physical rows. See Section 29.4, “Row.fold(): Fold a logical row into
physical rows”.
#-- 1
# [ rowList := a list of PhysRow instances representing self
# folded into one or more physical rows each with no
# more than (maxPhysCols) detail columns ]
rowList = self.fold(maxPhysCols)
Rendering is handled by Section 45.4, “PhysRow.html(): Render as XHTML”. The
second argument to this method is the physical row number of
the set, which the rendering logic needs to know so that it
can thicken rules every ROW_GROUPING rows.
#-- 2
# [ sox +:= tr elements representing the elements of rowList ]
for rowx, physRow in enumerate(rowList):
#-- 2 body
# [ (rowx is a row index) and (physRow is a PhysRow) ->
# sox +:= a tr element representing (row) using the
# appearance for position (row) ]
physRow.html(sox, rowx)