]> gitweb.michael.orlitzky.com - dead/htsn-import.git/commitdiff
Add GameInfo support for cflpreviewxml.dtd.
authorMichael Orlitzky <michael@orlitzky.com>
Tue, 10 Jun 2014 20:50:00 +0000 (16:50 -0400)
committerMichael Orlitzky <michael@orlitzky.com>
Tue, 10 Jun 2014 20:50:00 +0000 (16:50 -0400)
doc/man1/htsn-import.1
schema/cflpreviewxml.dtd [new file with mode: 0644]
schemagen/cflpreviewxml/cflpreviewxml.xml [new file with mode: 0644]
src/TSN/XML/GameInfo.hs
test/xml/gameinfo/cflpreviewxml.dtd [new file with mode: 0644]
test/xml/gameinfo/cflpreviewxml.xml [new file with mode: 0644]

index 78bcc6232570cdb3ac36473a1f1d4ecb509f723b..2c6fdbb4bd12971779d30d8ad754b330338f8345 100644 (file)
@@ -53,6 +53,8 @@ Auto_Racing_Schedule_XML.dtd
 CBASK_Lineup_XML.dtd (GameInfo)
 .IP \[bu] 2
 cbaskpreviewxml.dtd (GameInfo)
+.IP \[bu] 2
+cflpreviewxml.dtd (GameInfo)
 .IP \[bu]
 Heartbeat.dtd
 .IP \[bu]
