1 <!ELEMENT XML_File_ID (#PCDATA)>
2 <!ELEMENT heading (#PCDATA)>
3 <!ELEMENT category (#PCDATA)>
4 <!ELEMENT sport (#PCDATA)>
5 <!ELEMENT RaceID (#PCDATA)>
6 <!ELEMENT RaceDate (#PCDATA)>
7 <!ELEMENT Title (#PCDATA)>
8 <!ELEMENT Track_Location (#PCDATA)>
9 <!ELEMENT Laps_Remaining (#PCDATA)>
10 <!ELEMENT Checkered_Flag (#PCDATA)>
11 <!ELEMENT FinishPosition (#PCDATA)>
12 <!ELEMENT StartingPosition (#PCDATA)>
13 <!ELEMENT CarNumber (#PCDATA)>
14 <!ELEMENT DriverID (#PCDATA)>
15 <!ELEMENT Driver (#PCDATA)>
16 <!ELEMENT CarMake (#PCDATA)>
17 <!ELEMENT Points (#PCDATA)>
18 <!ELEMENT Laps_Completed (#PCDATA)>
19 <!ELEMENT Laps_Leading (#PCDATA)>
20 <!ELEMENT Status (#PCDATA)>
21 <!ELEMENT DNF (#PCDATA)>
22 <!ELEMENT Earnings (#PCDATA)>
23 <!ELEMENT Listing ( FinishPosition, StartingPosition, CarNumber, DriverID, Driver, CarMake, Points, Laps_Completed, Laps_Leading, Status, ( DNF | NC ), Earnings )>
24 <!ELEMENT TrackLength (#PCDATA)>
25 <!ELEMENT Laps (#PCDATA)>
26 <!ELEMENT NumberOfLaps (#PCDATA)>
27 <!ELEMENT Most_Laps_Leading ( DriverID, Driver, NumberOfLaps )>
28 <!ELEMENT Race_Information ( TrackLength, Laps, AverageSpeedMPH?, AverageSpeedKPH?, AverageSpeed?, TimeOfRace?, MarginOfVictory?, Cautions?, LeadChanges?, LapLeaders?, Most_Laps_Leading? )>
29 <!ELEMENT time_stamp (#PCDATA)>
30 <!ELEMENT message ( ( XML_File_ID, heading, category, sport, RaceID, RaceDate, Title, Track_Location, Laps_Remaining, Checkered_Flag, Listing*, Race_Information, time_stamp ) )>
31 <!ELEMENT AverageSpeedMPH (#PCDATA)>
32 <!ELEMENT AverageSpeedKPH (#PCDATA)>
33 <!ELEMENT AverageSpeed (#PCDATA)>
34 <!ELEMENT TimeOfRace (#PCDATA)>
35 <!ELEMENT MarginOfVictory (#PCDATA)>
36 <!ELEMENT Cautions (#PCDATA)>
37 <!ELEMENT LeadChanges (#PCDATA)>
38 <!ELEMENT LapLeaders (#PCDATA)>
39 <!ELEMENT NC (#PCDATA)>
41 <!ATTLIST TrackLength KPH CDATA #REQUIRED>