2.1 Background

       |----------program--|
       |   event handlers   |
       | |-|  || |-| |-|  |
-||||- | ------|  ----|-  |
-XML --|     --|-||--     |
|file-- -- --|-parser|     |
       -------------------

<course>
  <number>CIS 788</number>
  <quarter>Autumn</quarter>
  <days>
     <day>Monday</day>
     <day>Wednesday</day>
     <day>Friday</day>
  </days>
  <note font="big" sound=’loud’>Welcome
       and hope you’ll enjoy it.</note>
</course>
  1. Parser: raise an event on <course>
  2. Event handler: handle the event due to <course>
  3. Parser: raise an event on <number>
  4. Event handler: handle the event due to <number>
  5. Parser: raise an event on CIS 788
  6. Event handler: handle the event due to CIS 788
  7. Parser: raise an event on </number>
  8. Event handler: handle the event due to </number>
  9. ...