[ https://issues.apache.org/jira/browse/CONFIGURATION-703?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16496051#comment-16496051 ]
Pascal Essiembre commented on CONFIGURATION-703: ------------------------------------------------ OK, I've got a fix that does not break any tests. In XMLConfiguration#constructHierarchy, where the "childrenFlag" is set, the attribute size is "wrongfully" 2 when the "xml:space" attribute is present, since "config-xml:space" get added by the code. So the following is my fix for it, without modifying the attributes gathered so far: {code:java} boolean childrenFlag = hasChildren || (attributes.size() > 1 && !VALUE_PRESERVE.equals(attributes.get(ATTR_SPACE)));{code} > xml:space="preserve" does not handle blank strings properly > ----------------------------------------------------------- > > Key: CONFIGURATION-703 > URL: https://issues.apache.org/jira/browse/CONFIGURATION-703 > Project: Commons Configuration > Issue Type: Bug > Affects Versions: 2.2 > Reporter: Pascal Essiembre > Priority: Major > > When using XMLConfiguration 2, tags containing only white spaces are not > handled properly when xml:space="preserve" is set. 'null' is returned > instead of the actual spaces. To reproduce: > > {code:java} > XMLConfiguration xml = new BasicConfigurationBuilder<>( > XMLConfiguration.class).configure( > new Parameters().xml()).getConfiguration(); > FileHandler fh = new FileHandler(xml); > fh.load(new StringReader("<test xml:space=\"preserve\"> </test>")); > System.out.println("TEST: '" + xml.getString("") + "'"); > // Outputs -> TEST: 'null' > // Should be -> TEST: ' ' > {code} > > > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)