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

index b22eeace1b7ab93026ef70a30fc1de59711ac842..d31634f45ff24e350b1aad4f17a5f0e2f88d7432 100644 (file)
@@ -102,6 +102,8 @@ nflpreviewxml.dtd
 nhlpreviewxml.dtd
 .IP \[bu]
 recapxml.dtd
+.IP \[bu]
+WorldBaseballPreviewXML.dtd
 .RE
 .P
 The GameInfo and SportsInfo types do not have their own top-level
diff --git a/schema/WorldBaseballPreviewXML.dtd b/schema/WorldBaseballPreviewXML.dtd
new file mode 100644 (file)
index 0000000..a4d44e7
--- /dev/null
@@ -0,0 +1,20 @@
+<!ELEMENT XML_File_ID (#PCDATA)>
+<!ELEMENT heading (#PCDATA)>
+<!ELEMENT game_id (#PCDATA)>
+<!ELEMENT schedule_id (#PCDATA)>
+<!ELEMENT category (#PCDATA)>
+<!ELEMENT sport (#PCDATA)>
+<!ELEMENT title (#PCDATA)>
+<!ELEMENT vteam (#PCDATA)>
+<!ELEMENT hteam (#PCDATA)>
+<!ELEMENT visitorprob (#PCDATA)>
+<!ELEMENT homeprob (#PCDATA)>
+<!ELEMENT P (#PCDATA)>
+<!ELEMENT body ( P* )>
+<!ELEMENT time_stamp (#PCDATA)>
+<!ELEMENT message ( ( XML_File_ID, heading, game_id, schedule_id, category, sport, title, vteam, hteam, visitorprob, homeprob, body, time_stamp ) )>
+
+<!ATTLIST visitorprob record CDATA #REQUIRED>
+<!ATTLIST visitorprob ERA CDATA #REQUIRED>
+<!ATTLIST homeprob record CDATA #REQUIRED>
+<!ATTLIST homeprob ERA CDATA #REQUIRED>
diff --git a/schemagen/WorldBaseballPreviewXML/WorldBaseballPreviewXML.xml b/schemagen/WorldBaseballPreviewXML/WorldBaseballPreviewXML.xml
new file mode 100644 (file)
index 0000000..f42499f
--- /dev/null
@@ -0,0 +1,97 @@
+<?xml version="1.0" standalone="no" ?>\r
+<!DOCTYPE message PUBLIC "-//TSN//DTD Preview 1.0/EN" "WorldBaseballPreviewXML.dtd">\r
+<message>\r
+<XML_File_ID>4019568</XML_File_ID>\r
+<heading>FEV!PREVIEW-KOR-TPE</heading>\r
+<game_id>3</game_id>\r
+<schedule_id>3</schedule_id>\r
+<category>Previews</category>\r
+<sport>WBC</sport>\r
+<title>\r
+WBC Game Preview from The Sports Network\r
+</title>\r
+<vteam>Korea</vteam>\r
+<hteam>Chinese Taipei</hteam>\r
+<visitorprob record="0-0" ERA="0.00">Korea           - Chan Ho Park</visitorprob>\r
+<homeprob record="0-0" ERA="0.00">Chinese Taipei  - Lin Ying-jei</homeprob>\r
+<body>\r
\r
+<P>\r
+ (Sports  Network) - The much ballyhooed World Baseball Classic gets underway\r
+ today with the first of six games in Pool A, as Korea and Chinese Taipei open\r
+ the tournament at the Tokyo Dome.\r
\r
+</P>\r
+<P>\r
+ Korea enters the tournament as one of the favorites in its pool thanks to a\r
+ roster that includes several Major League ballplayers, most notably\r
+ righthander Chan Ho Park.\r
\r
+</P>\r
+<P>\r
+ Park, probably the most famous pitcher in Korean history, has spent 12 years\r
+ in the majors and posted a combined 12-8 mark last year with a 5.74 earned run\r
+ average with the Texas Rangers and San Diego Padres.\r
\r
+</P>\r
+<P>\r
+ The 32-year-old hurler joins two other big league pitchers on Korea's staff,\r
+ as Jae-Weong Seo and Sun Woo (Sunny) Kim join Park in the rotation.\r
\r
+</P>\r
+<P>\r
+ Byung-Hyun Kim, who made a career-high 22 starts for the Rockies last season,\r
+ will likley handle the closing duties and has previous international\r
+ experience with Korea's Junior National team (1996) and the National Team\r
+ (1997-98).\r
\r
+</P>\r
+<P>\r
+ New York Mets' reliever Dae-Sung Koo will also see time.\r
\r
+</P>\r
+<P>\r
+ Korea's offense will be led by first baseman Heep Seop Choi, who has belted 40\r
+ home runs during his four MLB seasons. Also, Seung-Yeop Lee, who will split\r
+ time with Choi at first and at designated hitter. hit 56 home runs in his last\r
+ Korea Baseball Organization season, is coming off a solid 2005 season in Japan\r
+ with Chiba Lotte\r
\r
+</P>\r
+<P>\r
+ Centerfielder Yong-Taik Park will set the table, as well as provide some power\r
+ from the top of the lineup for the Korean squad. Last year he led the KBO with\r
+ 90 runs scored and 43 stolen bases.\r
\r
+</P>\r
+<P>\r
+ Chinese Taipei, meanwhile, is considered a longshot to make it to Round 2,\r
+ especially since two of its top players opted to skip the event.\r
\r
+</P>\r
+<P>\r
+ New York Yankees righthander Chien-Ming Wang, who is returning from a shoulder\r
+ injury, decided to pull out and concentrate on the start of the MLB regular\r
+ season, while first baseman Chen Chin-feng, who likely would have been the\r
+ most productive hitter in the lineup, will miss the event because of a nagging\r
+ hand injury.\r
\r
+</P>\r
+<P>\r
+ With Chin-Feng sidelined, Chinese Taipei's power will come from Chia-Hsien\r
+ Hsieh, who belted 23 home runs and drove in 74 runs for the Macoto Cobras last\r
+ season with the Chinese Professional Baseball League. Infielder Tai-Shan\r
+ Chang, who has 154 home runs in a 10-year professional career, could also\r
+ supply some pop.\r
\r
+</P>\r
+<P>\r
+ Southpaw Lin Ying-jei is expected to get the starting assignment in the\r
+ opener. Last year with the Cobras, Ying-Jei posted a 12-10 mark with a 2.33\r
+ ERA in 212 innings. He also fanned 174 batters.\r
\r
+</P>\r
\r
+</body>\r
+<time_stamp>March 1, 2006, at 12:42 PM ET</time_stamp>\r
+</message>\r
index c6b90e01ca2a4d28e3ec8a344b10387f07878576..43c7cca7624325bf0b9c2b85e5f95abb36266e75 100644 (file)
@@ -80,8 +80,7 @@ dtds =
     "NFL_NCAA_FB_Matchup_XML.dtd",
     "nhlpreviewxml.dtd",
     "recapxml.dtd",
-    "WorldBaseballPreviewXML.dtd" -- missing DTD
-  ]
+    "WorldBaseballPreviewXML.dtd" ]
 
 
 -- | XML representation of a GameInfo \<message\>.
@@ -201,7 +200,8 @@ gameinfo_test_files =
     "test/xml/gameinfo/nflpreviewxml.xml",
     "test/xml/gameinfo/NFL_NCAA_FB_Matchup_XML.xml",
     "test/xml/gameinfo/nhlpreviewxml.xml",
-    "test/xml/gameinfo/recapxml.xml" ]
+    "test/xml/gameinfo/recapxml.xml",
+    "test/xml/gameinfo/WorldBaseballPreviewXML.xml" ]
 
 
 -- | Make sure we can parse every element of 'gameinfo_test_files'.
diff --git a/test/xml/gameinfo/WorldBaseballPreviewXML.dtd b/test/xml/gameinfo/WorldBaseballPreviewXML.dtd
new file mode 100644 (file)
index 0000000..a4d44e7
--- /dev/null
@@ -0,0 +1,20 @@
+<!ELEMENT XML_File_ID (#PCDATA)>
+<!ELEMENT heading (#PCDATA)>
+<!ELEMENT game_id (#PCDATA)>
+<!ELEMENT schedule_id (#PCDATA)>
+<!ELEMENT category (#PCDATA)>
+<!ELEMENT sport (#PCDATA)>
+<!ELEMENT title (#PCDATA)>
+<!ELEMENT vteam (#PCDATA)>
+<!ELEMENT hteam (#PCDATA)>
+<!ELEMENT visitorprob (#PCDATA)>
+<!ELEMENT homeprob (#PCDATA)>
+<!ELEMENT P (#PCDATA)>
+<!ELEMENT body ( P* )>
+<!ELEMENT time_stamp (#PCDATA)>
+<!ELEMENT message ( ( XML_File_ID, heading, game_id, schedule_id, category, sport, title, vteam, hteam, visitorprob, homeprob, body, time_stamp ) )>
+
+<!ATTLIST visitorprob record CDATA #REQUIRED>
+<!ATTLIST visitorprob ERA CDATA #REQUIRED>
+<!ATTLIST homeprob record CDATA #REQUIRED>
+<!ATTLIST homeprob ERA CDATA #REQUIRED>
diff --git a/test/xml/gameinfo/WorldBaseballPreviewXML.xml b/test/xml/gameinfo/WorldBaseballPreviewXML.xml
new file mode 100644 (file)
index 0000000..f42499f
--- /dev/null
@@ -0,0 +1,97 @@
+<?xml version="1.0" standalone="no" ?>\r
+<!DOCTYPE message PUBLIC "-//TSN//DTD Preview 1.0/EN" "WorldBaseballPreviewXML.dtd">\r
+<message>\r
+<XML_File_ID>4019568</XML_File_ID>\r
+<heading>FEV!PREVIEW-KOR-TPE</heading>\r
+<game_id>3</game_id>\r
+<schedule_id>3</schedule_id>\r
+<category>Previews</category>\r
+<sport>WBC</sport>\r
+<title>\r
+WBC Game Preview from The Sports Network\r
+</title>\r
+<vteam>Korea</vteam>\r
+<hteam>Chinese Taipei</hteam>\r
+<visitorprob record="0-0" ERA="0.00">Korea           - Chan Ho Park</visitorprob>\r
+<homeprob record="0-0" ERA="0.00">Chinese Taipei  - Lin Ying-jei</homeprob>\r
+<body>\r
\r
+<P>\r
+ (Sports  Network) - The much ballyhooed World Baseball Classic gets underway\r
+ today with the first of six games in Pool A, as Korea and Chinese Taipei open\r
+ the tournament at the Tokyo Dome.\r
\r
+</P>\r
+<P>\r
+ Korea enters the tournament as one of the favorites in its pool thanks to a\r
+ roster that includes several Major League ballplayers, most notably\r
+ righthander Chan Ho Park.\r
\r
+</P>\r
+<P>\r
+ Park, probably the most famous pitcher in Korean history, has spent 12 years\r
+ in the majors and posted a combined 12-8 mark last year with a 5.74 earned run\r
+ average with the Texas Rangers and San Diego Padres.\r
\r
+</P>\r
+<P>\r
+ The 32-year-old hurler joins two other big league pitchers on Korea's staff,\r
+ as Jae-Weong Seo and Sun Woo (Sunny) Kim join Park in the rotation.\r
\r
+</P>\r
+<P>\r
+ Byung-Hyun Kim, who made a career-high 22 starts for the Rockies last season,\r
+ will likley handle the closing duties and has previous international\r
+ experience with Korea's Junior National team (1996) and the National Team\r
+ (1997-98).\r
\r
+</P>\r
+<P>\r
+ New York Mets' reliever Dae-Sung Koo will also see time.\r
\r
+</P>\r
+<P>\r
+ Korea's offense will be led by first baseman Heep Seop Choi, who has belted 40\r
+ home runs during his four MLB seasons. Also, Seung-Yeop Lee, who will split\r
+ time with Choi at first and at designated hitter. hit 56 home runs in his last\r
+ Korea Baseball Organization season, is coming off a solid 2005 season in Japan\r
+ with Chiba Lotte\r
\r
+</P>\r
+<P>\r
+ Centerfielder Yong-Taik Park will set the table, as well as provide some power\r
+ from the top of the lineup for the Korean squad. Last year he led the KBO with\r
+ 90 runs scored and 43 stolen bases.\r
\r
+</P>\r
+<P>\r
+ Chinese Taipei, meanwhile, is considered a longshot to make it to Round 2,\r
+ especially since two of its top players opted to skip the event.\r
\r
+</P>\r
+<P>\r
+ New York Yankees righthander Chien-Ming Wang, who is returning from a shoulder\r
+ injury, decided to pull out and concentrate on the start of the MLB regular\r
+ season, while first baseman Chen Chin-feng, who likely would have been the\r
+ most productive hitter in the lineup, will miss the event because of a nagging\r
+ hand injury.\r
\r
+</P>\r
+<P>\r
+ With Chin-Feng sidelined, Chinese Taipei's power will come from Chia-Hsien\r
+ Hsieh, who belted 23 home runs and drove in 74 runs for the Macoto Cobras last\r
+ season with the Chinese Professional Baseball League. Infielder Tai-Shan\r
+ Chang, who has 154 home runs in a 10-year professional career, could also\r
+ supply some pop.\r
\r
+</P>\r
+<P>\r
+ Southpaw Lin Ying-jei is expected to get the starting assignment in the\r
+ opener. Last year with the Cobras, Ying-Jei posted a 12-10 mark with a 2.33\r
+ ERA in 212 innings. He also fanned 174 batters.\r
\r
+</P>\r
\r
+</body>\r
+<time_stamp>March 1, 2006, at 12:42 PM ET</time_stamp>\r
+</message>\r