<html>
  <!-- definitions -->
  <ledger_def name="entries_file">
    <from_file>
      <path>$(LEDGER_FILE)</path>
    </from_file>
  </ledger_def>

  <ledger_def name="match_assets_liabilities">
    <or>
      <match>Assets:.*</match>
      <match>Liabilities:.*</match>
    </or>
  </ledger_def>

  <ledger_def name="start_balances">
    <aggregate>
      <filter_by_account>
        <balances>
          <from_entries>
            <entries><ledger_ref name="entries_file"/></entries>
            <date>$(START_DATE)</date>
          </from_entries>
        </balances>
        <predicate><ledger_ref name="match_assets_liabilities"/></predicate>
      </filter_by_account>
    </aggregate>
  </ledger_def>

  <ledger_def name="start_venv">
    <from_file>
      <pcommod>$</pcommod>
      <date>$(START_DATE)</date>
      <path>$(LEDGER_PRICE_DB)</path>
      <ndays>5</ndays>
    </from_file>
  </ledger_def>

  <ledger_def name="end_balances">
    <aggregate>
      <filter_by_account>
        <balances>
          <from_entries>
            <entries><ledger_ref name="entries_file"/></entries>
            <date>$(END_DATE)</date>
          </from_entries>
        </balances>
        <predicate><ledger_ref name="match_assets_liabilities"/></predicate>
      </filter_by_account>
    </aggregate>
  </ledger_def>

  <ledger_def name="end_venv">
    <from_file>
      <pcommod>$</pcommod>
      <date>$(END_DATE)</date>
      <path>$(LEDGER_PRICE_DB)</path>
      <ndays>5</ndays>
    </from_file>
  </ledger_def>

  <!-- The actual body of the report, using the above definitions -->

  <head>
    <title>Balances</title>
  </head>
  <link href="reports.css" rel="stylesheet" type="text/css" />

  <h3>Profit/Loss from $(START_DATE) to $(END_DATE)</h3>
  <ledger_balance_change_table>
    <balances1><ledger_ref name="start_balances"/></balances1>
    <valuation_env1><ledger_ref name="start_venv"/></valuation_env1>
    <balances2><ledger_ref name="end_balances"/></balances2>
    <valuation_env2><ledger_ref name="end_venv"/></valuation_env2>
  </ledger_balance_change_table>

  <h3>Balances as at $(END_DATE)</h3>
  <ledger_balance_table>
    <balances><ledger_ref name="end_balances"/></balances>
    <valuation_env><ledger_ref name="end_venv"/></valuation_env>
  </ledger_balance_table>

  <h3>Entries from $(START_DATE) to $(END_DATE)</h3>
  <ledger_entry_table>
    <entries>
      <filter_by_date>
        <predicate>
          <and>
            <geq>$(START_DATE)</geq>
            <leq>$(END_DATE)</leq>
          </and>
        </predicate>
        <entries><ledger_ref name="entries_file"/></entries>
      </filter_by_date>
    </entries>
  </ledger_entry_table>

</html>


