michael-o commented on code in PR #98: URL: https://github.com/apache/maven-doxia/pull/98#discussion_r878669535
########## doxia-core/src/main/java/org/apache/maven/doxia/sink/impl/Xhtml5BaseSink.java: ########## @@ -1567,21 +1567,24 @@ public void tableRow() @Override public void tableRow( SinkEventAttributes attributes ) { - MutableAttributeSet att = new SinkEventAttributeSet(); + MutableAttributeSet atts = SinkUtils.filterAttributes( + attributes, SinkUtils.SINK_TR_ATTRIBUTES ); - if ( evenTableRow ) + if ( atts == null ) { - att.addAttribute( Attribute.CLASS, "a" ); + atts = new SinkEventAttributeSet(); } - else + + String rowClass = evenTableRow ? "a" : "b"; + if ( atts.isDefined( Attribute.CLASS.toString() ) ) { - att.addAttribute( Attribute.CLASS, "b" ); + String givenRowClass = (String) atts.getAttribute( Attribute.CLASS.toString() ); + rowClass = givenRowClass + " " + rowClass; Review Comment: I see and understand your usecase. We have these options: * Always append default class (the internal implementation might employ logic to determine the class name which is impossible to do externally) * If external class attribute is provided, take it as-is, don't add default class * Merge and avoid duplicates For me personally, if you have decided to provide attributes which are being set in the method called you are making a deliberate decision to ignore the set values. One of the problems is that class is a merge attribute while others are simply replace. That makes it complex. WDYT? @hboutemy Opinion? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org