Different output for number of processors using system_profiler When I'm executing the command system_profiler SPHardwareDataType, I'm getting the shell output below:

Hardware:

    Hardware Overview:

        Model Name: MacBook Pro
        Model Identifier: MacBookPro14,3
        Processor Name: Intel Core i7
        Processor Speed: 2.9 GHz
        Number of Processors: 1
        Total Number of Cores: 4
        L2 Cache (per Core): 256 KB
        L3 Cache: 8 MB
        Memory: 16 GB
        Boot ROM Version: MBP143.0178.B00
        SMC Version (system): 2.45f0
        Serial Number (system): C02VD9KVHTD6
        Hardware UUID: 795D777F-F037-57A4-8B26-45112AD9D63B


However, when I'm executing the command system_profiler SPHardwareDataType  -xml for getting output in XML format, I'm getting an incorrect count for the number of processors property:

&lt;array&gt;
    &lt;dict&gt;
        &lt;key&gt;SMC_version_system&lt;/key&gt;
        &lt;string&gt;2.45f0&lt;/string&gt;
        &lt;key&gt;_name&lt;/key&gt;
        &lt;string&gt;hardware_overview&lt;/string&gt;
        &lt;key&gt;boot_rom_version&lt;/key&gt;
        &lt;string&gt;MBP143.0178.B00&lt;/string&gt;
        &lt;key&gt;cpu_type&lt;/key&gt;
        &lt;string&gt;Intel Core i7&lt;/string&gt;
        &lt;key&gt;current_processor_speed&lt;/key&gt;
        &lt;string&gt;2.9 GHz&lt;/string&gt;
        &lt;key&gt;l2_cache_core&lt;/key&gt;
        &lt;string&gt;256 KB&lt;/string&gt;
        &lt;key&gt;l3_cache&lt;/key&gt;
        &lt;string&gt;8 MB&lt;/string&gt;
        &lt;key&gt;machine_model&lt;/key&gt;
        &lt;string&gt;MacBookPro14,3&lt;/string&gt;
        &lt;key&gt;machine_name&lt;/key&gt;
        &lt;string&gt;MacBook Pro&lt;/string&gt;
        &lt;key&gt;number_processors&lt;/key&gt;
        &lt;integer&gt;4&lt;/integer&gt;
        &lt;key&gt;packages&lt;/key&gt;
        &lt;integer&gt;1&lt;/integer&gt;
        &lt;key&gt;physical_memory&lt;/key&gt;
        &lt;string&gt;16 GB&lt;/string&gt;
        &lt;key&gt;platform_UUID&lt;/key&gt;
        &lt;string&gt;795D777F-F037-57A4-8B26-45112AD9D63B&lt;/string&gt;
        &lt;key&gt;serial_number&lt;/key&gt;
        &lt;string&gt;C02VD9KVHTD6&lt;/string&gt;
    &lt;/dict&gt;
&lt;/array&gt;


Can anyone explain what is going on here?
To me it simply looks like the xml output is using the number of cores as the number of processors. You can see that the number of cores property simply disappeared from the xml. It is a common conception on Linux systems to call a core a processor. I'll even go further by saying that the "packages" value is the number of processors, and number of processors the number of cores.