It could also be that XML::Simple is just that -- simple...
Looking at http://search.cpan.org/~grantm/XML-Simple-2.20/lib/XML/Simple.pm, it
says:
The use of this module in new code is discouraged. Other modules are available
which provide more straightforward and consistent interfaces. In particular,
XML::LibXML is highly recommended.
So perhaps we should just ignore my report. :-)
On Nov 19, 2012, at 2:59 PM, Brice Goglin wrote:
> Looks related to these warnings:
>
> Warning: <object> element has non-unique value in 'name' key attribute: Intel
> Corporation I350 Gigabit Network Connection at ./topo.pl line 16
> Warning: <object> element has non-unique value in 'name' key attribute: Intel
> Corporation I350 Gigabit Network Connection at ./topo.pl line 16
> Warning: <object> element has non-unique value in 'name' key attribute: Intel
> Corporation I350 Gigabit Network Connection at ./topo.pl line 16
> Warning: <object> element has non-unique value in 'name' key attribute: Cisco
> Systems Inc VIC PCIe Downstream Port at ./topo.pl line 16
>
>
> If I replace name=... with foo=... in the XML, those go away and all your eth
> interfaces come back. So it looks like there may be something special with
> the "name" attribute of XML objects. What's strange is that it seems to only
> happen when two children have the same "name" XML attribute. We have quite a
> lot of same "name" attributes, but not always in sibling XML objects.
>
> I am trying to find out whether we misrespect the XML specs, but I couldn't
> so far. Maybe it's a XML::Simple problem? libxml2 and xmllint never
> complained like this.
>
> Brice
>
>
>
>
> Le 19/11/2012 19:01, Jeff Squyres a écrit :
>> Odd. On the SVN trunk, I'm running this code:
>>
>> -----
>> open (LSTOPO, "lstopo -.xml|") || die "Can't open lstopo";
>>
>> my $lstopo;
>>
>> while (<LSTOPO>) {
>>
>> $lstopo .= $_;
>>
>> print "Read: $_";
>>
>> }
>>
>> close(LSTOPO);
>>
>>
>>
>> my $xml;
>>
>> $xml = XMLin($lstopo);
>>
>> print Dumper($xml);
>> -----
>>
>> In looking at the output, I see that lstopo's XML output includes all PCI
>> devices, but when I look at the Dumper output of the parsed XML, some PCI
>> devices are not listed. In particular: both eth4 and eth5 are included in
>> the "lstopo -.xml" output, but eth4 is not included in the Dumper output.
>>
>> The same thing happens if I "lstopo foo.xml" and then "XMLin("foo.xml")".
>> So it's not a problem with perl reading from lstopo's stdout.
>>
>> I've attached foo.xml -- any ideas why this is happening?
>>
>>
>>
>>
>> _______________________________________________
>> hwloc-devel mailing list
>>
>> [email protected]
>> http://www.open-mpi.org/mailman/listinfo.cgi/hwloc-devel
>
> _______________________________________________
> hwloc-devel mailing list
> [email protected]
> http://www.open-mpi.org/mailman/listinfo.cgi/hwloc-devel
--
Jeff Squyres
[email protected]
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/