Next / Previous / Contents / TCC Help System / NM Tech homepage

29.6. Row.html(): Render a logical row into XHTML

cbchistlib.py
# - - -   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”.

cbchistlib.py
        #-- 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.

cbchistlib.py
        #-- 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)