Summary: Xml tags with only attributes return as without
                    attributes ElementParser.parse
           Product: D
           Version: 2.030
          Platform: All
        OS/Version: All
            Status: NEW
          Keywords: patch
          Severity: minor
          Priority: P4
         Component: Phobos

Minor functionality problem in std.xml in Phobos.

This is an easy patch fix.

Consider that XML
<mytag attr1="value1"/>   

is the effectively same thing as

<mytag attr1="value1"/></mytag>

The first version reads better, as if that is an xml issue.

The onStartText delagate call back argument ElementParser will have a tag
object with no attributes for the first version, and will have the attributes
for the second.  In the first the private Tag constructor parses the attributes
and reports the Tag as TagType.EMPTY, in the sense that there is no content.

Slight fix: In ElementParser.parse()

at line 1945:       
                else if (tag_.isEmpty)
                    Tag startTag = new Tag(;
//++ add these 2 lines   
                    if (tag_.attr.length > 0)
                          foreach(tn,tv; tag_.attr) startTag.attr[tn]=tv;
//so the returned Tag in the element.

Alternately change the Tag constructor to report the Tag as START if it has
attributes.  But this will be a bigger change code flow design and efficiency.
Either way, the onStartTag call returns a Tag with START

Configure issuemail:
------- You are receiving this mail because: -------

Reply via email to