Listing 4: Class CustomerOrder.

#if !defined(CUSTOMERORDER__H)
#define      CUSTOMERORDER__H
#include "XmlBinding.h"
#include <iostream>
using std::wostream;
class CustomerOrder
{
BEGIN_XML_BINDING(L"CustomerOrder", CustomerOrder)
    XML_ELEMENT(L"OrderID", eXML_INT, m_OrderID)
    XML_ELEMENT(L"Customer", eXML_STRING, m_CustomerName)       
    XML_ELEMENT(L"Item", eXML_STRING, m_ItemName)       
    XML_ELEMENT(L"Unit", eXML_STRING, m_Unit)       
    XML_ELEMENT(L"Quantity", eXML_DOUBLE, m_Quantity)
END_XML_BINDING()
    int            m_OrderID;
    wchar_t        m_CustomerName[20];
    wchar_t        m_ItemName[20];
    wchar_t        m_Unit[20];    
    double        m_Quantity;
public:
    friend wostream& operator << (wostream& wo, const CustomerOrder& order);
};
wostream& operator << (wostream& wo, const CustomerOrder& order)
{
    return wo << L"Order " << order.m_OrderID 
        << L" from " << order.m_CustomerName 
        << L": " << order.m_ItemName 
        << L" " << order.m_Quantity 
        << L" " << order.m_Unit 
        << L"s has been processed." << std::endl;
}
#endif