]> gitweb.michael.orlitzky.com - dead/htsn-import.git/commitdiff
Add SportInfo support for mlbdoublesleadersxml.dtd.
authorMichael Orlitzky <michael@orlitzky.com>
Tue, 17 Jun 2014 12:39:47 +0000 (08:39 -0400)
committerMichael Orlitzky <michael@orlitzky.com>
Tue, 17 Jun 2014 12:39:47 +0000 (08:39 -0400)
doc/man1/htsn-import.1
schema/mlbdoublesleadersxml.dtd [new file with mode: 0644]
schemagen/mlbdoublesleadersxml/mlbdoublesleadersxml.xml [new file with mode: 0644]
src/TSN/XML/SportInfo.hs
test/xml/sportinfo/mlbdoublesleadersxml.dtd [new file with mode: 0644]
test/xml/sportinfo/mlbdoublesleadersxml.xml [new file with mode: 0644]

index 774e08298772c9f09cf6a208489e87622aa17719..2d4abd46eee97b63fcb38ec72a64127bcbf68e6c 100644 (file)
@@ -178,6 +178,8 @@ Minor_Baseball_Standings_XML.dtd
 Minor_Baseball_Transactions_XML.dtd
 .IP \[bu]
 mlbbattingavgxml.dtd
+.IP \[bu]
+mlbdoublesleadersxml.dtd
 .RE
 .P
 The GameInfo and SportInfo types do not have their own top-level
