[ https://issues.apache.org/jira/browse/GROOVY-7808?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15225115#comment-15225115 ]
John Wagenleitner commented on GROOVY-7808: ------------------------------------------- Fix for this is included in fix for GROOVY-7781 in [GitHub PR 302|https://github.com/apache/groovy/pull/302]. > XmlSlurper unprefixed attributes should not be in the default namespace > ----------------------------------------------------------------------- > > Key: GROOVY-7808 > URL: https://issues.apache.org/jira/browse/GROOVY-7808 > Project: Groovy > Issue Type: Bug > Components: XML Processing > Affects Versions: 2.4.6 > Reporter: John Wagenleitner > Priority: Minor > > According to https://www.w3.org/TR/xml-names/#defaulting the namespace name > for an unprefixed attribute name always has no value. Currently when using > XmlSlurper unprefixed attributes have the default namespace. > {code} > def xml = ''' > <root xmlns="urn:test"> > <foo id="7">bar</foo> > </root> > ''' > def root = new XmlSlurper(false, true).parseText(xml).declareNamespace(ns: > 'urn:test') > assert root.foo[0].namespaceURI() == 'urn:test' > assert root.'ns:foo'.text() == 'bar' > assert root.foo.@id == '7' > assert root.foo.'@ns:id' == '' // fails returns 7 > assert root.foo.@id[0].namespaceURI() == '' // fails returns 'urn:test' > {code} > Based on the specs I believe the following asserts in the > [XmlSlurperTest|https://github.com/apache/groovy/blob/c04e4df42ca3ed25570acc730d87807012c39887/subprojects/groovy-xml/src/test/groovy/groovy/util/XmlSlurperTest.groovy#L142-L143] > are incorrect. -- This message was sent by Atlassian JIRA (v6.3.4#6332)