]> gitweb.michael.orlitzky.com - dead/htsn-import.git/commitdiff
Add SportInfo support for MLB_ERA_Leaders.dtd.
authorMichael Orlitzky <michael@orlitzky.com>
Sun, 22 Jun 2014 14:31:04 +0000 (10:31 -0400)
committerMichael Orlitzky <michael@orlitzky.com>
Sun, 22 Jun 2014 14:31:04 +0000 (10:31 -0400)
doc/man1/htsn-import.1
schema/MLB_ERA_Leaders.dtd [new file with mode: 0644]
schemagen/MLB_ERA_Leaders/MLB_ERA_Leaders.xml [new file with mode: 0644]
src/TSN/XML/SportInfo.hs
test/xml/sportinfo/MLB_ERA_Leaders.dtd [new file with mode: 0644]
test/xml/sportinfo/MLB_ERA_Leaders.xml [new file with mode: 0644]

index e94a427b224639c53edb4730a3325365121916b9..ebf5f4009f52da264120c5e864bee604c8e1d796 100644 (file)
@@ -232,6 +232,8 @@ mlbwalksleadersxml.dtd
 MLBXtraBaseHitsXML.dtd
 .IP \[bu]
 MLB_Pitching_Appearances_Leaders.dtd
+.IP \[bu]
+MLB_ERA_Leaders.dtd
 .RE
 .P
 The GameInfo and SportInfo types do not have their own top-level
