Output Payroll XML Document

<payroll type="cooked" version="1.0" date="" period="" genSysId="">
  <person id="" name="">
    <item name="" value="" comment=""/>
  </person>
</payroll>


specify a <item> for each item that applies to the person's payroll entry.
Ex:

  <person id="123456789" name="John Doe">
    <item name="gross" value="500.00"/>
    <item name="US Federal" value="-10.00"/>
    <item name="US Medicare" value="-5.00"/>
    <item name="US FICA" value="-5.00"/>
    <item name="US MO" value="-10.00"/>
    <item name="US IL" value="-2.00"/>
    <item name="US Mileage" value="5.25"/>
    <company>
      <item name="US Medicare Exp" value="5.00"/>
      <item name="US Medicare" value="-5.00"/>
      <item name="US FICA Exp" value="5.00"/>
      <item name="US FICA" value="-5.00"/>
    </company>
    <item name="Reimbursement" value="5.25" comment="Sharpees"/>
    <item name="Correction" value="-15.75" comment="Overpay for 20020915"/>
    <item name="net" value="466.75"/>
  </person>


The output perl data structure:

data = { version, date, persons, period, genSysId }
where persons =  array of persons.
genSysId is an identifier that the generating system associated with this payroll.

In each person, { id, name, items }
where items = array of item entries.

In each item, { name, value, comment }
If the comment is empty, we do not have to output it in the xml document.  If the comment does not exist in the item tag, then we assume it is empty.