diff --git a/schema/cflpreviewxml.dtd b/schema/cflpreviewxml.dtd
new file mode 100644 (file)
index 0000000..ffd17a5
--- /dev/null
@@ -0,0 +1,21 @@
+<!ELEMENT XML_File_ID (#PCDATA)>
+<!ELEMENT heading (#PCDATA)>
+<!ELEMENT game_id (#PCDATA)>
+<!ELEMENT schedule_id (#PCDATA)>
+<!ELEMENT category (#PCDATA)>
+<!ELEMENT sport (#PCDATA)>
+<!ELEMENT Game_Date (#PCDATA)>
+<!ELEMENT Game_Time (#PCDATA)>
+<!ELEMENT vteam (#PCDATA)>
+<!ELEMENT hteam (#PCDATA)>
+<!ELEMENT title (#PCDATA)>
+<!ELEMENT editor (#PCDATA)>
+<!ELEMENT date_time (#PCDATA)>
+<!ELEMENT P (#PCDATA)>
+<!ELEMENT game_notes ( P* )>
+<!ELEMENT predicted_outcome (#PCDATA)>
+<!ELEMENT time_stamp (#PCDATA)>
+<!ELEMENT message ( #PCDATA | XML_File_ID | heading | game_id | schedule_id | category | sport | Game_Date | Game_Time | vteam | hteam | title | editor | date_time | game_notes | predicted_outcome | time_stamp )*>
+
+<!ATTLIST vteam id CDATA #REQUIRED>
+<!ATTLIST hteam id CDATA #REQUIRED>
diff --git a/schemagen/cflpreviewxml/cflpreviewxml.xml b/schemagen/cflpreviewxml/cflpreviewxml.xml
new file mode 100644 (file)
index 0000000..f898da1
--- /dev/null
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!DOCTYPE message PUBLIC "-//TSN//DTD Preview 1.0/EN" "cflpreviewxml.dtd">\r
+<message>\r
+<XML_File_ID>16456122</XML_File_ID>\r
+<heading>AJV!PREVIEW-BCL-MON</heading>\r
+<game_id>1040</game_id>\r
+<schedule_id>1040</schedule_id>\r
+<category>Previews</category>\r
+<sport>CFL</sport>\r
+<Game_Date>08/31/2012</Game_Date>\r
+<Game_Time>07:30 PM</Game_Time>\r
+<vteam id="671">Brt Columbia</vteam>\r
+<hteam id="675">Montreal</hteam>\r
+<title>CFL Preview - British Columbia (6-2) at Montreal (5-3) (ET)</title>\r
+<editor>By Gregg Xenakes, CFL Editor</editor>\r
+<date_time> Friday, August 31, 7:30 p.m. (et).</date_time>\r
+<game_notes>\r
+<P>\r
+ GAME NOTES: The only two teams in the CFL at the moment that have won at least\r
+ three games in a row are set to clash at Stade Percival-Molson Stadium on\r
+ Friday night, as the Montreal Alouettes entertain the British Columbia Lions.\r
\r
+</P>\r
+<P>\r
+ Representing the shortest-lived Labour Day weekend rivalry in the CFL, this\r
+ meeting pits the top teams in their respective divisions against each other.\r
+ Montreal, a winner of three straight since falling a game below .500 early on,\r
+ has played well against the West Division with two wins in three opportunities\r
+ so far in 2012.\r
\r
+</P>\r
+<P>\r
+ As for the defending Grey Cup Champion Lions, their league-best four-game win\r
+ streak has pushed them ahead of Edmonton over in their division and the bad\r
+ news for the Als is that BC has taken all four outings against representatives\r
+ from the East Division thus far.\r
\r
+</P>\r
+<P>\r
+ Last week, the Lions were at it again as they took out Winnipeg on the road in\r
+ a 20-17 final in order to move the best record in the CFL after eight games to\r
+ 6-2. A scoreless game after 15 minutes of action, BC responded with 10 points\r
+ in both the second and fourth periods to capture the victory, thanks in large\r
+ part to a 41-yard field goal by Paul McCallum as time expired.\r
\r
+</P>\r
+<P>\r
+ A model of consistency thus far in 2012, BC quarterback Travis Lulay managed to\r
+ get beyond two interceptions and a pair of sacks in the contest, as he\r
+ completed 16-of-26 passes for 220 yards and a touchdown. It may not sound like\r
+ much in terms of positives for Lulay, but the fact is the signal-caller has now\r
+ thrown at least one TD in 19 straight games which is the fourth-longest run in\r
+ CFL history and is just two shy of second place on that list.\r
\r
+</P>\r
+<P>\r
+ Considering the Lions were charged with 11 penalties for a total of 105 yards,\r
+ the squad is lucky the game turned out the way it did.\r
\r
+</P>\r
+<P>\r
+ As for the Alouettes, they too pulled a rabbit out of a hat in their last game,\r
+ calling on Sean Whyte to boot a 37-yard field goal as time expired to give them\r
+ a 31-29 home victory over Hamilton last week. Whyte finished with 12 points as\r
+ he knocked through three of his four field goal tries.\r
\r
+</P>\r
+<P>\r
+ Whyte played the hero for sure for the Als, but it wasn't as though the\r
+ Montreal offense was struggling because they became the first team since\r
+ Calgary in 2010 to register at least 400 yards of offense in five straight\r
+ games. Professional football's all-time leading passer was at it again as\r
+ Anthony Calvillo, who just happened to turn 40 last week, converted 25-of-36\r
+ pass attempts for 329 yards and a score. His favorite target, S.J. Green reeled\r
+ in 10 passes for 168 yards, both game highs, and also found the end zone on a\r
+ 10-yard play in the second quarter.\r
\r
+</P>\r
+<P>\r
+ Green is easily the most productive receiver in the league after eight games\r
+ with 45 receptions for 737 yards. While the receiver has just two TDs, he does\r
+ have a total of four games with at least 100 yards which means he is a threat\r
+ to break a big play at any and all moments for the Als.\r
\r
+</P>\r
+<P>\r
+ Calvillo, now with an incredible 76,069 yards and 436 touchdowns for his\r
+ career,       again leads the league in passing yards with 2,657 and is second in\r
+ both passing TDs (18) and overall efficiency rating (106.4). Sure, the\r
+ venerable signal-caller has games where he doesn't set the field on fire, but\r
+ unfortunately he's always going to be measured against his past exploits and\r
+ those are very difficult to live up to.\r
\r
+</P>\r
+<P>\r
+ Lulay, third in the league in passing TDs with 12, is last on the list of the\r
+ five quarterbacks who have thrown for at least 2,000 yards thus far, his total\r
+ checking in at 2,113 yards while completing 67.3 percent of his attempts.\r
+ Unlike Calvillo who clearly has a go-to receiver that he seeks out more often\r
+ than not, Lulay's top option remains Geroy Simon who has been relatively quite\r
+ since setting the league's all-time receiving record during the first game of\r
+ the season.\r
\r
+</P>\r
+<P>\r
+ Granted, Simon is still head-and-shoulders above the rest of the CFL in terms\r
+ of career yards (15,523) and now needs just 51 more receptions to assume the\r
+ top spot in that category all-time as well, but he is listed 13th in receiving\r
+ yards this year with 436 on 32 catches. Even more remarkable is the fact that\r
+ Simon has yet to find the end zone while every other receiver seems to be\r
+ putting up points on a weekly basis.\r
\r
+</P>\r
+<P>\r
+ Arland Bruce, who is back on the Lions this year after being traded back by\r
+ Hamilton, has taken some of the thunder and attention away from Simon thanks to\r
+ 24 catches for 369 yards and two touchdowns, but the Minnesota product is\r
+ nowhere near as potent as he once was either.\r
\r
+</P>\r
+<P>\r
+ BC has won two of the last three clashes with the Als, including an ugly 43-1\r
+ romp last November. As a result, the Lions have now assumed a 33-30-1 edge in\r
+ the all-time, regular-season series going back to 1954.\r
\r
+</P>\r
+<P>\r
+ British Columbia has been tough against the East Division this season, but at\r
+ some point the Lions will have to be truly challenged and that figures to be\r
+ this week as Calvillo sets up to defend his home turf for the Als. It also\r
+ doesn't hurt that Montreal has the motivation to succeed stemming from their\r
+ awful performance in the last meeting between the teams.\r
\r
+</P>\r
+</game_notes>\r
+<predicted_outcome>Montreal 35, British Columbia 26</predicted_outcome>\r
+ Sports Network Predicted Outcome: Montreal 35, British Columbia 26\r
+<time_stamp> August 29, 2012, at 11:26 AM ET </time_stamp>\r
+</message>\r
index 4cb325c94b568b59db4121372ef93d9862dc4042..691d9a992538d8230f64b44dcd98abdebd95547a 100644 (file)
@@ -60,16 +60,11 @@ import Xml (
 --   make sure that we are really receiving XML for these DTDs
 --   (i.e. the names are correct).
 --
---   Those marked \"TSN DTD\" are the ones for which we did not
---   receive any XML during implementation; therefore the TSN DTD was
---   used. This matters because it is almost certainly incorrect, so
---   we can expect import failures when we finally do see some XML.
---
 dtds :: [String]
 dtds =
-  [ "CBASK_Lineup_XML.dtd", -- TSN DTD
+  [ "CBASK_Lineup_XML.dtd",
     "cbaskpreviewxml.dtd",
-    "cflpreviewxml.dtd", -- missing DTD
+    "cflpreviewxml.dtd",
     "Matchup_NBA_NHL_XML.dtd", -- missing DTD
     "mlbpreviewxml.dtd",
     "MLB_Gaming_Matchup_XML.dtd",
@@ -193,6 +188,7 @@ gameinfo_test_files :: [FilePath]
 gameinfo_test_files =
   [ "test/xml/gameinfo/CBASK_Lineup_XML.xml",
     "test/xml/gameinfo/cbaskpreviewxml.xml",
+    "test/xml/gameinfo/cflpreviewxml.xml",
     "test/xml/gameinfo/MLB_Gaming_Matchup_XML.xml",
     "test/xml/gameinfo/MLB_Lineup_XML.xml",
     "test/xml/gameinfo/MLB_Matchup_XML.xml",
diff --git a/test/xml/gameinfo/cflpreviewxml.dtd b/test/xml/gameinfo/cflpreviewxml.dtd
new file mode 100644 (file)
index 0000000..ffd17a5
--- /dev/null
@@ -0,0 +1,21 @@
+<!ELEMENT XML_File_ID (#PCDATA)>
+<!ELEMENT heading (#PCDATA)>
+<!ELEMENT game_id (#PCDATA)>
+<!ELEMENT schedule_id (#PCDATA)>
+<!ELEMENT category (#PCDATA)>
+<!ELEMENT sport (#PCDATA)>
+<!ELEMENT Game_Date (#PCDATA)>
+<!ELEMENT Game_Time (#PCDATA)>
+<!ELEMENT vteam (#PCDATA)>
+<!ELEMENT hteam (#PCDATA)>
+<!ELEMENT title (#PCDATA)>
+<!ELEMENT editor (#PCDATA)>
+<!ELEMENT date_time (#PCDATA)>
+<!ELEMENT P (#PCDATA)>
+<!ELEMENT game_notes ( P* )>
+<!ELEMENT predicted_outcome (#PCDATA)>
+<!ELEMENT time_stamp (#PCDATA)>
+<!ELEMENT message ( #PCDATA | XML_File_ID | heading | game_id | schedule_id | category | sport | Game_Date | Game_Time | vteam | hteam | title | editor | date_time | game_notes | predicted_outcome | time_stamp )*>
+
+<!ATTLIST vteam id CDATA #REQUIRED>
+<!ATTLIST hteam id CDATA #REQUIRED>
diff --git a/test/xml/gameinfo/cflpreviewxml.xml b/test/xml/gameinfo/cflpreviewxml.xml
new file mode 100644 (file)
index 0000000..f898da1
--- /dev/null
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!DOCTYPE message PUBLIC "-//TSN//DTD Preview 1.0/EN" "cflpreviewxml.dtd">\r
+<message>\r
+<XML_File_ID>16456122</XML_File_ID>\r
+<heading>AJV!PREVIEW-BCL-MON</heading>\r
+<game_id>1040</game_id>\r
+<schedule_id>1040</schedule_id>\r
+<category>Previews</category>\r
+<sport>CFL</sport>\r
+<Game_Date>08/31/2012</Game_Date>\r
+<Game_Time>07:30 PM</Game_Time>\r
+<vteam id="671">Brt Columbia</vteam>\r
+<hteam id="675">Montreal</hteam>\r
+<title>CFL Preview - British Columbia (6-2) at Montreal (5-3) (ET)</title>\r
+<editor>By Gregg Xenakes, CFL Editor</editor>\r
+<date_time> Friday, August 31, 7:30 p.m. (et).</date_time>\r
+<game_notes>\r
+<P>\r
+ GAME NOTES: The only two teams in the CFL at the moment that have won at least\r
+ three games in a row are set to clash at Stade Percival-Molson Stadium on\r
+ Friday night, as the Montreal Alouettes entertain the British Columbia Lions.\r
\r
+</P>\r
+<P>\r
+ Representing the shortest-lived Labour Day weekend rivalry in the CFL, this\r
+ meeting pits the top teams in their respective divisions against each other.\r
+ Montreal, a winner of three straight since falling a game below .500 early on,\r
+ has played well against the West Division with two wins in three opportunities\r
+ so far in 2012.\r
\r
+</P>\r
+<P>\r
+ As for the defending Grey Cup Champion Lions, their league-best four-game win\r
+ streak has pushed them ahead of Edmonton over in their division and the bad\r
+ news for the Als is that BC has taken all four outings against representatives\r
+ from the East Division thus far.\r
\r
+</P>\r
+<P>\r
+ Last week, the Lions were at it again as they took out Winnipeg on the road in\r
+ a 20-17 final in order to move the best record in the CFL after eight games to\r
+ 6-2. A scoreless game after 15 minutes of action, BC responded with 10 points\r
+ in both the second and fourth periods to capture the victory, thanks in large\r
+ part to a 41-yard field goal by Paul McCallum as time expired.\r
\r
+</P>\r
+<P>\r
+ A model of consistency thus far in 2012, BC quarterback Travis Lulay managed to\r
+ get beyond two interceptions and a pair of sacks in the contest, as he\r
+ completed 16-of-26 passes for 220 yards and a touchdown. It may not sound like\r
+ much in terms of positives for Lulay, but the fact is the signal-caller has now\r
+ thrown at least one TD in 19 straight games which is the fourth-longest run in\r
+ CFL history and is just two shy of second place on that list.\r
\r
+</P>\r
+<P>\r
+ Considering the Lions were charged with 11 penalties for a total of 105 yards,\r
+ the squad is lucky the game turned out the way it did.\r
\r
+</P>\r
+<P>\r
+ As for the Alouettes, they too pulled a rabbit out of a hat in their last game,\r
+ calling on Sean Whyte to boot a 37-yard field goal as time expired to give them\r
+ a 31-29 home victory over Hamilton last week. Whyte finished with 12 points as\r
+ he knocked through three of his four field goal tries.\r
\r
+</P>\r
+<P>\r
+ Whyte played the hero for sure for the Als, but it wasn't as though the\r
+ Montreal offense was struggling because they became the first team since\r
+ Calgary in 2010 to register at least 400 yards of offense in five straight\r
+ games. Professional football's all-time leading passer was at it again as\r
+ Anthony Calvillo, who just happened to turn 40 last week, converted 25-of-36\r
+ pass attempts for 329 yards and a score. His favorite target, S.J. Green reeled\r
+ in 10 passes for 168 yards, both game highs, and also found the end zone on a\r
+ 10-yard play in the second quarter.\r
\r
+</P>\r
+<P>\r
+ Green is easily the most productive receiver in the league after eight games\r
+ with 45 receptions for 737 yards. While the receiver has just two TDs, he does\r
+ have a total of four games with at least 100 yards which means he is a threat\r
+ to break a big play at any and all moments for the Als.\r
\r
+</P>\r
+<P>\r
+ Calvillo, now with an incredible 76,069 yards and 436 touchdowns for his\r
+ career,       again leads the league in passing yards with 2,657 and is second in\r
+ both passing TDs (18) and overall efficiency rating (106.4). Sure, the\r
+ venerable signal-caller has games where he doesn't set the field on fire, but\r
+ unfortunately he's always going to be measured against his past exploits and\r
+ those are very difficult to live up to.\r
\r
+</P>\r
+<P>\r
+ Lulay, third in the league in passing TDs with 12, is last on the list of the\r
+ five quarterbacks who have thrown for at least 2,000 yards thus far, his total\r
+ checking in at 2,113 yards while completing 67.3 percent of his attempts.\r
+ Unlike Calvillo who clearly has a go-to receiver that he seeks out more often\r
+ than not, Lulay's top option remains Geroy Simon who has been relatively quite\r
+ since setting the league's all-time receiving record during the first game of\r
+ the season.\r
\r
+</P>\r
+<P>\r
+ Granted, Simon is still head-and-shoulders above the rest of the CFL in terms\r
+ of career yards (15,523) and now needs just 51 more receptions to assume the\r
+ top spot in that category all-time as well, but he is listed 13th in receiving\r
+ yards this year with 436 on 32 catches. Even more remarkable is the fact that\r
+ Simon has yet to find the end zone while every other receiver seems to be\r
+ putting up points on a weekly basis.\r
\r
+</P>\r
+<P>\r
+ Arland Bruce, who is back on the Lions this year after being traded back by\r
+ Hamilton, has taken some of the thunder and attention away from Simon thanks to\r
+ 24 catches for 369 yards and two touchdowns, but the Minnesota product is\r
+ nowhere near as potent as he once was either.\r
\r
+</P>\r
+<P>\r
+ BC has won two of the last three clashes with the Als, including an ugly 43-1\r
+ romp last November. As a result, the Lions have now assumed a 33-30-1 edge in\r
+ the all-time, regular-season series going back to 1954.\r
\r
+</P>\r
+<P>\r
+ British Columbia has been tough against the East Division this season, but at\r
+ some point the Lions will have to be truly challenged and that figures to be\r
+ this week as Calvillo sets up to defend his home turf for the Als. It also\r
+ doesn't hurt that Montreal has the motivation to succeed stemming from their\r
+ awful performance in the last meeting between the teams.\r
\r
+</P>\r
+</game_notes>\r
+<predicted_outcome>Montreal 35, British Columbia 26</predicted_outcome>\r
+ Sports Network Predicted Outcome: Montreal 35, British Columbia 26\r
+<time_stamp> August 29, 2012, at 11:26 AM ET </time_stamp>\r
+</message>\r