diff --git a/schema/MLB_ERA_Leaders.dtd b/schema/MLB_ERA_Leaders.dtd
new file mode 100644 (file)
index 0000000..6b35def
--- /dev/null
@@ -0,0 +1,36 @@
+<!ELEMENT message  (XML_File_ID, heading , category , sport , Title , Top_ERA_Leaders , time_stamp )>\r
+\r
+<!ELEMENT XML_File_ID  (#PCDATA )>\r
+\r
+<!ELEMENT heading  (#PCDATA )>\r
+\r
+<!ELEMENT category  (#PCDATA )>\r
+\r
+<!ELEMENT sport  (#PCDATA )>\r
+\r
+<!ELEMENT Title  (#PCDATA )>\r
+\r
+<!ELEMENT Top_ERA_Leaders  (Listing+ )>\r
+\r
+<!ELEMENT Listing  (Rank , Player_Team , ERA , Wins , Losses , Win_Percentage , Innings_Pitched , Earned_Runs , Runs )>\r
+\r
+<!ELEMENT Rank  (#PCDATA )>\r
+\r
+<!ELEMENT Player_Team  (#PCDATA )>\r
+\r
+<!ELEMENT ERA  (#PCDATA )>\r
+\r
+<!ELEMENT Wins  (#PCDATA )>\r
+\r
+<!ELEMENT Losses  (#PCDATA )>\r
+\r
+<!ELEMENT Win_Percentage  (#PCDATA )>\r
+\r
+<!ELEMENT Innings_Pitched  (#PCDATA )>\r
+\r
+<!ELEMENT Earned_Runs  (#PCDATA )>\r
+\r
+<!ELEMENT Runs  (#PCDATA )>\r
+\r
+<!ELEMENT time_stamp  (#PCDATA )>\r
+\r
diff --git a/schemagen/MLB_ERA_Leaders/MLB_ERA_Leaders.xml b/schemagen/MLB_ERA_Leaders/MLB_ERA_Leaders.xml
new file mode 100644 (file)
index 0000000..08aedf0
--- /dev/null
@@ -0,0 +1,452 @@
+<?xml version="1.0" standalone="no" ?>\r
+<!DOCTYPE message PUBLIC "-//TSN//DTD Statistics 1.0/EN" "MLB_ERA_Leaders.dtd">\r
+<message>\r
+<XML_File_ID>1000017</XML_File_ID>\r
+<heading>AAX%AL-ERA-LEADERS</heading>\r
+<category>Statistics</category>\r
+<sport>MLB</sport>\r
+<Title>2002 AL ERA Leaders</Title>\r
+<Top_ERA_Leaders>\r
+<Listing>\r
+<Rank>1</Rank>\r
+<Player_Team>Derek Lowe, BOS</Player_Team>\r
+<ERA>2.16</ERA>\r
+<Wins>11</Wins>\r
+<Losses>3</Losses>\r
+<Win_Percentage>0.786</Win_Percentage>\r
+<Innings_Pitched>104.1</Innings_Pitched>\r
+<Earned_Runs>25</Earned_Runs>\r
+<Runs>25</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>2</Rank>\r
+<Player_Team>Bartolo Colon, CLE</Player_Team>\r
+<ERA>2.55</ERA>\r
+<Wins>10</Wins>\r
+<Losses>4</Losses>\r
+<Win_Percentage>0.714</Win_Percentage>\r
+<Innings_Pitched>116.1</Innings_Pitched>\r
+<Earned_Runs>33</Earned_Runs>\r
+<Runs>37</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>3</Rank>\r
+<Player_Team>Rodrigo Lopez, BAL</Player_Team>\r
+<ERA>2.70</ERA>\r
+<Wins>6</Wins>\r
+<Losses>3</Losses>\r
+<Win_Percentage>0.667</Win_Percentage>\r
+<Innings_Pitched>86.2</Innings_Pitched>\r
+<Earned_Runs>26</Earned_Runs>\r
+<Runs>28</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>4</Rank>\r
+<Player_Team>Mark Buehrle, SOX</Player_Team>\r
+<ERA>2.86</ERA>\r
+<Wins>10</Wins>\r
+<Losses>5</Losses>\r
+<Win_Percentage>0.667</Win_Percentage>\r
+<Innings_Pitched>110.0</Innings_Pitched>\r
+<Earned_Runs>35</Earned_Runs>\r
+<Runs>42</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>5</Rank>\r
+<Player_Team>Pedro Martinez, BOS</Player_Team>\r
+<ERA>2.92</ERA>\r
+<Wins>8</Wins>\r
+<Losses>2</Losses>\r
+<Win_Percentage>0.800</Win_Percentage>\r
+<Innings_Pitched>95.2</Innings_Pitched>\r
+<Earned_Runs>31</Earned_Runs>\r
+<Runs>38</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>6</Rank>\r
+<Player_Team>Freddy Garcia, SEA</Player_Team>\r
+<ERA>3.02</ERA>\r
+<Wins>10</Wins>\r
+<Losses>4</Losses>\r
+<Win_Percentage>0.714</Win_Percentage>\r
+<Innings_Pitched>110.1</Innings_Pitched>\r
+<Earned_Runs>37</Earned_Runs>\r
+<Runs>38</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>7</Rank>\r
+<Player_Team>Joel Pineiro, SEA</Player_Team>\r
+<ERA>3.04</ERA>\r
+<Wins>7</Wins>\r
+<Losses>3</Losses>\r
+<Win_Percentage>0.700</Win_Percentage>\r
+<Innings_Pitched>83.0</Innings_Pitched>\r
+<Earned_Runs>28</Earned_Runs>\r
+<Runs>31</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>8</Rank>\r
+<Player_Team>Barry Zito, OAK</Player_Team>\r
+<ERA>3.07</ERA>\r
+<Wins>10</Wins>\r
+<Losses>2</Losses>\r
+<Win_Percentage>0.833</Win_Percentage>\r
+<Innings_Pitched>102.2</Innings_Pitched>\r
+<Earned_Runs>35</Earned_Runs>\r
+<Runs>36</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>9</Rank>\r
+<Player_Team>Roy Halladay, TOR</Player_Team>\r
+<ERA>3.19</ERA>\r
+<Wins>9</Wins>\r
+<Losses>3</Losses>\r
+<Win_Percentage>0.750</Win_Percentage>\r
+<Innings_Pitched>113.0</Innings_Pitched>\r
+<Earned_Runs>40</Earned_Runs>\r
+<Runs>50</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>10</Rank>\r
+<Player_Team>Kenny Rogers, TEX</Player_Team>\r
+<ERA>3.24</ERA>\r
+<Wins>8</Wins>\r
+<Losses>4</Losses>\r
+<Win_Percentage>0.667</Win_Percentage>\r
+<Innings_Pitched>102.2</Innings_Pitched>\r
+<Earned_Runs>37</Earned_Runs>\r
+<Runs>41</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>11</Rank>\r
+<Player_Team>Jeff Weaver, DET</Player_Team>\r
+<ERA>3.32</ERA>\r
+<Wins>5</Wins>\r
+<Losses>8</Losses>\r
+<Win_Percentage>0.385</Win_Percentage>\r
+<Innings_Pitched>114.0</Innings_Pitched>\r
+<Earned_Runs>42</Earned_Runs>\r
+<Runs>49</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>12</Rank>\r
+<Player_Team>Ramon Ortiz, ANA</Player_Team>\r
+<ERA>3.34</ERA>\r
+<Wins>8</Wins>\r
+<Losses>5</Losses>\r
+<Win_Percentage>0.615</Win_Percentage>\r
+<Innings_Pitched>102.1</Innings_Pitched>\r
+<Earned_Runs>38</Earned_Runs>\r
+<Runs>39</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>13</Rank>\r
+<Player_Team>Jamie Moyer, SEA</Player_Team>\r
+<ERA>3.47</ERA>\r
+<Wins>7</Wins>\r
+<Losses>3</Losses>\r
+<Win_Percentage>0.700</Win_Percentage>\r
+<Innings_Pitched>106.1</Innings_Pitched>\r
+<Earned_Runs>41</Earned_Runs>\r
+<Runs>43</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>14</Rank>\r
+<Player_Team>Jarrod Washburn, ANA</Player_Team>\r
+<ERA>3.59</ERA>\r
+<Wins>7</Wins>\r
+<Losses>2</Losses>\r
+<Win_Percentage>0.778</Win_Percentage>\r
+<Innings_Pitched>92.2</Innings_Pitched>\r
+<Earned_Runs>37</Earned_Runs>\r
+<Runs>39</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>15</Rank>\r
+<Player_Team>David Wells, NYY</Player_Team>\r
+<ERA>3.61</ERA>\r
+<Wins>7</Wins>\r
+<Losses>5</Losses>\r
+<Win_Percentage>0.583</Win_Percentage>\r
+<Innings_Pitched>99.2</Innings_Pitched>\r
+<Earned_Runs>40</Earned_Runs>\r
+<Runs>44</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>16</Rank>\r
+<Player_Team>Mark Redman, DET</Player_Team>\r
+<ERA>3.66</ERA>\r
+<Wins>3</Wins>\r
+<Losses>7</Losses>\r
+<Win_Percentage>0.300</Win_Percentage>\r
+<Innings_Pitched>105.2</Innings_Pitched>\r
+<Earned_Runs>43</Earned_Runs>\r
+<Runs>52</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>17</Rank>\r
+<Player_Team>Tim Hudson, OAK</Player_Team>\r
+<ERA>3.73</ERA>\r
+<Wins>5</Wins>\r
+<Losses>6</Losses>\r
+<Win_Percentage>0.455</Win_Percentage>\r
+<Innings_Pitched>108.2</Innings_Pitched>\r
+<Earned_Runs>45</Earned_Runs>\r
+<Runs>46</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>18</Rank>\r
+<Player_Team>Roger Clemens, NYY</Player_Team>\r
+<ERA>3.76</ERA>\r
+<Wins>8</Wins>\r
+<Losses>3</Losses>\r
+<Win_Percentage>0.727</Win_Percentage>\r
+<Innings_Pitched>103.0</Innings_Pitched>\r
+<Earned_Runs>43</Earned_Runs>\r
+<Runs>47</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>19</Rank>\r
+<Player_Team>Chuck Finley, CLE</Player_Team>\r
+<ERA>3.84</ERA>\r
+<Wins>4</Wins>\r
+<Losses>9</Losses>\r
+<Win_Percentage>0.308</Win_Percentage>\r
+<Innings_Pitched>89.0</Innings_Pitched>\r
+<Earned_Runs>38</Earned_Runs>\r
+<Runs>41</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>20</Rank>\r
+<Player_Team>Ismael Valdes, TEX</Player_Team>\r
+<ERA>3.86</ERA>\r
+<Wins>4</Wins>\r
+<Losses>6</Losses>\r
+<Win_Percentage>0.400</Win_Percentage>\r
+<Innings_Pitched>86.1</Innings_Pitched>\r
+<Earned_Runs>37</Earned_Runs>\r
+<Runs>38</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>21</Rank>\r
+<Player_Team>Paul Wilson, TB</Player_Team>\r
+<ERA>4.06</ERA>\r
+<Wins>2</Wins>\r
+<Losses>6</Losses>\r
+<Win_Percentage>0.250</Win_Percentage>\r
+<Innings_Pitched>95.1</Innings_Pitched>\r
+<Earned_Runs>43</Earned_Runs>\r
+<Runs>49</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>22</Rank>\r
+<Player_Team>Sidney Ponson, BAL</Player_Team>\r
+<ERA>4.07</ERA>\r
+<Wins>3</Wins>\r
+<Losses>4</Losses>\r
+<Win_Percentage>0.429</Win_Percentage>\r
+<Innings_Pitched>95.0</Innings_Pitched>\r
+<Earned_Runs>43</Earned_Runs>\r
+<Runs>45</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>23</Rank>\r
+<Player_Team>Danys Baez, CLE</Player_Team>\r
+<ERA>4.22</ERA>\r
+<Wins>5</Wins>\r
+<Losses>5</Losses>\r
+<Win_Percentage>0.500</Win_Percentage>\r
+<Innings_Pitched>81.0</Innings_Pitched>\r
+<Earned_Runs>38</Earned_Runs>\r
+<Runs>39</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>24</Rank>\r
+<Player_Team>Paul Byrd, KC</Player_Team>\r
+<ERA>4.25</ERA>\r
+<Wins>9</Wins>\r
+<Losses>5</Losses>\r
+<Win_Percentage>0.643</Win_Percentage>\r
+<Innings_Pitched>97.1</Innings_Pitched>\r
+<Earned_Runs>46</Earned_Runs>\r
+<Runs>51</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>25</Rank>\r
+<Player_Team>Joe Kennedy, TB</Player_Team>\r
+<ERA>4.26</ERA>\r
+<Wins>5</Wins>\r
+<Losses>6</Losses>\r
+<Win_Percentage>0.455</Win_Percentage>\r
+<Innings_Pitched>101.1</Innings_Pitched>\r
+<Earned_Runs>48</Earned_Runs>\r
+<Runs>54</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>26</Rank>\r
+<Player_Team>Kevin Appier, ANA</Player_Team>\r
+<ERA>4.26</ERA>\r
+<Wins>6</Wins>\r
+<Losses>6</Losses>\r
+<Win_Percentage>0.500</Win_Percentage>\r
+<Innings_Pitched>82.1</Innings_Pitched>\r
+<Earned_Runs>39</Earned_Runs>\r
+<Runs>45</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>27</Rank>\r
+<Player_Team>Jon Garland, SOX</Player_Team>\r
+<ERA>4.34</ERA>\r
+<Wins>6</Wins>\r
+<Losses>5</Losses>\r
+<Win_Percentage>0.545</Win_Percentage>\r
+<Innings_Pitched>85.0</Innings_Pitched>\r
+<Earned_Runs>41</Earned_Runs>\r
+<Runs>46</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>28</Rank>\r
+<Player_Team>Rick Reed, MIN</Player_Team>\r
+<ERA>4.48</ERA>\r
+<Wins>6</Wins>\r
+<Losses>3</Losses>\r
+<Win_Percentage>0.667</Win_Percentage>\r
+<Innings_Pitched>82.1</Innings_Pitched>\r
+<Earned_Runs>41</Earned_Runs>\r
+<Runs>49</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>29</Rank>\r
+<Player_Team>Mike Mussina, NYY</Player_Team>\r
+<ERA>4.51</ERA>\r
+<Wins>10</Wins>\r
+<Losses>3</Losses>\r
+<Win_Percentage>0.769</Win_Percentage>\r
+<Innings_Pitched>103.2</Innings_Pitched>\r
+<Earned_Runs>52</Earned_Runs>\r
+<Runs>53</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>30</Rank>\r
+<Player_Team>Frank Castillo, BOS</Player_Team>\r
+<ERA>4.55</ERA>\r
+<Wins>5</Wins>\r
+<Losses>7</Losses>\r
+<Win_Percentage>0.417</Win_Percentage>\r
+<Innings_Pitched>83.0</Innings_Pitched>\r
+<Earned_Runs>42</Earned_Runs>\r
+<Runs>44</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>31</Rank>\r
+<Player_Team>Jeff Suppan, KC</Player_Team>\r
+<ERA>4.66</ERA>\r
+<Wins>5</Wins>\r
+<Losses>6</Losses>\r
+<Win_Percentage>0.455</Win_Percentage>\r
+<Innings_Pitched>100.1</Innings_Pitched>\r
+<Earned_Runs>52</Earned_Runs>\r
+<Runs>55</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>32</Rank>\r
+<Player_Team>Scott Erickson, BAL</Player_Team>\r
+<ERA>4.76</ERA>\r
+<Wins>3</Wins>\r
+<Losses>6</Losses>\r
+<Win_Percentage>0.333</Win_Percentage>\r
+<Innings_Pitched>96.1</Innings_Pitched>\r
+<Earned_Runs>51</Earned_Runs>\r
+<Runs>57</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>33</Rank>\r
+<Player_Team>Scott Schoeneweis, ANA</Player_Team>\r
+<ERA>4.83</ERA>\r
+<Wins>6</Wins>\r
+<Losses>5</Losses>\r
+<Win_Percentage>0.545</Win_Percentage>\r
+<Innings_Pitched>85.2</Innings_Pitched>\r
+<Earned_Runs>46</Earned_Runs>\r
+<Runs>49</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>34</Rank>\r
+<Player_Team>James Baldwin, SEA</Player_Team>\r
+<ERA>4.93</ERA>\r
+<Wins>5</Wins>\r
+<Losses>6</Losses>\r
+<Win_Percentage>0.455</Win_Percentage>\r
+<Innings_Pitched>84.0</Innings_Pitched>\r
+<Earned_Runs>46</Earned_Runs>\r
+<Runs>51</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>35</Rank>\r
+<Player_Team>C.C. Sabathia, CLE</Player_Team>\r
+<ERA>5.00</ERA>\r
+<Wins>5</Wins>\r
+<Losses>6</Losses>\r
+<Win_Percentage>0.455</Win_Percentage>\r
+<Innings_Pitched>90.0</Innings_Pitched>\r
+<Earned_Runs>50</Earned_Runs>\r
+<Runs>53</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>36</Rank>\r
+<Player_Team>Tanyon Sturtze, TB</Player_Team>\r
+<ERA>5.09</ERA>\r
+<Wins>0</Wins>\r
+<Losses>8</Losses>\r
+<Win_Percentage>0.000</Win_Percentage>\r
+<Innings_Pitched>97.1</Innings_Pitched>\r
+<Earned_Runs>55</Earned_Runs>\r
+<Runs>61</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>37</Rank>\r
+<Player_Team>Todd Ritchie, SOX</Player_Team>\r
+<ERA>5.11</ERA>\r
+<Wins>4</Wins>\r
+<Losses>9</Losses>\r
+<Win_Percentage>0.308</Win_Percentage>\r
+<Innings_Pitched>93.1</Innings_Pitched>\r
+<Earned_Runs>53</Earned_Runs>\r
+<Runs>66</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>38</Rank>\r
+<Player_Team>Eric Milton, MIN</Player_Team>\r
+<ERA>5.27</ERA>\r
+<Wins>8</Wins>\r
+<Losses>5</Losses>\r
+<Win_Percentage>0.615</Win_Percentage>\r
+<Innings_Pitched>94.0</Innings_Pitched>\r
+<Earned_Runs>55</Earned_Runs>\r
+<Runs>59</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>39</Rank>\r
+<Player_Team>Aaron Sele, ANA</Player_Team>\r
+<ERA>5.29</ERA>\r
+<Wins>6</Wins>\r
+<Losses>4</Losses>\r
+<Win_Percentage>0.600</Win_Percentage>\r
+<Innings_Pitched>85.0</Innings_Pitched>\r
+<Earned_Runs>50</Earned_Runs>\r
+<Runs>54</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>40</Rank>\r
+<Player_Team>Kyle Lohse, MIN</Player_Team>\r
+<ERA>5.40</ERA>\r
+<Wins>6</Wins>\r
+<Losses>5</Losses>\r
+<Win_Percentage>0.545</Win_Percentage>\r
+<Innings_Pitched>81.2</Innings_Pitched>\r
+<Earned_Runs>49</Earned_Runs>\r
+<Runs>53</Runs>\r
+</Listing>\r
+</Top_ERA_Leaders>\r
+<time_stamp> June 24, 2002, at 04:51 PM ET </time_stamp>\r
+</message>\r
index 253136b51fe90225b6e63e2259ab8000e67da274..115fe105c58a5941b5479568d8cfaf166d2cb868 100644 (file)
@@ -132,7 +132,7 @@ dtds =
     "MLBWalkRateXML.dtd",
     "mlbwalksleadersxml.dtd",
     "MLBXtraBaseHitsXML.dtd",
-    "MLB_ERA_Leaders.dtd", -- no dtd
+    "MLB_ERA_Leaders.dtd",
     "MLB_Fielding_XML.dtd", -- no dtd
     "MLB_Pitching_Appearances_Leaders.dtd",
     "MLB_Pitching_Balks_Leaders.dtd", -- no dtd
@@ -377,7 +377,8 @@ sport_info_test_files =
     "MLBWalkRateXML.xml",
     "mlbwalksleadersxml.xml",
     "MLBXtraBaseHitsXML.xml",
-    "MLB_Pitching_Appearances_Leaders.xml"
+    "MLB_Pitching_Appearances_Leaders.xml",
+    "MLB_ERA_Leaders.xml"
   ]
 
 
diff --git a/test/xml/sportinfo/MLB_ERA_Leaders.dtd b/test/xml/sportinfo/MLB_ERA_Leaders.dtd
new file mode 100644 (file)
index 0000000..6b35def
--- /dev/null
@@ -0,0 +1,36 @@
+<!ELEMENT message  (XML_File_ID, heading , category , sport , Title , Top_ERA_Leaders , time_stamp )>\r
+\r
+<!ELEMENT XML_File_ID  (#PCDATA )>\r
+\r
+<!ELEMENT heading  (#PCDATA )>\r
+\r
+<!ELEMENT category  (#PCDATA )>\r
+\r
+<!ELEMENT sport  (#PCDATA )>\r
+\r
+<!ELEMENT Title  (#PCDATA )>\r
+\r
+<!ELEMENT Top_ERA_Leaders  (Listing+ )>\r
+\r
+<!ELEMENT Listing  (Rank , Player_Team , ERA , Wins , Losses , Win_Percentage , Innings_Pitched , Earned_Runs , Runs )>\r
+\r
+<!ELEMENT Rank  (#PCDATA )>\r
+\r
+<!ELEMENT Player_Team  (#PCDATA )>\r
+\r
+<!ELEMENT ERA  (#PCDATA )>\r
+\r
+<!ELEMENT Wins  (#PCDATA )>\r
+\r
+<!ELEMENT Losses  (#PCDATA )>\r
+\r
+<!ELEMENT Win_Percentage  (#PCDATA )>\r
+\r
+<!ELEMENT Innings_Pitched  (#PCDATA )>\r
+\r
+<!ELEMENT Earned_Runs  (#PCDATA )>\r
+\r
+<!ELEMENT Runs  (#PCDATA )>\r
+\r
+<!ELEMENT time_stamp  (#PCDATA )>\r
+\r
diff --git a/test/xml/sportinfo/MLB_ERA_Leaders.xml b/test/xml/sportinfo/MLB_ERA_Leaders.xml
new file mode 100644 (file)
index 0000000..08aedf0
--- /dev/null
@@ -0,0 +1,452 @@
+<?xml version="1.0" standalone="no" ?>\r
+<!DOCTYPE message PUBLIC "-//TSN//DTD Statistics 1.0/EN" "MLB_ERA_Leaders.dtd">\r
+<message>\r
+<XML_File_ID>1000017</XML_File_ID>\r
+<heading>AAX%AL-ERA-LEADERS</heading>\r
+<category>Statistics</category>\r
+<sport>MLB</sport>\r
+<Title>2002 AL ERA Leaders</Title>\r
+<Top_ERA_Leaders>\r
+<Listing>\r
+<Rank>1</Rank>\r
+<Player_Team>Derek Lowe, BOS</Player_Team>\r
+<ERA>2.16</ERA>\r
+<Wins>11</Wins>\r
+<Losses>3</Losses>\r
+<Win_Percentage>0.786</Win_Percentage>\r
+<Innings_Pitched>104.1</Innings_Pitched>\r
+<Earned_Runs>25</Earned_Runs>\r
+<Runs>25</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>2</Rank>\r
+<Player_Team>Bartolo Colon, CLE</Player_Team>\r
+<ERA>2.55</ERA>\r
+<Wins>10</Wins>\r
+<Losses>4</Losses>\r
+<Win_Percentage>0.714</Win_Percentage>\r
+<Innings_Pitched>116.1</Innings_Pitched>\r
+<Earned_Runs>33</Earned_Runs>\r
+<Runs>37</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>3</Rank>\r
+<Player_Team>Rodrigo Lopez, BAL</Player_Team>\r
+<ERA>2.70</ERA>\r
+<Wins>6</Wins>\r
+<Losses>3</Losses>\r
+<Win_Percentage>0.667</Win_Percentage>\r
+<Innings_Pitched>86.2</Innings_Pitched>\r
+<Earned_Runs>26</Earned_Runs>\r
+<Runs>28</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>4</Rank>\r
+<Player_Team>Mark Buehrle, SOX</Player_Team>\r
+<ERA>2.86</ERA>\r
+<Wins>10</Wins>\r
+<Losses>5</Losses>\r
+<Win_Percentage>0.667</Win_Percentage>\r
+<Innings_Pitched>110.0</Innings_Pitched>\r
+<Earned_Runs>35</Earned_Runs>\r
+<Runs>42</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>5</Rank>\r
+<Player_Team>Pedro Martinez, BOS</Player_Team>\r
+<ERA>2.92</ERA>\r
+<Wins>8</Wins>\r
+<Losses>2</Losses>\r
+<Win_Percentage>0.800</Win_Percentage>\r
+<Innings_Pitched>95.2</Innings_Pitched>\r
+<Earned_Runs>31</Earned_Runs>\r
+<Runs>38</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>6</Rank>\r
+<Player_Team>Freddy Garcia, SEA</Player_Team>\r
+<ERA>3.02</ERA>\r
+<Wins>10</Wins>\r
+<Losses>4</Losses>\r
+<Win_Percentage>0.714</Win_Percentage>\r
+<Innings_Pitched>110.1</Innings_Pitched>\r
+<Earned_Runs>37</Earned_Runs>\r
+<Runs>38</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>7</Rank>\r
+<Player_Team>Joel Pineiro, SEA</Player_Team>\r
+<ERA>3.04</ERA>\r
+<Wins>7</Wins>\r
+<Losses>3</Losses>\r
+<Win_Percentage>0.700</Win_Percentage>\r
+<Innings_Pitched>83.0</Innings_Pitched>\r
+<Earned_Runs>28</Earned_Runs>\r
+<Runs>31</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>8</Rank>\r
+<Player_Team>Barry Zito, OAK</Player_Team>\r
+<ERA>3.07</ERA>\r
+<Wins>10</Wins>\r
+<Losses>2</Losses>\r
+<Win_Percentage>0.833</Win_Percentage>\r
+<Innings_Pitched>102.2</Innings_Pitched>\r
+<Earned_Runs>35</Earned_Runs>\r
+<Runs>36</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>9</Rank>\r
+<Player_Team>Roy Halladay, TOR</Player_Team>\r
+<ERA>3.19</ERA>\r
+<Wins>9</Wins>\r
+<Losses>3</Losses>\r
+<Win_Percentage>0.750</Win_Percentage>\r
+<Innings_Pitched>113.0</Innings_Pitched>\r
+<Earned_Runs>40</Earned_Runs>\r
+<Runs>50</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>10</Rank>\r
+<Player_Team>Kenny Rogers, TEX</Player_Team>\r
+<ERA>3.24</ERA>\r
+<Wins>8</Wins>\r
+<Losses>4</Losses>\r
+<Win_Percentage>0.667</Win_Percentage>\r
+<Innings_Pitched>102.2</Innings_Pitched>\r
+<Earned_Runs>37</Earned_Runs>\r
+<Runs>41</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>11</Rank>\r
+<Player_Team>Jeff Weaver, DET</Player_Team>\r
+<ERA>3.32</ERA>\r
+<Wins>5</Wins>\r
+<Losses>8</Losses>\r
+<Win_Percentage>0.385</Win_Percentage>\r
+<Innings_Pitched>114.0</Innings_Pitched>\r
+<Earned_Runs>42</Earned_Runs>\r
+<Runs>49</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>12</Rank>\r
+<Player_Team>Ramon Ortiz, ANA</Player_Team>\r
+<ERA>3.34</ERA>\r
+<Wins>8</Wins>\r
+<Losses>5</Losses>\r
+<Win_Percentage>0.615</Win_Percentage>\r
+<Innings_Pitched>102.1</Innings_Pitched>\r
+<Earned_Runs>38</Earned_Runs>\r
+<Runs>39</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>13</Rank>\r
+<Player_Team>Jamie Moyer, SEA</Player_Team>\r
+<ERA>3.47</ERA>\r
+<Wins>7</Wins>\r
+<Losses>3</Losses>\r
+<Win_Percentage>0.700</Win_Percentage>\r
+<Innings_Pitched>106.1</Innings_Pitched>\r
+<Earned_Runs>41</Earned_Runs>\r
+<Runs>43</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>14</Rank>\r
+<Player_Team>Jarrod Washburn, ANA</Player_Team>\r
+<ERA>3.59</ERA>\r
+<Wins>7</Wins>\r
+<Losses>2</Losses>\r
+<Win_Percentage>0.778</Win_Percentage>\r
+<Innings_Pitched>92.2</Innings_Pitched>\r
+<Earned_Runs>37</Earned_Runs>\r
+<Runs>39</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>15</Rank>\r
+<Player_Team>David Wells, NYY</Player_Team>\r
+<ERA>3.61</ERA>\r
+<Wins>7</Wins>\r
+<Losses>5</Losses>\r
+<Win_Percentage>0.583</Win_Percentage>\r
+<Innings_Pitched>99.2</Innings_Pitched>\r
+<Earned_Runs>40</Earned_Runs>\r
+<Runs>44</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>16</Rank>\r
+<Player_Team>Mark Redman, DET</Player_Team>\r
+<ERA>3.66</ERA>\r
+<Wins>3</Wins>\r
+<Losses>7</Losses>\r
+<Win_Percentage>0.300</Win_Percentage>\r
+<Innings_Pitched>105.2</Innings_Pitched>\r
+<Earned_Runs>43</Earned_Runs>\r
+<Runs>52</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>17</Rank>\r
+<Player_Team>Tim Hudson, OAK</Player_Team>\r
+<ERA>3.73</ERA>\r
+<Wins>5</Wins>\r
+<Losses>6</Losses>\r
+<Win_Percentage>0.455</Win_Percentage>\r
+<Innings_Pitched>108.2</Innings_Pitched>\r
+<Earned_Runs>45</Earned_Runs>\r
+<Runs>46</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>18</Rank>\r
+<Player_Team>Roger Clemens, NYY</Player_Team>\r
+<ERA>3.76</ERA>\r
+<Wins>8</Wins>\r
+<Losses>3</Losses>\r
+<Win_Percentage>0.727</Win_Percentage>\r
+<Innings_Pitched>103.0</Innings_Pitched>\r
+<Earned_Runs>43</Earned_Runs>\r
+<Runs>47</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>19</Rank>\r
+<Player_Team>Chuck Finley, CLE</Player_Team>\r
+<ERA>3.84</ERA>\r
+<Wins>4</Wins>\r
+<Losses>9</Losses>\r
+<Win_Percentage>0.308</Win_Percentage>\r
+<Innings_Pitched>89.0</Innings_Pitched>\r
+<Earned_Runs>38</Earned_Runs>\r
+<Runs>41</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>20</Rank>\r
+<Player_Team>Ismael Valdes, TEX</Player_Team>\r
+<ERA>3.86</ERA>\r
+<Wins>4</Wins>\r
+<Losses>6</Losses>\r
+<Win_Percentage>0.400</Win_Percentage>\r
+<Innings_Pitched>86.1</Innings_Pitched>\r
+<Earned_Runs>37</Earned_Runs>\r
+<Runs>38</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>21</Rank>\r
+<Player_Team>Paul Wilson, TB</Player_Team>\r
+<ERA>4.06</ERA>\r
+<Wins>2</Wins>\r
+<Losses>6</Losses>\r
+<Win_Percentage>0.250</Win_Percentage>\r
+<Innings_Pitched>95.1</Innings_Pitched>\r
+<Earned_Runs>43</Earned_Runs>\r
+<Runs>49</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>22</Rank>\r
+<Player_Team>Sidney Ponson, BAL</Player_Team>\r
+<ERA>4.07</ERA>\r
+<Wins>3</Wins>\r
+<Losses>4</Losses>\r
+<Win_Percentage>0.429</Win_Percentage>\r
+<Innings_Pitched>95.0</Innings_Pitched>\r
+<Earned_Runs>43</Earned_Runs>\r
+<Runs>45</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>23</Rank>\r
+<Player_Team>Danys Baez, CLE</Player_Team>\r
+<ERA>4.22</ERA>\r
+<Wins>5</Wins>\r
+<Losses>5</Losses>\r
+<Win_Percentage>0.500</Win_Percentage>\r
+<Innings_Pitched>81.0</Innings_Pitched>\r
+<Earned_Runs>38</Earned_Runs>\r
+<Runs>39</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>24</Rank>\r
+<Player_Team>Paul Byrd, KC</Player_Team>\r
+<ERA>4.25</ERA>\r
+<Wins>9</Wins>\r
+<Losses>5</Losses>\r
+<Win_Percentage>0.643</Win_Percentage>\r
+<Innings_Pitched>97.1</Innings_Pitched>\r
+<Earned_Runs>46</Earned_Runs>\r
+<Runs>51</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>25</Rank>\r
+<Player_Team>Joe Kennedy, TB</Player_Team>\r
+<ERA>4.26</ERA>\r
+<Wins>5</Wins>\r
+<Losses>6</Losses>\r
+<Win_Percentage>0.455</Win_Percentage>\r
+<Innings_Pitched>101.1</Innings_Pitched>\r
+<Earned_Runs>48</Earned_Runs>\r
+<Runs>54</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>26</Rank>\r
+<Player_Team>Kevin Appier, ANA</Player_Team>\r
+<ERA>4.26</ERA>\r
+<Wins>6</Wins>\r
+<Losses>6</Losses>\r
+<Win_Percentage>0.500</Win_Percentage>\r
+<Innings_Pitched>82.1</Innings_Pitched>\r
+<Earned_Runs>39</Earned_Runs>\r
+<Runs>45</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>27</Rank>\r
+<Player_Team>Jon Garland, SOX</Player_Team>\r
+<ERA>4.34</ERA>\r
+<Wins>6</Wins>\r
+<Losses>5</Losses>\r
+<Win_Percentage>0.545</Win_Percentage>\r
+<Innings_Pitched>85.0</Innings_Pitched>\r
+<Earned_Runs>41</Earned_Runs>\r
+<Runs>46</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>28</Rank>\r
+<Player_Team>Rick Reed, MIN</Player_Team>\r
+<ERA>4.48</ERA>\r
+<Wins>6</Wins>\r
+<Losses>3</Losses>\r
+<Win_Percentage>0.667</Win_Percentage>\r
+<Innings_Pitched>82.1</Innings_Pitched>\r
+<Earned_Runs>41</Earned_Runs>\r
+<Runs>49</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>29</Rank>\r
+<Player_Team>Mike Mussina, NYY</Player_Team>\r
+<ERA>4.51</ERA>\r
+<Wins>10</Wins>\r
+<Losses>3</Losses>\r
+<Win_Percentage>0.769</Win_Percentage>\r
+<Innings_Pitched>103.2</Innings_Pitched>\r
+<Earned_Runs>52</Earned_Runs>\r
+<Runs>53</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>30</Rank>\r
+<Player_Team>Frank Castillo, BOS</Player_Team>\r
+<ERA>4.55</ERA>\r
+<Wins>5</Wins>\r
+<Losses>7</Losses>\r
+<Win_Percentage>0.417</Win_Percentage>\r
+<Innings_Pitched>83.0</Innings_Pitched>\r
+<Earned_Runs>42</Earned_Runs>\r
+<Runs>44</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>31</Rank>\r
+<Player_Team>Jeff Suppan, KC</Player_Team>\r
+<ERA>4.66</ERA>\r
+<Wins>5</Wins>\r
+<Losses>6</Losses>\r
+<Win_Percentage>0.455</Win_Percentage>\r
+<Innings_Pitched>100.1</Innings_Pitched>\r
+<Earned_Runs>52</Earned_Runs>\r
+<Runs>55</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>32</Rank>\r
+<Player_Team>Scott Erickson, BAL</Player_Team>\r
+<ERA>4.76</ERA>\r
+<Wins>3</Wins>\r
+<Losses>6</Losses>\r
+<Win_Percentage>0.333</Win_Percentage>\r
+<Innings_Pitched>96.1</Innings_Pitched>\r
+<Earned_Runs>51</Earned_Runs>\r
+<Runs>57</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>33</Rank>\r
+<Player_Team>Scott Schoeneweis, ANA</Player_Team>\r
+<ERA>4.83</ERA>\r
+<Wins>6</Wins>\r
+<Losses>5</Losses>\r
+<Win_Percentage>0.545</Win_Percentage>\r
+<Innings_Pitched>85.2</Innings_Pitched>\r
+<Earned_Runs>46</Earned_Runs>\r
+<Runs>49</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>34</Rank>\r
+<Player_Team>James Baldwin, SEA</Player_Team>\r
+<ERA>4.93</ERA>\r
+<Wins>5</Wins>\r
+<Losses>6</Losses>\r
+<Win_Percentage>0.455</Win_Percentage>\r
+<Innings_Pitched>84.0</Innings_Pitched>\r
+<Earned_Runs>46</Earned_Runs>\r
+<Runs>51</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>35</Rank>\r
+<Player_Team>C.C. Sabathia, CLE</Player_Team>\r
+<ERA>5.00</ERA>\r
+<Wins>5</Wins>\r
+<Losses>6</Losses>\r
+<Win_Percentage>0.455</Win_Percentage>\r
+<Innings_Pitched>90.0</Innings_Pitched>\r
+<Earned_Runs>50</Earned_Runs>\r
+<Runs>53</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>36</Rank>\r
+<Player_Team>Tanyon Sturtze, TB</Player_Team>\r
+<ERA>5.09</ERA>\r
+<Wins>0</Wins>\r
+<Losses>8</Losses>\r
+<Win_Percentage>0.000</Win_Percentage>\r
+<Innings_Pitched>97.1</Innings_Pitched>\r
+<Earned_Runs>55</Earned_Runs>\r
+<Runs>61</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>37</Rank>\r
+<Player_Team>Todd Ritchie, SOX</Player_Team>\r
+<ERA>5.11</ERA>\r
+<Wins>4</Wins>\r
+<Losses>9</Losses>\r
+<Win_Percentage>0.308</Win_Percentage>\r
+<Innings_Pitched>93.1</Innings_Pitched>\r
+<Earned_Runs>53</Earned_Runs>\r
+<Runs>66</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>38</Rank>\r
+<Player_Team>Eric Milton, MIN</Player_Team>\r
+<ERA>5.27</ERA>\r
+<Wins>8</Wins>\r
+<Losses>5</Losses>\r
+<Win_Percentage>0.615</Win_Percentage>\r
+<Innings_Pitched>94.0</Innings_Pitched>\r
+<Earned_Runs>55</Earned_Runs>\r
+<Runs>59</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>39</Rank>\r
+<Player_Team>Aaron Sele, ANA</Player_Team>\r
+<ERA>5.29</ERA>\r
+<Wins>6</Wins>\r
+<Losses>4</Losses>\r
+<Win_Percentage>0.600</Win_Percentage>\r
+<Innings_Pitched>85.0</Innings_Pitched>\r
+<Earned_Runs>50</Earned_Runs>\r
+<Runs>54</Runs>\r
+</Listing>\r
+<Listing>\r
+<Rank>40</Rank>\r
+<Player_Team>Kyle Lohse, MIN</Player_Team>\r
+<ERA>5.40</ERA>\r
+<Wins>6</Wins>\r
+<Losses>5</Losses>\r
+<Win_Percentage>0.545</Win_Percentage>\r
+<Innings_Pitched>81.2</Innings_Pitched>\r
+<Earned_Runs>49</Earned_Runs>\r
+<Runs>53</Runs>\r
+</Listing>\r
+</Top_ERA_Leaders>\r
+<time_stamp> June 24, 2002, at 04:51 PM ET </time_stamp>\r
+</message>\r