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

index f9bb1a102a783394f300626dc39f9dbeca8e5c62..5bfaf27674969da1a75fd80d6089a4a3dd58a059 100644 (file)
@@ -326,6 +326,8 @@ NFLQBStartsXML.dtd
 NFLSackLeadersXML.dtd
 .IP \[bu]
 nflstandxml.dtd
+.IP \[bu]
+NFLTeamRankingsXML.dtd
 .RE
 .P
 The GameInfo and SportInfo types do not have their own top-level
diff --git a/schema/NFLTeamRankingsXML.dtd b/schema/NFLTeamRankingsXML.dtd
new file mode 100644 (file)
index 0000000..ba95966
--- /dev/null
@@ -0,0 +1,34 @@
+<!ELEMENT message  (XML_File_ID, heading , category , sport , title , conference+ , note+ , 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 conference  (listing+ )>\r
+<!ATTLIST conference  name CDATA  #REQUIRED >\r
+<!ELEMENT listing  (team , offense_total , offense_rush , offense_pass , defense_total , defense_rush , defense_pass )>\r
+\r
+<!ELEMENT team  (#PCDATA )>\r
+\r
+<!ELEMENT offense_total  (#PCDATA )>\r
+\r
+<!ELEMENT offense_rush  (#PCDATA )>\r
+\r
+<!ELEMENT offense_pass  (#PCDATA )>\r
+\r
+<!ELEMENT defense_total  (#PCDATA )>\r
+\r
+<!ELEMENT defense_rush  (#PCDATA )>\r
+\r
+<!ELEMENT defense_pass  (#PCDATA )>\r
+\r
+<!ELEMENT note  (#PCDATA )>\r
+\r
+<!ELEMENT time_stamp  (#PCDATA )>\r
+\r
diff --git a/schemagen/NFLTeamRankingsXML/NFLTeamRankingsXML.xml b/schemagen/NFLTeamRankingsXML/NFLTeamRankingsXML.xml
new file mode 100644 (file)
index 0000000..c11f92b
--- /dev/null
@@ -0,0 +1,295 @@
+<?xml version="1.0" standalone="no" ?>\r
+<!DOCTYPE message PUBLIC "-//TSN//DTD Statistics 1.0/EN" "NFLTeamRankingsXML.dtd">\r
+<message>\r
+<XML_File_ID>8191717</XML_File_ID>\r
+<heading>ABX%NFLTEAMRANKINGS</heading>\r
+<category>Statistics</category>\r
+<sport>NFL</sport>\r
+<title>2001 NFL Statistics - Team Rankings</title>\r
+<conference name="American Football Conference">\r
+<listing>\r
+<team>Baltimore</team>\r
+<offense_total>5</offense_total>\r
+<offense_rush>11</offense_rush>\r
+<offense_pass>4</offense_pass>\r
+<defense_total>2</defense_total>\r
+<defense_rush>2</defense_rush>\r
+<defense_pass>9</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Buffalo</team>\r
+<offense_total>6</offense_total>\r
+<offense_rush>13</offense_rush>\r
+<offense_pass>5</offense_pass>\r
+<defense_total>9</defense_total>\r
+<defense_rush>13</defense_rush>\r
+<defense_pass>5</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Cincinnati</team>\r
+<offense_total>13</offense_total>\r
+<offense_rush>12</offense_rush>\r
+<offense_pass>12</offense_pass>\r
+<defense_total>5</defense_total>\r
+<defense_rush>8</defense_rush>\r
+<defense_pass>8</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Cleveland</team>\r
+<offense_total>16</offense_total>\r
+<offense_rush>15</offense_rush>\r
+<offense_pass>15</offense_pass>\r
+<defense_total>7</defense_total>\r
+<defense_rush>11</defense_rush>\r
+<defense_pass>6</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Denver</team>\r
+<offense_total>9</offense_total>\r
+<offense_rush>6</offense_rush>\r
+<offense_pass>10</offense_pass>\r
+<defense_total>4</defense_total>\r
+<defense_rush>4</defense_rush>\r
+<defense_pass>10</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Indianapolis</team>\r
+<offense_total>1</offense_total>\r
+<offense_rush>3</offense_rush>\r
+<offense_pass>1</offense_pass>\r
+<defense_total>16</defense_total>\r
+<defense_rush>14</defense_rush>\r
+<defense_pass>12</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Jacksonville</team>\r
+<offense_total>14</offense_total>\r
+<offense_rush>16</offense_rush>\r
+<offense_pass>9</offense_pass>\r
+<defense_total>14</defense_total>\r
+<defense_rush>9</defense_rush>\r
+<defense_pass>14</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Kansas City</team>\r
+<offense_total>3</offense_total>\r
+<offense_rush>5</offense_rush>\r
+<offense_pass>2</offense_pass>\r
+<defense_total>10</defense_total>\r
+<defense_rush>15</defense_rush>\r
+<defense_pass>3</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Miami</team>\r
+<offense_total>8</offense_total>\r
+<offense_rush>10</offense_rush>\r
+<offense_pass>6</offense_pass>\r
+<defense_total>3</defense_total>\r
+<defense_rush>6</defense_rush>\r
+<defense_pass>4</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>New England</team>\r
+<offense_total>10</offense_total>\r
+<offense_rush>8</offense_rush>\r
+<offense_pass>11</offense_pass>\r
+<defense_total>15</defense_total>\r
+<defense_rush>10</defense_rush>\r
+<defense_pass>15</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>New York Jets</team>\r
+<offense_total>15</offense_total>\r
+<offense_rush>2</offense_rush>\r
+<offense_pass>16</offense_pass>\r
+<defense_total>11</defense_total>\r
+<defense_rush>16</defense_rush>\r
+<defense_pass>2</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Oakland</team>\r
+<offense_total>4</offense_total>\r
+<offense_rush>7</offense_rush>\r
+<offense_pass>3</offense_pass>\r
+<defense_total>8</defense_total>\r
+<defense_rush>12</defense_rush>\r
+<defense_pass>7</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Pittsburgh</team>\r
+<offense_total>2</offense_total>\r
+<offense_rush>*1</offense_rush>\r
+<offense_pass>13</offense_pass>\r
+<defense_total>*1</defense_total>\r
+<defense_rush>*1</defense_rush>\r
+<defense_pass>1</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>San Diego</team>\r
+<offense_total>7</offense_total>\r
+<offense_rush>9</offense_rush>\r
+<offense_pass>7</offense_pass>\r
+<defense_total>6</defense_total>\r
+<defense_rush>5</defense_rush>\r
+<defense_pass>11</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Seattle</team>\r
+<offense_total>12</offense_total>\r
+<offense_rush>4</offense_rush>\r
+<offense_pass>14</offense_pass>\r
+<defense_total>12</defense_total>\r
+<defense_rush>7</defense_rush>\r
+<defense_pass>13</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Tennessee</team>\r
+<offense_total>11</offense_total>\r
+<offense_rush>14</offense_rush>\r
+<offense_pass>8</offense_pass>\r
+<defense_total>13</defense_total>\r
+<defense_rush>3</defense_rush>\r
+<defense_pass>16</defense_pass>\r
+</listing>\r
+</conference>\r
+<conference name="National Football Conference">\r
+<listing>\r
+<team>Arizona</team>\r
+<offense_total>7</offense_total>\r
+<offense_rush>12</offense_rush>\r
+<offense_pass>5</offense_pass>\r
+<defense_total>14</defense_total>\r
+<defense_rush>13</defense_rush>\r
+<defense_pass>14</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Atlanta</team>\r
+<offense_total>9</offense_total>\r
+<offense_rush>6</offense_rush>\r
+<offense_pass>11</offense_pass>\r
+<defense_total>11</defense_total>\r
+<defense_rush>9</defense_rush>\r
+<defense_pass>13</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Carolina</team>\r
+<offense_total>13</offense_total>\r
+<offense_rush>15</offense_rush>\r
+<offense_pass>13</offense_pass>\r
+<defense_total>15</defense_total>\r
+<defense_rush>15</defense_rush>\r
+<defense_pass>10</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Chicago</team>\r
+<offense_total>12</offense_total>\r
+<offense_rush>11</offense_rush>\r
+<offense_pass>10</offense_pass>\r
+<defense_total>7</defense_total>\r
+<defense_rush>1</defense_rush>\r
+<defense_pass>15</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Dallas</team>\r
+<offense_total>15</offense_total>\r
+<offense_rush>2</offense_rush>\r
+<offense_pass>15</offense_pass>\r
+<defense_total>4</defense_total>\r
+<defense_rush>6</defense_rush>\r
+<defense_pass>2</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Detroit</team>\r
+<offense_total>6</offense_total>\r
+<offense_rush>14</offense_rush>\r
+<offense_pass>3</offense_pass>\r
+<defense_total>13</defense_total>\r
+<defense_rush>14</defense_rush>\r
+<defense_pass>11</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Green Bay</team>\r
+<offense_total>3</offense_total>\r
+<offense_rush>9</offense_rush>\r
+<offense_pass>2</offense_pass>\r
+<defense_total>3</defense_total>\r
+<defense_rush>4</defense_rush>\r
+<defense_pass>3</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Minnesota</team>\r
+<offense_total>5</offense_total>\r
+<offense_rush>10</offense_rush>\r
+<offense_pass>6</offense_pass>\r
+<defense_total>12</defense_total>\r
+<defense_rush>12</defense_rush>\r
+<defense_pass>9</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>New Orleans</team>\r
+<offense_total>4</offense_total>\r
+<offense_rush>4</offense_rush>\r
+<offense_pass>7</offense_pass>\r
+<defense_total>9</defense_total>\r
+<defense_rush>7</defense_rush>\r
+<defense_pass>8</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>New York Giants</team>\r
+<offense_total>8</offense_total>\r
+<offense_rush>8</offense_rush>\r
+<offense_pass>9</offense_pass>\r
+<defense_total>6</defense_total>\r
+<defense_rush>3</defense_rush>\r
+<defense_pass>7</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Philadelphia</team>\r
+<offense_total>11</offense_total>\r
+<offense_rush>5</offense_rush>\r
+<offense_pass>12</offense_pass>\r
+<defense_total>2</defense_total>\r
+<defense_rush>10</defense_rush>\r
+<defense_pass>*1</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>St. Louis</team>\r
+<offense_total>*1</offense_total>\r
+<offense_rush>3</offense_rush>\r
+<offense_pass>*1</offense_pass>\r
+<defense_total>1</defense_total>\r
+<defense_rush>2</defense_rush>\r
+<defense_pass>5</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>San Francisco</team>\r
+<offense_total>2</offense_total>\r
+<offense_rush>1</offense_rush>\r
+<offense_pass>4</offense_pass>\r
+<defense_total>10</defense_total>\r
+<defense_rush>5</defense_rush>\r
+<defense_pass>12</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Tampa Bay</team>\r
+<offense_total>10</offense_total>\r
+<offense_rush>13</offense_rush>\r
+<offense_pass>8</offense_pass>\r
+<defense_total>5</defense_total>\r
+<defense_rush>8</defense_rush>\r
+<defense_pass>4</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Washington</team>\r
+<offense_total>14</offense_total>\r
+<offense_rush>7</offense_rush>\r
+<offense_pass>14</offense_pass>\r
+<defense_total>8</defense_total>\r
+<defense_rush>11</defense_rush>\r
+<defense_pass>6</defense_pass>\r
+</listing>\r
+</conference>\r
+<note>* - League Leader</note>\r
+<note>T - Tied for position</note>\r
+<time_stamp> December 4, 2001, at 11:00 AM ET </time_stamp>\r
+</message>\r
index c00eda91fcd6addfb9fb91bc1d39517640da787b..7f6b8c418385a89fa0c182741210b504ea5cd7d8 100644 (file)
@@ -187,7 +187,7 @@ dtds =
     "NFLSackLeadersXML.dtd",
     "nflstandxml.dtd",
     "NFLTackleFFLeadersXML.dtd", -- no xml
-    "NFLTeamRankingsXML.dtd", -- no dtd
+    "NFLTeamRankingsXML.dtd",
     "NFLTopKickoffReturnXML.dtd", -- no dtd
     "NFLTopPerformanceXML.dtd", -- no dtd
     "NFLTopPuntReturnXML.dtd", -- no dtd
@@ -424,7 +424,8 @@ sport_info_test_files =
     "NFLPassLeadXML.xml",
     "NFLQBStartsXML.xml",
     "NFLSackLeadersXML.xml",
-    "nflstandxml.xml"
+    "nflstandxml.xml",
+    "NFLTeamRankingsXML.xml"
   ]
 
 
diff --git a/test/xml/sportinfo/NFLTeamRankingsXML.dtd b/test/xml/sportinfo/NFLTeamRankingsXML.dtd
new file mode 100644 (file)
index 0000000..ba95966
--- /dev/null
@@ -0,0 +1,34 @@
+<!ELEMENT message  (XML_File_ID, heading , category , sport , title , conference+ , note+ , 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 conference  (listing+ )>\r
+<!ATTLIST conference  name CDATA  #REQUIRED >\r
+<!ELEMENT listing  (team , offense_total , offense_rush , offense_pass , defense_total , defense_rush , defense_pass )>\r
+\r
+<!ELEMENT team  (#PCDATA )>\r
+\r
+<!ELEMENT offense_total  (#PCDATA )>\r
+\r
+<!ELEMENT offense_rush  (#PCDATA )>\r
+\r
+<!ELEMENT offense_pass  (#PCDATA )>\r
+\r
+<!ELEMENT defense_total  (#PCDATA )>\r
+\r
+<!ELEMENT defense_rush  (#PCDATA )>\r
+\r
+<!ELEMENT defense_pass  (#PCDATA )>\r
+\r
+<!ELEMENT note  (#PCDATA )>\r
+\r
+<!ELEMENT time_stamp  (#PCDATA )>\r
+\r
diff --git a/test/xml/sportinfo/NFLTeamRankingsXML.xml b/test/xml/sportinfo/NFLTeamRankingsXML.xml
new file mode 100644 (file)
index 0000000..c11f92b
--- /dev/null
@@ -0,0 +1,295 @@
+<?xml version="1.0" standalone="no" ?>\r
+<!DOCTYPE message PUBLIC "-//TSN//DTD Statistics 1.0/EN" "NFLTeamRankingsXML.dtd">\r
+<message>\r
+<XML_File_ID>8191717</XML_File_ID>\r
+<heading>ABX%NFLTEAMRANKINGS</heading>\r
+<category>Statistics</category>\r
+<sport>NFL</sport>\r
+<title>2001 NFL Statistics - Team Rankings</title>\r
+<conference name="American Football Conference">\r
+<listing>\r
+<team>Baltimore</team>\r
+<offense_total>5</offense_total>\r
+<offense_rush>11</offense_rush>\r
+<offense_pass>4</offense_pass>\r
+<defense_total>2</defense_total>\r
+<defense_rush>2</defense_rush>\r
+<defense_pass>9</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Buffalo</team>\r
+<offense_total>6</offense_total>\r
+<offense_rush>13</offense_rush>\r
+<offense_pass>5</offense_pass>\r
+<defense_total>9</defense_total>\r
+<defense_rush>13</defense_rush>\r
+<defense_pass>5</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Cincinnati</team>\r
+<offense_total>13</offense_total>\r
+<offense_rush>12</offense_rush>\r
+<offense_pass>12</offense_pass>\r
+<defense_total>5</defense_total>\r
+<defense_rush>8</defense_rush>\r
+<defense_pass>8</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Cleveland</team>\r
+<offense_total>16</offense_total>\r
+<offense_rush>15</offense_rush>\r
+<offense_pass>15</offense_pass>\r
+<defense_total>7</defense_total>\r
+<defense_rush>11</defense_rush>\r
+<defense_pass>6</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Denver</team>\r
+<offense_total>9</offense_total>\r
+<offense_rush>6</offense_rush>\r
+<offense_pass>10</offense_pass>\r
+<defense_total>4</defense_total>\r
+<defense_rush>4</defense_rush>\r
+<defense_pass>10</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Indianapolis</team>\r
+<offense_total>1</offense_total>\r
+<offense_rush>3</offense_rush>\r
+<offense_pass>1</offense_pass>\r
+<defense_total>16</defense_total>\r
+<defense_rush>14</defense_rush>\r
+<defense_pass>12</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Jacksonville</team>\r
+<offense_total>14</offense_total>\r
+<offense_rush>16</offense_rush>\r
+<offense_pass>9</offense_pass>\r
+<defense_total>14</defense_total>\r
+<defense_rush>9</defense_rush>\r
+<defense_pass>14</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Kansas City</team>\r
+<offense_total>3</offense_total>\r
+<offense_rush>5</offense_rush>\r
+<offense_pass>2</offense_pass>\r
+<defense_total>10</defense_total>\r
+<defense_rush>15</defense_rush>\r
+<defense_pass>3</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Miami</team>\r
+<offense_total>8</offense_total>\r
+<offense_rush>10</offense_rush>\r
+<offense_pass>6</offense_pass>\r
+<defense_total>3</defense_total>\r
+<defense_rush>6</defense_rush>\r
+<defense_pass>4</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>New England</team>\r
+<offense_total>10</offense_total>\r
+<offense_rush>8</offense_rush>\r
+<offense_pass>11</offense_pass>\r
+<defense_total>15</defense_total>\r
+<defense_rush>10</defense_rush>\r
+<defense_pass>15</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>New York Jets</team>\r
+<offense_total>15</offense_total>\r
+<offense_rush>2</offense_rush>\r
+<offense_pass>16</offense_pass>\r
+<defense_total>11</defense_total>\r
+<defense_rush>16</defense_rush>\r
+<defense_pass>2</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Oakland</team>\r
+<offense_total>4</offense_total>\r
+<offense_rush>7</offense_rush>\r
+<offense_pass>3</offense_pass>\r
+<defense_total>8</defense_total>\r
+<defense_rush>12</defense_rush>\r
+<defense_pass>7</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Pittsburgh</team>\r
+<offense_total>2</offense_total>\r
+<offense_rush>*1</offense_rush>\r
+<offense_pass>13</offense_pass>\r
+<defense_total>*1</defense_total>\r
+<defense_rush>*1</defense_rush>\r
+<defense_pass>1</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>San Diego</team>\r
+<offense_total>7</offense_total>\r
+<offense_rush>9</offense_rush>\r
+<offense_pass>7</offense_pass>\r
+<defense_total>6</defense_total>\r
+<defense_rush>5</defense_rush>\r
+<defense_pass>11</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Seattle</team>\r
+<offense_total>12</offense_total>\r
+<offense_rush>4</offense_rush>\r
+<offense_pass>14</offense_pass>\r
+<defense_total>12</defense_total>\r
+<defense_rush>7</defense_rush>\r
+<defense_pass>13</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Tennessee</team>\r
+<offense_total>11</offense_total>\r
+<offense_rush>14</offense_rush>\r
+<offense_pass>8</offense_pass>\r
+<defense_total>13</defense_total>\r
+<defense_rush>3</defense_rush>\r
+<defense_pass>16</defense_pass>\r
+</listing>\r
+</conference>\r
+<conference name="National Football Conference">\r
+<listing>\r
+<team>Arizona</team>\r
+<offense_total>7</offense_total>\r
+<offense_rush>12</offense_rush>\r
+<offense_pass>5</offense_pass>\r
+<defense_total>14</defense_total>\r
+<defense_rush>13</defense_rush>\r
+<defense_pass>14</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Atlanta</team>\r
+<offense_total>9</offense_total>\r
+<offense_rush>6</offense_rush>\r
+<offense_pass>11</offense_pass>\r
+<defense_total>11</defense_total>\r
+<defense_rush>9</defense_rush>\r
+<defense_pass>13</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Carolina</team>\r
+<offense_total>13</offense_total>\r
+<offense_rush>15</offense_rush>\r
+<offense_pass>13</offense_pass>\r
+<defense_total>15</defense_total>\r
+<defense_rush>15</defense_rush>\r
+<defense_pass>10</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Chicago</team>\r
+<offense_total>12</offense_total>\r
+<offense_rush>11</offense_rush>\r
+<offense_pass>10</offense_pass>\r
+<defense_total>7</defense_total>\r
+<defense_rush>1</defense_rush>\r
+<defense_pass>15</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Dallas</team>\r
+<offense_total>15</offense_total>\r
+<offense_rush>2</offense_rush>\r
+<offense_pass>15</offense_pass>\r
+<defense_total>4</defense_total>\r
+<defense_rush>6</defense_rush>\r
+<defense_pass>2</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Detroit</team>\r
+<offense_total>6</offense_total>\r
+<offense_rush>14</offense_rush>\r
+<offense_pass>3</offense_pass>\r
+<defense_total>13</defense_total>\r
+<defense_rush>14</defense_rush>\r
+<defense_pass>11</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Green Bay</team>\r
+<offense_total>3</offense_total>\r
+<offense_rush>9</offense_rush>\r
+<offense_pass>2</offense_pass>\r
+<defense_total>3</defense_total>\r
+<defense_rush>4</defense_rush>\r
+<defense_pass>3</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Minnesota</team>\r
+<offense_total>5</offense_total>\r
+<offense_rush>10</offense_rush>\r
+<offense_pass>6</offense_pass>\r
+<defense_total>12</defense_total>\r
+<defense_rush>12</defense_rush>\r
+<defense_pass>9</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>New Orleans</team>\r
+<offense_total>4</offense_total>\r
+<offense_rush>4</offense_rush>\r
+<offense_pass>7</offense_pass>\r
+<defense_total>9</defense_total>\r
+<defense_rush>7</defense_rush>\r
+<defense_pass>8</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>New York Giants</team>\r
+<offense_total>8</offense_total>\r
+<offense_rush>8</offense_rush>\r
+<offense_pass>9</offense_pass>\r
+<defense_total>6</defense_total>\r
+<defense_rush>3</defense_rush>\r
+<defense_pass>7</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Philadelphia</team>\r
+<offense_total>11</offense_total>\r
+<offense_rush>5</offense_rush>\r
+<offense_pass>12</offense_pass>\r
+<defense_total>2</defense_total>\r
+<defense_rush>10</defense_rush>\r
+<defense_pass>*1</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>St. Louis</team>\r
+<offense_total>*1</offense_total>\r
+<offense_rush>3</offense_rush>\r
+<offense_pass>*1</offense_pass>\r
+<defense_total>1</defense_total>\r
+<defense_rush>2</defense_rush>\r
+<defense_pass>5</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>San Francisco</team>\r
+<offense_total>2</offense_total>\r
+<offense_rush>1</offense_rush>\r
+<offense_pass>4</offense_pass>\r
+<defense_total>10</defense_total>\r
+<defense_rush>5</defense_rush>\r
+<defense_pass>12</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Tampa Bay</team>\r
+<offense_total>10</offense_total>\r
+<offense_rush>13</offense_rush>\r
+<offense_pass>8</offense_pass>\r
+<defense_total>5</defense_total>\r
+<defense_rush>8</defense_rush>\r
+<defense_pass>4</defense_pass>\r
+</listing>\r
+<listing>\r
+<team>Washington</team>\r
+<offense_total>14</offense_total>\r
+<offense_rush>7</offense_rush>\r
+<offense_pass>14</offense_pass>\r
+<defense_total>8</defense_total>\r
+<defense_rush>11</defense_rush>\r
+<defense_pass>6</defense_pass>\r
+</listing>\r
+</conference>\r
+<note>* - League Leader</note>\r
+<note>T - Tied for position</note>\r
+<time_stamp> December 4, 2001, at 11:00 AM ET </time_stamp>\r
+</message>\r