<!ELEMENT MEMORY_DUMP_REPORT (MD_HEADER, MD_RUN_LISTING, MD_SUMMARY, MD_FOOTER)>

<!ELEMENT MD_HEADER EMPTY>

<!ELEMENT MD_RUN_LISTING (MD_RUN_RECORD*)>

<!ELEMENT MD_RUN_RECORD ((MD_POINTER, MD_EVENT_COUNT, MD_EVENT_RECORD*)|
  (MD_SIZE, MD_POINTER, MD_SOURCE_FILE, MD_SOURCE_LINE, MD_DESTINATION_FILE, MD_DESTINATION_LINE, MD_RECORD_STATUS))>
  <!ELEMENT MD_POINTER (#PCDATA)>
  <!ELEMENT MD_EVENT_COUNT (#PCDATA)>
  <!ELEMENT MD_SOURCE_FILE (#PCDATA)>
  <!ELEMENT MD_SOURCE_LINE (#PCDATA)>
  <!ELEMENT MD_DESTINATION_FILE (#PCDATA)>
  <!ELEMENT MD_DESTINATION_LINE (#PCDATA)>
  <!ELEMENT MD_RECORD_STATUS (#PCDATA)>

  <!ELEMENT MD_EVENT_RECORD (MD_SIZE, MD_ALLOC_FILE, MD_ALLOC_LINE, MD_DEALLOC_FILE, MD_DEALLOC_LINE)>
    <!ELEMENT MD_SIZE (#PCDATA)>
    <!ELEMENT MD_ALLOC_FILE (#PCDATA)>
    <!ELEMENT MD_ALLOC_LINE (#PCDATA)>
    <!ELEMENT MD_DEALLOC_FILE (#PCDATA)>
    <!ELEMENT MD_DEALLOC_LINE (#PCDATA)>

<!ELEMENT MD_SUMMARY (MD_SUMMARY_VALID_RECORDS, MD_SUMMARY_INVALID_RECORDS, MD_SUMMARY_TOTAL_RECORDS)>
  <!ELEMENT MD_SUMMARY_VALID_RECORDS (#PCDATA)>
  <!ELEMENT MD_SUMMARY_INVALID_RECORDS (#PCDATA)>
  <!ELEMENT MD_SUMMARY_TOTAL_RECORDS (#PCDATA)>

<!ELEMENT MD_FOOTER (#PCDATA)>

