Saturday, October 11, 2008

LEDES 2000 DTD of the XML File

<!ELEMENT ledesxml (firm, client+)>

  <!ELEMENT firm (lf_tax_id, lf_id?, lf_name, lf_address, lf_remit_address?,
                  lf_billing_contact_lname?, lf_billing_contact_fname?, 
                  lf_billing_contact_id?, lf_billing_contact_phone?, 
                  lf_billing_contact_fax?, lf_billing_contact_email?,  
                  source_app, app_version, extend_header*)>

    <!ELEMENT lf_tax_id (#PCDATA)>
    <!ELEMENT lf_id (#PCDATA)>
    <!ELEMENT lf_name (#PCDATA)>
    <!ELEMENT lf_address (address_info)>
    <!ELEMENT lf_remit_address (address_info)>
    <!ELEMENT lf_billing_contact_lname (#PCDATA)>
    <!ELEMENT lf_billing_contact_fname (#PCDATA)>
    <!ELEMENT lf_billing_contact_id (#PCDATA)>
    <!ELEMENT lf_billing_contact_phone (#PCDATA)>
    <!ELEMENT lf_billing_contact_fax (#PCDATA)>
    <!ELEMENT lf_billing_contact_email (#PCDATA)>
    <!ELEMENT source_app (#PCDATA)>
    <!ELEMENT app_version (#PCDATA)>

  <!ELEMENT client (cl_id?, cl_lf_id?, cl_name, cl_address, cl_email?,
                    cl_contact_lname?, cl_contact_fname?,
                    cl_tax_id?, extend_header*, invoice+)>

    <!ELEMENT cl_id (#PCDATA)>
    <!ELEMENT cl_lf_id (#PCDATA)>
    <!ELEMENT cl_name (#PCDATA)>
    <!ELEMENT cl_address (address_info)>
    <!ELEMENT cl_email (#PCDATA)>
    <!ELEMENT cl_contact_lname (#PCDATA)>
    <!ELEMENT cl_contact_fname (#PCDATA)>
    <!ELEMENT cl_tax_id (#PCDATA)>

  <!ELEMENT invoice (inv_id, inv_date, inv_due_date?,
                     inv_currency?, inv_start_date, inv_end_date, 
                     inv_desc?, inv_payment_terms?, inv_generic_discount?,
                     inv_total_net_due, extend_header*, matter+)>

    <!ELEMENT inv_id (#PCDATA)>
    <!ELEMENT inv_date (#PCDATA)>
    <!ELEMENT inv_due_date (#PCDATA)>
    <!ELEMENT inv_currency (#PCDATA)>
    <!ELEMENT inv_start_date (#PCDATA)>
    <!ELEMENT inv_end_date (#PCDATA)>
    <!ELEMENT inv_desc (#PCDATA)>
    <!ELEMENT inv_payment_terms (#PCDATA)>
    <!ELEMENT inv_generic_discount (#PCDATA)>
    <!ELEMENT inv_total_net_due (#PCDATA)>

  <!ELEMENT matter (cl_matter_id?, lf_matter_id, matter_name, matter_desc?,
                    lf_managing_contact_lname, lf_managing_contact_fname, lf_contact_id?,
                    lf_contact_phone?, lf_contact_email?, 
                    cl_matter_var_1?, cl_matter_var_2?, cl_contact_lname,
                    cl_contact_fname, cl_contact_id?, cl_contact_phone?, cl_contact_email?,
                    eft_agreement_number?, matter_billing_type?, matter_final_bill,
                    matter_total_detail_fees, matter_total_detail_exp, 
                    matter_tax_on_fees, matter_tax_on_exp, matter_adj_on_fees, 
                    matter_adj_on_exp, matter_perc_shar_fees?, 
                    matter_perc_shar_exp?, matter_net_fees, matter_net_exp,
                    matter_total_due,
                    tksum+, extend_header*, (fee | expense)+ )>

    <!ELEMENT cl_matter_id (#PCDATA)>
    <!ELEMENT lf_matter_id (#PCDATA)>
    <!ELEMENT matter_name (#PCDATA)>
    <!ELEMENT matter_desc (#PCDATA)>
    <!ELEMENT lf_managing_contact_lname (#PCDATA)>
    <!ELEMENT lf_managing_contact_fname (#PCDATA)>
    <!ELEMENT lf_contact_id (#PCDATA)>
    <!ELEMENT lf_contact_phone (#PCDATA)>
    <!ELEMENT lf_contact_email (#PCDATA)>
    <!ELEMENT cl_matter_var_1 (#PCDATA)>
    <!ELEMENT cl_matter_var_2 (#PCDATA)>
    <!ELEMENT cl_contact_id (#PCDATA)>
    <!ELEMENT cl_contact_phone (#PCDATA)>
    <!ELEMENT cl_contact_email (#PCDATA)>
    <!ELEMENT eft_agreement_number (#PCDATA)>
    <!ELEMENT matter_billing_type (#PCDATA)>
    <!ELEMENT matter_final_bill (#PCDATA)>
    <!ELEMENT matter_total_detail_fees (#PCDATA)>
    <!ELEMENT matter_total_detail_exp (#PCDATA)>
    <!ELEMENT matter_tax_on_fees (#PCDATA)>
    <!ELEMENT matter_tax_on_exp (#PCDATA)>
    <!ELEMENT matter_adj_on_fees (#PCDATA)>
    <!ELEMENT matter_adj_on_exp (#PCDATA)>
    <!ELEMENT matter_perc_shar_fees (#PCDATA)>
    <!ELEMENT matter_perc_shar_exp (#PCDATA)>
    <!ELEMENT matter_net_fees (#PCDATA)>
    <!ELEMENT matter_net_exp (#PCDATA)>
    <!ELEMENT matter_total_due (#PCDATA)>

  <!ELEMENT tksum (tk_id, tk_lname, tk_fname, 
                        tk_level, tk_rate, tk_hours, tk_cost, extend_header*)>
  
    <!ELEMENT tk_id (#PCDATA)>
    <!ELEMENT tk_lname (#PCDATA)>
    <!ELEMENT tk_fname (#PCDATA)>
    <!ELEMENT tk_level (#PCDATA)>
    <!ELEMENT tk_rate (#PCDATA)>
    <!ELEMENT tk_hours (#PCDATA)>
    <!ELEMENT tk_cost (#PCDATA)>
  
  <!ELEMENT fee (charge_date, tk_id, charge_desc, acca_task?, acca_activity?,
                 cl_code_1?, cl_code_2?, charge_type, units, rate, 
                 base_amount, (discount_type , discount_amount, discount_percent)?, 
                 total_amount, tax_rate?, tax_on_charge?, extend_header*)>

  <!ELEMENT expense (charge_date?, tk_id?, charge_desc, acca_task?, acca_expense?,
                     cl_code_1?, cl_code_2?, charge_type, units, rate, 
                     base_amount, (discount_type, discount_amount, discount_percent)?, 
                     total_amount, tax_rate?, tax_on_charge?, extend_header*)>

    <!ELEMENT charge_date (#PCDATA)>
    <!ELEMENT charge_desc (#PCDATA)>
    <!ELEMENT acca_task (#PCDATA)>
    <!ELEMENT acca_activity (#PCDATA)>
    <!ELEMENT acca_expense (#PCDATA)>
    <!ELEMENT cl_code_1 (#PCDATA)>
    <!ELEMENT cl_code_2 (#PCDATA)>
    <!ELEMENT charge_type (#PCDATA)>
    <!ELEMENT units (#PCDATA)>
    <!ELEMENT rate (#PCDATA)>
    <!ELEMENT base_amount (#PCDATA)>
    <!ELEMENT discount_type (#PCDATA)>
    <!ELEMENT discount_amount (#PCDATA)>
    <!ELEMENT discount_percent (#PCDATA)>
    <!ELEMENT total_amount (#PCDATA)>
    <!ELEMENT tax_rate (#PCDATA)>
    <!ELEMENT tax_on_charge (#PCDATA)>

  <!ELEMENT address_info (address_1, address_2?, address_3?, city, 
  		state_province, zip_postal_code, country?, phone, fax?)>

    <!ELEMENT address_1 (#PCDATA)>
    <!ELEMENT address_2 (#PCDATA)>
    <!ELEMENT address_3 (#PCDATA)>
    <!ELEMENT city (#PCDATA)>    
    <!ELEMENT state_province (#PCDATA)>    
    <!ELEMENT zip_postal_code (#PCDATA)>    
    <!ELEMENT country (#PCDATA)>    
    <!ELEMENT phone (#PCDATA)>    
    <!ELEMENT fax (#PCDATA)>    

  <!ELEMENT extend_header (extend_data)+>

  <!ATTLIST extend_header 
            vendor CDATA #REQUIRED
            app CDATA #IMPLIED
            sequence CDATA #IMPLIED
            date CDATA #IMPLIED>

  <!ELEMENT extend_data (ext_name, ext_value)>

     <!ELEMENT ext_name (#PCDATA)>
     <!ELEMENT ext_value (#PCDATA)>