I'd like to propose some changes to the XML output schema for MFC/MrMAPI...There are a few items which would make it easier to work with in XML.
##Binary output:
Current:
```XML
<Value>cb: 16 lpb: 6C255A1A1AA03A4F9B5D53932947288A</Value>
```
Proposed:
```XML
<Value cb='16'>6C255A1A1AA03A4F9B5D53932947288A</Value>
```
##Names
Current:
```XML
<ExactNames>PR_RESOURCE_FLAGS, PidTagResourceFlags, ResourceFlags, ptagResourceFlags</ExactNames>
<PartialNames>PR_N_ApptReplyTime</PartialNames>
```
Proposed:
```XML
<ExactNames>
<Name>PR_RESOURCE_FLAGS</Name>
<Name>PidTagResourceFlags</Name>
<Name>ResourceFlags</Name>
<Name>ptagResourceFlags</Name>
</ExactNames>
<PartialNames>
<Name>PR_N_ApptReplyTime</Name>
</PartialNames>
```
##Errors
Current:
```XML
<Value>Err:0x8004010F=MAPI_E_NOT_FOUND</Value>
```
Proposed:
```XML
<Value Err="0x8004010F">MAPI_E_NOT_FOUND</Value>
```
##Multivalues
Current:
```XML
<Value>8: cb: 30 lpb: 000000009B62F69532DCA649AB66FC52ECBAAB1801000000000100002F00; cb: 67 lpb: 000000009B62F69532DCA649AB66FC52ECBAAB1801000000000100002F677569643D344645313331423033463931383134454239324239443334333741303939334300; cb: 67 lpb: 000000009B62F69532DCA649AB66FC52ECBAAB1801000000000100002F677569643D313933423941344332454335374134303836433436374239413742374143314200; cb: 67 lpb: 000000009B62F69532DCA649AB66FC52ECBAAB1801000000000100002F677569643D413937353032413330444133354134443933373244353246304233323333343900; cb: 67 lpb: 000000009B62F69532DCA649AB66FC52ECBAAB1801000000000100002F677569643D414136354246413234363032353434443944373141354633364345314237463300; cb: 67 lpb: 000000009B62F69532DCA649AB66FC52ECBAAB1801000000000100002F677569643D343442373037363738333336443034384142303246423731313836353841304100; cb: 67 lpb: 000000009B62F69532DCA649AB66FC52ECBAAB1801000000000100002F677569643D383443323635303536343245444234373939394536323331464436373942313400; cb: 67 lpb: 000000009B62F69532DCA649AB66FC52ECBAAB1801000000000100002F677569643D414442313230394233454631393334323935363346334633414633394530413400</Value>
```
Proposed:
```XML
<Value mv="true" count="8">
<Value cb="30">000000009B62F69532DCA649AB66FC52ECBAAB1801000000000100002F00</Value>
<Value cb="67">000000009B62F69532DCA649AB66FC52ECBAAB1801000000000100002F677569643D344645313331423033463931383134454239324239443334333741303939334300</Value>
<Value cb="67">000000009B62F69532DCA649AB66FC52ECBAAB1801000000000100002F677569643D313933423941344332454335374134303836433436374239413742374143314200</Value>
<Value cb="67">000000009B62F69532DCA649AB66FC52ECBAAB1801000000000100002F677569643D413937353032413330444133354134443933373244353246304233323333343900</Value>
<Value cb="67">000000009B62F69532DCA649AB66FC52ECBAAB1801000000000100002F677569643D414136354246413234363032353434443944373141354633364345314237463300</Value>
<Value cb="67">000000009B62F69532DCA649AB66FC52ECBAAB1801000000000100002F677569643D343442373037363738333336443034384142303246423731313836353841304100</Value>
<Value cb="67">000000009B62F69532DCA649AB66FC52ECBAAB1801000000000100002F677569643D383443323635303536343245444234373939394536323331464436373942313400</Value>
<Value cb="67">000000009B62F69532DCA649AB66FC52ECBAAB1801000000000100002F677569643D414442313230394233454631393334323935363346334633414633394530413400</Value></Value>
```
Current:
```XML
<Value>
<![CDATA[2: ncacn_http:F9D6B013-1F11-49E0-AE8A-1A2812B9E68F@MICROSOFT.COM; ncacn_ip_tcp:F9D6B013-1F11-49E0-AE8A-1A2812B9E68F@MICROSOFT.COM]]>
</Value>
```
Proposed:
```XML
<Value mv="true" count="2">
<Value><![CDATA[ncacn_http:F9D6B013-1F11-49E0-AE8A-1A2812B9E68F@MICROSOFT.COM]]></Value>
<Value><![CDATA[ncacn_ip_tcp:F9D6B013-1F11-49E0-AE8A-1A2812B9E68F@MICROSOFT.COM]]></Value>
</Value>
```
Current:
```XML
<Value>8: 9; 11; 9; 9; 521; 9; 9; 9</Value>
```
Proposed:
```XML
<Value mv="true" count="8">
<Value>9</Value>
<Value>11</Value>
<Value>9</Value>
<Value>9</Value>
<Value>521</Value>
<Value>9</Value>
<Value>9</Value>
<Value>9</Value>
</Value>
```
##Binary output:
Current:
```XML
<Value>cb: 16 lpb: 6C255A1A1AA03A4F9B5D53932947288A</Value>
```
Proposed:
```XML
<Value cb='16'>6C255A1A1AA03A4F9B5D53932947288A</Value>
```
##Names
Current:
```XML
<ExactNames>PR_RESOURCE_FLAGS, PidTagResourceFlags, ResourceFlags, ptagResourceFlags</ExactNames>
<PartialNames>PR_N_ApptReplyTime</PartialNames>
```
Proposed:
```XML
<ExactNames>
<Name>PR_RESOURCE_FLAGS</Name>
<Name>PidTagResourceFlags</Name>
<Name>ResourceFlags</Name>
<Name>ptagResourceFlags</Name>
</ExactNames>
<PartialNames>
<Name>PR_N_ApptReplyTime</Name>
</PartialNames>
```
##Errors
Current:
```XML
<Value>Err:0x8004010F=MAPI_E_NOT_FOUND</Value>
```
Proposed:
```XML
<Value Err="0x8004010F">MAPI_E_NOT_FOUND</Value>
```
##Multivalues
Current:
```XML
<Value>8: cb: 30 lpb: 000000009B62F69532DCA649AB66FC52ECBAAB1801000000000100002F00; cb: 67 lpb: 000000009B62F69532DCA649AB66FC52ECBAAB1801000000000100002F677569643D344645313331423033463931383134454239324239443334333741303939334300; cb: 67 lpb: 000000009B62F69532DCA649AB66FC52ECBAAB1801000000000100002F677569643D313933423941344332454335374134303836433436374239413742374143314200; cb: 67 lpb: 000000009B62F69532DCA649AB66FC52ECBAAB1801000000000100002F677569643D413937353032413330444133354134443933373244353246304233323333343900; cb: 67 lpb: 000000009B62F69532DCA649AB66FC52ECBAAB1801000000000100002F677569643D414136354246413234363032353434443944373141354633364345314237463300; cb: 67 lpb: 000000009B62F69532DCA649AB66FC52ECBAAB1801000000000100002F677569643D343442373037363738333336443034384142303246423731313836353841304100; cb: 67 lpb: 000000009B62F69532DCA649AB66FC52ECBAAB1801000000000100002F677569643D383443323635303536343245444234373939394536323331464436373942313400; cb: 67 lpb: 000000009B62F69532DCA649AB66FC52ECBAAB1801000000000100002F677569643D414442313230394233454631393334323935363346334633414633394530413400</Value>
```
Proposed:
```XML
<Value mv="true" count="8">
<Value cb="30">000000009B62F69532DCA649AB66FC52ECBAAB1801000000000100002F00</Value>
<Value cb="67">000000009B62F69532DCA649AB66FC52ECBAAB1801000000000100002F677569643D344645313331423033463931383134454239324239443334333741303939334300</Value>
<Value cb="67">000000009B62F69532DCA649AB66FC52ECBAAB1801000000000100002F677569643D313933423941344332454335374134303836433436374239413742374143314200</Value>
<Value cb="67">000000009B62F69532DCA649AB66FC52ECBAAB1801000000000100002F677569643D413937353032413330444133354134443933373244353246304233323333343900</Value>
<Value cb="67">000000009B62F69532DCA649AB66FC52ECBAAB1801000000000100002F677569643D414136354246413234363032353434443944373141354633364345314237463300</Value>
<Value cb="67">000000009B62F69532DCA649AB66FC52ECBAAB1801000000000100002F677569643D343442373037363738333336443034384142303246423731313836353841304100</Value>
<Value cb="67">000000009B62F69532DCA649AB66FC52ECBAAB1801000000000100002F677569643D383443323635303536343245444234373939394536323331464436373942313400</Value>
<Value cb="67">000000009B62F69532DCA649AB66FC52ECBAAB1801000000000100002F677569643D414442313230394233454631393334323935363346334633414633394530413400</Value></Value>
```
Current:
```XML
<Value>
<![CDATA[2: ncacn_http:F9D6B013-1F11-49E0-AE8A-1A2812B9E68F@MICROSOFT.COM; ncacn_ip_tcp:F9D6B013-1F11-49E0-AE8A-1A2812B9E68F@MICROSOFT.COM]]>
</Value>
```
Proposed:
```XML
<Value mv="true" count="2">
<Value><![CDATA[ncacn_http:F9D6B013-1F11-49E0-AE8A-1A2812B9E68F@MICROSOFT.COM]]></Value>
<Value><![CDATA[ncacn_ip_tcp:F9D6B013-1F11-49E0-AE8A-1A2812B9E68F@MICROSOFT.COM]]></Value>
</Value>
```
Current:
```XML
<Value>8: 9; 11; 9; 9; 521; 9; 9; 9</Value>
```
Proposed:
```XML
<Value mv="true" count="8">
<Value>9</Value>
<Value>11</Value>
<Value>9</Value>
<Value>9</Value>
<Value>521</Value>
<Value>9</Value>
<Value>9</Value>
<Value>9</Value>
</Value>
```