On Fri, 21 Apr 2006 12:44:45 -0700, Johannes Graumann wrote: > nico wrote: > >> On Thu, 20 Apr 2006 17:27:50 -0700, Johannes Graumann >> wrote: >> >>> nico wrote: >>> >>>> Why don't you test if the attribute is set before applying it to the >>>> TR? >>>> You see the problem on the last row, but the fact is that you force >>>> the >>>> bottomframe clear for every row (which is dirty IMHO). >>> It's not that easy, since the bottomframe - once set - is persistent >>> ... >>> so >>> every row underneath my header (e.g.) will have 'bottomframe=on' set. >> >> No, the options are local to the current level where it is set. If >> bottomframe is on for one row, it won't set bottomframe to the next >> rows. >> In the following example, only two rows (the header and another one in >> the >> body) have local bottomframe on, and the last row bottomframe is done >> with >> table setup: > > The persistence issue is XML specific, I believe and therefore does not > apply to your code example. It's because you systematically apply the attribute. Doing this should work, even if there's maybe a smarter way of doing: \defineXMLnested [tr] [bottomframe=,rulethickness=0.5pt] {\doifelse{\XMLop{bottomframe}}{}% {\expanded{\bTR}}% {\expanded{\bTR[bottomframe=\XMLop{bottomframe},rulethickness=\XMLop{rulethickness}]}}} {\eTR} I attach the full example. Regards, BG