]> gitweb.michael.orlitzky.com - dead/htsn-import.git/commitdiff
Add GameInfo support for CBASK_Lineup_XML.dtd.
authorMichael Orlitzky <michael@orlitzky.com>
Mon, 9 Jun 2014 18:26:38 +0000 (14:26 -0400)
committerMichael Orlitzky <michael@orlitzky.com>
Mon, 9 Jun 2014 18:26:38 +0000 (14:26 -0400)
doc/man1/htsn-import.1
schema/CBASK_Lineup_XML.dtd [new file with mode: 0644]
src/TSN/XML/GameInfo.hs
test/xml/gameinfo/CBASK_Lineup_XML.dtd [new file with mode: 0644]
test/xml/gameinfo/CBASK_Lineup_XML.xml [new file with mode: 0644]

index 869bb52e0304aaa2988ceb450f033f875181c493..9f565a63c3c9357430b0cc401c79ae8d7485c5e0 100644 (file)
@@ -49,6 +49,8 @@ The XML document types obtained from the feed are uniquely identified
 by their DTDs. We currently support documents with the following DTDs:
 .IP \[bu] 2
 Auto_Racing_Schedule_XML.dtd
+.IP \[bu] 2
+CBASK_Lineup_XML.dtd (GameInfo)
 .IP \[bu]
 Heartbeat.dtd
 .IP \[bu]
diff --git a/schema/CBASK_Lineup_XML.dtd b/schema/CBASK_Lineup_XML.dtd
new file mode 100644 (file)
index 0000000..2498699
--- /dev/null
@@ -0,0 +1,26 @@
+<!ELEMENT message  (XML_File_ID, heading , game_id , schedule_id , category , sport , title , vteam , hteam , vteam , hteam , vteam , hteam , vteam , hteam , vteam , hteam , officials? , time_stamp )>\r
+\r
+<!ELEMENT XML_File_ID  (#PCDATA )>\r
+\r
+<!ELEMENT heading  (#PCDATA )>\r
+\r
+<!ELEMENT game_id  (#PCDATA )>\r
+\r
+<!ELEMENT schedule_id  (#PCDATA )>\r
+\r
+<!ELEMENT category  (#PCDATA )>\r
+\r
+<!ELEMENT sport  (#PCDATA )>\r
+\r
+<!ELEMENT title  (#PCDATA )>\r
+\r
+<!ELEMENT vteam  (player )>\r
+<!ATTLIST vteam  name CDATA  #REQUIRED >\r
+<!ELEMENT player  (#PCDATA )>\r
+<!ATTLIST player  position CDATA  #REQUIRED >\r
+<!ELEMENT hteam  (player )>\r
+<!ATTLIST hteam  name CDATA  #REQUIRED >\r
+<!ELEMENT officials  (#PCDATA )>\r
+\r
+<!ELEMENT time_stamp  (#PCDATA )>\r
+\r
index f5b64e3cd4b0cd510f27f605d914953329a26b25..dcff90c572876a45b8089502b739b1a5c8abb2d0 100644 (file)
@@ -60,9 +60,14 @@ 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", -- missing DTD
+  [ "CBASK_Lineup_XML.dtd", -- TSN DTD
     "cbaskpreviewxml.dtd", -- missing DTD
     "cflpreviewxml.dtd", -- missing DTD
     "Matchup_NBA_NHL_XML.dtd", -- missing DTD
@@ -186,7 +191,8 @@ gameinfo_tests =
 --
 gameinfo_test_files :: [FilePath]
 gameinfo_test_files =
-  [ "test/xml/gameinfo/MLB_Gaming_Matchup_XML.xml",
+  [ "test/xml/gameinfo/CBASK_Lineup_XML.xml",
+    "test/xml/gameinfo/MLB_Gaming_Matchup_XML.xml",
     "test/xml/gameinfo/MLB_Lineup_XML.xml",
     "test/xml/gameinfo/MLB_Matchup_XML.xml",
     "test/xml/gameinfo/mlbpreviewxml.xml",
diff --git a/test/xml/gameinfo/CBASK_Lineup_XML.dtd b/test/xml/gameinfo/CBASK_Lineup_XML.dtd
new file mode 100644 (file)
index 0000000..2498699
--- /dev/null
@@ -0,0 +1,26 @@
+<!ELEMENT message  (XML_File_ID, heading , game_id , schedule_id , category , sport , title , vteam , hteam , vteam , hteam , vteam , hteam , vteam , hteam , vteam , hteam , officials? , time_stamp )>\r
+\r
+<!ELEMENT XML_File_ID  (#PCDATA )>\r
+\r
+<!ELEMENT heading  (#PCDATA )>\r
+\r
+<!ELEMENT game_id  (#PCDATA )>\r
+\r
+<!ELEMENT schedule_id  (#PCDATA )>\r
+\r
+<!ELEMENT category  (#PCDATA )>\r
+\r
+<!ELEMENT sport  (#PCDATA )>\r
+\r
+<!ELEMENT title  (#PCDATA )>\r
+\r
+<!ELEMENT vteam  (player )>\r
+<!ATTLIST vteam  name CDATA  #REQUIRED >\r
+<!ELEMENT player  (#PCDATA )>\r
+<!ATTLIST player  position CDATA  #REQUIRED >\r
+<!ELEMENT hteam  (player )>\r
+<!ATTLIST hteam  name CDATA  #REQUIRED >\r
+<!ELEMENT officials  (#PCDATA )>\r
+\r
+<!ELEMENT time_stamp  (#PCDATA )>\r
+\r
diff --git a/test/xml/gameinfo/CBASK_Lineup_XML.xml b/test/xml/gameinfo/CBASK_Lineup_XML.xml
new file mode 100644 (file)
index 0000000..5883d3d
--- /dev/null
@@ -0,0 +1,42 @@
+<?xml version="1.0" standalone="no" ?>\r
+<!DOCTYPE message PUBLIC "-//TSN//DTD Statistics 1.0/EN" "CBASK_Lineup_XML.dtd">\r
+<message>\r
+<XML_File_ID>17</XML_File_ID>\r
+<heading>AEB;LINEUP-CANISIUS-RIDER</heading>\r
+<game_id>97865</game_id>\r
+<schedule_id>10199</schedule_id>\r
+<category>Lineups</category>\r
+<sport>CBASK</sport>\r
+<title>Probable Starting Lineup: Canisius at Rider</title>\r
+<vteam name ="Canisius">\r
+<player position ="F">Hodari Mallory</player>\r
+</vteam>\r
+<hteam name ="Rider">\r
+<player position ="F">Edwin Muniz</player>\r
+</hteam>\r
+<vteam name ="Canisius">\r
+<player position ="F">Richard Jones</player>\r
+</vteam>\r
+<hteam name ="Rider">\r
+<player position ="C">Robert Reed</player>\r
+</hteam>\r
+<vteam name ="Canisius">\r
+<player position ="C">Yaku Moton-Spruill</player>\r
+</vteam>\r
+<hteam name ="Rider">\r
+<player position ="G">Jerry Johnson</player>\r
+</hteam>\r
+<vteam name ="Canisius">\r
+<player position ="G">Brian Dux</player>\r
+</vteam>\r
+<hteam name ="Rider">\r
+<player position ="G">Robert Taylor</player>\r
+</hteam>\r
+<vteam name ="Canisius">\r
+<player position ="G">Kevin Downey</player>\r
+</vteam>\r
+<hteam name ="Rider">\r
+<player position ="G">Laurence Young</player>\r
+</hteam>\r
+<time_stamp> January 24, 2003, at 11:55 AM ET </time_stamp>\r
+</message>\r