You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by GitBox <gi...@apache.org> on 2022/05/21 08:39:25 UTC

[GitHub] [maven-doxia] michael-o commented on a diff in pull request #98: [DOXIA-590] Either provided element class or default class gets ignored

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-unsubscribe@maven.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org