]> gitweb.michael.orlitzky.com - dead/htsn-import.git/commitdiff
Add SportInfo support for MLBWalkRateXML.dtd.
authorMichael Orlitzky <michael@orlitzky.com>
Wed, 18 Jun 2014 15:38:43 +0000 (11:38 -0400)
committerMichael Orlitzky <michael@orlitzky.com>
Wed, 18 Jun 2014 15:38:43 +0000 (11:38 -0400)
doc/man1/htsn-import.1
schema/MLBWalkRateXML.dtd [new file with mode: 0644]
schemagen/MLBWalkRateXML/MLBWalkRateXML.xml [new file with mode: 0644]
src/TSN/XML/SportInfo.hs
test/xml/sportinfo/MLBWalkRateXML.dtd [new file with mode: 0644]
test/xml/sportinfo/MLBWalkRateXML.xml [new file with mode: 0644]

index 6c64304bbac6db71737e1d7f6a949f09a348a417..c11a34ab5aecf08b844227a56a34ac268abd2eba 100644 (file)
@@ -224,6 +224,8 @@ mlbstolenbasexml.dtd
 mlbtotalbasesleadersxml.dtd
 .IP \[bu]
 mlbtriplesleadersxml.dtd
+.IP \[bu]
+MLBWalkRateXML.dtd
 .RE
 .P
 The GameInfo and SportInfo types do not have their own top-level
