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
>> 
>> hwloc-de...@open-mpi.org
>> http://www.open-mpi.org/mailman/listinfo.cgi/hwloc-devel
> 
> _______________________________________________
> hwloc-devel mailing list
> hwloc-de...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/hwloc-devel


-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to: 
http://www.cisco.com/web/about/doing_business/legal/cri/


Reply via email to