Despite the javadoc saying that
if the dominant root node's value is empty, set it to the recessive root node's value
which is clearly not true for blank values (i.e. length() > 0), still the dominant root node's value is overwritten by the recessive one in case it is blank(!) due to the trim logic in
|
return ( str == null || str.trim().length() == 0 ); |
.
As the Xpp3DomBuilder trims by default it seems like a bug to me that merging two Xpp3Dom s (usually created by Xpp3DomBuilder) should trim again before merging as this would only make a difference in case someone set xml:space="preserve" in the dominant Xpp3Dom which should IMHO take precedence.
Despite the javadoc saying that
which is clearly not true for blank values (i.e. length() > 0), still the dominant root node's value is overwritten by the recessive one in case it is blank(!) due to the trim logic in
plexus-utils/src/main/java/org/codehaus/plexus/util/xml/Xpp3DomUtils.java
Line 285 in 3896620
As the
Xpp3DomBuildertrims by default it seems like a bug to me that merging twoXpp3Doms (usually created byXpp3DomBuilder) should trim again before merging as this would only make a difference in case someone setxml:space="preserve"in the dominantXpp3Domwhich should IMHO take precedence.