diff --git a/schema/MLBWalkRateXML.dtd b/schema/MLBWalkRateXML.dtd
new file mode 100644 (file)
index 0000000..fc25024
--- /dev/null
@@ -0,0 +1,32 @@
+<!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 , WalkRate , AtBats , Walks , HitByPitch , SacFlies , Sacrifices )>\r
+\r
+<!ELEMENT Rank  (#PCDATA )>\r
+\r
+<!ELEMENT Name  (#PCDATA )>\r
+\r
+<!ELEMENT WalkRate  (#PCDATA )>\r
+\r
+<!ELEMENT AtBats  (#PCDATA )>\r
+\r
+<!ELEMENT Walks  (#PCDATA )>\r
+\r
+<!ELEMENT HitByPitch  (#PCDATA )>\r
+\r
+<!ELEMENT SacFlies  (#PCDATA )>\r
+\r
+<!ELEMENT Sacrifices  (#PCDATA )>\r
+\r
+<!ELEMENT time_stamp  (#PCDATA )>\r
+\r
diff --git a/schemagen/MLBWalkRateXML/MLBWalkRateXML.xml b/schemagen/MLBWalkRateXML/MLBWalkRateXML.xml
new file mode 100644 (file)
index 0000000..f21711a
--- /dev/null
@@ -0,0 +1,410 @@
+<?xml version="1.0" standalone="no" ?>\r
+<!DOCTYPE message PUBLIC "-//TSN//DTD Statistics 1.0/EN" "MLBWalkRateXML.dtd">\r
+<message>\r
+<XML_File_ID>3054717</XML_File_ID>\r
+<heading>AAX%AL-WALKRATE-LEADERS</heading>\r
+<category>Statistics</category>\r
+<sport>MLB</sport>\r
+<title>2002 AL Walk Rate Leaders</title>\r
+<Listing>\r
+<Rank>1</Rank>\r
+<Name>Jim Thome, CLE</Name>\r
+<WalkRate>5.3</WalkRate>\r
+<AtBats>251</AtBats>\r
+<Walks>60</Walks>\r
+<HitByPitch>5</HitByPitch>\r
+<SacFlies>3</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank>2</Rank>\r
+<Name>Doug Mientkiewicz, MIN</Name>\r
+<WalkRate>5.8</WalkRate>\r
+<AtBats>235</AtBats>\r
+<Walks>51</Walks>\r
+<HitByPitch>5</HitByPitch>\r
+<SacFlies>3</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Carlos Delgado, TOR</Name>\r
+<WalkRate>6.0</WalkRate>\r
+<AtBats>264</AtBats>\r
+<Walks>55</Walks>\r
+<HitByPitch>6</HitByPitch>\r
+<SacFlies>3</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>John Olerud, SEA</Name>\r
+<WalkRate>6.4</WalkRate>\r
+<AtBats>267</AtBats>\r
+<Walks>51</Walks>\r
+<HitByPitch>1</HitByPitch>\r
+<SacFlies>6</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank>5</Rank>\r
+<Name>Jason Giambi, NYY</Name>\r
+<WalkRate>6.5</WalkRate>\r
+<AtBats>279</AtBats>\r
+<Walks>52</Walks>\r
+<HitByPitch>7</HitByPitch>\r
+<SacFlies>1</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Robin Ventura, NYY</Name>\r
+<WalkRate>6.6</WalkRate>\r
+<AtBats>230</AtBats>\r
+<Walks>41</Walks>\r
+<HitByPitch>0</HitByPitch>\r
+<SacFlies>1</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Greg Vaughn, TB</Name>\r
+<WalkRate>7.2</WalkRate>\r
+<AtBats>251</AtBats>\r
+<Walks>41</Walks>\r
+<HitByPitch>3</HitByPitch>\r
+<SacFlies>2</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Rafael Palmeiro, TEX</Name>\r
+<WalkRate>7.3</WalkRate>\r
+<AtBats>251</AtBats>\r
+<Walks>41</Walks>\r
+<HitByPitch>2</HitByPitch>\r
+<SacFlies>4</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Bernie Williams, NYY</Name>\r
+<WalkRate>7.3</WalkRate>\r
+<AtBats>288</AtBats>\r
+<Walks>46</Walks>\r
+<HitByPitch>2</HitByPitch>\r
+<SacFlies>1</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Scott Spiezio, ANA</Name>\r
+<WalkRate>7.4</WalkRate>\r
+<AtBats>212</AtBats>\r
+<Walks>34</Walks>\r
+<HitByPitch>1</HitByPitch>\r
+<SacFlies>4</SacFlies>\r
+<Sacrifices>1</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank>11</Rank>\r
+<Name>Matt Lawton, CLE</Name>\r
+<WalkRate>7.6</WalkRate>\r
+<AtBats>266</AtBats>\r
+<Walks>41</Walks>\r
+<HitByPitch>4</HitByPitch>\r
+<SacFlies>0</SacFlies>\r
+<Sacrifices>1</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Eric Hinske, TOR</Name>\r
+<WalkRate>7.6</WalkRate>\r
+<AtBats>244</AtBats>\r
+<Walks>37</Walks>\r
+<HitByPitch>0</HitByPitch>\r
+<SacFlies>1</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Mark McLemore, SEA</Name>\r
+<WalkRate>7.7</WalkRate>\r
+<AtBats>203</AtBats>\r
+<Walks>31</Walks>\r
+<HitByPitch>0</HitByPitch>\r
+<SacFlies>4</SacFlies>\r
+<Sacrifices>2</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Corey Koskie, MIN</Name>\r
+<WalkRate>7.8</WalkRate>\r
+<AtBats>222</AtBats>\r
+<Walks>34</Walks>\r
+<HitByPitch>6</HitByPitch>\r
+<SacFlies>3</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Alex Rodriguez, TEX</Name>\r
+<WalkRate>7.8</WalkRate>\r
+<AtBats>294</AtBats>\r
+<Walks>44</Walks>\r
+<HitByPitch>5</HitByPitch>\r
+<SacFlies>2</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Mike Cameron, SEA</Name>\r
+<WalkRate>7.9</WalkRate>\r
+<AtBats>261</AtBats>\r
+<Walks>39</Walks>\r
+<HitByPitch>5</HitByPitch>\r
+<SacFlies>2</SacFlies>\r
+<Sacrifices>1</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Scott Hatteberg, OAK</Name>\r
+<WalkRate>8.1</WalkRate>\r
+<AtBats>236</AtBats>\r
+<Walks>34</Walks>\r
+<HitByPitch>4</HitByPitch>\r
+<SacFlies>0</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Jorge Posada, NYY</Name>\r
+<WalkRate>8.1</WalkRate>\r
+<AtBats>252</AtBats>\r
+<Walks>36</Walks>\r
+<HitByPitch>0</HitByPitch>\r
+<SacFlies>3</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Kenny Lofton, SOX</Name>\r
+<WalkRate>8.2</WalkRate>\r
+<AtBats>261</AtBats>\r
+<Walks>37</Walks>\r
+<HitByPitch>0</HitByPitch>\r
+<SacFlies>1</SacFlies>\r
+<Sacrifices>3</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Troy Glaus, ANA</Name>\r
+<WalkRate>8.2</WalkRate>\r
+<AtBats>274</AtBats>\r
+<Walks>39</Walks>\r
+<HitByPitch>3</HitByPitch>\r
+<SacFlies>3</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Ray Durham, SOX</Name>\r
+<WalkRate>8.3</WalkRate>\r
+<AtBats>253</AtBats>\r
+<Walks>37</Walks>\r
+<HitByPitch>4</HitByPitch>\r
+<SacFlies>4</SacFlies>\r
+<Sacrifices>8</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Tim Salmon, ANA</Name>\r
+<WalkRate>8.4</WalkRate>\r
+<AtBats>260</AtBats>\r
+<Walks>36</Walks>\r
+<HitByPitch>3</HitByPitch>\r
+<SacFlies>3</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Frank Thomas, SOX</Name>\r
+<WalkRate>8.4</WalkRate>\r
+<AtBats>267</AtBats>\r
+<Walks>37</Walks>\r
+<HitByPitch>3</HitByPitch>\r
+<SacFlies>4</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank>24</Rank>\r
+<Name>Carlos Febles, KC</Name>\r
+<WalkRate>8.8</WalkRate>\r
+<AtBats>209</AtBats>\r
+<Walks>28</Walks>\r
+<HitByPitch>4</HitByPitch>\r
+<SacFlies>0</SacFlies>\r
+<Sacrifices>4</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Omar Vizquel, CLE</Name>\r
+<WalkRate>9.0</WalkRate>\r
+<AtBats>275</AtBats>\r
+<Walks>36</Walks>\r
+<HitByPitch>4</HitByPitch>\r
+<SacFlies>7</SacFlies>\r
+<Sacrifices>1</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Jay Gibbons, BAL</Name>\r
+<WalkRate>9.2</WalkRate>\r
+<AtBats>235</AtBats>\r
+<Walks>29</Walks>\r
+<HitByPitch>0</HitByPitch>\r
+<SacFlies>2</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Melvin Mora, BAL</Name>\r
+<WalkRate>9.3</WalkRate>\r
+<AtBats>261</AtBats>\r
+<Walks>33</Walks>\r
+<HitByPitch>9</HitByPitch>\r
+<SacFlies>1</SacFlies>\r
+<Sacrifices>2</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Carlos Guillen, SEA</Name>\r
+<WalkRate>9.3</WalkRate>\r
+<AtBats>222</AtBats>\r
+<Walks>27</Walks>\r
+<HitByPitch>0</HitByPitch>\r
+<SacFlies>2</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Jose Cruz, TOR</Name>\r
+<WalkRate>9.5</WalkRate>\r
+<AtBats>276</AtBats>\r
+<Walks>33</Walks>\r
+<HitByPitch>0</HitByPitch>\r
+<SacFlies>2</SacFlies>\r
+<Sacrifices>1</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank>30</Rank>\r
+<Name>Ichiro Suzuki, SEA</Name>\r
+<WalkRate>9.5</WalkRate>\r
+<AtBats>307</AtBats>\r
+<Walks>37</Walks>\r
+<HitByPitch>2</HitByPitch>\r
+<SacFlies>4</SacFlies>\r
+<Sacrifices>2</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Trot Nixon, BOS</Name>\r
+<WalkRate>9.7</WalkRate>\r
+<AtBats>239</AtBats>\r
+<Walks>28</Walks>\r
+<HitByPitch>2</HitByPitch>\r
+<SacFlies>1</SacFlies>\r
+<Sacrifices>1</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Ben Grieve, TB</Name>\r
+<WalkRate>9.7</WalkRate>\r
+<AtBats>247</AtBats>\r
+<Walks>29</Walks>\r
+<HitByPitch>4</HitByPitch>\r
+<SacFlies>1</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Carlos Beltran, KC</Name>\r
+<WalkRate>9.8</WalkRate>\r
+<AtBats>283</AtBats>\r
+<Walks>33</Walks>\r
+<HitByPitch>2</HitByPitch>\r
+<SacFlies>3</SacFlies>\r
+<Sacrifices>1</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Eric Chavez, OAK</Name>\r
+<WalkRate>9.9</WalkRate>\r
+<AtBats>266</AtBats>\r
+<Walks>30</Walks>\r
+<HitByPitch>1</HitByPitch>\r
+<SacFlies>1</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Travis Fryman, CLE</Name>\r
+<WalkRate>10.0</WalkRate>\r
+<AtBats>241</AtBats>\r
+<Walks>27</Walks>\r
+<HitByPitch>2</HitByPitch>\r
+<SacFlies>0</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Bobby Higginson, DET</Name>\r
+<WalkRate>10.3</WalkRate>\r
+<AtBats>208</AtBats>\r
+<Walks>23</Walks>\r
+<HitByPitch>1</HitByPitch>\r
+<SacFlies>4</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Mike Sweeney, KC</Name>\r
+<WalkRate>10.3</WalkRate>\r
+<AtBats>272</AtBats>\r
+<Walks>30</Walks>\r
+<HitByPitch>2</HitByPitch>\r
+<SacFlies>4</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Mike Bordick, BAL</Name>\r
+<WalkRate>10.4</WalkRate>\r
+<AtBats>209</AtBats>\r
+<Walks>23</Walks>\r
+<HitByPitch>1</HitByPitch>\r
+<SacFlies>1</SacFlies>\r
+<Sacrifices>5</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank>39</Rank>\r
+<Name>Raul Mondesi, TOR</Name>\r
+<WalkRate>10.6</WalkRate>\r
+<AtBats>285</AtBats>\r
+<Walks>30</Walks>\r
+<HitByPitch>2</HitByPitch>\r
+<SacFlies>2</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Derek Jeter, NYY</Name>\r
+<WalkRate>10.8</WalkRate>\r
+<AtBats>319</AtBats>\r
+<Walks>33</Walks>\r
+<HitByPitch>4</HitByPitch>\r
+<SacFlies>1</SacFlies>\r
+<Sacrifices>1</Sacrifices>\r
+</Listing>\r
+<time_stamp> June 27, 2002, at 11:52 AM ET </time_stamp>\r
+</message>\r
index fef70b49595efb72539c553831847c77d1eb581e..67fc464dccb2f28c82f891977b70fde288526096 100644 (file)
@@ -129,7 +129,7 @@ dtds =
     "mlbstolenbasexml.dtd",
     "mlbtotalbasesleadersxml.dtd",
     "mlbtriplesleadersxml.dtd",
-    "MLBWalkRateXML.dtd", -- no dtd
+    "MLBWalkRateXML.dtd",
     "mlbwalksleadersxml.dtd", -- no dtd
     "MLBXtraBaseHitsXML.dtd", -- no dtd
     "MLB_ERA_Leaders.dtd", -- no dtd
@@ -373,7 +373,8 @@ sport_info_test_files =
     "mlbstandxml_preseason.xml",
     "mlbstolenbasexml.xml",
     "mlbtotalbasesleadersxml.xml",
-    "mlbtriplesleadersxml.xml"
+    "mlbtriplesleadersxml.xml",
+    "MLBWalkRateXML.xml"
   ]
 
 
diff --git a/test/xml/sportinfo/MLBWalkRateXML.dtd b/test/xml/sportinfo/MLBWalkRateXML.dtd
new file mode 100644 (file)
index 0000000..fc25024
--- /dev/null
@@ -0,0 +1,32 @@
+<!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 , WalkRate , AtBats , Walks , HitByPitch , SacFlies , Sacrifices )>\r
+\r
+<!ELEMENT Rank  (#PCDATA )>\r
+\r
+<!ELEMENT Name  (#PCDATA )>\r
+\r
+<!ELEMENT WalkRate  (#PCDATA )>\r
+\r
+<!ELEMENT AtBats  (#PCDATA )>\r
+\r
+<!ELEMENT Walks  (#PCDATA )>\r
+\r
+<!ELEMENT HitByPitch  (#PCDATA )>\r
+\r
+<!ELEMENT SacFlies  (#PCDATA )>\r
+\r
+<!ELEMENT Sacrifices  (#PCDATA )>\r
+\r
+<!ELEMENT time_stamp  (#PCDATA )>\r
+\r
diff --git a/test/xml/sportinfo/MLBWalkRateXML.xml b/test/xml/sportinfo/MLBWalkRateXML.xml
new file mode 100644 (file)
index 0000000..f21711a
--- /dev/null
@@ -0,0 +1,410 @@
+<?xml version="1.0" standalone="no" ?>\r
+<!DOCTYPE message PUBLIC "-//TSN//DTD Statistics 1.0/EN" "MLBWalkRateXML.dtd">\r
+<message>\r
+<XML_File_ID>3054717</XML_File_ID>\r
+<heading>AAX%AL-WALKRATE-LEADERS</heading>\r
+<category>Statistics</category>\r
+<sport>MLB</sport>\r
+<title>2002 AL Walk Rate Leaders</title>\r
+<Listing>\r
+<Rank>1</Rank>\r
+<Name>Jim Thome, CLE</Name>\r
+<WalkRate>5.3</WalkRate>\r
+<AtBats>251</AtBats>\r
+<Walks>60</Walks>\r
+<HitByPitch>5</HitByPitch>\r
+<SacFlies>3</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank>2</Rank>\r
+<Name>Doug Mientkiewicz, MIN</Name>\r
+<WalkRate>5.8</WalkRate>\r
+<AtBats>235</AtBats>\r
+<Walks>51</Walks>\r
+<HitByPitch>5</HitByPitch>\r
+<SacFlies>3</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Carlos Delgado, TOR</Name>\r
+<WalkRate>6.0</WalkRate>\r
+<AtBats>264</AtBats>\r
+<Walks>55</Walks>\r
+<HitByPitch>6</HitByPitch>\r
+<SacFlies>3</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>John Olerud, SEA</Name>\r
+<WalkRate>6.4</WalkRate>\r
+<AtBats>267</AtBats>\r
+<Walks>51</Walks>\r
+<HitByPitch>1</HitByPitch>\r
+<SacFlies>6</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank>5</Rank>\r
+<Name>Jason Giambi, NYY</Name>\r
+<WalkRate>6.5</WalkRate>\r
+<AtBats>279</AtBats>\r
+<Walks>52</Walks>\r
+<HitByPitch>7</HitByPitch>\r
+<SacFlies>1</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Robin Ventura, NYY</Name>\r
+<WalkRate>6.6</WalkRate>\r
+<AtBats>230</AtBats>\r
+<Walks>41</Walks>\r
+<HitByPitch>0</HitByPitch>\r
+<SacFlies>1</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Greg Vaughn, TB</Name>\r
+<WalkRate>7.2</WalkRate>\r
+<AtBats>251</AtBats>\r
+<Walks>41</Walks>\r
+<HitByPitch>3</HitByPitch>\r
+<SacFlies>2</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Rafael Palmeiro, TEX</Name>\r
+<WalkRate>7.3</WalkRate>\r
+<AtBats>251</AtBats>\r
+<Walks>41</Walks>\r
+<HitByPitch>2</HitByPitch>\r
+<SacFlies>4</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Bernie Williams, NYY</Name>\r
+<WalkRate>7.3</WalkRate>\r
+<AtBats>288</AtBats>\r
+<Walks>46</Walks>\r
+<HitByPitch>2</HitByPitch>\r
+<SacFlies>1</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Scott Spiezio, ANA</Name>\r
+<WalkRate>7.4</WalkRate>\r
+<AtBats>212</AtBats>\r
+<Walks>34</Walks>\r
+<HitByPitch>1</HitByPitch>\r
+<SacFlies>4</SacFlies>\r
+<Sacrifices>1</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank>11</Rank>\r
+<Name>Matt Lawton, CLE</Name>\r
+<WalkRate>7.6</WalkRate>\r
+<AtBats>266</AtBats>\r
+<Walks>41</Walks>\r
+<HitByPitch>4</HitByPitch>\r
+<SacFlies>0</SacFlies>\r
+<Sacrifices>1</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Eric Hinske, TOR</Name>\r
+<WalkRate>7.6</WalkRate>\r
+<AtBats>244</AtBats>\r
+<Walks>37</Walks>\r
+<HitByPitch>0</HitByPitch>\r
+<SacFlies>1</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Mark McLemore, SEA</Name>\r
+<WalkRate>7.7</WalkRate>\r
+<AtBats>203</AtBats>\r
+<Walks>31</Walks>\r
+<HitByPitch>0</HitByPitch>\r
+<SacFlies>4</SacFlies>\r
+<Sacrifices>2</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Corey Koskie, MIN</Name>\r
+<WalkRate>7.8</WalkRate>\r
+<AtBats>222</AtBats>\r
+<Walks>34</Walks>\r
+<HitByPitch>6</HitByPitch>\r
+<SacFlies>3</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Alex Rodriguez, TEX</Name>\r
+<WalkRate>7.8</WalkRate>\r
+<AtBats>294</AtBats>\r
+<Walks>44</Walks>\r
+<HitByPitch>5</HitByPitch>\r
+<SacFlies>2</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Mike Cameron, SEA</Name>\r
+<WalkRate>7.9</WalkRate>\r
+<AtBats>261</AtBats>\r
+<Walks>39</Walks>\r
+<HitByPitch>5</HitByPitch>\r
+<SacFlies>2</SacFlies>\r
+<Sacrifices>1</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Scott Hatteberg, OAK</Name>\r
+<WalkRate>8.1</WalkRate>\r
+<AtBats>236</AtBats>\r
+<Walks>34</Walks>\r
+<HitByPitch>4</HitByPitch>\r
+<SacFlies>0</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Jorge Posada, NYY</Name>\r
+<WalkRate>8.1</WalkRate>\r
+<AtBats>252</AtBats>\r
+<Walks>36</Walks>\r
+<HitByPitch>0</HitByPitch>\r
+<SacFlies>3</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Kenny Lofton, SOX</Name>\r
+<WalkRate>8.2</WalkRate>\r
+<AtBats>261</AtBats>\r
+<Walks>37</Walks>\r
+<HitByPitch>0</HitByPitch>\r
+<SacFlies>1</SacFlies>\r
+<Sacrifices>3</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Troy Glaus, ANA</Name>\r
+<WalkRate>8.2</WalkRate>\r
+<AtBats>274</AtBats>\r
+<Walks>39</Walks>\r
+<HitByPitch>3</HitByPitch>\r
+<SacFlies>3</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Ray Durham, SOX</Name>\r
+<WalkRate>8.3</WalkRate>\r
+<AtBats>253</AtBats>\r
+<Walks>37</Walks>\r
+<HitByPitch>4</HitByPitch>\r
+<SacFlies>4</SacFlies>\r
+<Sacrifices>8</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Tim Salmon, ANA</Name>\r
+<WalkRate>8.4</WalkRate>\r
+<AtBats>260</AtBats>\r
+<Walks>36</Walks>\r
+<HitByPitch>3</HitByPitch>\r
+<SacFlies>3</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Frank Thomas, SOX</Name>\r
+<WalkRate>8.4</WalkRate>\r
+<AtBats>267</AtBats>\r
+<Walks>37</Walks>\r
+<HitByPitch>3</HitByPitch>\r
+<SacFlies>4</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank>24</Rank>\r
+<Name>Carlos Febles, KC</Name>\r
+<WalkRate>8.8</WalkRate>\r
+<AtBats>209</AtBats>\r
+<Walks>28</Walks>\r
+<HitByPitch>4</HitByPitch>\r
+<SacFlies>0</SacFlies>\r
+<Sacrifices>4</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Omar Vizquel, CLE</Name>\r
+<WalkRate>9.0</WalkRate>\r
+<AtBats>275</AtBats>\r
+<Walks>36</Walks>\r
+<HitByPitch>4</HitByPitch>\r
+<SacFlies>7</SacFlies>\r
+<Sacrifices>1</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Jay Gibbons, BAL</Name>\r
+<WalkRate>9.2</WalkRate>\r
+<AtBats>235</AtBats>\r
+<Walks>29</Walks>\r
+<HitByPitch>0</HitByPitch>\r
+<SacFlies>2</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Melvin Mora, BAL</Name>\r
+<WalkRate>9.3</WalkRate>\r
+<AtBats>261</AtBats>\r
+<Walks>33</Walks>\r
+<HitByPitch>9</HitByPitch>\r
+<SacFlies>1</SacFlies>\r
+<Sacrifices>2</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Carlos Guillen, SEA</Name>\r
+<WalkRate>9.3</WalkRate>\r
+<AtBats>222</AtBats>\r
+<Walks>27</Walks>\r
+<HitByPitch>0</HitByPitch>\r
+<SacFlies>2</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Jose Cruz, TOR</Name>\r
+<WalkRate>9.5</WalkRate>\r
+<AtBats>276</AtBats>\r
+<Walks>33</Walks>\r
+<HitByPitch>0</HitByPitch>\r
+<SacFlies>2</SacFlies>\r
+<Sacrifices>1</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank>30</Rank>\r
+<Name>Ichiro Suzuki, SEA</Name>\r
+<WalkRate>9.5</WalkRate>\r
+<AtBats>307</AtBats>\r
+<Walks>37</Walks>\r
+<HitByPitch>2</HitByPitch>\r
+<SacFlies>4</SacFlies>\r
+<Sacrifices>2</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Trot Nixon, BOS</Name>\r
+<WalkRate>9.7</WalkRate>\r
+<AtBats>239</AtBats>\r
+<Walks>28</Walks>\r
+<HitByPitch>2</HitByPitch>\r
+<SacFlies>1</SacFlies>\r
+<Sacrifices>1</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Ben Grieve, TB</Name>\r
+<WalkRate>9.7</WalkRate>\r
+<AtBats>247</AtBats>\r
+<Walks>29</Walks>\r
+<HitByPitch>4</HitByPitch>\r
+<SacFlies>1</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Carlos Beltran, KC</Name>\r
+<WalkRate>9.8</WalkRate>\r
+<AtBats>283</AtBats>\r
+<Walks>33</Walks>\r
+<HitByPitch>2</HitByPitch>\r
+<SacFlies>3</SacFlies>\r
+<Sacrifices>1</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Eric Chavez, OAK</Name>\r
+<WalkRate>9.9</WalkRate>\r
+<AtBats>266</AtBats>\r
+<Walks>30</Walks>\r
+<HitByPitch>1</HitByPitch>\r
+<SacFlies>1</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Travis Fryman, CLE</Name>\r
+<WalkRate>10.0</WalkRate>\r
+<AtBats>241</AtBats>\r
+<Walks>27</Walks>\r
+<HitByPitch>2</HitByPitch>\r
+<SacFlies>0</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Bobby Higginson, DET</Name>\r
+<WalkRate>10.3</WalkRate>\r
+<AtBats>208</AtBats>\r
+<Walks>23</Walks>\r
+<HitByPitch>1</HitByPitch>\r
+<SacFlies>4</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Mike Sweeney, KC</Name>\r
+<WalkRate>10.3</WalkRate>\r
+<AtBats>272</AtBats>\r
+<Walks>30</Walks>\r
+<HitByPitch>2</HitByPitch>\r
+<SacFlies>4</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Mike Bordick, BAL</Name>\r
+<WalkRate>10.4</WalkRate>\r
+<AtBats>209</AtBats>\r
+<Walks>23</Walks>\r
+<HitByPitch>1</HitByPitch>\r
+<SacFlies>1</SacFlies>\r
+<Sacrifices>5</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank>39</Rank>\r
+<Name>Raul Mondesi, TOR</Name>\r
+<WalkRate>10.6</WalkRate>\r
+<AtBats>285</AtBats>\r
+<Walks>30</Walks>\r
+<HitByPitch>2</HitByPitch>\r
+<SacFlies>2</SacFlies>\r
+<Sacrifices>0</Sacrifices>\r
+</Listing>\r
+<Listing>\r
+<Rank></Rank>\r
+<Name>Derek Jeter, NYY</Name>\r
+<WalkRate>10.8</WalkRate>\r
+<AtBats>319</AtBats>\r
+<Walks>33</Walks>\r
+<HitByPitch>4</HitByPitch>\r
+<SacFlies>1</SacFlies>\r
+<Sacrifices>1</Sacrifices>\r
+</Listing>\r
+<time_stamp> June 27, 2002, at 11:52 AM ET </time_stamp>\r
+</message>\r