diff --git a/schema/mlbdoublesleadersxml.dtd b/schema/mlbdoublesleadersxml.dtd
new file mode 100644 (file)
index 0000000..12319be
--- /dev/null
@@ -0,0 +1,28 @@
+<!ELEMENT message  (XML_File_ID, heading , category , sport , title , listing+ , 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 listing  (rank , name , doubles , average , atbats , hits )>\r
+\r
+<!ELEMENT rank  (#PCDATA )>\r
+\r
+<!ELEMENT name  (#PCDATA )>\r
+\r
+<!ELEMENT doubles  (#PCDATA )>\r
+\r
+<!ELEMENT average  (#PCDATA )>\r
+\r
+<!ELEMENT atbats  (#PCDATA )>\r
+\r
+<!ELEMENT hits  (#PCDATA )>\r
+\r
+<!ELEMENT time_stamp  (#PCDATA )>\r
+\r
diff --git a/schemagen/mlbdoublesleadersxml/mlbdoublesleadersxml.xml b/schemagen/mlbdoublesleadersxml/mlbdoublesleadersxml.xml
new file mode 100644 (file)
index 0000000..aa83424
--- /dev/null
@@ -0,0 +1,330 @@
+<?xml version="1.0" standalone="no" ?>\r
+<!DOCTYPE message PUBLIC "-//TSN//DTD Statistics 1.0/EN" "mlbdoublesleadersxml.dtd">\r
+<message>\r
+<XML_File_ID>2122217</XML_File_ID>\r
+<heading>AAX%AL-DOUBLES-LEADERS</heading>\r
+<category>Statistics</category>\r
+<sport>MLB</sport>\r
+<title>2001 AL Doubles Leaders</title>\r
+<listing>\r
+<rank>1</rank>\r
+<name>Mike Sweeney, KC</name>\r
+<doubles>35</doubles>\r
+<average>.335</average>\r
+<atbats>316</atbats>\r
+<hits>106</hits>\r
+</listing>\r
+<listing>\r
+<rank>2</rank>\r
+<name>Edgar Martinez, SEA</name>\r
+<doubles>25</doubles>\r
+<average>.303</average>\r
+<atbats>267</atbats>\r
+<hits>81</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Jason Giambi, OAK</name>\r
+<doubles>25</doubles>\r
+<average>.337</average>\r
+<atbats>267</atbats>\r
+<hits>90</hits>\r
+</listing>\r
+<listing>\r
+<rank>4</rank>\r
+<name>Eric Chavez, OAK</name>\r
+<doubles>24</doubles>\r
+<average>.247</average>\r
+<atbats>287</atbats>\r
+<hits>71</hits>\r
+</listing>\r
+<listing>\r
+<rank>5</rank>\r
+<name>Shannon Stewart, TOR</name>\r
+<doubles>23</doubles>\r
+<average>.323</average>\r
+<atbats>337</atbats>\r
+<hits>109</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Rusty Greer, TEX</name>\r
+<doubles>23</doubles>\r
+<average>.273</average>\r
+<atbats>245</atbats>\r
+<hits>67</hits>\r
+</listing>\r
+<listing>\r
+<rank>7</rank>\r
+<name>Ray Durham, SOX</name>\r
+<doubles>21</doubles>\r
+<average>.247</average>\r
+<atbats>296</atbats>\r
+<hits>73</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Troy Glaus, ANA</name>\r
+<doubles>21</doubles>\r
+<average>.250</average>\r
+<atbats>296</atbats>\r
+<hits>74</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Alfonso Soriano, NYY</name>\r
+<doubles>21</doubles>\r
+<average>.272</average>\r
+<atbats>290</atbats>\r
+<hits>79</hits>\r
+</listing>\r
+<listing>\r
+<rank>10</rank>\r
+<name>Brad Fullmer, TOR</name>\r
+<doubles>20</doubles>\r
+<average>.265</average>\r
+<atbats>294</atbats>\r
+<hits>78</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Raul Mondesi, TOR</name>\r
+<doubles>20</doubles>\r
+<average>.283</average>\r
+<atbats>315</atbats>\r
+<hits>89</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Doug Mientkiewicz, MIN</name>\r
+<doubles>20</doubles>\r
+<average>.312</average>\r
+<atbats>285</atbats>\r
+<hits>89</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Melvin Mora, BAL</name>\r
+<doubles>20</doubles>\r
+<average>.292</average>\r
+<atbats>240</atbats>\r
+<hits>70</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Joe Randa, KC</name>\r
+<doubles>20</doubles>\r
+<average>.256</average>\r
+<atbats>305</atbats>\r
+<hits>78</hits>\r
+</listing>\r
+<listing>\r
+<rank>15</rank>\r
+<name>Einar Diaz, CLE</name>\r
+<doubles>19</doubles>\r
+<average>.320</average>\r
+<atbats>206</atbats>\r
+<hits>66</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Alex Rodriguez, TEX</name>\r
+<doubles>19</doubles>\r
+<average>.315</average>\r
+<atbats>317</atbats>\r
+<hits>100</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Darin Erstad, ANA</name>\r
+<doubles>19</doubles>\r
+<average>.283</average>\r
+<atbats>322</atbats>\r
+<hits>91</hits>\r
+</listing>\r
+<listing>\r
+<rank>18</rank>\r
+<name>Ellis Burks, CLE</name>\r
+<doubles>18</doubles>\r
+<average>.295</average>\r
+<atbats>261</atbats>\r
+<hits>77</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Juan Gonzalez, CLE</name>\r
+<doubles>18</doubles>\r
+<average>.341</average>\r
+<atbats>296</atbats>\r
+<hits>101</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Mike Cameron, SEA</name>\r
+<doubles>18</doubles>\r
+<average>.270</average>\r
+<atbats>270</atbats>\r
+<hits>73</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Rafael Palmeiro, TEX</name>\r
+<doubles>18</doubles>\r
+<average>.262</average>\r
+<atbats>298</atbats>\r
+<hits>78</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Corey Koskie, MIN</name>\r
+<doubles>18</doubles>\r
+<average>.262</average>\r
+<atbats>275</atbats>\r
+<hits>72</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Matt Lawton, MIN</name>\r
+<doubles>18</doubles>\r
+<average>.299</average>\r
+<atbats>291</atbats>\r
+<hits>87</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Cristian Guzman, MIN</name>\r
+<doubles>18</doubles>\r
+<average>.306</average>\r
+<atbats>324</atbats>\r
+<hits>99</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Ichiro Suzuki, SEA</name>\r
+<doubles>18</doubles>\r
+<average>.349</average>\r
+<atbats>361</atbats>\r
+<hits>126</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Carl Everett, BOS</name>\r
+<doubles>18</doubles>\r
+<average>.284</average>\r
+<atbats>282</atbats>\r
+<hits>80</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Manny Ramirez, BOS</name>\r
+<doubles>18</doubles>\r
+<average>.331</average>\r
+<atbats>305</atbats>\r
+<hits>101</hits>\r
+</listing>\r
+<listing>\r
+<rank>28</rank>\r
+<name>Dante Bichette, BOS</name>\r
+<doubles>17</doubles>\r
+<average>.350</average>\r
+<atbats>180</atbats>\r
+<hits>63</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Roberto Alomar, CLE</name>\r
+<doubles>17</doubles>\r
+<average>.354</average>\r
+<atbats>291</atbats>\r
+<hits>103</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Carlos Lee, SOX</name>\r
+<doubles>17</doubles>\r
+<average>.302</average>\r
+<atbats>268</atbats>\r
+<hits>81</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Miguel Tejada, OAK</name>\r
+<doubles>17</doubles>\r
+<average>.268</average>\r
+<atbats>317</atbats>\r
+<hits>85</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Gerald Williams, NYY</name>\r
+<doubles>17</doubles>\r
+<average>.207</average>\r
+<atbats>232</atbats>\r
+<hits>48</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Deivi Cruz, DET</name>\r
+<doubles>17</doubles>\r
+<average>.248</average>\r
+<atbats>210</atbats>\r
+<hits>52</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Damion Easley, DET</name>\r
+<doubles>17</doubles>\r
+<average>.285</average>\r
+<atbats>274</atbats>\r
+<hits>78</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Paul O`Neill, NYY</name>\r
+<doubles>17</doubles>\r
+<average>.260</average>\r
+<atbats>300</atbats>\r
+<hits>78</hits>\r
+</listing>\r
+<listing>\r
+<rank>36</rank>\r
+<name>Jose Offerman, BOS</name>\r
+<doubles>16</doubles>\r
+<average>.270</average>\r
+<atbats>289</atbats>\r
+<hits>78</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Jose Valentin, SOX</name>\r
+<doubles>16</doubles>\r
+<average>.286</average>\r
+<atbats>227</atbats>\r
+<hits>65</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>John Olerud, SEA</name>\r
+<doubles>16</doubles>\r
+<average>.317</average>\r
+<atbats>287</atbats>\r
+<hits>91</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>A.J. Pierzynski, MIN</name>\r
+<doubles>16</doubles>\r
+<average>.299</average>\r
+<atbats>194</atbats>\r
+<hits>58</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Bret Boone, SEA</name>\r
+<doubles>16</doubles>\r
+<average>.326</average>\r
+<atbats>316</atbats>\r
+<hits>103</hits>\r
+</listing>\r
+<time_stamp> July 3, 2001, at 01:01 PM ET </time_stamp>\r
+</message>\r
index 366dcd48b47eb34ac9fc6b77b8de0580e8302334..0ab896a420075d4542023e4ce57d96717988af21 100644 (file)
@@ -106,7 +106,7 @@ dtds =
     "Minor_Baseball_Standings_XML.dtd",
     "Minor_Baseball_Transactions_XML.dtd",
     "mlbbattingavgxml.dtd",
-    "mlbdoublesleadersxml.dtd", -- no dtd
+    "mlbdoublesleadersxml.dtd",
     "MLBGamesPlayedXML.dtd", -- no dtd
     "MLBGIDPXML.dtd", -- no dtd
     "MLBHitByPitchXML.dtd", -- no dtd
@@ -350,7 +350,8 @@ sport_info_test_files =
     "Minor_Baseball_League_Leaders_XML.xml",
     "Minor_Baseball_Standings_XML.xml",
     "Minor_Baseball_Transactions_XML.xml",
-    "mlbbattingavgxml.xml"
+    "mlbbattingavgxml.xml",
+    "mlbdoublesleadersxml.xml"
   ]
 
 
diff --git a/test/xml/sportinfo/mlbdoublesleadersxml.dtd b/test/xml/sportinfo/mlbdoublesleadersxml.dtd
new file mode 100644 (file)
index 0000000..12319be
--- /dev/null
@@ -0,0 +1,28 @@
+<!ELEMENT message  (XML_File_ID, heading , category , sport , title , listing+ , 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 listing  (rank , name , doubles , average , atbats , hits )>\r
+\r
+<!ELEMENT rank  (#PCDATA )>\r
+\r
+<!ELEMENT name  (#PCDATA )>\r
+\r
+<!ELEMENT doubles  (#PCDATA )>\r
+\r
+<!ELEMENT average  (#PCDATA )>\r
+\r
+<!ELEMENT atbats  (#PCDATA )>\r
+\r
+<!ELEMENT hits  (#PCDATA )>\r
+\r
+<!ELEMENT time_stamp  (#PCDATA )>\r
+\r
diff --git a/test/xml/sportinfo/mlbdoublesleadersxml.xml b/test/xml/sportinfo/mlbdoublesleadersxml.xml
new file mode 100644 (file)
index 0000000..aa83424
--- /dev/null
@@ -0,0 +1,330 @@
+<?xml version="1.0" standalone="no" ?>\r
+<!DOCTYPE message PUBLIC "-//TSN//DTD Statistics 1.0/EN" "mlbdoublesleadersxml.dtd">\r
+<message>\r
+<XML_File_ID>2122217</XML_File_ID>\r
+<heading>AAX%AL-DOUBLES-LEADERS</heading>\r
+<category>Statistics</category>\r
+<sport>MLB</sport>\r
+<title>2001 AL Doubles Leaders</title>\r
+<listing>\r
+<rank>1</rank>\r
+<name>Mike Sweeney, KC</name>\r
+<doubles>35</doubles>\r
+<average>.335</average>\r
+<atbats>316</atbats>\r
+<hits>106</hits>\r
+</listing>\r
+<listing>\r
+<rank>2</rank>\r
+<name>Edgar Martinez, SEA</name>\r
+<doubles>25</doubles>\r
+<average>.303</average>\r
+<atbats>267</atbats>\r
+<hits>81</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Jason Giambi, OAK</name>\r
+<doubles>25</doubles>\r
+<average>.337</average>\r
+<atbats>267</atbats>\r
+<hits>90</hits>\r
+</listing>\r
+<listing>\r
+<rank>4</rank>\r
+<name>Eric Chavez, OAK</name>\r
+<doubles>24</doubles>\r
+<average>.247</average>\r
+<atbats>287</atbats>\r
+<hits>71</hits>\r
+</listing>\r
+<listing>\r
+<rank>5</rank>\r
+<name>Shannon Stewart, TOR</name>\r
+<doubles>23</doubles>\r
+<average>.323</average>\r
+<atbats>337</atbats>\r
+<hits>109</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Rusty Greer, TEX</name>\r
+<doubles>23</doubles>\r
+<average>.273</average>\r
+<atbats>245</atbats>\r
+<hits>67</hits>\r
+</listing>\r
+<listing>\r
+<rank>7</rank>\r
+<name>Ray Durham, SOX</name>\r
+<doubles>21</doubles>\r
+<average>.247</average>\r
+<atbats>296</atbats>\r
+<hits>73</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Troy Glaus, ANA</name>\r
+<doubles>21</doubles>\r
+<average>.250</average>\r
+<atbats>296</atbats>\r
+<hits>74</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Alfonso Soriano, NYY</name>\r
+<doubles>21</doubles>\r
+<average>.272</average>\r
+<atbats>290</atbats>\r
+<hits>79</hits>\r
+</listing>\r
+<listing>\r
+<rank>10</rank>\r
+<name>Brad Fullmer, TOR</name>\r
+<doubles>20</doubles>\r
+<average>.265</average>\r
+<atbats>294</atbats>\r
+<hits>78</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Raul Mondesi, TOR</name>\r
+<doubles>20</doubles>\r
+<average>.283</average>\r
+<atbats>315</atbats>\r
+<hits>89</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Doug Mientkiewicz, MIN</name>\r
+<doubles>20</doubles>\r
+<average>.312</average>\r
+<atbats>285</atbats>\r
+<hits>89</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Melvin Mora, BAL</name>\r
+<doubles>20</doubles>\r
+<average>.292</average>\r
+<atbats>240</atbats>\r
+<hits>70</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Joe Randa, KC</name>\r
+<doubles>20</doubles>\r
+<average>.256</average>\r
+<atbats>305</atbats>\r
+<hits>78</hits>\r
+</listing>\r
+<listing>\r
+<rank>15</rank>\r
+<name>Einar Diaz, CLE</name>\r
+<doubles>19</doubles>\r
+<average>.320</average>\r
+<atbats>206</atbats>\r
+<hits>66</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Alex Rodriguez, TEX</name>\r
+<doubles>19</doubles>\r
+<average>.315</average>\r
+<atbats>317</atbats>\r
+<hits>100</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Darin Erstad, ANA</name>\r
+<doubles>19</doubles>\r
+<average>.283</average>\r
+<atbats>322</atbats>\r
+<hits>91</hits>\r
+</listing>\r
+<listing>\r
+<rank>18</rank>\r
+<name>Ellis Burks, CLE</name>\r
+<doubles>18</doubles>\r
+<average>.295</average>\r
+<atbats>261</atbats>\r
+<hits>77</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Juan Gonzalez, CLE</name>\r
+<doubles>18</doubles>\r
+<average>.341</average>\r
+<atbats>296</atbats>\r
+<hits>101</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Mike Cameron, SEA</name>\r
+<doubles>18</doubles>\r
+<average>.270</average>\r
+<atbats>270</atbats>\r
+<hits>73</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Rafael Palmeiro, TEX</name>\r
+<doubles>18</doubles>\r
+<average>.262</average>\r
+<atbats>298</atbats>\r
+<hits>78</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Corey Koskie, MIN</name>\r
+<doubles>18</doubles>\r
+<average>.262</average>\r
+<atbats>275</atbats>\r
+<hits>72</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Matt Lawton, MIN</name>\r
+<doubles>18</doubles>\r
+<average>.299</average>\r
+<atbats>291</atbats>\r
+<hits>87</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Cristian Guzman, MIN</name>\r
+<doubles>18</doubles>\r
+<average>.306</average>\r
+<atbats>324</atbats>\r
+<hits>99</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Ichiro Suzuki, SEA</name>\r
+<doubles>18</doubles>\r
+<average>.349</average>\r
+<atbats>361</atbats>\r
+<hits>126</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Carl Everett, BOS</name>\r
+<doubles>18</doubles>\r
+<average>.284</average>\r
+<atbats>282</atbats>\r
+<hits>80</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Manny Ramirez, BOS</name>\r
+<doubles>18</doubles>\r
+<average>.331</average>\r
+<atbats>305</atbats>\r
+<hits>101</hits>\r
+</listing>\r
+<listing>\r
+<rank>28</rank>\r
+<name>Dante Bichette, BOS</name>\r
+<doubles>17</doubles>\r
+<average>.350</average>\r
+<atbats>180</atbats>\r
+<hits>63</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Roberto Alomar, CLE</name>\r
+<doubles>17</doubles>\r
+<average>.354</average>\r
+<atbats>291</atbats>\r
+<hits>103</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Carlos Lee, SOX</name>\r
+<doubles>17</doubles>\r
+<average>.302</average>\r
+<atbats>268</atbats>\r
+<hits>81</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Miguel Tejada, OAK</name>\r
+<doubles>17</doubles>\r
+<average>.268</average>\r
+<atbats>317</atbats>\r
+<hits>85</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Gerald Williams, NYY</name>\r
+<doubles>17</doubles>\r
+<average>.207</average>\r
+<atbats>232</atbats>\r
+<hits>48</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Deivi Cruz, DET</name>\r
+<doubles>17</doubles>\r
+<average>.248</average>\r
+<atbats>210</atbats>\r
+<hits>52</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Damion Easley, DET</name>\r
+<doubles>17</doubles>\r
+<average>.285</average>\r
+<atbats>274</atbats>\r
+<hits>78</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Paul O`Neill, NYY</name>\r
+<doubles>17</doubles>\r
+<average>.260</average>\r
+<atbats>300</atbats>\r
+<hits>78</hits>\r
+</listing>\r
+<listing>\r
+<rank>36</rank>\r
+<name>Jose Offerman, BOS</name>\r
+<doubles>16</doubles>\r
+<average>.270</average>\r
+<atbats>289</atbats>\r
+<hits>78</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Jose Valentin, SOX</name>\r
+<doubles>16</doubles>\r
+<average>.286</average>\r
+<atbats>227</atbats>\r
+<hits>65</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>John Olerud, SEA</name>\r
+<doubles>16</doubles>\r
+<average>.317</average>\r
+<atbats>287</atbats>\r
+<hits>91</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>A.J. Pierzynski, MIN</name>\r
+<doubles>16</doubles>\r
+<average>.299</average>\r
+<atbats>194</atbats>\r
+<hits>58</hits>\r
+</listing>\r
+<listing>\r
+<rank></rank>\r
+<name>Bret Boone, SEA</name>\r
+<doubles>16</doubles>\r
+<average>.326</average>\r
+<atbats>316</atbats>\r
+<hits>103</hits>\r
+</listing>\r
+<time_stamp> July 3, 2001, at 01:01 PM ET </time_stamp>\r
+</message>\r